As it turns out, the typical install avoids popup blocker issues and does return you to your site. With the latest version, you can even append name and icon_src params to include more context about the web application you are coming from.

The generic install with the custom icon and name looks like this (not a real web application, just some placeholder text and image):

The actual page is here, if you want to check it out yourself, just view source. The code with the extra branding params looks like this:

location.href = "http://gears.google.com/?action=install&message=Please install Google Gears to enable offline access to my imaginary ultrasaurus application." +
"&return=" + location.href +
"&name=Ultrasaurus&icon_src=https://www.ultrasaurus.com/dino.gif";

While I think the icon and name is a nice addition, the prominence of Google branding vs. the website using Gears seems like it should be inverted. PayPal does a good job of this. When you buy something from a site using PayPal, you end up on the PayPal site for some part of the transaction. However, the website branding is in the top header with the PayPal branding inside the content. For example, here’s a purchase page from ThinkGeek using PayPal:

Of course, what I really want to do is not direct the person using my app to whole different webpage, but just prompt for the download within my site. Maybe someday if they get the whole install working from an ActiveX control, it’ll be more seamless.

Also, I sure hope they do away with that license agreement when they get out of beta. The use of Gears does not imply an account with Google and the people using my software shouldn’t have to worry about the Google privacy policy or service commitments. As a developer, I’m happy to agree to such terms, but I’d rather not give people one more reason to click away from my website.

I posted to the gears group earlier today about the glitches in the Google Reader install experience and got a nice response from Aaron Boodman who suggested I check out remember the milk which has a nice offline experience implemented with Gears.

So, I uninstalled Gears and gave it a whirl. In so doing, I realized I had not done an apples-to-apples comparison since what I captured for Google Reader was the upgrade experience not the initial download experience, so I’ve updated my previous post with the info below.

Remember the Milk has really done a nice job with this. The installation took just a few minutes. After setting it up initially, I could go back and forth between online and offline without really thinking about it.

The only momentary glitch was with the stupid IE Popup blocker which reloads the page. I wonder if there is anyway around that? I wrote about running into this issue on the gowebtop blog but I wonder in this case if there would be a way to create an in-page install to avoid this hiccup.

Google Reader Upgrade Experience

I’m including the Goggle Reader update experience here for reference.

Upgrading to Gears 0.2 and getting started with Google Reader had just a few steps. I ran into a two glitches that you can see in slide 3 (when the icon wasn’t there even though the help tip told me it was) and slide 9 when I needed to refresh the page. It was hard to tell whether these are issues with the Google Reader implementation or with Gears (but Aaron from the Gears team believes it was an issue with Reader and they are working to sort that out). In any case, the whole experience was just a couple of minutes including setting up the reader with an opml file I had to go export from bloglines.

Ryan Stewart writes about Adobe AIR’s mention in MIT Technology Review’s top 10 emerging technology trends for 2008: “Context: Adobe will release AIR early this year; companies such as eBay, AOL, and Anthropologie have built applications using early versions of the software. Google is working on a competing platform called Gears.” (via Ron Jeffries)

The trend is what is interesting. I think Gears has a more compelling approach. Adobe is first to market with a fully featured, yet still beta offering. Google Gears just released a .2 release. You have to really dig in the Gears site to get a sense of where they are going. They are in real need of wiki maintainer with a sadly out of date [now updated] roadmap, but lurking on the email lists and getting deeper into the wiki there are some interesting clues that these folks are headed in the right direction.

“The Gears mission is to add new capabilities to web browsers, enabling developers to create better applications.”

They have some interesting features in the works:
* Desktop API is in in an “upcoming release.” (You have to build from source to try it out.) Instead of actually downloading an executable, this creates a desktop shortcut. You can have an icon that you double-click to go directly to your web application which has the same user experience as when you are online — bookmark or desktop application are just two ways to navigate to the same thing.
* Notification API is a pretty new proposal, but an indication that the community is starting to plan how to integrate with native OS notifications, a task bar icon, etc.

Of course, Adobe AIR already has those features, plus drag-and-drop from the desktop, which is a feature web applications desperately need. It overcomes a major limitation of Flash by embedding the WebKit browser, which is a smart move by Adobe. However, what most Adobe fans tout as a strength of AIR (that it is actually a desktop application), I see as a weakness. It borrows from the online/offline model that I was working on with Director and Shockwave in the late 90’s where the user experience and technical architecture is more like a client-server app than a webapp.

I’ve observed in focus groups and usability tests that most regular folks don’t know the difference between a web page and a desktop application. People are focused on the task at hand, getting the job done and are annoyed by arbitrary changes in how they get to what they need. Of course, they adapt. People don’t actually expect software to be particularly helpful or intuitive. Nonetheless, software designers and developers keep trying to get it right.

As people are more often connected, intermittently connected, and more reliant on connected tools for business notifications and communication, there is an increased need for web applications to have a desktop presence. I shouldn’t have to go to the ebay website or check my mail to find out whether I’ve won my latest bid. I want to be able to read my mail on an airplane AND in an internet cafe when I’ve left my computer at home. The gears approach is attractive because it will enable us to craft an experience which is not arbitrarily different for on- and offline experiences of the same application.

I’ve been following this tech just by reading for a few months, but this week, I spent a little time getting my feet wet. I installed two applications: Ebay Desktop with AIR and Google Reader with Gears. Please remember, that all of this stuff is pre-release software, so it is still subject to change.

Ebay Desktop and Adobe AIR

Installing Ebay Desktop with Adobe AIR beta 3, the first screens prompting me to install the new version of Flash were really confusing. Even after I installed Flash, it still told me to install Flash, so I still don’t know if I really needed that step. Then I had to navigate back to the original page manually after installing Flash and AIR. I expect that the first part of this awkwardness could have been better implemented on the ebay site and may not be a fault of the AIR technology, but the latter series of multiple progress bars and dialog boxes looks unavoidable. All told the install experience was over 10 minutes.

Remember the Milk and Google Gears

[UPDATE: my initial post was not an apples-to-apples comparison since it was an upgrade, I’ve changed this to reflect an initial install experience]

Remember the Milk has really done a nice job with this. The installation took just a few minutes. After setting it up initially, I could go back and forth between online and offline without really thinking about it.

The only momentary glitch was with the stupid IE Popup blocker which reloads the page. I wonder if there is anyway around that? I wrote about running into this issue on the gowebtop blog but I wonder in this case if there would be a way to create an in-page install to avoid this hiccup.

Technology Options for Offline Webapps

As a final note, Gears and AIR aren’t the only two players here, just the most talked about and seeming front-runners. Of others, I’ve collected the list below. My friend Max just told me about XULRunner and I haven’t had a chance to take a look at that yet.

HTML solutions
* Google Gears (open source, New BSD License, 0.2 release)
* XULRunner (open source, MPL, 1.7)

Flash Wrappers
* Adobe AIR (proprietary, beta)
* Zinc
* SWFStudio
* SWFKit
* Jugglor
* Flash Desktops
* mProjector
* ScreenWeaver (LGPL)