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.

<SoapboxTangent>
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.
</SoapboxTangent>

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.

 

Wrap-Up
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.

 

Be the first to rate this post

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

Tags: , ,

Silverlight | RIA

Related posts

Comments

3/19/2008 7:23:30 AM

Web developer

The information in this blog is marvelous. I would definitely recommend a <a href=” http://www.profitpullingprofessionals.co.uk”>Web developer</a> to make use of this information. As a web developer, if you want to achieve the zenith in your life, you need to have enthusiasm of learning new things.

Web developer us

8/13/2009 2:15:05 PM

inforger

nice information!

inforger us

Powered by BlogEngine.NET 1.3.0.0
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

Get Microsoft Silverlight
by clicking "Install Microsoft Silverlight" you accept the
Silverlight license agreement


Calendar

<<  March 2010  >>
MoTuWeThFrSaSu
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar

Recent comments

Authors

Disclaimer

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

© Copyright 2010, Denny Boynton

Sign in