I came across a few interesting articles and documents recently and it got me thinking more about Apollo. As most of us are already aware Apollo is a runtime in development at Adobe allowing the deployment of Flash platform, HTML and or PDF applications onto the desktop. Thus allowing them to operate just like native desktop applications – desktop style titlebars, read / write to the filesystem, custom chrome etc. I’d also assume that integration with external hardware like webcams, printers, scanners etc would be on the cards but we’ll just have to see what they have up their sleeves. However, considering Actionscript already allows access to webcams and microphones it’s not a massive leap of faith or functionality.
I suspect a few of you may have been thinking “Apollo = Central 2.0” :P. To be honest from what I have read and seen posted on various blogs and breezos Apollo seems very cool and could be a real winner once it gets released.
However there are a couple of things that could put a damper on this prospective new era of Flash platform penetration. Namely XULRunner and the growth in micro runtimes like Yahoo! widgets (formerly Konfabulator). Apple’s Dashboard for OSX Tiger (allegedly a rip off of Konfabulator). And finally Opera 9 widgets. These aren’t the only ‘kids on the block’ though I am also quite excited about the developments over at Haxe.org on ScreenweaverHX – I cannot confirm this as of writing but this looks like it is built with XUL / XULRunner as part of its core runtime.
Don’t get me wrong this isn’t solely focused at Apollo – although that is the central theme. This has as much impact on Microsoft as it does on Adobe. Microsoft’s Window Presentation Foundation / Everywhere (WPF/E), XAML and the range of tools that allow development for it, (Expression Interactive Designer or ‘Sparkle’ as most know it, for one), could also come under the hammer so to speak if these runtimes get greater exposure and faster adoption. The real advantages that they have over Apollo and WPF/E at the moment is cross platform deployment. Xulrunner is deployable on Windows, Mac OSX and Linux. Likewise in respect to Apollo they are already available to develop with – even if some of these are beta builds.
So which holds the most clout?
To be honest I don’t think any of them have a massive advantage at this point in time over Apollo. For starters XULRunner is still in beta – so there is functionality missing or not fully implemented. Of the micro runtimes Opera 9 widgets require you install Opera 9 to use them, so in some respects this kind of defeats the point of a true deployment platform and becomes more of a novelty add on for the users of Opera 9.
As for Yahoo! widgets and Dashboard, the problem these two options have is that they are tied to a very limited communication model as well as sandboxed access to the actual OS. It’s not the functioality that lets these micro runtimes down, but more their overall usefulness beyond the quirky. They tend to have very limited interaction performing as consumers of RSS / web services and the operations available therein. Some allow limited data storage but nothing that would inspire anyone to look at them as serious development opportunities. Nor should they as these are not designed to perform that level of complexity. These are good for cutting your teeth on though and make a perfect stepping stone. Some may be now wondering why Opera 9 widgets gets more of a look in but Dashboard and Yahoo! widgets don’t. In some respects it’s more to do with functionality and integration with the host OS – Opera 9 widgets offer a far greater scope for building applications than either of the other two ‘widget’ engines currently offer.
Finally we have Microsoft’s WPF/E. Regardless of what is said and by who is always likely to be a Windows centric runtime and is very unlikely to spread beyond that platform even if the technical aspect is there to allow it to do so. If this does hold true then it will lose out on the growth in adoption of Apple’s OSX (thanks in part to the migration to the Intel chipset). As well as the throng of Open Source Software (OSS) developers pushing Linux down the road as a viable and user friendly desktop replacement. So in respect to that in my mind it comes off worse than even the micro runtimes due to this lack of ubiquity across the desktop.
So that leaves Apollo…
Well it has two of the main web based formats, (dare I use the word ‘standards’), already in the bag – SWF and PDF. Couple this with HTML to round the whole web to desktop migration off. Though to be honest I’m not sure how ‘functional’ HTML deployed desktop apps would be – call be a Flash prig, but hey Ajax or nought it’s still HTML :P
Seriously though – here again Adobe have it somewhat covered with the new Spry framework. The real advantages with utilizing these technologies is that there is a massive developer base already producing rich internet applications that could easily make the transition to the desktop with minor, if any alterations.
There is also a very interesting breezo regarding Apollo hosted by Luis Polanco and Mike Chambers entitled ‘Building Killer Desktop RIAs?” that shows off early Apollo development (and why I initially started thinking about similarities with Apollo and XULRunner). I strongly recommend that anyone interested in Apollo and the move of RIAs to the desktop should watch it. There are quite a few interesting slides on where Adobe want to position Apollo and how the competition (i.e. Microsoft) are likely to approach the same goal.
It is also worth noting that Adobe appear to be looking at this as the logical progression (maybe even conclusion) of information and content distribution to the end user via networked devices in an ad hoc, or disconnected system. Whereas Microsoft, in my view are looking at it from more of a gluing perspective on sticking the distributed data to applications built for the OS.
Is that it?
This is by no means a definitive article on the subject of Apollo, more of a speculative view and review of what is out there and how products like Apollo fit in or improve. I’ve tried to include just enough information to make it informative, but not overtly technical (if such a thing is possible when talking about emerging technology). If you agree or disagree let me know. Only time will tell if Apollo is, as I hope and believe, the best choice for transitioning RIAs to the desktop. It does make me think that while Actionscript and the SWF format are becoming truly ubiquitous with each additional platform or technology that supports the Flash platform that all that is required now is that Business Process Management (BPM), or workflow as most refer to it gets aligned in the same manner from a development and production point of view. So it is easy to develop RIAs with mixed disciplines in a traditional creative agency. That is a thought, and potentially an article, for another time though.
Further reading
Apollo Breezo
Adobe Consulting Weblog: Oh, Apollo!
XULRunner
What XULRunner Provides
XULPlanet.com – excellent XUL resource
Flash Integration
ScreenweaverHX
FXR
FXR tutorial
I dont think that WPF/E will be limited to Windows, I mean, MS software do have space on Macs like Office and IE. As far as linux goes, MS would take it seriuosly this time… and even though WPF/E is lagging behind ont schedule, I do think, MS is capable of seriously challenging Adobe on this front… and I hope Adobe would take on it the same way, adding rich features and developer functionalities to the Apollo runtime…
I’ve been saying for a while that unless the ajax crowd can wrap their apps for using on the desktop they weren’t going to come anywhere near Apollo or a Flash app wrapped in Zinc. They both already have the web/desktop occaisionally connected app ability. There have been some early adopters out there like Songbird who have done just that.
Strategically, the good thing Adobe is doing is flooding the market with their frameworks and tools and giving them away. I can’t speak for everyone else but that’s a really good way of building brand loyalty. If you look comparitively at Apollo’s abilities vs. WPF/E, there doesn’t seem to be much choice about where to go. Add a wrapper like MDM Zinc to existing Flash/Flex applications on top of that and you’ve got cross platform/cross OS bases covered. Not to mention the huge gap between Apollo’s release date and that of WPF/E. Who’s really gonna wait?
I’m glad MS is setting up some competition with Adobe. We as developers and designers will be the one’s who benefit.
Screenweaver HX is not build with XUL/XULRunner as part of its core runtime; it’s an extension to Neko, written in pure C wrapping the Netscape Flash player plugin, bridging communications from an to Neko using the External Interface.
Using the SHWX module with haXe allows for coding Flash interfaced desktop applications in contrary to bundling an SWF with a feature enriched Flash player as traditional swf2exe apps do.
Thanks for that update Edwin – I will update the post to reflect this. Even though it isn’t a XULRunner app I still think it deserves listing as an alternative option while waiting for Apollo.