Microsoft's Inner Geek is Showing

If you’re like me, you will have completely ignored the many announcements about Silverlight, Microsoft’s new framework for media-rich web applications. A few positive reports from unexpected sources did reach my ears, but they weren’t really enough to broach the Microsoft-impermeable membrane which has built up over the years. Even if I had been lucky enough to get to RubyConf this year, I probably would have skipped the IronRuby presentation.

So, I was surprised to find myself halfway through Martha Rotter’s presentation on Silverlight to Ruby Ireland earlier this week enthusiastically paying attention. Microsoft might have actually created a product which will appeal to geeks. Not only appeal to geeks, but even make passionate users out of them. Why? Silverlight runs on text files. Just text files. You don’t need to leave the comfort of TextMate, vim or emacs. You don’t need to download or buy a gigantic proprietary IDE with the dreaded word “Visual”. You don’t need to pay Microsoft a penny. Your users will at some point need to download a free runtime, but at 4.7MB (for the v1.0 OSX DMG) it’s positively miniscule by Microsoft standards.

To develop a Silverlight application you have to write XAML, an XML format which describes the graphical objects you want to display. And you write Javascript. That’s it. In Silverlight 2.0 in addition to Javascript you will be able to use Visual Basic, C#, Python, or Ruby. (In fact, it’s theoretically possible to integrate Silverlight with a Rails application right now by dynamically generating XAML and Javascript.) Microsoft is selling a range of development tools under the Expression brand, but these are optional and aimed more at designers than developers. Actually, one of the things which appealed to me most was the idea of being able to work with a graphic designer who is using Expression to generate XAML. As a developer you would be able to see a finished-looking version of the app as you code. No CSS time lag. That would be sweet. There is, naturally enough, strong Silverlight integration in Visual Studio for those who choose to use it, but Microsoft are really going out of their way to emphasize the openness of Silverlight.

I’m also curious now about the Windows Presentation Foundation graphics API, the Desktop precursor to Silverlight which also uses XAML. There is a rubyclr gem, and this might be another useful option for creating Windows desktop applications in Ruby.

I do have one complaint thus far, which is that the documentation for Silverlight is located at one of my least favourite places on the internet, the MSDN website. This is pretty much the showcase site for ASP’s lack of cross browser compatibility. It’s slow, buggy and unnecessarily complex. Microsoft: give us some plain vanilla HTML documentation and try to get yourselves on gotapi.com.

Part of my positivity about Silverlight is undoubtedly due to the quality of Martha Rotter’s presentation. Martha has one of the most difficult jobs I can imagine, she’s effectively an ambassador from Microsoft to the hostile, judgmental and opinionated world of early-adopting developers. She is fantastic at it by virtue of her instant geek cred (vim is her editor of choice), sense of humour (no doubt necessary) and genuine and obvious passion for technology. She was honest, enthusiastic and friendly and won us over very quickly. Martha, thank you very much for taking the time to come and speak to us. Even though it’s your job. It was very much appreciated.

So, with Silverlight + the DLR, Microsoft is taking aim at both Adobe and Sun. Silverlight will try to challenge Flash’s dominance in the rich internet application space and with the DLR they are also competing with Java’s support for dynamic languages on the JVM. Of course, we aren’t able to get our hands on IronRuby just yet, but Microsoft does seem genuinely committed to it and, as long as we can create our .rb files in any text editor, and with Silverlight as the carrot, there will be support from the community. As long as there’s not a PR disaster with open source licensing or platform/browser neutrality, this might actually work.

Microsoft might have finally returned to its geek roots. Martha hinted that Silverlight was developed in part just because XAML was a cool new toy which needed to be shared with others, the ultimate geek motivation, and I’m inclined to believe that. Microsoft are even advertising on The Deck. That takes some courage. ;-)


Comments

John Ward 14 Dec 2007

Hi Ana,
Nice write up.

I’m glad you referenced the rubyclr gem, it was one of those after thoughts I had, and wondered why I didn’t ask the question.

John