"Devsigners," On Your Feet! Expression Studio 3 Available Today

by dboynton 7/22/2009 4:42:00 PM

microsoftExpresion On July 10th, Microsoft announced the RTM of Silverlight™ 3 and the RC of Expression™ 3. Today, I’m very happy to be able to tell you that the final release of Expression Studio 3 is now available.

This is truly a coming-of-age for the Expression products. They’ve always been solid, but with this release they have the full range of features and functionality that many of us knew could be there but just wasn’t yet. I mean, the SketchFlow™ rapid prototyping tool alone should be enough to get you jazzed about Blend™ 3.

These tools have always been produced for use primarily by designers, but I’ve found that I’ve become very dependent on Blend to layout the interfaces for my WPF and Silverlight applications. This is a growing trend I’ve seen picking up stream over the past few years, creating an interesting hybrid role I like to call “the devsigner.” We all knew it would happen eventually, but Expression has really made this practical since all of the Expression products use the same project and source code files as Visual Studio™, creating a designer-developer collaboration that you just can’t find anywhere else.

If you haven’t tried any of the Expression products before, give them a try. You can download a 60-day trial from the Expression web site. Also, there is tons of information available on the product teams’ blogs.

For more information, here are some good sites to bookmark:

Digg This

Currently rated 1.5 by 225 people

  • Currently 1.466668/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Expression Blend | RIA | Silverlight | User Experience | Windows Presentation Foundation | XAML

MIX 2009 Keynote Announcements: Day 2

by dboynton 3/19/2009 6:56:15 PM

What a difference a day makes. Where yesterday’s MIX 2009 keynote with Bill Buxton and Scott Guthrie dropped almost too much information on the audience, today’s keynote was much more balanced, focusing on a particular browser and a great story about good design making a positive change in the world.

Dean Hachamovich and Internet Explorer 8
IE8_logo The keynote this morning kicked off with Dean Hachamovich announcing the RTW of Internet Explorer 8. This has been a greatly anticipated release of Microsoft’s new browser since it was officially shown to the world for the first time at MIX last year (has it really been a year already?!?). To be perfect honest, my reaction to IE8’s launch has been pretty much, “Meh.” But after what I saw this morning, I am actually really looking forward to installing the released version. Here are some of the highlights from Dean’s portion of the keynote:

  • The new browser can be downloaded manually from microsoft.com/ie8. It will also be available via Windows Update as an optional install. The really great news is that Dean said the final release bits will be available for those of us running Windows 7 beta via Windows Update as well. Supported operating systems include Windows XP, Vista and Windows Server.
  • The majority of the the new features in IE8 were driven directly by customer feedback about how they use the web. Using customer feedback to drive product enhancements is not unusual for Microsoft, but you can see a definite focus on making IE8 intuitive and easy to use for everybody. Some of the enhancements include:
    • Both the address and search fields provide comprehensive historical information as well as informational suggestions to get the user more information about the content they’re interested in.
    • The tabbed browsing experience has been enhanced through color coding. As a page opens pages in new tabs, the main tab and additional tabs share a common color, helping the user more easily keep track of the information they’re working with.
    • Pages in different tabs run in their own, isolated space. This keeps a fatal error on one page from taking the entire browser, and thus, other pages down.
    • IE8 seems to render standard web pages as fast or faster than other browsers. This has been my experience as well. However, Dean didn’t address the JavaScript performance issues this morning—I personally think this is an area for the product team to focus on in the next release.
  • IE8 is the most secure browser Microsoft has ever released, and if the information Dean presented this morning is to be believed, it is the safest browser on the market today. A white paper on browser security that provide more details can be found at NSS Labs.
  • There are also some very cool developer features as well, including:
    • Full support of the CSS 2.1 specification
    • A comprehensive rendering test suite with the W3C organization consisting of 7,000+ tests, many of which show IE8 to implement web standards better that other browsers.
    • Web Slices: These are mini applications that drop a button in the browser under the address window and bring content and web applications directly to the user without them having to navigate to the primary web site.
    • Accelerators: When highlighting content in a web page, a smart tag of sorts pops up providing several interesting options, including getting a map relative to the content, searching for more information on the content and even translating the content into another language.

Deborah Adler and ClearRx
When the launch of IE8 was complete, Bill Buxton returned to the stage to introduce Deborah Adler. Deborah is a graphic designer who used a near tragedy in her family to make an extremely positive change for people.

ClearRx Deborah told the story of how one evening several years ago, her grandmother accidently took her grandfather’s prescription medication and nearly died. Deborah realized that the reason this incident happened is because both her grandparents were on the same medication, but they were on different doses, and the prescription medication bottles used by all pharmacies at the time are extremely difficult to read and understand. Her grandmother was lucky. Unfortunately, many people die each year by taking taking their prescription medication incorrectly or accidently taking the wrong medication.

As part of her Master’s thesis, Deborah setout to use her design skills to make a prescription medicine bottle that would help avoid these incidents from happening again. I won’t recount the whole story because it’s already been told in detail elsewhere.

However, Deborah’s talk was very thought provoking because, ultimately, what she did wasn’t beyond what most of us are capable of doing. She simply identified something that was obviously wrong, looked at practical ways to to address the issue through better design and found a company that was willing to help her bring her vision to life, that company being Target and the ultimate product being the ClearRx prescription bottles used at their pharmacies.

As software professionals, we see poor design everyday and choose to live with it, choose to accept it. I enjoyed Deborah’s talk because it inspired me to look at software I use all the time and try to find better, more intuitive ways to enhance it. I don’t think I will ever save lives like Deborah did with her design, but all of us can clearly have a positive impact on our users’ daily lives by developing technology that actually helps them do their jobs better.

So that wraps it up for the MIX keynotes this year. Of course, MIX is still going on and we’re all working through what all the new technology we’ve seen over the past couple of days means to us. I’ve personally had several really interesting conversations with people about Silverlight 3, but I am absolutely stoked about Expression Blend 3. I’m working on getting the bits downloaded so I can start building some Silverlight applications. Of course, everything I learn will eventually end up here, so stay tuned.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


RIA | Expression Blend | Events | Silverlight

MIX 2009 Keynote Announcements: Day 1

by dboynton 3/18/2009 6:40:11 PM

MIX 2009 kicked off in Las Vegas this morning with a bang. There was a virtual avalanche of announcements made about key products and technologies that will have a lasting impact on web and interactive developers and designers over the next year. Bill Buxton and Scott Guthrie tag teamed a very full keynote session, and while I’m personally still trying to digest everything we heard, I wanted to provide you with a summary of all the announcements made this morning. I’m sure this will prompt many follow-ups over the next few days and weeks as I get a chance to dig deeper into Expression Web and Blend, Commerce Server 2009, Azure and, most of all, Silverlight 3.

Bill Buxton
BillBuxton The theme for MIX this year is “Return on Experience,” and that is precisely what Bill Buxton of Microsoft Research focused on during the opening minutes of today’s keynote. Bill began by presenting a new and far more compelling discussion about why user experience (UX) matters (or should matter) in all the software we build. He talked about the history of industrial design and pointed out that some of the most innovative and successful products ever created address the needs of individual people and provided unparalleled simplicity and intuitiveness in their design. Bill also showed that there is a long history of companies and products being very successful during times of economic strife, mentioning several companies founded just before or during the Great Depression which are still in business today.

Bill finished his portion of the keynote by restating Microsoft’s commitment to delivering exception user experience in all of our products, citing that growth in user experience professionals at Microsoft has grown by 150% over the past 7 years.

Scott Guthrie
Scott_Guthrie “The Gu” came on stage after a particularly funny video which featured him, among other things, disco dancing and getting his hair teased, and started right in with Microsoft’s state of the art in what he termed “the standards-based web.” Major announcements in this space include:

  • The preview of Expression Web 3 is available for download today!
  • SuperPreview is a new tool that is part of Expression Web 3 that will allow web developers to comprehensively test their web pages for cross-browser compatibility before publishing them online. If the designer is working from an image mock-up of a page, they can do a side-by-side comparison of the mock and their designed page. They can even overlap them to get a better idea of who close they’ve come to implementing the intended design. Even more cool than that, they can preview the page in many different browsers. SuperPreview will render the page in any locally installed browser and will even connect to a cloud service to render the page in a browser you don’t have on your machine. For example, if I have IE8 and FireFox 3 installed on my machine, but I want to see how my page would render in Safari, SuperPreview will pull a Safari instance from the cloud to show the output. This is going to make SuperPreview invaluable to web designers.
  • The ASP.NET MVC 1.0 framework shipped this morning and is available for immediate download for free.
  • A series of improvements for ASP.NET 4.0, including:
    • Enhanced web form development
    • Integration of ASP.NET MVC and AJAX
    • Distributed caching
  • Enhancements to Visual Studio 2010 for web developers, including:
    • New and enhanced tools for JavaScript, AJAX and JQuery development
    • SharePoint developers become first class citizens in the IDE with new development tools for MOSS
    • New publishing and deployment tools, including the ability to keep multiple web.config files specific to a deployment environment, i.e. development, test, staging and production
  • General availability of the Microsoft Web Platform Installer 2 beta. This awesome little application provides you with the ability to get all the tools and technologies for developing web applications for the ASP.NET platform in one place—no more jumping from web site to web site trying to find the installers. Just click on a check box, hit the Install button and you’re there!
  • Microsoft Commerce Server 2009 available today.
  • Customer-driven enhancements to the Windows Azure Service Platform, including:
    • FastCGI/PHP and .NET full trust, allowing applications to share data and resources much more easily
    • SQL Data Services will adopt a more familiar ADO.NET interface, making a true relational database in the cloud
    • Windows Azure is schedule to ship this year!

As if this wasn’t enough, Scott moved into his talk about Silverlight 3, the preview of which is available today. Here are the highlights:

  • There are over 10,000 web sites in the world today using Silverlight, and there are over 300,000 developers and designer actively developing with Silverlight.
  • A new Silverlight version of the World Wide Telescope, previously available only in WPF, is going live today.
  • A new SDK for integrating Microsoft Virtual Earth into your Silverlight applications will be available for download this week.
  • Silverlight 3 will provide cross-platform support for hardware acceleration.
  • Silverlight 3 will include the H.264, AAC and MPEG-4 codecs; it will also include a raw bit-stream audio and video API which will allow developers to create custom codecs in managed code if they need/want to.
  • Silverlight 3 includes enhanced logging capabilities for managing application access analysis
  • IIS Media Services
    • This will be a free download that will enable any IIS7 web server to provide smooth video or audio streaming services
    • Media Services will provide advanced logging, bit-rate throttling and edge caching
    • Media Services applications will be developed and deployed using Expression Encoder, so the experience will be familiar and seemless
  • There are several enhancements to Silverlight 3 in graphics, including:
    • GPU acceleration and hardware compositing
    • Perspective 3D, essentially moving 2D objects in the UI in a 3D space
    • An API for bitmap images and pixels
    • Shader effects
    • Hardware acceleration for Deep Zoom
  • There are also several new features in Silverlight 3 that will make RIA development even easier, including:
    • “Deep linking,” which is the ability for a user to link to a specific place inside a Silverlight application
    • Navigation and search engine optimization
    • Improved text quality
    • Library caching support
    • More than 100+ controls available from Microsoft, not counting those made by partners
  • Silverlight 3 will ship with the native ability to run outside the browser. A Silverlight application running outside the browser implements the same security model as Silverlight in the browser, and even has built-in automated update abilities. Yep, drop a new version of the application on the web server and the Silverlight app on the user’s machine automatically updates. Say goodbye to complex deployment issues for desktop applications!
  • The 2010 Winter Olympics in Vancouver will be streamed live and on-demand using Silverlight
  • And, in what was possibly the most incredible news I heard all morning, with all of these new, incredible features, the Silverlight 3 installer package is actually 40k SMALLER than the Silverlight 2 installer. I guess there really is something to rigorous code review practices!

Finally, The Gu finished up the keynote this morning with a look at Expression Blend 3 CTP. Here are the highlights:

  • Blend 3 will include a new tool called SketchFlow, which will allow you basically create a digital “cocktail napkin” design of your application, visually mapping interactions between different application windows, share these drafts with customers, enter feedback directly into the form and send the feedback to designers in Blend. From where I was sitting, this looked a lot like the work item management tools in Visual Studio Team System. You’ve heard of Application Lifecycle Management (ALM)? How about DLM: Design Lifecycle Management!
  • Support for Silverlight development in Eclipse, both for Windows and the Mac OS.
  • New data-binding tools in Blend 3 support the ability to connect to sample data or generate sample date. You can also edit the test data right in the design environment, giving designers unprecedented testing capabilities.

Every bullet point above could easily be a separate post, and I intend to do as many as I can. Anyway, that’s the summery of this morning’s announcements, and there are more coming tomorrow. The links to many of the products above are not live yet. I’ll do follow-up posts with links to the goods as they become available. Until tomorrow…

Currently rated 1.0 by 3 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


RIA | Silverlight | Events | Architecture | User Experience

XamlFest Coming to St. Louis in January 2009

by dboynton 1/6/2009 10:06:00 AM

After speaking at the St. Louis Day of .NET last month on building WPF and Silverlight applications using Expression Blend, I had several people come up to me and, very excitedly, tell me how they wish there was more in-depth training available for not only Blend, but for XAML (eXtensible Application Markup Language).

Well, your wishes have been granted.

XamlFestLogo I'm very pleased to announce that we'll be hosting a two day free training event called XamlFest at the St. Louis Microsoft offices from Thursday, January 29th to Friday January 30th. This will be a classroom style event led by fellow Softie John Pelak and, to a lesser degree, myself. We'll be going in depth on the XAML markup language and how it is used in both WPF and Silverlight 2.0 applications. We will also go deep on how to use Expression Blend to visually design application interfaces.

Here's all the information on the event:

The event will take place on Thursday, January 29, 2009 to Friday, January 30, 2008.

This event is targeted toward software developers and designers who want to learn more about XAML, Windows Presentation Foundation, Silverlight 2 and Expression Blend 2. We can accommodate 40 people for this session and registration will be accepted on a first come/first served basis.

Date Time Topic
Thursday, January 29th 9:00 AM - 10:30 AM Introduction to WPF, XAML, Expression Blend
  10:30 AM – 10:45 AM Break
  10:45 AM – 12:00 PM Building Visually Rich Applications: The role of the Integrator in building "designable" applications
  12:00 PM – 1:00 PM Lunch, Mingle, Prizes
  1:00 PM – 3:00 PM Instructor-led WPF walk through and assisted development
  3:00 PM – 5:00 PM Assisted development
Friday, January 30th 9:00 AM - 10:30 AM Introduction to Silverlight, Data Binding, LINQ
  10:30 AM – 10:45 AM Break
  10:45 AM – 12:00 PM

Platform Centric Design Best Practices: Creating WPF and Silverlight XAML for Web and Local Client Solutions

  12:00 PM – 1:00 PM Lunch, Mingle, Prizes
  1:00 PM – 3:00 PM Instructor-led Silverlight walk through and assisted development
  3:00 PM – 5:00 PM Assisted development


Microsoft North Central District: St. Louis, Missouri
3 City Place Dr., Suite 1100
St. Louis, MO 63141
Phone: (314) 994-1800
Fax: (314) 991-8762

To register for XamlFest, send an email with your contact information to xamlfest-stlouis@live.com. Only 40 seats are available, so be sure to register early if you want to attend. Also, we ask that, if you find you can't make it for the session, please let us know so we can let someone else come in your place.

Please register early, because we anticipate the seats filling up fast. I look forward to seeing at XamlFest at the end of this month.

Silverlight 2.0 RTW and Expression Blend SP1

by dboynton 10/14/2008 2:07:00 PM

Unless you've been under a rock or too preoccupied watching your retirement fund dwindle away to what used to pass for gas money, you know that the big news out of Microsoft today is the release-to-web of Silverlight 2.0. I know for many of us, this has seemed like a day that couldn't arrive too soon. It seems like a long time, but when you stop to consider that Silverlight 1.0 was released just over a year ago, the product team really did a fantastic job getting this done.

Silverlight 2.0
microsoft_silverlight ScottGu posted on the release this morning, so I'll refer you to his post for all the delicious details about the final set of features that made their way into the RTW of Silverlight 2.0. For my part, I'll repeat the major developer-centric features Scott talked about for you here:

  • WPF UI Framework: Silverlight 2 includes a rich UI framework that makes building rich Web applications much easier.  In includes a powerful graphics and animation engine, as well as rich support for higher-level UI capabilities like controls, layout management, data-binding, styles, and template skinning.  The WPF UI Framework in Silverlight is a compatible subset of the WPF UI Framework features in the full .NET Framework, and enables developers to re-use skills, controls, code and content to build both rich cross browser web applications, as well as rich desktop Windows applications.
  • Rich Controls: Silverlight 2 includes a rich set of built-in controls that developers and designers can use to quickly build applications.  The Silverlight 2 release includes core form controls (TextBox, CheckBox, RadioButton, ComboBox, etc), built-in layout management panels (StackPanel, Grid, Panel, etc), common functionality controls (Slider, ScrollViewer, Calendar, DatePicker, etc), and data manipulation controls (DataGrid, ListBox, etc).  All Silverlight controls support a rich control templating model, which enables developers and designers to collaborate together to build highly polished solutions.
  • Rich Networking Support: Silverlight 2 includes rich networking support.  It includes out of the box support for calling REST, WS*/SOAP, POX, RSS, and standard HTTP services.  It supports cross domain network access (enabling Silverlight clients to directly access resources and data from resources on the web).  It also includes built-in sockets networking support.

  • Rich Base Class Library: Silverlight 2 includes a rich .NET base class library of functionality (collections, IO, generics, threading, globalization, XML, local storage, etc).  It includes rich APIs that enable HTML DOM/JavaScript integration with .NET code.  It includes LINQ and LINQ to XML library support (enabling easy transformation and querying of data), as well as local data caching and storage support.  The .NET APIs in Silverlight are a compatible subset of the full .NET Framework.
  • Rich Media Support: Silverlight 2 includes built-in video codecs for playing high definition video, as well as for streaming it over the web (including both live and on-demand support).  Silverlight includes support for adaptively switching video bitrates on the fly based on network conditions (enabling users to avoid seeing the dreaded "buffering..." message), placing and metering ads within video streams, as well as enabling content protection. 

And most impressively, all of this comes in a download package just 4.63 MB in size. That's  really amazing stuff. I encourage you to download and install the RTW package today.

Expression Blend 2 SP1
blend For many of you, Expression Blend 2.5 June 2008 CTP has been key to building your Silverlight 2.0 application for the past several months, myself included. In order to support the RTW release of Silverlight 2.0, the Expression team released Service Pack 1 for Expression Blend 2 today as well. This will update the current version of Expression Blend to support Silverlight 2.0 design and development. Also, if you are using the trial version of Blend, you can install SP1 to update your trial software. In addition, SP1 will extend your trial period an additional 60 days.

Beyond enabling Silverlight 2.0 projects, SP1 enables two key new features in Expression Blend 2: Control Skinning and Visual State Manager.

Control skinning gives designers the ability to visually customize controls to enable them to exactly fit the function they play within an application, while the ‘Visual State Manager’ gives a flexible and visual way to control precisely how each element of a control will behave and look in a given state. Whether an element in a control snaps into position or glides, moves in a linear fashion or with inertia, the designer has the freedom to quickly and accurately experiment with different interactions before finely tuning and finalizing the user experience of the application.

To begin building your Silverlight 2.0 applications in Expression Blend 2, download it here.

So, it's been a big day of releases and there even more to come. As you may recall, there is this little conference call the Professional Developers Conference in LA at the end of the month. I see Silverlight playing into a lot of the other big announcements that are going to be made that week. Will you be there? I will. If you'd like to synch up while we're in LA, please leave me a comment on this post and we'll see about chatting at PDC.

Have fun Silverlighting.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

RIA | Silverlight | Expression Blend

My First Deep Zoom Project -- Drummer Mosaic on DrummBlog.com

by dboynton 8/15/2008 2:32:00 PM

Microsoft ends its fiscal year on June 30th each year. The result of this is that July tends to be a time for some vacation and offers a great opportunity to "sharpen the saw" a bit. Like many of you, I really thought the Hard Rock Cafe memorabilia site done with Silverlight and Deep Zoom was a really cool application, so I decided to dig and learn as much as I could about it.

The result was an application I built for a new blog site I also started in July called DrummBlog.com. As many of you know, I'm a pretty active musician and have been for most of my life. It turns out that I enjoy writing about drums and percussion about as much as I do about technology, so I started this site up to serve as an outlet for my other passion outside of Microsoft. I decided that I would pay homage to my favorite drummers by making a photo collage using Deep Zoom.

First, I downloaded the free Deep Zoom Composer tool. I first had a look at this tool early this year and, frankly, it was pretty difficult to use and the output was very raw. The most recent version has made leaps and bounds in usability and performance.

DZC1Creating my collage was a three step process.

First, I imported all the photos I wanted to use. Deep Zoom Composer allows you to do this individually or as a group, which is a nice time-saver. Imported photos appear in a column to the right of the design face with the detailed photo in the center.

Once you've imported all the photos you want to use in your project, you need select the Compose option at the top of the screen and begin clicking-and-dragging the photos onto the design surface. You can resize and layer photos to your heart's content. Remember that if you have a large number of photos, you can reduce the picture size as much as you like to fit them in the available space -- your user will be able to zoom in to see the detail. I only had thirty-four photos in my project, so I could leave several of them large while reducing some of them for fun and effect.

Also, you can switch your photo column to a layer view, which gives you a little more control over how the images are presented on the screen, as well as letting you do custom sizing and tagging for each individual photo in the composition.

DZC2When you think you have the design the way you want it, you come to the final phase which is exporting the project. You have two options here: You can export it to PhotoZoom if you have an account there or you can export it as a Silverlight project. I went for option number two and created a Silverlight project.

Once the export is complete, you are presented with a few options for moving forward. You can preview the application locally in the browser, view the image folder or look at the project folder. I previewed the collage in the browser a couple of time, observing that there were some noticeable gaps between photos when I zoomed. This preview capability gave me the chance to fix those before putting it online.

When I was done tweaking the design, it was time for me to move the project to a hosting server so I could show it off on DrummBlog. The Export Location field in Deep Zoom Composer is not exactly accurate if you need to grab all the application files for packaging. The full path to what you need is here:

[project name]\source images\OutputSdi\[project name]\DeepZoomProjectWeb\ClientBin

You'll find an HTML file, and XAP file and a directory will all the images stored in it. This is all you need to show the application online.

My original intent was to host the application using the Silverlight Streaming service. As Deep Zoom doesn't have the ability to automatically publish the project to this service (and yes, please consider that a feature request), I needed to try and package the application for manual upload. I tried this a couple of times, but the service kept throwing errors, telling me that the manifest included in the archive wasn't valid.

I ran out of patience for this very quickly and decided I would upload the project to my own web server. I uploaded everything in the ClientBin directory to my web server. However, when the upload was complete and I went to load the HTML page hosting the applications, I got an error telling me that file extension was not recognized by the web server.

This was easy enough to fix. Since I have remote access to my hosting web server, I logged in, fired up IIS admin and added a MIME type for the XAP file extension, the syntax being application/x-silverlight-app:


I navigated to the HTML page that was part of the output for the project to make sure that I could view the application in the browser. I then added a link to the HTML page that reloaded the page. I put this in to allow folks to reset the page back to its original state.

The only thing left to do after that was to add some HTML to my blog post to imbed an IFrame to host the project web page and there it was. I was all done.

Here is the result:

I should also point out that, with the exception of a little HTML tweaking here and there, I didn't have to write any code at all to produce this. Don't get me wrong, I'm a fan of coding, but in this case I wanted to focus on the look and feel of what I as producing and I honestly think code would have gotten in the way of that. What's more, had I been able to get the application to load into Silverlight Streaming, I could have used the free plug-in for Windows Live Writer to automatically embed that application for me, thus requiring no coding at all.

If you're interested in building your own Deep Zoom project, I highly recommend grabbing the latest bits for Deep Zoom Composer and give it a try. My next project? Doing a Deep Zoom class reunion album for my wife's high school class. Fun stuff.

Currently rated 2.0 by 18 people

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

RIA | Silverlight | Deep Zoom

Software Plus Services Recap and Resources

by dboynton 7/29/2008 12:13:00 PM

First, I'd like to thank everyone who came to my talk last night at the St. Louis .NET User Group meeting. I was nice to see so many people from the community come out and support this group. I hope that my presentation helped clarify what software plus services really means from and architectural and development standpoint, as well as providing you with some ideas on how you might apply some of these principles to your work as well.

As promised, I've uploaded my deck from last night.

There was also the matter of the Day In the Life... video that I showed, but could not get the sound system to work. So, since we spent some time last night talking about the Silverlight Streaming Service, I went ahead and uploaded the video to the service and embedded it below.


By all means, feel free to comment or send me an email if you'd like to talk more about S+S.


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Architecture | RIA | Software Plus Services

Why is Microsoft So Slow to Adopt Silverlight?

by dboynton 5/10/2008 11:59:00 AM

silverlight_logoIn a post yesterday, Eli Feldblum makes the assertion that Microsoft seems to prefer to use Flash over Silverlight. He argues this fact is obvious since most of the rich, interactive parts of Microsoft's public sites are using Flash. In fact, he even states that "the software giant seems to be not even trying" to move to Silverlight and goes on to say:

A quick check through Microsoft properties reveals that only the Microsoft Home Page  and the Microsoft Developer Network use Silverlight; MSN Video, Zune.net and the new WWTelescope all use Flash.

The idea that Microsoft isn't interested in using Silverlight on its sites is, of course, completely wrong. However, in Mr. Feldblum's defense, it could certainly seem that way if you make the assumption that any company, including Microsoft, could implement massive technical and creative changes across an incredibly wide swatch of high traffic sites like the ones cited above in a month or two.

I felt compelled to respond to Mr. Feldblum's post not necessarily to defend Microsoft, but because I have very similar conversations with people all the time about adopting new technology in general. There is a natural human reaction when something new and revolutionary is laid before them. They need to strike a balance between all the new possibilities this new technology offers with the tangible business value of replacing what they already have in place. In this case, the question is, "What do I gain from paying a development team to replace the considerable Flash presence on my sites with Silverlight?"

To assume that a project team with any company would simply throw out a project plan already in motion, ramp their developers and designers in a new technology and start over for the simple fact that there is a new way of accomplishing their goal is ridiculous. You wouldn't do that and I wouldn't do that, unless there was a real ROI as a result.

However, when I talk to people about adopting Silverlight, they always make the comment, "I already have so much Flash built into my web site, I don't know where to start with Silverlight." Well, the good news is you don't have to throw out the baby with the bath water. The fact of the matter is that you can begin to implement Silverlight where it makes sense in your web site without modifying or removing any of the Flash assets you already have in place. Silverlight will run just fine in a web page with Flash, so you can iteratively begin the process if implementing Silverlight and, if prudent, replacing Flash to take advantage of XAML, developer/designer collaboration, developing in managed code and all the other benefits Silverlight has to offer. No expensive and painful "big bang" replacement is necessary. Find a requirement for which Silverlight is a good fit and implement it. It's as simple as that.

The truth is, while the rest of the world would hold Microsoft to a higher standard than any other company, at the end of the day Microsoft works very much like the IT shops you probably work in. Each Microsoft product and web site has a team of developers and product managers that have a finite budget, timeline and resource pool in which to work. Believe me, if Silverlight could be deployed as a replacement to Flash across all Microsoft web sites next week, it would certainly make my job a hell of a lot easier, but that's not possible and difficult decisions have to be made in order to deliver a multitude of solutions currently underway on time and on budget.

NBCOlympicsScreenShotI can all but guarantee you that there are roadmaps in place to adopt Silverlight across most or all of the Microsoft web assets. That adoption will be rolled-out in a manner that delivers value to the business and as it makes sense. You're seeing that adoption begin on Microsoft.com and MSDN, and should see it on more Microsoft sites in the coming months and years, a very timely example being the new Expression Suite web site, all built in Silverlight.

In fact, if you're still of the mindset that Microsoft isn't using Silverlight because they don't believe in it, it will probably interest you to know that NBC will be broadcasting all 17 days and 34 sports of the 2008 Summer Olympic Games this year, at total of 2,200 hours of streaming HD video with multiple views and control gadgets, all in Silverlight. For an early review, have a look at Adam Kinney's post.

Rather than shame Microsoft for not dropping everything else that they're working on to replace Flash with Silverlight, we should learn from their example of implementing Silverlight iteratively as it makes sense. That just good project management and good business.

Technorati Tags: ,

Currently rated 3.8 by 11 people

  • Currently 3.818182/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


RIA | Silverlight

Three Things Every Web Developer and Designer Should Know About Silverlight

by dboynton 3/7/2008 6:52:00 PM

SilverlightLogoBig I attended the "Light Up Your Brand" event sponsored by the Minnesota Interactive Marketing Association (MIMA) in Minneapolis-St. Paul a month or so ago and had a great opportunity to talk to a lot of software developers and designers at the reception that evening. I was asked to come and provide some demonstrations of Silverlight and Photosynth and chat with the attendees while we sipped Silverlight martinis (yeah, they were really good). I was surprised how many folks had either not heard of Silverlight or had heard of it but had no idea what it was. After an hour or two, I realized that I had been repeating a few features/benefits of Silverlight multiple times each time I started a new conversation.

So here it is. If you're already deep into Silverlight development, then I don't think that the rest of this post will be of much use to you as I'm going to be covering a lot of the basics. However, if you are one of those folks who have heard of Silverlight and just don't see what all the hoopla is about, read on. Hopefully you'll discover it here.


Number 1: Designers Are First Class Citizens in the Development Process
My wife is a graphic designer. We've worked on many projects together over the years, her designing the UI and my making it do stuff. In each case, she mocks-up the UI and sends me an image file with the instructions to replicate the design in my development tools.

Now, I have a couple of challenges in this space:

  1. I have the design skills of a palsied muskrat
  2. My development tools are really good at writing code that talks to databases, calls web services and other functions like that, not at making the UI look good

Having spoken to a lot of designers out there, I'm confident that this is not all that unusual of a practice. However, having designers simply mocking-up up the UI excludes them from being a functioning member of the development team. Ultimately, developers who have to try and bring their vision for the UI to life are going to ask them to compromise because it is difficult or impractical to replicate said vision in their tools. And may times, if you're asking the designer to compromise, you're probably asking the customer to compromise as well.

Enter eXtensible Application Markup Language, or XAML. XAML is a strongly typed XML-based language that allows a designer to actually develop the UI, not just mock it up. If you like coding HTML, then coding in XAML will feel pretty natural to you once you learn it. For those of you who prefer to design visually, the good news is that there are several XAML design tools on the market, as well as a plug-in Adobe Illustrator that will render your artwork out to XAML.

boxShot_Blend If you choose to design XAML using Expression Blend 2, then you're actually working in a Visual Studio project format, allowing your .NET developers to import your design code into their development tools and build the necessary underlying code. This brings designers front-and-center into the software development process and allows developers focus on writing the functional code for the application and not worry about minutia in the UI. Essentially, it lets developers and designers focus on their core competencies and makes the overall process much more efficient.


Number 2: Silverlight Uses Technology Your Developers Already Know (for the most part)
The velocity of developing a piece of software is directly impacted by the overall knowledge base of the development team. Therefore, if you're using technology that the development team already knows, you can make the assumption that you can begin working on the project faster than if you are using something completely unknown to your team.

A quick aside on this point: I am not an advocate of deciding a technological solution based strictly on the technical competency of the group of developers with whom you happen to be working. To often I see the absolutely wrong solution implemented on absolutely the wrong platform because the folks tasked with building that application happen to know one technology or another. I do, however, try to keep my feet planted in the real world and understand that resources for software development in all organizations are limited, so I think this is a fair thing to consider when approaching a new project, but it certainly should not be the driving factor in the technological solution.

With this in mind, it's important to understand that Silverlight 1.0 leverages JavaScript as the programming language, a language that is familiar to the vast majority of web developers in the world. This should significantly lower the bar of entry to building rich Internet applications (RIAs) using Silverlight.

If your organization is building web application in ASP.NET, then you should know that Silverlight 2.0 will actually ship with a subset of the .NET common language runtime (CLR) built into it, allowing designers to continue to build the UI piece of the application in XAML, but giving developers the ability to write functional code in managed program languages like VB.NET and C#. Besides the vastly improved performance you achieve by running managed code inside of Silverlight in the browser, this will take the programming bar of entry for .NET developers and toss it out the back door. And, if you don't have .NET developers on your staff, Silverlight 2.0 will still support developing in JavaScript as well.

The key takeaway here is that, which the exception of XAML which will be assuredly be new for most people working with Silverlight for the first time, the technology that you're using is familiar and accessible to just about everybody who's done some web development before. You'll eventually enjoy better velocity on projects from tapping into the technical skill sets you already have and by implementing a tightly integrated platform solution.


Number 3: Silverlight Works on Multiple Operating Systems and Browsers
One of the items that I heard over and over again at the event last month was that, for those folks who'd heard of Silverlight, they were concerned about adopting a technology for their RIA development that only ran in Windows. I thought that Silverlight's cross-browser, cross-platform compatibility would have been one of the first things people would have heard about Silverlight. Apparently, this message has not been touted enough, so let me reiterate here:

  • Silverlight runs on Windows and the MacOS natively, with support extended to Linux via the Moonlight project
  • Silverlight will run in Internet Explorer, Safari and Opera, and support for other popular browsers are slotted for future releases

'Nuff said.


Forward Looking Bonus Item: XAML Search Engine Indexing
One of the biggest downsides to using Flash for building RIAs is that, because they are deployed as binaries, they cannot be indexed properly by search engines like Live Search or Google. In fact, a large customer that I work with called a senior level executive meeting a few months back to figure out why their flagship brands were not showing up at the top of the result list on Google searches. Yeah, you guessed it, all their external facing sites are done in Flash.

While the capability for the major search engines to index XAML is not there yet, the chances of it happening are significantly better than the same ever happening for Flash. This is because the XAML files, which are essentially just XML files, are deployed to the server with the rest of the site and rendered at runtime. The fact that the XAML is in a text file would allow it to be indexed just like any other text-based content online.

Let me repeat: This isn't current state and I'm not involved in any of the decision making processes at any of the major search engines. However, as XAML-based sites begin to proliferate on the Internet, it could be reasonably assumed that, at some point, the major search sites are going to have to start indexing XAML just like HTML.

As a web designer, this should really appeal to you. If you build your site in Silverlight, you'll be able to get the rich UI functionality that you're looking for and you'll have an excellent opportunity for your RIA to be properly indexed by the major search engines in the future, increasing you and your client's web presence.


Hopefully this has clarified some of the common misconceptions about Silverlight for you. Silverlight is very new technology, so it was bound to happen. Here's a quick list of some other resources you might want to check out if you want to dive a little deeper:

  • Silverlight.net: The site for Silverlight resources. You can get all the tools, link to all the blogs and check out all the great examples of Silverlight applications that have been built by the community in the Gallery section of the site.
  • Josh Holmes' Blog: Josh is a RIA architect for Microsoft based in Detroit. Josh regularly discusses the next generation of web applications on his blog. Definitely worth adding to your RSS aggregator.
  • DesignThinkingDigest: This is the blog of Chris Bernard, a User Experience evangelist for Microsoft based in Chicago. Chris is a designer by trade and is working on not only connecting with designers about what Microsoft is doing in that space, but also providing feedback to the product teams on how they can improve the tools for designers building for the Microsoft platform.
  • Design at Microsoft: The official Microsoft site addressing the questions and concerns of the designer community.


Currently rated 1.0 by 10 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Silverlight | RIA

"To stream, or not to stream": The Question of When, How and Why to Move to Silverlight

by dboynton 3/7/2008 6:08:00 PM

olivier_hamlet3 Note: This is a repost of a piece I published in October, 2007 that got a lot of attention. The primary content is the same, I've only updated certain portions of post to make them temporally accurate.

I've been talking with a lot of customers lately about Silverlight. It seems that the bug is catching, but, like the "brooding Dane" of Shakespeare's Hamlet, there is a lot of hesitancy and consternation about the when, how and why of introducing Silverlight into your development lifecycle. Because I've been fortunate enough to engage in so many of these conversations, I'd like to share my thoughts on how you and your company can begin using Silverlight today in a way that makes sense for most of us.


Don't Try to "Boil the Ocean"

There's an old saying of which I'm very fond: "If you have a hammer, then everything looks like a nail."

It is human nature to resist chance. It is also human nature, once it is accepted that a change is going to happen, to run full-long in the new direction and try to never look back. As technologists, we do this all the time. Think about the last Big Thing you learned and how the old stuff you spent thousands of hours learning and perfecting suddenly became "crap" and you wanted it gone from your sight (or "site," whatever the case may be). This seems to be the way most organizations approach new technology.

I don't know how many times I've heard the comment, "I'd love to start using Windows Communication Foundation, but I can't throw away all my old ASMX web services."

My answer: "Well, who said you have to?!?"

Of course, you've been using Flash for your rich Internet applications (RIAs) in the past -- that was the best technology in the market for delivering rich content over the web. If you like Silverlight and want to begin using it, is anyone expecting you to throw all that away and replace it all with Silverlight? Don't be daft. Of course not.

What you can do is begin implementing Silverlight applications into your web site where they make the most sense, i.e where you can leverage Silverlight's strengths. In Silverlight 1.0, this is streaming media. If you have flash applications that are streaming videos or other rich media into the browser, consider replacing existing or doing new applications in Silverlight. Leverage the powerful XAML rendering engine and the full support for HD built into the Silverlight plug-in. This will allow you to get your feet wet with the object programming model of Silverlight and the current tool set.

And speaking of tools, the same approach can be suggested for the Expression Suite. Do we expect you to throw out the Adobe tools you've used for the past decade and start using Expression Blend and Design for everything? Don't be daft. Of course not.

Instead, consider using Adobe Illustrator, Photoshop, etc. to build the elements of your UI design, and then use Expression Design to convert these elements into XAML and Blend to take all the XAML and get it to work in the software UI the way you want it to.

The point is, don't assume that using Silverlight or the Expression Suite means the wholesale discarding of everything you've ever used. Silverlight and Expression Suite are more tools for your software development toolbox. Find the right project and use Silverlight to help you build a great user experience in little time. That is, after all, what software is all about, right?


Don't Fall Into the "Version 3" Trap

It wasn't so long ago that I was a Microsoft customer and often found myself saying, "That looks cool, but I'll wait until version 3. That's when Microsoft will get it right." And then I would laugh and internally compliment myself for my great cleverness. I have come to the conclusion that I might have been missing the boat on being able to take advantage of a lot great features because of this prejudice.

The fact of the matter is that this perception should not be unique to Microsoft products. Any software development process is a just that: A process. An idea becomes version one of the product, the first attempt to make the vision a reality. In the past, this might have meant that the product wasn't very good, but development methodologies, process and the tool sets for building software have made it so that v1 products can be solid, dependable and secure right out of the gate. With this kind of solid foundation, the subsequent versions of the product can and will only get better.

Don't look at Silverlight and Expression Suite in the same light as Windows or Office when they were first released. Look at them for what they are: Software products that have been built in the modern age, with the same (if not better) state of the art tools, methodologies and quality assurance checkpoints you're using to build software for your business.

I'll go out on a limb here and say that Expression Blend is perhaps the best piece of v1 software I've ever used. No system drag, no crashes, only great performance. As a matter of fact, I've had the Blend 2.0 December CTP installed on my machine side-by-side with the released version 1.0 for two months and had no issues whatsoever. (The Blend 2.0 beta is now available for download, as announced at MIX '08 on earlier this week). The only thing that it's lacking is all the features of a product that's been in existence for 10+ years, and those will come with time.


Don't Discount Developer/Designer Collaboration

The story of software UI designers and developers is as old as the industry itself:Expression Studio

  • Customer has an inspired idea
  • Designer and customer create the user experience together.
  • Designer passes the user experience concept off to the developer
  • Developer doesn't come close to implementing the user experience concept
  • Designer is disappointed and forced to compromise
  • Customer is disappointed and forced to compromise

When someone asks me, "Why should I consider going with Silverlight when I already have Flash skills in house?" my answer to them is to ask another question: "What is the quality of your teams' experience in getting your Flash UIs to work with your underlying web applications and services?" This often causes some pause to think.

The fact is that, since designers and/or developers build the Silverlight application UI with XAML, they have full control over how the UI looks and, to a great degree, works. Rather than mocking-up the UI and leaving it to developers to try and replicate the mock-up, the designers actually get to create the UI and share it with developers, who then focus on what they do best, that being connecting the UI to underlying services and data, making the application "work."

This process and capability of this platform should not be discounted. The ability to make designers first-class citizens in the software development lifecycle is an innovation not yet achieved by an other platform.

If you're using Flash (or any other non-XAML-based technology for that matter) over top of your ASP.NET web applications or platform agnostic web services, you're feeling the pain caused by the lack of real collaboration between developers and designers. Silverlight and the Expression Suite address this problem by letting UI designers and developers focus on their core competencies and share the same project assets in ways that have not been seen before.


The Bottom Line

microsoft_silverlight.jpgI'll grant you that Silverlight is a new technology. In recent history, this was reason enough to stay away from it and see what other people are able to do with it before you try it yourself.

The current state of tooling might very well help reinforce that notion. UI design in Blend can be done in alpha software only. If you want to build Silverlight in Visual Studio 2008, you need to install a separate set of tools to enable it. Everyone seems focused on Silverlight 2.0 which won't be released until later this year.

But so what.

Silverlight 1.0 is here now and is capable of supporting advanced web applications. If you doubt it, check out Microsoft Popfly, which is built using Silverlight 1.0. The tooling for building Silverlight application is still in development, but the available bits are very stable and reliable. In fact, I'm did a talk on designer/developer collaboration with Expression and Visual Studio 2008 at VSLive! Austin last November. I wouldn't have built a Silverlight 2.0 app live on stage  if I weren't confident that both products were going to work together very well.

How do you get started? Find something that will bring your business value that is a strength in Silverlight and make that your first project. Make it simple -- don't try to take on the hardest possible task. Get your feet wet and learn while enjoying the benefits of what this incredible new platform has to offer. Then, as you're building application for the current version, watch for what you're going to be able to do in the next version (like the rest of us).

Wash. Rinse. Repeat.


Technorati Tags: ,,
, Expression Blend, Expression Design, Expression Studio

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Silverlight | RIA

Powered by BlogEngine.NET
Theme by Mads Kristensen

About the author

Denny Boynton Denny Boynton
Microsoft Architect Evangelist by day, wannabe rock 'n roll star by night! Want more? Here's my bio.

E-mail me Send mail

    follow me on Twitter


    <<  August 2016  >>

    View posts in large calendar

    Recent comments



    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2016, Denny Boynton

    Sign in