Chrome, the first mainstream Site-Specific Browser

Wednesday, October 8th, 2008 | Uncategorized

In a previous post, I got into my passion about the misuse of web browsers. They’re intended for browsing content on the web, and not really intended for running applications like we do so much of today.

The problems with normal browsers can be summed up:

  • The back button. In general, the browser’s controls only make sense in a browsing context.
  • Apps running inside the browser don’t show up in Alt-Tab/Cmd-Tab, they’re hidden in a browser tab.
  • Webapps can’t interact with the desktop in the usual ways, such as drag-and-drop, system tray/menubar integration, and running processes in the background like notifications.
  • Dialogs and pop-ups lose the association with the application that originated them.
  • One misbehaving webapp can take down the browser, along with other non-related apps.
  • Offline storage is not generally available, other than what can fit in cookies.
  • Security is a lot harder when state like your current session is expoitable by a site in another tab.
And the solution to these problems is the Site-Specific Browser. I like to think of an SSB as a platform in the style of Adobe AIR that provides a web-based delivery and update mechanism for apps that otherwise seem to have desktop characteristics — and the developer may be glad that the app is coded in HTML and Javascript and CSS but the user shouldn’t see a difference with their desktop applications.
I tried Fluid but I had a lot of problems with my GMail SSB. When I clicked a link, it got confused about whether it should open in the SSB or in another window, and would actually open a second GMail instance in my normal browser while redirecting to the real page.
Enter Chrome. This was a big surprise to me, since I was in the car driving to my first day as a Google engineer, ready to fix this SSB void in my 20% time, when the new browser was announced on NPR! They read my mind.
How it works: on any page, there’s a menu item to “Create application shortcuts”, which isn’t obviously named but it does create an SSB for the site you’re on. There’s no window chrome in the SSB view – no URL bar, nav buttons, history, etc. The SSB appears in the Alt-Tab/Cmd-Tabber, using the favicon.ico from the site. Of course, a well-known innovation in Chrome is that each site runs within its own process, so there’s no way one site will take down an unrelated app.
If you are in an SSB and hit the new Tab shortcut, you do get a new tab, but in a non-SSB browser window. Same with pop-up links like anything you click in GMail. This keeps your SSB window from turning into a web browser. Offline storage is provided by Gears, which is also available for other browsers. We’ll have to wait for apps to start using Gears, but it’s hard to see how that can happen until there’s a substantial install base of Gears already on consumers computers, as the site will have to degrade gracefully if it isn’t available.
Not all my demands have been met though. One problem is dialogs that pop out from an application – they go off into another process and aren’t grouped as an application window with the originating SSB. Only DHTML/AJAX modal dialogs appear within the application as they should. Another problem is that while processes are sandboxed from other apps and the computer, the client-state sandbox isn’t there. If an SSB has an open session to an application, the session is good in all other browser windows too, which allows them to hit a deep link on that other site and do something as your user.
The remaining challenge, integrating with the desktop, will have to be solved by client-side code like greasemonkey or plugins. It turns out that Chrome does let you drag and drop a file into a file upload box, like as an attachment in GMail – but you have to have the file selector open and drop onto it. I don’t know what other stuff can be done now to integrate a webapp with the desktop through Chrome, but I bet there will be lots more added in future releases!
Mac version, grumble grumble. Thank goodness for VMWare.

No comments yet.

Leave a comment

About Me

I'm Alex Eagle. I live in Sunnyvale, CA and I'm a code monkey.

eag...@captcha.me
LinkedIn.com/in/AlexEagle
Twitter.com/jakeherringbone

Add to Google Reader or Homepage

 Subscribe in a reader

Tweets

  • @LaChilangringa thank you, he will be called Walter and might like trains or frogs. You were at the rally? What did your sign say? in reply to LaChilangringa 2010-11-06
  • It says I'm not eligible to get a payout in the Buzz settlement. I'll have to settle for juggling with the Buzz developers. :) 2010-11-03
  • It's Movember and you can sponsor my mustache. http://goo.gl/Z1O4 I miss the beard; It's very drafty on my face today. 2010-11-02
  • Can 4 guys make themselves look enough like Mount Rushmore to fool Google Goggles image search? Love the demo slam. http://demoslam.com 2010-10-20
  • Saw Dalai Lama on Thurs, running last 6mi of SF women's marathon with Peggy today. Too many crazy crowds this week! 2010-10-17
  • Attn: people of the future. We wanted to avoid all that litter! It was our 2nd priority, right after annoying noises. http://bit.ly/cJzkGT 2010-10-09
  • Headed to Hardly Strictly bluegrass in GG park. Elvis Costello free! 2010-10-03
  • I vote that @TCooganPlants is having a rough week and deserves nachos. Who's with me? 2010-09-29
  • More updates...

Powered by Twitter Tools