ArcGIS Silverlight API Beta and Some RIA Thoughts

ESRI has released a beta (1.0) version of its ArcGIS Silverlight API. It’s available for download now and supports both Visual Studio and Visual Web Developer Express.

Silverlight is Microsoft’s Flash competitor. As much as I like to hammer on the Redmond folks, Silverlight does have some nice features to it. In particular, the upcoming 3.0 release will have GPU acceleration, better HD (720p+) and full-screen support, and a number of nifty features. I use Silverlight 2.0 to stream Netflix movies, and other than being stuck watching on a Windows VM on my Linux box, I’ve been pretty happy with the performance.

Silverlight isn’t without its problems, however. Aside from the usual problems found in plugin-based RIA’s (proprietary, standards-free, requires user download and install, CPU-vampires), Silverlight has two problems distinct to it:

  • Lack of true cross-platform support. If you hear somebody reading this say "Moonlight on Mono....", slap them for me. Moonlight just released with compatibility for Silverlight 1.0, and probably will just be putting the finishing touches on a 2.0 compatible release when Silverlight 3.0 heads out the door. I don't share a lot of the anti-Mono (it's an OK dev platform) and anti-Novell (everybody screws up sometimes) sentiment of some parts of the Linux community, but being perpetually a release behind, and that contingent on the maybe-continuing support of Microsoft, isn't the same as Silverlight on Linux.
  • Inertia. Despite Microsoft essentially buying/coercing the expansion of Silverlight (Olympics, microsoft.com, etc.), it still has a tiny install base compared to Flash. A lot of the people doing the Flash end of the business are more designers than programmers, and dropping them in front of Visual Studio would be cruel and unusual. And a lot of these designers are on Macs. Expanding the reach of Silverlight will be an uphill battle for Microsoft.
I'm not a big fan of plugin-based RIA tech for anything other than playing videos, and that for only a little while longer. Flex/Flash or Silverlight based UI's always make me face-palm. Did you seriously just make me watch a progress bar as your binary downloaded just so your uber-rollover buttons can explode with a whooshing noise?

I have to agree with this great blog post - I think the real future for RIA’s is HTML 5. The canvas element is fully scriptable, it can animate bitmaps over time, draw complex vectors, play videos, pretty much do everything you’re downloading a plugin for now. HTML 5 is a W3C (draft) standard, and the next generation of browsers are starting to support it. You can use it now in recent Webkit-based releases (Chrome, Safari), as well as in Firefox 3.1. Check out the blog post I linked above for some examples.

It’s great that ESRI is supporting a lot of different development environments like Flex and Silverlight, provided that support doesn’t evaporate in the future.* Other than forcing your users to download and install software to use your site I don’t think you’ll be hurting yourself using any of these plugin-based frameworks, particularly considering with ESRI you’ll probably be rewriting the whole thing in few years anyway. But for my money, I’d steer clear of plugin-based RIA frameworks unless you absolutely had to have one of the few things these frameworks do better than standard HTML (3D, huge amounts of vector features, etc.). Just my 5 cents.

*If you used the ActiveX connector with ArcIMS, raise your hand. Then put your face in it.