October 11, 2006

The Appify Button

A Slashdot story crossed by RSS reader tonight: Google "Office" Released. I was about to move on to the next article, but I kept ruminating over CmdrTaco's kicker:

from the you-got-web-all-over-my-desktop dept. The more "applications" I try forcing into a tabbed web MDI model under a Mac, the more clumsy it gets. They aren't in my Dock, they can't be apple-tabbed through. Issues like this really frustrate me as I find myself wanting to use more web2.0 ajaxy fancy pants programs.

Since Taco was a nice enough chap when I've met him in the past, not to mention that this is something that bugs me fairly regularly, I've been thinking about how the browser can improve this situation. What follows is a fairly rough sketch of a solution that I'm calling the "appify" button.

Web applications would have a mechanism to identify themselves as potential applications through a meta tag, similar to microformats. This triggers the browser to display a subtle notification to the user that they may choose to appify the site. Potentially, if the site appears frequently in history, a more obvious notification could be given. When a web app is appified, several things would happen:

  • Easy access is provided to the application. This could include (in a platform-appropriate way and depending on the wishes of the user: desktop shortcut icon, application kept in the Dock, Start Menu placement, bookmark toolbar, etc...
  • First-Class Application Status - when an application is launched from one of these access mechanisms, it is treated as a first-class app by the OS. This means that it appears in the Taskbar/Dock as a running application, and alt/cmd+tab shifts between app and other applications.
  • Streamlined Application UI - The UI should obviously be extremely similar to the normal browser interface. To do otherwise would provoke confusion.That being said, applications can, in my opinion, benefit from having extraneous non-application UI removed (bookmark toolbar, search bar, etc...). The URL bar should always be visible for phishing protection, but an application specific icon could appear along side.

Future implementations could include provisions for notification events, similar to the Gmail Notifier, and for document management, integrated with mozStorage.

This protocol has one nice advantage over previous solutions to this problem, such as Java Web Start: users can interact with content as either a site or an application, and the user experience of actually using the content is precisely the same. This is important because some people may want to treat a site as a commonly used application that needs to be easily accessed, while others may not. For example, I sign into Online Banking only occasionally, and do not mind typing the URL. Others may access their bank information multiple times a day and want this access on a first-class basis, the same way they launch Word or any other app. Appifying a site provides a different way to access it, but it does not change the way the site is used.

Appifying a web application is also a first step towards providing offline access. This is another problem all together, and this margin of the internet is entirely too small to contain its solution.

This is a pretty rough sketch right now, and I welcome constructive feedback. Certainly, it doesn't make sense to implement all of this in one go, and I'd say that the order of implementation should be the application access problem first, then first-class application status, and then any UI streamlining.

It might be interesting to do parts of this as an extension (though the platform-specific parts would pose some challenges), or perhaps through the Mozilla Labs program.

Posted by zach at October 11, 2006 3:40 PM
Comments

I think this a great idea; I was thinking roughly the same thing when I read the Slashdot article. I don't think this should be limited to sites that "suggest" being appified -- what if I want to appify https://www.pandora.com/?cmd=mini but the Pandora people haven't heard of the feature?

It might make sense to let me hide the address and status bars for a given appified site. I trust Pandora not to try to phish me. I guess I would have to check the menu bar for the application name (on Mac) or the window icon (on Windows) if I get disoriented. On the other hand, "wasting" a few dozen pixels of vertical space won't hurt my experience too much.

A related feature is the "Web Clip" feature in Safari for Leopard, which lets you create a Dashboard widget for a site. I don't use Dashboard, and I think I'd prefer a normal app, but I could be convinced.

Posted by: Jesse Ruderman on October 11, 2006 7:58 PM

Sounds nice. One thing that would be nice with this, would be if I could choose different preferences if site is appified or not. For example javascript blocking is one preference that could be different. In web page I can block popups/open them in tabs, not allow changing of statusbar, not allow changing of right-click menu etc... but when website would be appified, then I could change these.

Maybe site could also request these things from browser ("For complete functionality, I would like to have popups, statusbar and some other things"). Then user would see that yellow bar on top with some message and could allow all or some of the settings app requests. Browser could also remember the settings for window (position, size, what is allowed and what is not) and when I open that web app in appified state again, it behaves like last time I used it.

Posted by: ttam on October 11, 2006 11:34 PM

I sometimes "appify" sites that I use regularly by creating a shortcut to Firefox that launches it with a -chrome parameter pointing to the site. This usually suffices, but there can be problems with resizing the window as this doesn't get you a resizer on the current Windows build. You also end up with the Firefox icon in the taskbar and on the window itself, even if you change the launch icon.

Perhaps as a starting point we need an equivalent command line switch which is actually intended for web pages. It would be similar to -chrome but would include a resizer and possibly some of the other elements discussed (URL bar, preferences button).

The "Appify" extension then just boils down to a means of creating an appropriate launcher for your platform of choice.

Posted by: Mark on October 12, 2006 12:45 AM

Sounds great! Did you start the implementation? What are you waiting for? ;-)

Posted by: Tristan on October 12, 2006 2:13 AM

Definitely a good idea. This also highlights one of the flaws of the Dock - it's a bloody nuisance to switch to different windows of the same application with a keystroke (Cmd-tab to the app, then Cmd-`). Of course, one could install Peter Maurer's Witch*. I didn't think it was necessary to point out to Taco that he could open it in a new window instead of a new tab, but the switching thing is still something of a nuisance. (Also, I just remembered that unlike Konqueror, Firefox doesn't use the current pages favicon for the app window's icon, just the tab. That was a /nice/ feature that I liked, and would be relevant in this case.)

Chip Cuccio is going more in the direction of 'appifying' pages, but with very specific cases, such as his Gcal.app, which is based on Webkit (neé KHTML):
http://chip.cuccio.us/projects/gcal

*Witch:
http://www.petermaurer.de/nasi.php?section=witch

Posted by: John Silvestri on October 12, 2006 6:54 AM

Excellent point. Another big problem for allowing inline application to challenge "stand alone" ones, is the righr click. The day we have control over the right click, we can rule the world ;)

Posted by: bber on October 13, 2006 1:24 AM

Gear up for grub with a tripleheader of pigskin, including a meeting of brothers in Dallas. Everybody knows it's been a rough year for her, but find out who else had issues

Posted by: James on November 23, 2007 1:37 AM

Gear up for grub with a tripleheader of pigskin, including a meeting of brothers in Dallas. Everybody knows it's been a rough year for her, but find out who else had issues

Posted by: James on November 23, 2007 1:38 AM

Gear up for grub with a tripleheader of pigskin, including a meeting of brothers in Dallas. Everybody knows it's been a rough year for her, but find out who else had issues

Posted by: Betty on November 25, 2007 2:52 AM

Gear up for grub with a tripleheader of pigskin, including a meeting of brothers in Dallas. Everybody knows it's been a rough year for her, but find out who else had issues

Posted by: Betty on November 25, 2007 2:52 AM

By hook or by crook

Posted by: PEPPER on November 30, 2007 2:08 PM

Hello! Good site!

Thank you!

Posted by: young money on December 4, 2007 1:30 PM

Hello! Good site!

Thank you!

Posted by: young money on December 4, 2007 1:31 PM
Post a comment