Silverlight for MicroISVs

[Note: a little while back I started what was going to be a two part post on why Microsoft Silverlight 2 released at Mix08 is a technology worth your attention if you're a microISV. Here, in effect, is part 2. And if you are a microISV using Flash/Flex/AIR or evangelize the same - or some other technology like say Google Gears - that makes rich microISV internet applications possible, please consider this an invitation for you to make case here too.]

By Patrick Foley
ISV Architect Evangelist
Microsoft Corp.

You’ve probably heard of Silverlight, but what does it mean for MicroISVs? Silverlight 2 could mean plenty.
Silverlight 1.0 was focused on rich media experiences … as a mechanism for serving an improved video experience, it’s been a big success. But its programming language was JScript, and there were not many controls available for developers to write traditional “field-oriented” applications.

Silverlight 2, on the other hand, brings tons of goodies for developers. For starters, it has a subset of the .NET runtime, so you can write code that runs in the browser with C#, VB.NET, Python, or Ruby. Just as importantly, it includes an array of useful controls: http://silverlight.net/Samples/2b1/SilverlightControls/run/default.html. All of these controls are fully supported from Visual Studio 2008, so the developer experience is great. Source code and unit tests for the controls are also provided.

Since Silverlight is WPF-based, all these controls are skinnable … if you’re a designer, you can completely change their look and feel without changing their underlying behavior or semantics. They are fully supported from the rich design environment of Expression Blend. More info here: http://blogs.msdn.com/kathykam/archive/2008/03/12/more-to-just-silverlight-2-beta-1-controls.aspx.

That’s great, but how do you make money off of Silverlight 2 as a MicroISV? I see two important scenarios for: subscriptions and advertising.

Since Silverlight is delivered via a web page, it doesn’t fit the model of selling a license for your software. Instead, you can charge your users a monthly or yearly fee for using your software. There are some significant benefits to this approach … your users can get to their software from any machine (including Macs!); all users are automatically upgraded to the latest version, all the time; and as a MicroISV, you gain a recurring revenue stream. If you build key functionality on the back-end (data storage is an obvious choice) then you also virtually eliminate piracy … it’s pretty hard to steal the back-end of a web application.

So how is this different from a traditional web application? Certainly these benefits have been available to web applications for years, but Silverlight 2 brings an entirely different level of user experience. For an example of what can be done, check out AOL’s new email client: http://visitmix.com/blogs/News/AOL/. Silverlight 2 brings a desktop-quality user experience to the web.

The business model that’s really intriguing to me is advertiser supported software. The market infrastructure isn’t quite in place to provide MicroISVs with a truly end-to-end solution for making ad-supported software (with Silverlight or anything else), but it’s getting there. Again, video is leading the way, and the 2008 Olympics will be the showcase. NBC, Microsoft, and DoubleClick are all innovating to provide a viewing experience that is rich and rewarding for users, content-providers, and advertisers.

At the moment, MicroISVs who want to build advertiser-supported software will have to use existing web-based advertising platforms for small content publishers (Amazon’s affiliate program or Google’s AdSense spring to mind). I have to imagine all the big players will be innovating in this space … my hope is that someone (preferably Microsoft) comes up with a truly end-to-end platform that allows MicroISVs to focus on the functionality and usefulness of their software while easily tapping into an advertising engine to monetize and promote their efforts. Again, we’re not there yet, but it’s something to look for.

Finally, Silverlight 2 brings a much richer programming model to web-based development. While the industry (especially Microsoft) has done amazing things with AJAX to make traditional web development more palatable, developing Silverlight 2 applications with Visual Studio 2008 is a much richer and more straightforward development experience than traditional web development for most GUI programmers, especially if you already know .NET.
To dive into developing for Silverlight 2, check out the tutorial from ScottGu’s announcement post (http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx) or check out the wealth of information on silverlight.net and visitmix.com.

===
Patrick Foley is an ISV Architect Evangelist for Microsoft … Visit his team’s blog at http://blogs.msdn.com/usisvde/.

Comments

  1. Silverlight is an awesome up-and-coming technology, the one thing putting me off SL2 is the absence of template support. It’s looking good though.

  2. I take it back. With my WPF goggles off, the more I play with SL2, the more I like it. We’ve started using it on an under-the-radar project at the moment. I think it’s a grower. The WPF we did on Ergo (www.yourergo.com) was so spectacular from the UI perspective that I I need to realign a little.

    1 week from now I’ll post another comment saying it’s the best thing ever. :)

  3. I personally think Silverlight 2 is great too. I’m kind curious what you meant by the absence of template support though. SL2 controls have very rich templating support. You can read about some of it in a great post by Scott Gu:

    http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-7-using-control-templates-to-customize-a-control-s-look-and-feel.aspx

    They even support some nice shortcuts that don’t exist in the desktop framework (control parts).

    If you’re talking about data templating, that’s there too. The only problem is that the current version of blend (2.5 March Preview) doesn’t support creating them graphically for Silverlight projects. In WPF projects you can right-click on a ListBox, for example, and choose ‘Edit Items Template’. In Silverlight that menu item isn’t there but it will be in a future release. Silverlight fully supports Data Templates and if you create one in a WPF project you can pretty much just copy it over to your Silverlight 2 project.

    If there’s something else missing related to templates, let me know and I’ll see if I can find a creative solution. :)