Thursday, 2 November 2006

Making Web Applications First Class Desktop Citizens

I was reading Joshua Schachter's blog and noticed he's commented about something I've been thinking about: we need to make Web apps fit better in the world of desktop applications:
Since web applications aren't first-class desktop citizens they therefore are missing several interfaces that normal applications have: you cannot Alt-Tab to them, you cannot launch them separately, they don't "install" and stick around on your desktop, and notably, they cannot control what happens when you close them.

Not "installing" and "sticking around on your desktop" are actually nice features of Web applications, in most cases, but we could certainly improve the situation here, perhaps by making it easier to create desktop links, and by treating launches from desktop links as instantiating a new application instead of just another browser window or tab.

Another thing that Web apps should be able to do is register to handle certain file types.



15 comments:

  1. Yes, I've been thinking about the same thing -- an extension that would provide the hooks for a webapp to "install" itself as a desktop app. Each application would get its own profile and launch its own instance of Firefox with a window that has no other chrome besides a browser -- or perhaps there could be hooks to add a native menu bar as well as other other standard desktop app stuff (application icon, drag and drop, etc...)

    ReplyDelete
  2. Handling file types is really important, but also stuff like drag-n-drop, proper clipboard access, etc. Unfortunately a lot of these raise some pretty serious privacy/security concerns, but they're major reasons to hang onto desktop apps for certain kinds of tasks.

    ReplyDelete
  3. Robert O'Callahan2 November 2006 08:35

    Drag and drop and clipboard can be handled reasonably safely. The WHATWG Web Apps 1.0 spec covers them. We should implement this just as a standard Web apps feature.
    Steve: It seems to me we do want some integration with the browser. I think we probably want to use the user's regular profile, because there we have cookies, passwords and other settings that users probably want to share.

    ReplyDelete
  4. Here here - launch from a desktop link please ...

    ReplyDelete
  5. I suggested a new profile per app just so the webapp would look more like a separate app to the OS -- do multiple windows of the same app show up separately on OSX? But maybe there are other ways to do this, as having access to your cookies/passwords/etc is certainly more important.
    This is very close to what I have in mind:
    http://chip.cuccio.us/projects/gcal/

    ReplyDelete
  6. HTA's are great - at least for Intranet apps or anything needing more rights or the ability to use ActiveX.
    Maybe Firefox could adopt something similar, some special level (like chrome) plus the power of XPCom.
    http://msdn.microsoft.com/library/default.asp?url=/workshop/author/hta/overview/htaoverview.asp

    ReplyDelete
  7. Robert O'Callahan3 November 2006 20:51

    I'd want to separate the trust and application issues, so that you can have untrusted applications that act more like desktop apps.

    ReplyDelete
  8. It boggles my mind, actually, that with Firefox 2 it's *still* not possible to make mailto: links open in gmail (or any of the other webmail services). It integrates with Google Reader or Bloglines out of the box to allow subscription to RSS feeds - why not do the same thing for mail?

    ReplyDelete
  9. Roc -- You may want to take a look at a blog entry I wrote on the same topic a little while back: http://weblogs.mozillazine.org/zach/archives/017065.html
    I feel like WHATWG is doing a good job of taking care of the web apps themselves, but I'd love to see us do more on the client side to make these apps more integrated into the desktop environment.

    ReplyDelete
  10. XULRunner seems to be a perfect way to create a desktop "wrapper" for web applications.
    If you're going to make web apps fit better into the desktop, perhaps the "chrome" should be less browser-ish and more specific to the application.

    ReplyDelete
  11. Whao... That would be a killer feature for FF3 !

    ReplyDelete
  12. Robert O'Callahan4 November 2006 07:31

    Zach: great! Clearly this is an idea whose time has come :-)
    Mark: It's debatable ... I think it would be good to keep the UI close to the browser UI, to ensure that the user experience stays consistent.

    ReplyDelete
  13. It looks like this is what Adobe is trying to do with their Apollo project.
    http://labs.adobe.com/wiki/index.php/Apollo
    It looks like it will allow you to deploy applications to the desktop using html / javascript and / or flash (uses webkit to render the html ;( )
    j

    ReplyDelete
  14. As you mention, not installing is a key feature of a web app (as is auto-upgrade).
    I equate bookmarks with desktop shortcuts.
    I equate ctrl-tab in the browser with alt-tab.
    If you think of the browser as an extension to the OS, then I don't any issue.

    ReplyDelete
  15. I agree about your point on better desktop integration of web apps into the user's desktop. But, more important will be participation of desktop resources in your web apps and experience. Next generation platforms, including RIA on desktop, will bring this.

    ReplyDelete