Adobe AIR versus Offline Silverlight

I'm at Microsoft's Mix09 conference in Las Vegas, where the big news (aside from small matters like the final release of Internet Explorer 8) is the beta release of Silverlight 3.0, Microsoft's browser plug-in that competes with Flash as a platform for rich internet applications.

Silverlight 3.0 is stuffed with new features, one of which is the ability to run outside the browser. Right-click an applet, choose Install onto this computer, and suddenly you have a desktop application complete with a shortcut in the Start menu, or on the Mac desktop. This has triggered a debate over how SLOOB (that's Silverlight Out Of Browser) compares to Adobe's existing AIR (Adobe Integrated Runtime), which supports Flash applications running on the desktop.

Understandably, Adobe folk like Ryan Stewart are emphasising the differences:

"I think AIR and the Silverlight OOB (Out of Browser) are two very different technologies for two very different scenarios...AIR is about letting you take your web application skills to build desktop applications and Silverlight OOB is more about letting you take your Silverlight applications to the desktop. The different models will be different for everyone, but right now AIR gives you a lot more flexibility and more API hooks into the operating system."

The big issue is how much these desktop/web hybrids interact with the local machine. Microsoft makes a point of how SLOOBs run in the same sandbox as they would in the browser, which means the user can install without a security prompt, but also that the application has very access to the user's desktop. The only access to the file system is to a protected area called isolated storage, or via a file dialog that the user controls. Microsoft says there might (or might not) be a way of displaying notifications but that is about it.

AIR applications by contrast run with the same permissions as the user. Installation involves the user consenting to a dialog which usually threatens unrestricted access to the system. Your AIR app can read and write any files that the user can read or write. There is also a notification API, and support for drag-and-drop.

That said, AIR applications are also restricted by design. They cannot be extended with native code, or execute other applications. Adobe has always presented AIR as a way of delivering web applications on the desktop, rather than as an alternative to C++ or .NET for traditional desktop applications. So is it really so different from SLOOB?

Well, some of the AIR features do give it an edge. One is the ability to fire notifications (annoying though this can be). It's something that Microsoft definitely intends to add to SLOOBs, though I get a different answer every time I ask about it; it might not come until Silverlight 4.0. Another difference is that AIR can host HTML as well as Flash content, which is an advantage for applications that depend on both. AIR also includes an embedded relational database engine, SQLite, whereas SLOOB developers will have to roll their own or use XML, though I doubt this is really a big deal. One other thing: Silverlight knows nothing about printing, which is unfortunate when running outside the browser.

Nice features; but I still feel that AIR and SLOOB are close competitors. Both take a cross-platform, rich internet application runtime and make it available from a desktop shortcut and with offline support. That makes a huge difference to users, even if the technical differences between running in or outside the browser are not so great. SLOOBs are going to be attractive to .NET developers because they include the .NET runtime and can be developed in the familiar Visual Studio IDE.

Personally I'd like to see an option to run AIR applications sandboxed, as full file access is more than most of them need. I'd also like an option to run SLOOBs with greater local system access when needed. Why not have the best of both worlds?

In the meantime, I'm expecting both to succeed. For applications that will work as a SLOOB, it makes a great user-friendly, cross-platform alternative to Windows Forms; and we've already seen effective user of AIR for cloud-centric utilities like Twitter clients. Both platforms are also highly effective for visualizing data. Who knows, this approach could become the norm for a wide range of business applications.

0 TrackBacks

Listed below are links to blogs that reference this entry: Adobe AIR versus Offline Silverlight.

TrackBack URL for this entry: http://www.itjoblog.co.uk/blogadmin/mt-tb.cgi/84

5 Comments

Peter Elst said:

Silverlight out of the browser is significantly different from AIR, at least at this moment in time. That is not to say this won't change in future releases.

While AIR gives you various APIs including reading, writing files, custom window chrome, drag 'n drop, file associations, windowing, local SQLite database support, etc. currently it seems Silverlight OOB basically gives you a network status API and an update API.

Its an excellent solution for moving a web application out to the desktop for offline use but its not like an extension of web technology to build desktop application as is the case with AIR.

Tim Anderson said:

Peter

It's true that AIR offers more local APIs, but it is also pretty limited when considered as a platform for desktop apps. As I said in the post, I'd like to see more choice in the security/features trade-off.

Tim

Alex van Beek said:

Of course SLOOB is different, it's just silverlight out of the browser and it isn't meant to create a desktop application. Developers create a silverlight application wich can be installed on the desktop, while with AIR, developers create a desktop application (TitledWindow) and not a Flex application (Application).

It also doesn't matter that AIR has more hooks in the operating system or otherwise more capabillities. .Net developers allready have something much more powerful, with more OS hooks and more capabillities than AIR and it allows silverlight developers to leverage their existing skills. This great technology is called WPF.

You should not compare SLOOB with AIR as SLOOB isn't meant to create desktop applications like AIR. If you want to compare technologies, you should just compare Flex with Silverlight (wich can now run out of the browser with one click and Flex can not), and compare AIR (Desktop technology from Adobe) with WPF (Desktop technology from Microsoft)

Darren said:

If you were to compare AIR to WPF, the main point of differentiation for me is that I can run AIR apps on my Mac and I can't run WPF apps, and neither can Linux users. While Mac/Linux users are a minority, they are a growing minority with the increased popularity of Macs in general as well as the proliferation of new models of netbooks running non-Micosoft OSs.

RawThinkTank said:

HTML 5 is making headways into Mobile computer Era and these loosers adobe and M$ are still struck with desktop

Leave a comment

Current Vacancies from CWJobs

(* Required field)










Preferred format