Differences Between Silverlight Out of Browser Experience and AIR
A lot of stuff was announced today at MIX09 (and Scott Guthrie is always fun to watch) and one of the more interesting things was that Silverlight is supporting an Out of Browser Experience. At first I thought AIR would be the direct competitor but after sitting in on Mike Harsh’s session, I think AIR and the Silverlight OOB (Out of Browser) are two very different technologies for two very different scenarios.
Installation
Because you’re in the browser context, Silverlight OOB doesn’t make you install anything extra, you can just bring any piece of Silverlight content to the desktop. Silverlight OOB has both events you can call as well as a right-click context menu item that becomes available when you edit the application’s manifest file. When you do that, you get a dialog box with an icon you can customize and the option to add the application to the start menu and/or desktop. Uninstallation is done through the same right-click menu. Silverlight OOB applications don’t show up in the add/remove programs menu or Applications directory. In some ways it is similar to Gears’ Desktop API. With AIR applications, you of course have to download the AIR runtime and you get the standard AIR installation screen and the user has to click through a couple of times. We also want you to sign your applications because when a user installs an AIR application, they’re not in the browser security sandbox but a regular desktop security sandbox.

System Access/Features
The major difference, and what really causes all of the other differences, is that Silverlight OOB runs in the web browser’s sandbox. That means you can’t do anything the web browser can’t do. That means no full file system access, custom chrome, notifications, native menus, etc. Silverlight OOB gives you a bit of isolated storage space where you can read and write from the hard drive, but not direct access like AIR. Everything aside from that isolated storage has to go through a save/open dialog. This is the clear separation between AIR and Silverlight OOB because the install process you go through with AIR gives you access to more desktop hooks. Silverlight OOB also doesn’t have any kind of SQL database and you’re restricted to non printable characters when you’re in full screen mode. Mike said in his session that the Silverlight OOB team was looking into SQL as an option down the road.
Updating
Tim Heuer has a pretty good post up about the differences in updating applications. The significant difference I saw is that with Silverlight OOB, your users are required to update. With AIR, the developer gets to choose whether or not to force users to download an update. The Silverlight team is looking at allowing developers a choice Tim says.
Summary
AIR and Silverlight OOB don’t really compete in the same space. 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. You can also combine HTML and Flash and it doesn’t sound like you have any HTML functionality in Silverlight OOB. I obviously work for Adobe, so I’m biased in favor of the AIR model, but I think Silverlight OOB has a lot of good scenarios; it just doesn’t really compete with AIR in my mind. And I think we’ll be watching to see how developers use it and if there’s a demand for that kind of experience with Flash.
Posted in Adobe AIR








March 18th, 2009 at 11:04 pm
Actually, Silverlight3 out-of-the-browser only has 2 extra APIs. A network detection and an update API. That’s it. No desktop interaction like drag and drop, no custom chrome, no file I/O (except from the isolated storage), no local database, no browser invocation, …
March 18th, 2009 at 11:52 pm
Hi Ryan,
I’ve a couple of question for you:
1. is 3D feature working on Silverlight OOB Mac version?
2. if you can’t interact with OS, you can use it on Desk only for a good presentation not for others actions
3. you talk abou updating feature, so, in a Silverlight OOB app, you can only notify a new version and user will decide to update or not?
March 19th, 2009 at 12:06 am
열이아빠의 생각…
실버라이트 OOB(out-of-browser) 와 어도비 에어의 차이점 아직 OOB를 확인해보지 못해 뭐라 하지 못하겠지만…참고…
March 19th, 2009 at 1:18 am
Thanks for clarify the differences between AIR and Silverlight OOB -it’s closer to Prism maybe (http://labs.mozilla.com/projects/prism/) ?
March 19th, 2009 at 1:29 am
@Serge, yup, there’s not much of an API difference.
@luca, 1) I think so. I haven’t tested it yet, but I’d assume it works. 2) Yeah it’s basically just a presentation layer on the desktop. No native integration. 3) No, whenever you push out an update, the application automatically updates. You can’t prompt the user to approve the update.
@Cyril, yup, I think it’s very similar to Prism.
March 19th, 2009 at 9:20 am
I like posts like these.. saves me from having to do the research myself. Thanks man.
March 19th, 2009 at 10:57 am
Would it be fair to characterize OOB as being more in line with Chrome’s “Create Application Shortcuts”?
March 19th, 2009 at 11:06 am
@Paul, yup, very much like that. With some isolated storage that I don’t think Chrome had.
March 20th, 2009 at 12:36 am
Thanks again Ryan. Personally I don’t see the point of having a web page/app. out of the browser if you cannot add any extras like deep desktop integration (fileSystem access, connexion to local DB, notification, offline…).
Those are just bookmarks on your desktop with a “special chrome”
March 20th, 2009 at 11:11 am
I don’t think Silverlight OOB is meant to compete with Air, it seems to be more of a feature that can be offered to your users to extended the functionality of your Silverlight apps. Air is meant to provide an ability for Flash/Flex Developers to deliver desktop applications. If a .NET developer wants to do that, simply build a WPF app (which is a tad better than AIR) … after all WPF is just the big brother of Silverlight.
March 24th, 2009 at 12:30 am
I fully agree with Chris. With silverlight, developers create a silverlight app not a desktop app, it just has the posibility to be installed to the desktop. With Air, developers create a desktop app (TitledWindow), not a Flex app(Application). Silverlight developers allready have a technology wich has more hooks and capabilities than AIR and wich allows them to leverage their existing silverlight skills, this technology is WPF and it is way more powerfull than Air. so if you want to compare, compare Flex with silverlight (wich can now be installed with one click and Flex can’t), and compare Air with WPF.
March 25th, 2009 at 7:44 am
Although this “outofthebox” thing is not like Air, I am sure they are planning on it later. I remember being told when it came out that SL’s intentions were to not compete with flash/flex. Seems to me like this “outofthebox” was a last minute thought, that they will add to in the future and make it like Air
just my 2 cents.
March 25th, 2009 at 11:39 pm
Chris & Alex,
You may have a valid point that silverlight OOB isn’t directly competing with AIR. Surely however, you can see that AIR has a large lead over Silverlight in the cross platform solution space.
I develop in both AIR and .NET. I’d love to see WPF-style apps on all platforms. Unfortunately, the only way to get the Richness with .NET is to sacrifice the Reach.
Unfortunately – or maybe fortunately depending on your point of view – MS is tied to its OS. Great dev tools, as long as you use their system.
Mono might be promising, but it’s a long way before it’s up to scratch for .NET devs.
Evidentially, MS are using their dev tools to encourage great developers to target Windows and keep up their OS share. Similarly, Adobe are tied to the Flash platform, which, through AIR, actually challenges Windows, as rich client apps leverage services off the cloud, rather than depend on the client.
March 27th, 2009 at 1:53 am
For many years I have used Microsoft’s “.hta” (HTML Application) option for out of browser experience. A “.hta” file gives you full file system access through ActiveX objects.
March 30th, 2009 at 8:19 am
@Julian : A “.hta” file gives you full file system access through ActiveX objects.
yes but only on Windows OS.
This is the most biggest challenge of M$.