Prism and the Open Web Store

Posted on by Matthew Gertner

Responding to Google’s announcement last week of a Chrome Web Store, Jay Sullivan asks on the Mozilla Blog for ideas about an alternative Open Web App Store. This is something that I’ve been thinking about and discussing with Mark Finkle for a couple of years now in the context of Mozilla Prism. In fact, I originally wanted to launch the first Prism 1.0 beta with a “web app bundle library” that I think closely mirrors what an Open Web App Store might look like (and I blogged about this over a year ago). While at the time I succumbed to the realities of resource constraints and abandoned the idea, perhaps the time is ripe to revive it.

There is no point in launching a “web app store” just for the sake of countering Google’s move. The web is a pretty good way to distribute web apps already, and if there is going to be a new distribution mechanism, it should have clear advantages over the status quo. In the case of the Chrome Web Store, Google’s blog post cites a few concrete advantages: easier discovery of quality web apps, increased permissions for installed apps and a new business model for developers (specifically, selling apps directly to users).

Easier discovery is a no-brainer, but of course this could be accomplished by a simple web app directory that links directly to various apps on the web. There’s no need to “install” apps to achieve this. There has to be more to a web app store than this. In particular, I love the idea of charging (optionally) for apps. Developers need to eat, and plastering web pages with ads shouldn’t be the only way for them to monetize the fruits of their labor. At one point I thought long and hard about starting a business around a marketplace for Prism web app bundles.

So I agree broadly with Google’s vision for their web store. But we can do better. For one thing, we can be more open, as Jay suggests, rather than using the store to lock users into a specific browser. In addition, we can take advantage of Prism’s much more mature and technically sophisticated platform for adding value to web apps when they are installed locally. After all, Google is promising to deliver something “later this year” whereas Prism web apps like Zimbra Desktop are already being used by tens of thousands of users every day.

I’m proud of what we’ve achieved so far with Prism despite limited development resources. Now is the time to start experimenting with other ideas as web apps continue to meld with traditional desktop apps. How should web apps be discovered and delivered? What does it mean to “install” a web app locally? What new capabilities (and associated APIs) are needed for web apps to rival their desktop equivalents, beyond what is already offered by HTML5? How might a web app payment model function? I believe Prism would be a great vehicle for Mozilla to tease out and play with potential answers to these questions.

  • Paul Everitt

    “What does it mean to “install” a web app locally?”

    I’d vote for an answer to http://tinyurl.com/ybcymsc so I can distribute an app and then update it later. I’m quite unlikely to get it 100% correct the first time. [wink]

  • Matthew Gertner

    I totally agree. This is one of the many things we need to do to make a proper web app delivery platform out of Prism. The good news is that there is already a very solid foundation there to build upon.

  • http://detrus.nivr.net Detrus

    The only reason the Chrome web store is only for Chrome at this point is because other browsers haven’t implemented, or may not agree to implement Chrome store specific functionality.

    Parts of the browser UI have to change, you need more window management options. Chrome allows apps to have a narrow tab with an icon instead of a regular tab for starters.

    The biggest difference is NativeClient. It supports all plugins seamlessly, no downloading, installation, bothering the user about it. It also allows developers to code in C/C++/Go etc.. and have their apps run at desktop speeds.

    Other browsers would have to implement NPAPI and include NativeClient to support everything the Chrome web store will support.

  • madhav

    I think mozilla already has extensions store and a jetpack gallery, why to go for a new one..?

  • Mark Johnston

    The real problem is with trust atm. The community needs to get Prism to a 1.0 app. The enterprise is ripe for the picking.

  • Peter Kasting

    Disclaimer: I work on Chromium, but I don’t have any particular connection to the app store. The following opinions are entirely my own and could very well be completely wrong.

    “For one thing, we can be more open, as Jay suggests, rather than using the store to lock users into a specific browser.”

    I’m pretty sure that Google is uninterested in (in fact opposed to) locking users to a particular browser. The emphasis is on telling authors it’s OK to design for the specific features supported by a modern browser like Chrome, instead of having to make apps that work on IE6, IE7, Fx 2, etc. It’s a “Chrome app store” only in the sense that the apps are guaranteed to run on Chrome, and that being able to target Chrome will hopefully allow for more compelling apps. Obviously, the more the apps can also run in Firefox, the better life is for everyone (authors sell more apps, users get cool stuff).

    “In addition, we can take advantage of Prism’s much more mature and technically sophisticated platform for adding value to web apps when they are installed locally. After all, Google is promising to deliver something “later this year” whereas Prism web apps like Zimbra Desktop are already being used by tens of thousands of users every day.”

    Sure, and Chrome web apps (using the application functionality built into Chrome since its initial release) are being used by millions each day. It’s not obvious to me that just because you can use it today, Prism is “superior” to something else (in fact, I think I’ve seen various bloggers write comparisons that wind up at all kinds of different final opinions).

    Also worth noting on the last point is Aaron Boodman’s recent (last two days) email to WHATWG asking if other browser vendors are interested in working with Google on what “installing” a web app would really mean.

    The upshot of all of this is that I think the underlying goals here are aligned rather than opposed, and if there’s language that seems different than that, I’d love to see all involved parties try hard to be on the same page. I would be sad if competing implementations of an underlying shared vision ended up hampering everyone.

  • http://home.kairo.at/blog/ Robert Kaiser

    I won’t be able to bring this into discussions e.g. in Whistler as I seem to have made myself a persona non-grata nowadays, but I’m convinced we 1) need to find a way to not be mirroring every step of Chrome as that just means we’re running behind Google and 2) we really need to build on the potential of the unique asset we have, such as Prism, XUL and our platform. If we don’t, I have no idea why we would be better than Chrome, other than our mission.

  • Matthew Gertner

    Peter, thanks for your comments. I agree 100% that ideally efforts to design new APIs for installing web apps, as well as for desktop integration, should be coordinated. I have no doubt that in the longer term these will boil down into standards that will be broadly adopted and improve the experience of using web apps for everyone.

    At the same time, we shouldn’t be afraid to compete. These are early days, and there is still a great deal of experimentation to be performed before we settle on the Right Way to achieve these things. Premature standardization is a bad idea and can lock technologies onto the wrong path.

    In my mind, the ideal scenario would have Google pushing Chrome Web Store, Mozilla pushing an alternative based on Prism and other browser vendors involved in the space as well. At this stage, fighting for users and market share will be the best way to drive innovation. Harmonization should and will happen further down the road.

  • Baldemar Huerta

    Prism is an utter waste of time, and a duplication of effort. I don’t get it. Strip all the elements from firefox, don’t allow any tabs, and password it so settings can’t be changed. Then url shortcut to desktop. Now, prism does all these things with wizards for morons. And that’s fine. Just say that, instead of making it out to be the cure for AIDS.

  • http://www.perukk.com Peruk

    I totally agree. This is one of the many things we need to do to make a proper web app delivery platform out of Prism. The good news is that there is already a very solid foundation there to build upon.

  • http://es-robot.com/2010/10/aplicaciones-web-mozilla-y-ii.html aplicaciones web mozilla (y II) | es-robot.com

    [...] de que el principal desarrollador de Prism tenía la visión de crear una tienda de aplicaciones cuando empezó a trabajar en Prism, la propuesta de mozilla llega después de que Google anunciase su propia tienda de aplicaciones [...]

  • http://www.fotografcekimi.us foto?raf çekimi

    The real problem is with trust atm. The community needs to get Prism to a 1.0 app. The enterprise is ripe for the picking.