What can one do with Silverlight: Part deux

Corey Schuman, Roger Peters and Mason Brown – whom many of you met at the Atlanta Silverlight Firestarter – have been under wraps for several months working on a project for IQ Interactive they repeatedly insisted they couldn’t tell me about.

Now that the beta of My Health Info on MSN has been published, not only do I finally get to see what they have been working on but I also get to share it with you.

My Health Info is an aggregator of sorts for personal medical information – a tool to help the user keep track of her personal medical history.  Unlike other portals that support widgets, however, this one is built using Silverlight.

My Health Info is an interesting alternative to the Ajax-based web portal solutions we typically see and serves as a good starting point for anyone looking to combine the “portal” concept with Silverlight technology.  The Silverlight animations as one navigates through the application are especially nice; they strike the appropriate balance between the attractive and the distracting – between cool and cloying.

What can one do with Silverlight?

rubens

The ComponentArt Summer Silverlight Coding competition is about to wrap up in a few hours.  It has managed to garner approximately 80 entries – all with publicly accessible Silverlight sites.

In the process of hosting this contest, Miljan Braticevic has achieved a wonderful thing – almost as a side-effect.  He has gathered a fantastic gallery of Silverlight applications which answer the often unvoiced question: What can one actually do with Silverlight?

If you are simply looking for ideas or, more to the point, trying to find a way to explain to your boss what Silverlight is, go here: http://www.componentart.com/community/competition2009/contestants.aspx .

The contest entries run the full gamut of mapping tools, social networking, dashboards, standard web site alternatives and games.

I do not envy the judges the task of bequeathing their golden apples.

Craft and Exposure

derek_jacobi

With Silverlight 3, Silverlight seems to have reached a critical stage – that is, people are starting to criticize it.  This is a good thing since it means we can now talk about the reality of Silverlight rather than the promise of Silverlight as a technology.

Some recent comparisons have been made between Silverlight and Flash by Michael Lankton as well as Silverlight and HTML + JQuery by Dave Ward, a truly great developer.

One topic that hasn’t been broached, I believe, is the comparison of Silverlight and WPF.  For some die-hard WPF developers I know, Silverlight just seems like a crippled version of the technology they love.  This is somewhat unfair.  Silverlight has definite limitations when compared to WPF; it also, however, is able to reach a much broader audience because it is browser-based and platform neutral.  Until a mono version of WPF is implemented, Silverlight is going to be the main way for .NET developers to get their state-of-the-art applications onto their Mac using friends’ computers.

This reminds me of a comment I heard Derek Jacobi, the great Shakespearean actor, once make to the effect of:

“I do movies for the money.  I do television for the exposure.  But I do theater for love of the craft.”

As much as I have always enjoyed windows development and have cursed the many tricks and hacks one must know to do web development, web development was still always fun because people had a greater appreciation for what one did.  In part this is because web applications simply reach a wider audience.  It is also due, I think, to the fact that users are much more savvy about the web and the way they feel it should look than consumers of desktop applications.

And so those lessons might be applied to how we look at the relationship between Silverlight and WPF.  WPF allows one to practice one’s craft – which is an enjoyable but mostly solitary affair.  Silverlight, on the other hand, provides the developer with exposure for his work – and this is no bad thing. 

Three Silverlight Contests Hath September

There are three Silverlight contests in the month of September.  Each is, interestingly, sponsored by a different set of control vendors.

Due September 14th (link): Telerik Silverlight Contest – Telerik is offering a $500 Amazon gift card for a two page written case study of an application that uses their RadControl suite.  According to the contest announcement, you must:

    1. Build an application with the RadControls for Silverlight (you can even use the trials)
    2. Create a 1 – 2 page case study describing your project
    3. Submit the case study by September 14th, 2009

Due September 19th (link): DevExpress, Infragistics and Telerik are putting up prizes for a contest hosted at www.gosilverlight.org. You must write a Silverlight control to enter the contest. First prize has a combined award of $700 in gift cards as well as licenses for the control suites of each of the sponsors.  The Silverlight Show is also a sponsor.  According to the contest announcement, you must:

1. Controls must be designed to work with Silverlight 2 or later. Silverlight 1 Entries will not be accepted or evaluated.

2. All entries must be received between now and 12:00 AM ET, 9/19/2009 12:00:00 AM. Entries received after this date will not be accepted or evaluated. The deadline may change at any time for any reason.

3. Contestants must provide the control source code as part of the submission. The source code should be provided as a ZIP archive and should include the following items:

  • A single Visual Studio 2008 Solution containing each of the solution projects.
  • A Silverlight Application project that contains the custom control.
  • A Test Silverlight Web Project that will host the Silverlight control. The host web project must demonstrate the control in use.
  • The code must compile. If the code does not compile, the entry will not be evaluated.

See the contest rules page for a complete list of instructions.

Due September 22nd (link): ComponentArt is also hosting a Silverlight contest in September for Silverlight applications.  The Grand Prize in this contest is $10,000. 

  • The use of ComponentArt products is not required to participate in the Summer Silverlight Coding Competition. The contest is open to the entire Silverlight developer community.

  • Each Entry must be a Silverlight 1.0, Silverlight 2.0 or Silverlight 3.0 application. Each Entry must be accessible through a public URL. If authentication is required, a demo username and password must be provided.

  • The Entry must not contain any content or material that is obscene, sexually explicit, defamatory, or otherwise inappropriate as determined by ComponentArt at its absolute discretion.

  • Each Entrant will be required to provide their full name, email address, physical address, and country of residency.

  • ComponentArt employees are not eligible to participate in the Competition.

  • Each Entry must be of the Entrant’s original creation, created solely by the Entrant(s), must not infringe the copyright, trademark, privacy, publicity, or other intellectual rights of any person or entity.

  • Participants using third party libraries, controls and/or code in their application, are required to identify the applicable third party components.

See the contest page for a full list of rules.

I certainly wouldn’t feel comfortable suggesting that anyone slack off from their day jobs for this.  At the same time, however, the incentive has never been better to take a week off and hone your Silverlight skills.

I don’t see any rules that disallow submitting the same basic project for all three contests — hence tripling your chances of winning something — so here’s a sample strategy for doing that:

1. Start working on a cool Silverlight app for the ComponentArt contest.

2. Along the way, you will need to build some cool controls.  Take the coolest one and submit it for the gosilverlight.org contest.

3. Rewrite your application using some Telerik controls and submit a write-up for the Telerik Silverlight contest.

If by some chance you manage to win all three September contests, you will have made $11,200 as well as control suites worth an additional $3000 or so.  Really not so bad for a couple of weeks worth of work.

Silverlight Resources

ATL-Silverlight-Firestarter-logo_resized

Today’s Silverlight Firestarter in Atlanta was a remarkable event due in large part to the remarkable audience.  We started off with about 110 attendees, and while some left throughout the day, just as many came in to replace them.  By my session, which was the last presentation of the Firestarter, the audience was still enthusiastic and responsive – really amazing considering they’d been receiving a massive Silverlight brain-dump for the past nine hours from some of the best Silverlight developers and architects in Atlanta.

As promised, I am posting the various websites I discussed during my presentation on the Silverlight Ecosystem – the combination of corporate and community resources that make up Silverlight.

Silverlight Control Suites:

The Silverlight Toolkit: http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246

SL Extensions and Silverlight Contrib: http://www.slextensions.net

Telerik: http://www.telerik.com/products/silverlight.aspx

Component Art: http://www.componentart.com/

ComponentOne: http://www.componentone.com/

Infragistics: http://www.infragistics.com/

Cellbi: http://www.cellbi.com/default.aspx

DevExpress: http://www.devexpress.com/

Divelements: http://www.divelements.co.uk/silverlight/

FarPoint: http://lab.fpoint.com/inputsilverlight/

Netika Tech: http://www.netikatech.com/products/toolkit

Intersoft: http://www.intersoftpt.com/

Vectorlight: http://www.vectorlight.net/controls.aspx

Visifire: http://visifire.com/

Xceed: http://xceed.com/Upload_Silverlight_Demo.html

 

Silverlight Book Recommendations:

Pro Silverlight 3 in C# – Matthew MacDonald (Great reference work)

Silverlight 2 in Action – Campbell & Stockton (Excellent beginner’s book)

Foundation Expression Blend 3 with Silverlight – Victor Gaudioso

Foundation Silverlight 3 Animation – Jeff Paries

Data-Driven Services with Silverlight 2 – John Papa

 

Silverlight Tutorials:

Channel 9

http://silverlight.net/learn/tutorials.aspx

 

Silverlight Blogs:

The Silverlight Geek (Jesse Liberty)

method ~ of ~ failed (Tim Heuer)

Brad Abrams

Shawn Wildermuth

Jeff Prosise

85 Turns (Corey Schuman)

Dan Wahlin

Adam Kinney

Charles Petzold

Page Brooks

Rob Zelt

 

Silverlight Forums:

http://silverlight.net/forums/ (You can usually get your SL questions answered within a day, if not within minutes, at the silverlight.net forums)

http://silverlight.net/community/communitygallery.aspx (An excellent place to look for some inspiration)

 

Free Silverlight Code:

http://www.codeplex.com/site/search?projectSearchText=silverlight

 

Silverlight Contests:

http://telerikwatch.com/2009/07/telerik-silverlight-contest-win-500.html (Due September 14th)

http://www.componentart.com/community/competition2009/ (Due September 22nd)

Silverlight 2 and Silverlight 3 side-by-side on Windows 7

I’ve been trying to get Silverlight 2 and Silverlight 3 to run side-by-side on my OS for a while.  Amy Dullard has an interesting set of scripts to facilitate this – in effect, the scripts uninstalls the Silverlight 2 tools and replaces it with Silverlight 3 tools if you want to upswitch, then performs the reverse operation if you want to downswitch from Silverlight 3 to Silverlight 2.

This was time consuming in Windows XP.  It turned out to be impossible for me in Windows 7 (64-bit).  I received one of the mysterious install errors: 0x80070643.

Here are some descriptions of the issues and possible workarounds (which did not work around me):

http://silverlight.net/forums/t/66253.aspx

http://blogs.msdn.com/rjacobs/archive/2009/01/22/windows-7-and-silverlight-installer.aspx

Fortunately, Windows 7 has the XP Mode feature, which is basically a hardware-based virtualization platform with a license for the Windows XP operating system.

It is an add-on for Windows 7 that must be downloaded.  Thanks to a former Magenic colleague, I have a premier subscription to MSDN.  To run XP Mode, you must install two beta products: Windows Virtual PC beta and Windows XP Mode beta.  These can be downloaded from MSDN Subscriber Downloads |Applications | Windows Virtual PC.

Once I had both of these installed, set up the BIOS to support virtualization, and then installed my development software on the XP image, I found that my host OS now had several interesting new entries on the start menu.

startmenu

Besides being able to open up my virtual instance of XP, I also can access each application installed on my virtual PC.  Behind the scenes this is still running my virtual machine, but it appears as if I am running an application in a special “XP Mode” since I never have to log into my XP virtual machine and also never see the desktop for it.  Instead, Visual Studio in “XP Mode” simply appears in my Windows 7 task bar next to my Windows 7 instance of Visual Studio.  Furthermore, since I have Silverlight 3 installed on my host OS and Silverlight 2 on the virtual machine, I in effect have a Silverlight 2 instance and a Silverlight 3 instance of Visual Studio running next to each other.

By default, XP Mode runs with 256 Megs of RAM assigned to it.   I had to pump this up to 2 Gigs before I had decent performance.

Here’s a screenshot of the two instances of Visual Studio running side-by-side.  The one on the left has Silverlight 2 running on XP, while the one on the right has Silverlight 3 running on Windows 7.  Notice the lack of glass effects on the left.  I’ve also circled the Silverlight Tools for Visual Studio version numbers as proof (partly for myself) that I can develop against two versions of Silverlight at the same time:

sidebyside