March 22, 2008

Bridging Desktop And Web Applications - A Look At Mozilla Prism

Michael Arrington

83 comments »

New platforms like Adobe Air and Mozilla Prism are evolving that combine the benefits of Internet flow with the flexibility and power of desktop applications. They are part browser, part desktop app and are extremely efficient for certain types of applications.

Flash, Silverlight and Ajax get most web applications over the hump in terms of usability and are the technologies behind the fast transition of desktop applications to the web. But it’s not clear that they’ll ever kill off all desktop applications entirely. The bridge between them may very well be Air and/or Prism.

Matthew Gertner
, who was a co-founder and CTO of startup AllPeers before it shut down earlier this year, is now working with Mozilla on their Prism project. I asked him to write a guest post discussing Prism and how it fits into the ecosystem v. Air as well as a number of emerging technologies for using web applications offline (Firefox 3, Google Gears).

Read Matthew’s blog, Just Browsing, here.


Thanks to innovations like Ajax and Flash video, web apps are quickly gaining ground on their desktop counterparts. With a few notable exceptions like Firefox and Skype, the big software hits of recent years have been websites such as Flickr, YouTube and Facebook. And yet web-based software cannot yet equal the high-quality user experience of the best native apps. This is the reason why Apple was forced to reverse its original decision to make Safari the official SDK for the iPhone. It also explains why online productivity suites like Google Docs are still struggling to compete with stalwarts like Microsoft Office. Web apps simply don’t provide the responsiveness, performance, whizzy graphics and access to local data that users crave, and they only work when you’re connected to the internet.

Single-site browsers (SSBs) aim to bring the best of the desktop to web applications. Rather than running programs in normal web browsers like Firefox or Safari, wedged in a tab between New York Times articles and TechCrunch posts, each app is given its own dedicated browser, which is customized to include many of the desktop features that users know and love. Some of the advantages are obvious. Apps like Gmail and Facebook get an icon in the dock (on Mac) or the taskbar (on Windows) for easy access, and in the case of Gmail the icon can be “badged” with the number of new emails, a popular feature of traditional mail clients. Superfluous elements like the back/forward buttons, generic browser menus and the URL bar can be hidden away, reducing user interface clutter. Other benefits are more subtle. Since each app is running in its own operating system process, for example, a crash in one program won’t bring down your whole browser.

Mozilla Prism is one of the oldest examples of a site-specific browser. It grew out of the WebRunner prototype created by Mozilla developer Benjamin Smedberg, which he showed off at the XTech conference in 2006 to demonstrate the capabilities of the Mozilla platform. Another Mozillian, Mark Finkle, recognized its potential and continued to extend and improve the prototype. It was rebranded as Prism and launched as an official Mozilla Labs project in October 2007. Rather than creating a new platform for standalone web applications, Prism aims to leverage existing web apps while integrating them more smoothly into the overall desktop experience.

With the release of Prism 0.9 two weeks ago, the project now comes with a Firefox extension that makes creating a single-site browser for a website a one-click process that can be performed directly inside Firefox 3. Surf to Gmail, for instance, choose “Convert to Application” in the Firefox menu, and a shortcut with the Gmail icon appears on your desktop. Clicking the icon launches Gmail in its own window. Extensive customization options are available to add things like dock badges, system tray icons and popup notifications. Web developers can add special hooks to their code so that these bells and whistles are automatically included whenever someone spins the app off onto their desktop. Prism is still very much a work-in-progress, but it has already met with some early success; recent Yahoo acquisition Zimbra, for example, is using it to deliver a desktop version of their popular web-based mail client.

Adobe announced the first alpha version of Apollo in March 2007. A beta version was released in June, rebranded as Adobe Integrated Runtime (AIR). AIR is similar to Prism in many ways, although it is based on the open source WebKit rendering engine (also used by Apple’s Safari browser on the Mac and iPhone). The other big difference when compared to Prism is that AIR, in addition to web standards like HTML, CSS and JavaScript, supports Flash and another proprietary Adobe language called Flex. A glance at their application showcase reveals a heavy emphasis on using Flash and Flex to give applications a slick native look and feel. Early adopters include big names like eBay and AOL.

Another noteworthy site-specific browser is Fluid. It has an impressive list of features considering that it is the work of a single developer, Todd Ditchendorf. The main restriction is that it works only on Mac OS X 10.5 Leopard. Perhaps the most noteworthy feature is “built-in support for Greasemonkey-compatible userscripting.” For those not familiar with Greasemonkey, this means that a web app can be modified with a simple JavaScript file that runs on the client whenever the app is loaded. There is already a huge number of scripts available to do things like send SMSes from Gmail, download videos from YouTube and strip ads from websites. This type of userscripting is particularly useful in the case of a site-specific browser since changes to the application user interface may make it work more effectively on the desktop. For example, certain features might be moved from hyperlinks inside the application to the window’s menu bar. In the long term, web developers will hopefully make modified SSB-friendly versions of their apps available, but in the meantime userscripting can be used to pimp them out directly on the client.

A final contender is Google Gears, which was originally positioned as a way to take web apps offline so that they can be used without a live internet connection. Currently the only Google application to support Gears is Google Reader; users who install the plugin can sync their news feeds to their local disk and read them offline. It has recently become clear that Google has much bigger plans for Gears; a “Desktop Shortcut API,” for instance, lets Gears users add an icon to their desktop to launch an app directly. Gears developer Dion Almaer provides a laundry list of future APIs, including everything from notifications and cryptography to image manipulation.

As such, Gears represents a strong move on the part of Google into the browsing space, almost certainly to include site-specific browsing. Despite persistent rumors, it is now apparent that Google does not intend to create its own “GBrowser”. Instead, it is using Gears as a vehicle to add new features to existing web browsers (it currently works in Firefox, Internet Explorer and Safari), for use both by Google and by third-party apps. Google obviously realizes that its applications won’t be able to compete with the likes of Microsoft Office without significantly beefing up the capabilities of the web browser. At the same time, it would be too stiff a challenge to achieve broad market penetration with a completely new browser brand. Gears is its elegant solution to this problem.

Offline functionality is key piece of the site-specific browser puzzle. Internet connectivity may one day be ubiquitous, but in the meantime web apps need to function offline if they are to compete with their desktop brethren. HTML 5 includes a specification for offline web apps that is already supported by Safari 3.1 and Firefox 3. Gears is in many ways a direct competitor, although one of the HTML 5 editors, Ian Hickson, works for Google, and it is quite plausible that Gears will be adapted to support the specification in the future. Offline functionality is not inherently linked to site-specific browsers, but together the two form a powerful combination.

It’s pretty early to call a winner in the site-specific browser space, especially since heavyweights like Apple and Microsoft are probably poised to enter the game as well. But Prism has one big advantage: a killer app in the form of Firefox. By integrating Prism into a future version of Firefox, Mozilla could quickly get its technology into the hands of its 150 million users. AIR, on the other hand, has the advantage of using Flash and Flex to add sizzle to web app user interfaces, at the price of requiring potentially significant adaption on the part of the web app developer. However the space shakes out, the era of running applications in a tab in a traditional web browser may soon be coming to an end.

  • Sphere It

Trackbacks/Pings (Trackback URL)

  1. Zoho Blogs
  2. Peer Pressure
  3. Zoli's Blog
  4. links for 2008-03-24 « Breyten’s Dev Blog
  5. On Prism and Prism Mobile : Mozilla Links
  6. links for 2008-03-25 « The Adventures of Geekgirl
  7. SitePoint Blogs » Mozilla Prism: Stuck In The Middle With UI
  8. لینک‌های روز (25-03-2008) « بامدادی
  9. Connected Desktop Applications: Nothing New « Leopard Programming
  10. Bridging Desktop And Web Applications, Part 2
  11. Just Browsing » Another TechCrunch Guest Post on Single-Site Browsers
  12. Webapplikationen als eigenständige Anwendungen für den Desktop ☆ lindhorst.cc
  13. www.teletubis.info » Blog Archive » Bridging Desktop And Web Applications, Part 2
  14. Top ten web applications I use daily | Carel's Conversations - blog
  15. The ASP Office » Blog Archive » The Transition Effect
  16. information now » Blog Archive
  17. TechCrunch en français » [fr] Sobees, la passerelle de votre bureau vers l'internet. 25 invitations pour les lecteurs de TCFR

Comments

RSS feed for comments on this post.

  1. dale boyce

    where do you get dig this stuff up. it is good stufff!

  2. Michael Arrington

    Dale - Matthew is a friend and stayed at my house last week for a couple of days. We struck up a conversation about Prism, Air, Gears, etc. and I realized he’s an expert in this area and understands it better than most people. I told him if he wrote a guest post for us he’d become rich and famous and certainly have a gaggle of groupies chasing him around immediately afterwards. He agreed.

  3. Andrew

    Should I register GertnerGroupies.com ? that is if it isn’t already taken..

    Excellent news Matthew, congrats on the new digs.

  4. tourist man

    i was impressed with what prism is intended to do but few months ago i guess some blogpost about it made to the techmeme and i checked the app out and i was disappointed. it like a browser, but more limited.

  5. Eric Willis

    Very informative post. Thanks.

  6. Michael

    snazzy !

  7. Anonymous

    Interesting…
    So it is progress to send things back to being one window with no tabs?
    Wasn’t the point of tabs to put all of those windows into one?

  8. MikTik

    One cool tool aiming at the same was (or still is?) Morfik. They are offering Web Applications which can easily be brought to the desktop. What I mean is - you get EXACT same online/offline functionality.

    Two years ago they were far ahead everyone else in this field, unfortunately they lost lot’s of time doing … nothing.

  9. Ohad

    great post.

    an important fact that wasn’t noted is that 3D3R Software Studio launched the first Site-Specific-Browser (or Single-Site Browser) in late 2005, by the name of Bubbles. Bubbles is being used by tens of thousands of active users on the Windows platform and has been supporting a tight integration into the desktop and greasmonkey-like scripts from the early days.

    3D3R is launching a new version of Bubbles within a few weeks.

  10. Matthew Gertner

    @Anonymous, it’s important to distinguish between apps and documents. I have a small number of web apps (Gmail, Google Reader, Twitter) that I’d rather have in their own window, with a badged dock icon, etc. For normal documents, tabs are much better (I have probably 20-25 open at all times and I’d go nuts if each one had to go in its own window).

  11. Tom

    I think bias is unavoidable when the article is written by someone working on the subject of the post so any reader who doesn’t walk in to it expecting a little bias is just a fool.

    That said, to compare Prism to Adobe AIR or Google Gears without the words “cross browser compatibility” ever being mentioned takes bias to a whole new level.

    Or did I miss the part where Prism now works with IE, Opera and Safari?

    I’m sorry to be so harsh here and I don’t want to accuse Mr. Gertner of dishonesty but there’s some seriously misleading statements here.

    In particular, this sentence brings disingenuous to a whole new level…

    “But Prism has one big advantage: a killer app in the form of Firefox. By integrating Prism into a future version of Firefox, Mozilla could quickly get its technology into the hands of its 150 million users. AIR, on the other hand, has the advantage of using Flash and Flex to add sizzle to web app user interfaces, at the price of requiring potentially significant adaption on the part of the web app developer. “

    So let me get this straight, asking app developers to write a program specifically targeted towards a single browser (not even the dominant one) is requiring more than Adobe Air which is essentially just an upgrade to the Free Adobe Flash Player. Really?

    Again, I’m sure the author assumed that people reading this were intimately aware of all the technologies he was introducing but, as written, the whole thing comes off as pretty dishonest.

  12. Markus

    I was just researching Prism the other day, it’s very interesting. Many people simple won’t ‘get it’ but that’s because they aren’t thinking broadly enough. Prism opens up some _very_ interesting possibilities.

    Thanks for the awesome guest post Matthew!

    Now I’m off to go work on my Prism based killer-app idea ;-)

  13. Raju Vegesna

    Great post. In the bigger picture, I think these are transitioning technologies which are very useful. My take here…

    http://blogs.zoho.com/general/.....n-between/

  14. Markus

    @ Tom,

    “So let me get this straight, asking app developers to write a program specifically targeted towards a single browser (not even the dominant one) is requiring more than Adobe Air which is essentially just an upgrade to the Free Adobe Flash Player. Really?”

    I think the point is, if it works in Firefox (and therefore IE, Safari, etc) then it already works in Prism. There might be some optional Prism specific hooks that can be taken advantage of if needed - but nothing is required to make a typical web-app standalone in Prism.

    No one is writing a ‘program’ specifically targeting a single browser. Sheesh.

  15. Matthew Gertner

    @Tom, cross-browser support is not nearly as important in the case of single-site browsers. There is nothing to prevent someone from using, say, Prism as their SSB and IE as their normal everyday web browser.

    Also, while it’s true that cross-browser support is a big plus for Google Gears as a browser add-on (something I pointed out in my article), AIR is just as bound to a single browser engine as Prism is (i.e. WebKit).

    Finally, it is simply inaccurate to say that Prism requires “app developers to write a program specifically targeted towards a single browser.” Mozilla has gone to great lengths to ensure that normal web apps run in Prism without any modification whatsoever. My point about AIR is that, to get the full benefit of that platform, you need to use Flex/Flash. That would be a significant effort if your app is based on HTML/JS. On the other hand, Flash interfaces are really impressive, something I also mentioned explicitly in my conclusion.

    Mike didn’t hide the fact that I do work for Mozilla, and I made every effort not to be biased. But I’m glad you made this point explicitly, and I hope that people will take the time to read the comments and make their own judgement.

  16. Faisal

    Interesting article.

    The best thing to do IMHO is to join-forces with Google and integrate Gears into Firefox , as it looks to be more solid platform the Prism.

    We , as developers ,shouldn’t end-up with many platforms to support and deal with.

  17. lajolla5380

    great post.

  18. Alaskan Carnivore

    Damned fine article Mike

    Thanks..

  19. paul

    Google not working on a browser? Not sure.
    http://thetruthaboutmozilla.wo.....e-browser/
    And if they were, what would it change?

  20. Tom

    @Markus & Matthew G – The point of this type of app (other than the simple “it won’t cause your other windows to crash”) is to make a more efficient user interface. That means two things. First, a developer can’t just throw their existing web app into a Prism window (or they can but that very much defeats the point).

    Second and more importantly, when a developer is choosing how to write their app and they want to write an app that employs the so called “Single Site Browser” model they have to pick a platform. They are going to then have to custom build their app around that platform taking into account whatever quirks each it has. So someone who says “I want to build a SSB app and I’m going to use Prism to do it” still has to target the users of one browser.

    @Matthew G. – When you say…

    “My point about AIR is that, to get the full benefit of that platform, you need to use Flex/Flash. That would be a significant effort if your app is based on HTML/JS. On the other hand, Flash interfaces are really impressive, something I also mentioned explicitly in my conclusion.”

    Well, again I think you are being misleading. As you pointed out above AIR can be used with simple HTML and Javascript and does not NEED to use Flex/Flash. So where as you are technically accurate in you said “to get the full benefit of the platform” you are giving a statement that would lead someone to believe otherwise.

    By the logic you used to construct the above sentence I could just as easily say that someone NEEDS to use Flash to get the full benefit of the Prism Platform since I assume Flash works in Prism and Flash interfaces are more powerful.

    Your Webkit point is a fair one btw though since Adobe is using it to expand what Developers can do with Flex I think its comparing Apples to Oranges in many ways.

  21. Vinod

    I tried to like Prism earlier. But never used it. Felt like it’s more of a menu and toolbar-less browser window. Tried Fluid on Mac & safari widgets - working for me well.

  22. Markus

    “So someone who says “I want to build a SSB app and I’m going to use Prism to do it” still has to target the users of one browser.”

    You don’t need Firefox installed to use Prism. The user could very well be an Opera, IE or Camino user. Besides, how is this different from deciding to target AIR (webkit) over other alternatives? I just don’t get your point here.

    I’ll let Matthew argue you second point but it looks to me like you are just nitpicking.

  23. Sherif mansour

    Tom, Whilst I can understand your points I think the author here has made it very clear that this guy works for mozilla. In saying t at I would still have to disagree with your comments about bias. in fact I would urge you to look at the differences between prism and AIR. You will quickly see that AIR is the one that locks you down with using their products namely flash & Flex, where as Prism is focusing heavily on HTML and open standerds.

  24. Matthew Gertner

    @Tom, saying “by the logic you used to construct the above sentence I could just as easily say that someone NEEDS to use Flash to get the full benefit of the Prism Platform” is pretty misleading. Flash is an Adobe technology that is heavily promoted by Adobe.

    You’re right that truly effective SSBs will need some extensions to web technologies. I know that Mozilla is committed to getting other vendors involved so they can come up with e.g. JavaScript APIs that are supported by everyone. If people like Google and Adobe join into these efforts that’ll be great! The bottom line is that, in my opinion at least, Mozilla has a well-deserved reputation for being open and promoting standards, enough for your reservations about Prism to be unfounded.

  25. Saptarshi

    I’m wondering if desklets, gadgets, widgets and similar stuff already had the features that others are trying to reinvent with their PR machines!!

    Please tell me if I’m getting it wrong??

  26. Ohad Eder Pressman

    @Tom, etc: AIR and Flash are closed-sourced, owned, operated and directed by Adobe, which are trying to lock you into their new platform. They mostly require that you rewrite your offerings using their new toolset.

    Site-Specific-Browsers like Bubbles, Prism & Fluid are an evolution of browsers rather than a new branch. As such, they are based on existing, widely embraced standards like HTML, Javascript and CSS. They add to that with capabilities that empower existing web-applications.

    The idea for site specific browsers, at least the way we at 3D3R conceived it, was that there is a need for a middle layer to bridge the gap between EXISTING web-applications and the kind of experiences we’ve come to be accustomed to with desktop applications. The need to bridge this gap is natural as there was, and still is, strong migration of applications from the Desktop to the Web. The ability to take any existing web application and use, experience and maneuver it with the skills (we as users) have acquired using desktop applications is clearly an empowerment rather than a lock-in.

    Almost all web-applications do their best to support all the major browsers out there, and as such will inherently be suitable for hosting within any of the major SSB like Bubbles, Prism and Fluid. The differences in desktop-bridging APIs will naturally converge over time either directly or through intermediate layers and make the it an easy task for those who wish to provide ‘batteries included’ support for SSBs an easy one.

    The fact that such a need rose comes to show that Browsers were actually slow to adapt to user’s needs. It is clear that these needs are sharper with people like Matthew, Mark Finkle (Prism), Todd Ditchendorf (Fluid) and myself, which in turn brought us to write the software we wrote. It is up to time and our skills in writing and distribution software to tell if we correctly anticipated a huge future need, or rather just had a good time playing with new concepts.

    I have a strong feeling we’ve hit a vane with Site Specific Browsing.

  27. The Magnate

    MagNet is coming…..

  28. Coleman Foley

    excellent post

  29. YDrive

    It all depends on what you want to do.

  30. Josh Rehman

    Thanks Mathew for a very good rundown of the current crop of “SSBs”. As a user I’ve been looking for something with this functionality for some time. (And indeed, one of my Mac friends suggested “Fluid” along with “Get a Mac!”)

    I realize that it wasn’t the focus of your post, but, as a developer, I think it’s quite interesting to look at what this new environment means, both in terms of the kinds of applications people will get, and in the way that apps will be developed. I believe that it signals the acceptance of the “webapp” as a “real” app - indeed, when writing to a single browser, writing webapps can be even more joyful than their thick client counterparts. HTML+CSS is often an expressive & terse way to describe a screen. And while JavaScript has it’s flaws, it’s not that bad either.

    My only concern is that, with the onslaught of so many SSBs (nice acronym, BTW) end users will have to have them *all* installed in order to use their applications. That’s a problem. I’d like to hear your thoughts on that.

    Thanks again,
    Josh

  31. moot

    q

  32. dleuck

    Thanks for the great article Matthew. We have been doing quite a bit of hybrid web / desktop work recently. The last three technology stacks we used for hybrid apps are:

    1. Java/Swing with WebRenderer for the browser component
    2. C#/WinForms with IE as the browser component
    3. C#/WPF with IE as the browser component (experimental project)

    We used the desktop frameworks to support drag and drop, clipboard integration (cut & paste), system tray integration and docking frames. The web aspect allowed us to provide rich content that could be updated quickly on the server. We also used the web component for the help systems.

    It will be interesting to see if Flex and/or Silverlight evolve to the point where these hybrid apps are no longer needed.

    I wrote about this briefly here:
    http://www.techhui.com/forum/t.....pic%3A9558

  33. Mark

    Mike, how about allowing a guest post from the organisations that represent the other platforms? so your readership can see all the different biased views and make their own judgements after seeing all the different biases.

  34. MIchael Vu

    Fluidapp.com for the Mac is badass w/ quicksilver.

  35. Kyle

    I found this article very interesting, so I went and fiddled with the Prism addon to see what it did. I used it to create a gmail shortcut on my desktop, but I am curious as to exactly what the difference is. As far as I could tell, it just appeared to open up gmail in a smaller window? If anyone could spell out the finer points of this technology and as to what its true usefulness is (maybe gmail is a bad example of its utilization?) I would much appreciate it!

  36. Thm

    There’s been a Single Site Browser out for Amazon since at least 2004 called Mozilla Amazon Browser:

    http://www.faser.net/mab/

  37. Matt_

    I find Prism to be good for launching sites like HULU from my couch via the Laptop that is connected to the TV .

  38. Amnon

    if you’re into this sort of technology, be sure to also check out jNext (http://www.jnext.org) - it runs on Windows, Linux and Mac OS/X in IE, Firefox, Safari, Opera and more.

  39. Scott

    The poster didn’t seem to mention silverlight. I know in this day and age, where people don’t want to pay for anything, it would be overlooked. The cost to develop is so much lower because it uses object oriented code C# with rich debugging and all that. You basically need expression blend 2.5 and Visual studio to make the 2.0 apps, but you get such a rich framework that it is really very compelling.

  40. Gabe

    I still haven’t figured out what the benefits of AIR, PRISM, etc are over just using your browser… how does launching a web app this way provide anything over launching it in a tab in your browser? Does it provide better performance for some reason?

  41. Voices

    Let’s face it, the only reason desktop applications are still relevant is because of bandwidth and security. Once we’re over the bandwidth issue ( where new technologies such as FIOS are making 20mbps possible ) the Internet economy will only be dealing with security issues.

    When companies like Salesforce.com and even Intuit with their online version of Quickbooks, end corporate users are showing little resistance in trusting their most private data ( customer data and financial data ) to web services.

  42. Joseph

    Well it’s about time this has been mentioned. Flex, Flash and AIR are the words associated with Web 3.1

  43. Cedric

    Matt, the Czech radio has just mention there are hordes of screaming blond girls outside your flat ;-)

  44. Davey

    Perhaps I’m just missing something here, but if the key benefit of SSB’s is that they return more screen acreage to the app (by removing the url bar, back button etc) , wouldn’t it just make more sense to run the app from within a maximised popup in your favourite browser?

    My view is that web apps will only hit a home run when they are finally able to manage the browser memory space. This includes permanently destroying unused node trees (instead of just setting the top pointer to null, as at present) - and, most importantly, being able to locally cache information in binary form (ie. NOT cookies).

  45. Matthew Gertner

    @Davey, that’s one advantage, but probably not the “key benefit”. For me, the big win is to have something like Gmail visible in my dock with the number of unread messages, so I don’t have to scrounge through a bunch of tabs in my browser window (or find the right window if I’m using a popup) just to see if I have new mail.

    There are also some advantages in terms of memory management, since I can at least see how much memory each app is using (in the Task Manager or Activity Monitor). I can also restart apps without restarting the whole browser. Of course, memory management in the browser can be improved, but it probably makes more sense to let the operating system take care of it.

  46. Karim Yaghmour

    A couple of weeks back I spent some time looking at AIR, Prism, Gears, etc. I came away with a feeling that AIR wins hands-down, and not because of Flash, but really because of its JS/HTML implementation. In fact, I wouldn’t care much about using AIR for doing offline Flash.

    Looking at Gears, I crossed it out rapidly because it’s plugin based. Plugins are interesting, but I’m really interested in having a browserless functionality. Prism looked interesting, but it too came off my lost because it currently has no rich API for local storage, and OS access.

    AIR not only has an amazingly-rich local API (http://livedocs.adobe.com/air/1/jslr/index.html), it’s got an entire framework for deploying signed binaries (Thawte even has AIR-specific code-signing certs), deploying apps and updating them. For all the hoopla about web application, one of the reasons these new desktop runtimes are appearing is for allowing neat web apps to be used in enterprise settings (i.e. where apps have to be local, controllable, auditable, etc.) And in that regard, AIR is eons ahead of Gears and Prism. It’s still not got the enterprise deployment done (i.e. no SMS app push yet), but it’s very close to it.

    Not to mention that Adobe will then be able to push AIR as part of a natural upgrade to Acrobat and/or Flash (possible like Apple’s push of Safari through iTunes), which are already are on most business users’ desktops.

    Also, note that AIR is not due to a recent fad at Adobe. In fact, AIR is rooted in Macromedia Central which dates back to 2004/2005. While Central was Flash-centric, AIR’s addition of JS/HTML clearly shows that Adobe gets the point of having JS/HTML support for taking webapps offline. Not to mention that they went out of their way to show that a lot of the popular Ajax frameworks are supported on AIR (jQuery, Dojo, etc. but not Prototype, yet.)

    That being said, I too am worried about the fact that AIR is proprietary. However, if Adobe doesn’t play its cards nice, nothing precludes reimplementing AIR’s JS API in Prism …

  47. Edmar

    Great post !

    Can Prims locally cache information like Gears ?

  48. Michael B

    Interesting article, thanks.

    Check out my blog for legit ways to make money online.
    http://mikesmoneyclub.blogspot.com

  49. Matthew Gertner

    @Edmar, Firefox has features for client-side storage (see the HTML 5 spec) that can be used in Prism.

  50. Davey

    Matthew Gertner:

    I agree with your comments regarding desktop/docking icons, but I think you might also agree that they are ‘outside’ of the SSB. My main point is what can be improved inside.

    At the risk of starting a thread inside a thread, I would like to re-emphasise my points re. memory management.

    As a web app developer, I can tell you that there is nothing more frustrating than seeing the app’s memory usage going through the roof, even though most of that space could be switched out, or killed - and there is nothing you can do about it (JS decides in its own time when, and if, to mop up).

    If you could convince your friends at Mozilla to unilaterally implement the following three JS calls, not only would you do the internet the biggest service in years, I will also promise to fly over from Europe and hug you:

    1) kill(ref) : goodbye (forever, immediately)
    2) swapOut(ref) : I’ll be needing you again
    3) swapIn(ref) : Ah, there you are…

    Cheers

    D.

  51. David

    I took a look at the official feature list at the mozilla site and I’m still scratching my head. So basically Prism runs a webapp in its own window. Ok, you add a tray icon, desktop shortcut, process isolation. What’s the big deal? The webapp is still a webapp. What does Prism add in terms of the real capabilities of the webapp?

    Please don’t bore me with the hype. The hype might be able to fool non-technical people but it won’t fool developers.

  52. Chris R Messina

    Your readers might be interested in a podcast we just did with Todd Ditchendorf, the Fluid developers, and Jon Crosby, someone who is working on an SSB-enabling framework:

    http://citizengarden.com/2008/.....the-cloud/

    This post is a great intro to a subject I’m *very* interested in!

  53. Clinton

    Excellent post thank you.

  54. Russell

    It is my understanding so far that AIR differentiates itself from the others by the addition of a mini sql database on the client side among other key things.
    This allows user data to be sync’d with the server on a local basis. I also understand that AIR is not simply a resized or skinned browser in another guise. It is altogether a different receptical. As any developer will tell you a browser is not an efficient “container” for an application. My question is doesnt this totally differentiate AIR from Prism and Gears by moving away from the browser altogether, offering a more efficient container that can have active web connectivity all the time so that data can be pushed from the server side to the AIR application as it changes on the server.
    I dont believe the others do that at all.
    Am I missing something here or do I have the difference down?

  55. smcnally

    Matt / Mike - thanks for this piece and the update on SSB’s state of the art.

    Question: Where do you feel Songbird fits in the discussion? It’s an app built on Mozilla, with local storage capabilities, not for a “single” site, but certainly a “special-purpose” browser.

    Thanks -

  56. Khushnood Naqvi

    Great to get an update on Prism directly from Matthew Gertner!

    My opinion is also in favor of something which is not just a plug-in to the browser, which I think Prism and Gear are.

    Adobe’s AIR is more like what I would imagine and would want when I set out to build Rich Internet clients sitting on the desktop (which are independent of the browser).

    What we need is perhaps is some equivalent of a JVM for the Internet, sitting on the operating system. Which can provide a sandbox for the web client. So that the client can give a Desktop like feel which Matthew talks of. At the same time it also has the containing /authorizing aspects to prevent against malicious Internet clients.

    Is Adobe AIR already something like the above?

    Is Sun doing something in this area?

    This think could also be led by the OS guys. If we can get a virtual machine, which guarantees compatibility and also a language to build things on. AJAX is simply too containing for this. Anything to do within the browser will also be limiting.

  57. Mp3 Explorer

    Cool,,,,,

    Great post

    http://mp3explorer.blogspot.com

  58. Matthew Gertner

    @Davey, interesting idea, I’ll ask some of the guys I know who work on the JS engine whether they’ve explored that type of approach. I’m afraid I don’t have any say on how they implement memory management, however, tempting as your offer of a hug is. :-)

    @David, expanding the capabilities of the web app itself is a different topic entirely. Take a look at HTML 5, for example, to see work happening in that space. The point of SSBs, in a nutshell, is that the OS is a better receptacle for apps than the browser is.

    @smcnally, great question. Specialized browsers like Songbird, Miro, Joost, etc. are a different but related (and fascinating) subject. Maybe Mike will let me do another guest post about that one of these days.

  59. Richard Monson-Haefel

    Nice article, BUT you forgot to include Curl. I wouldn’t call curl a single-site browser but rather what I’ve calling a “Fit Client” which is the same thing as Google Gears, Adobe AIR, and Mozilla Prism. A fit client is a convergence of web, widgets, RIA, and client/server. Curl is one of the most powerful examples of this and it dates back to 1998, is already hugely popular in Japan, and is more capable than any other solution in this space (obviously I’m biased, but hey check it out for yourself). Here is an article that I wrote about the convergence you call single-site browsers. Personally, I think SSB is just one implementation of a Fit Client.

    The Grand Convergence: Web + RIA + Widgets + Client/Server
    http://java.sys-con.com/read/516151.htm

  60. Richard Rabins

    Welcome Mozilla. Seriously. Our users have been doing this for years. Alpha Five has long allowed developers to build what we call “hybrid” apps; that is, apps that bridge the benefits of desktop+Web. They can build desktop apps. They can build Web apps. Or they can build hybrid apps. And oh, BTW, it’s not pre-beta experimental stuff. It’s shipping at v8, and we’re about to ship v9, which adds support for AJAX UIs (without requiring any coding).

  61. Sheriff

    Its amazing that all this scripting and abiliity to go back to single browser window and having icons on desktop (ok the app bar) could be floated as “technology”.

    I tend to agree with lot of AIR proponents here. Its by far a better way to program a app that needs to be pushed from server while giving local app appearance, richness and storage access.

    Air even provides the good old “object oriented” programming (albeit little too limited) which leads to more robust and easy to maintain applications. I suppose thats all too old fashioned when you create a “technology” just to be able to see an icon on an app bar.

    I dont even mind AIR being proprietary. My grief is AIR and Flex lack decent of ability to do concurrent execution (threads). They better fix this.

    As for someone saying JVM, well this is what Sun should have done long time back. They squandered it. :(

  62. Nash

    I can’t see how Prism, AIR and Google Gears can be compared with each other when it comes to a desktop-to-web (or web-to-desktop) application evolution.

    Currently, Prism just allows you to create a desktop icon and separate memory for the process. Big deal! Its zilch functionality. Maybe when they add the ability to create local applications (JS, CSS, XHTML on the local store); via an installer; that will add value, currently it is largely pointless.

    AIR is a whole runtime that can act like an SSB or it can be a whole offline application with no link with the online world. It can be used to create serious desktop applications with alot of APIs.

    Google Gears is a very decent web-to-desktop approach. The ability to to have your apps also work offline is a major win. If a serious enough webapp demonstrates this (like an offline google doc), we might start to see a bigger challenge to desktop applications.

  63. Matthew Fabb

    Matthew Gertner: “The other big difference when compared to Prism is that AIR, in addition to web standards like HTML, CSS and JavaScript, supports Flash and another proprietary Adobe language called Flex.”

    That is incorrect. Flex is not a proprietary language, but a framework that with it’s latest version 3, is now completely open sourced. However, Flex creates SWF’s that play in the proprietary Flash player (although the ActionScript Virtual Machine 2 that runs inside the Flash player is now open sourced). Also to further clarify it’s the Flex 3 SDK and compiler that are open sourced. The Flex IDE called Flex Builder is closed sourced (although runs off of the open source IDE Eclipse) and that is where Adobe makes their money. That said you could write ActionScript code (that is the ECMAScript language behind Flash and Flex) and MXML files and create SWF’s with the compiler without using Adobe’s Flex Builder.

    Matthew Gertner: “My point about AIR is that, to get the full benefit of that platform, you need to use Flex/Flash. That would be a significant effort if your app is based on HTML/JS.”

    Once again that is incorrect. All of the Adobe AIR API is available in HTML/JS without the need for Flash. Any gains made with making a Flash/Flex based application is no different from choosing Flash/Flex over a HTML/JavaScript applicaiton for the web. Or as one user pointed out, no different from creating a Flash/Flex based application for Prism, with Flash sending out commands to JavaScript to take advantage of the Prism hooks.

  64. Jeremy Chone

    Interesting a post, I did write something about Web & Desktop platform at: http://www.bitsandbuzz.com/200.....he-client/

  65. gfhgfhfg

    FREE PORNO!
    http://youngdeep.teen2sex.com

  66. ScottLClark

    I never thought of “only working when connected to the internet” would ever be a problem for the future of web apps. That would officially be the first statement that made me doubt a future where all apps are web based and desk top applications become obsolete.

    Interesting point…