Gears, BrowserPlus, and Web 3.0, baby

Speculative tech journalism is wrought with some pretty bone-headed predictions.

I’m fully aware of that.

Every time you toss your hat in the ring to offer your opinion, you’re opening yourself up to the possibility of being as wrong as the guy who said, “No one will need more than 637 kb of memory for a personal computer. 640K ought to be enough for anybody.”

Despite all of that, I’d like to tell you about what the future of the Web will be. What Web 3.0 might look like.

But first, some context:

Web 2.0, for all of the nebulously related concepts it represents, was ultimately made possible by Ajax. Asynchronous communication between the browser and servers (a la Ajax) provided the latency needed to recreate the look and feel of a regular desktop application. Not to argue the finer points in this minefield of buzzwords and strong opinions, but the emergence of rich user interaction changed everything. It got people to rethink what a website could be. It was a newer, shinier series of tubes.

Seriously, think back to the first time you saw Google Maps and your jaw dropped, or how Flickr’s Photo Organizer blew your mind. Can you imagine Digg being anything more than yet another Fark without that “digg it” button? And how about all of the little transparent things, like sorting a list by drag and drop, accordion lists, live previews, or page animations?

So much of the internet’s look and feel is powered by Ajax. Go back to a time before Ajax, and the internet was something completely different; it’s not implausible to think that another substantial technology could make Web 2.0 no more than a distant memory.

Right now, two technologies in particular, Gears (formerly Google Gears) and Yahoo! BrowserPlus, have amazing potential to completely reshape the future of internet.

If you’ve heard of Gears or BrowserPlus, chances are you've heard them positioned as competitors in one way or another. Another Google vs. Yahoo! showdown. Truth is, that’s not the case at all, or at least doesn’t have to be. After taking a look at what these technologies actually offer, we can see that they’re actually two distinct approaches to an exciting new direction for the web.

Gears Logo
(Google) Gears

Gears recently celebrated its first birthday in style, by being released as open-source and dropping the Google brand. In Gears’ anniversary blog post, software engineer Chris Prince explained it this way:

"We want to make it clear that Gears isn’t just a Google thing. We see Gears as a way for everyone to get involved with upgrading the web platform.”

In fact, perhaps the best way to think about what Gears is, to borrow a phrase from a blog post from Dion Almaer, as “a bleeding edge implementation of HTML5”, as many of the core functionalities of Gears have been inspired by the HTML5 draft spec (and the reverse is true as well).

Gears provides several major components, including Database, which can read and write to a local SQLite3 database; WorkerPool, which parallelizes processing tasks; and LocalServer, which allows websites to cache resources like HTML, images, or video, and serve them from the local machine.

So what can you do with that? If you just went on what Google had to say about it from their examples, well…you might miss the point completely. That is to say, the demos aren’t exactly flashy. To be fair, it’s difficult to come up with trivial examples that encapsulate such a nontrivial range of functionality.

To show what’s possible with Gears, let’s imagine what your favorite sites would look like enhanced by Gears:

GMail / Y! Mail
Messages are downloaded and synced with a local database on your machine, meaning mail can be read and written offline, and searching is really really fast, as in search-as-you-type fast.
Vimeo / Y! Video / YouTube
Instead of uploading videos and waiting for them to be encoded later, videos could be encoded locally and uploaded along the way, making the whole process much faster.
Kingdom of Loathing
...or pretty much any web-based game currently. Download all of the game files you need in one shot and adventure to your heart’s content, syncing up your local database every now and then.

As I said before, if you think back to how Ajax changed the way people could interact with websites, much of it is completely transparent. For instance, deleting items in a list with real-time feedback is so pervasive that it became an expected beHavi Hoffmanor. Just as that doesn’t lend itself to an impressive demo, I can see a lot of Gears’ functionality becoming equally pervasive, yet remaining invisible to the normal user. But as you know, Ajax has a flashier side too, which is where Yahoo! comes in.

Yahoo! BrowserPlus

Back in May, Yahoo! announced BrowserPlus, a technology poised to blur the lines between the browser and the desktop. Unlike Gears, which provides a single underlying framework, BrowserPlus is made up of individual modules, called services, which can be installed and updated on the fly.

If you haven’t done so already, you should check out some of the BrowserPlus demos firsthand to get the full effect of what’s possible.

PhotoDrop is a good example of how BrowserPlus services interact. Using the DragAndDrop service, users are able to drag photos from their desktop directly into the browser window. The ImageAlter service hooks in with ImageMagick to resize, crop, and apply filters to your photos instantly. When you’re done editing your photos, the FlickrUploader tool will take care of adding them to your photostream. Putting all of these services together creates a new, rich user interface that just isn’t possible with Ajax alone.

BrowserPlus comes with an assortment of built-in services you can build on, including one for text-to-speech, one that provides secure cross-domain JSON requests, and one that ties into local notifications like Growl for the Mac, or its Windows counterpart, Snarl. But what’s really exciting is that BrowserPlus provides its own Ruby interpreter, which gives developers the power to build their own Ruby-based services.

For now, BrowserPlus is only available to Yahoo! properties, but developers are able to test out the APIs locally. The reason for this limited release is explained in the FAQ:

"Once we’re confident that the system is safe for users when hosted on any site (even potentially malicious sites), and that users have all the proper controls over use of BrowserPlus on their computer – we’ll open it up. The “sneak peek” is a way to balance the desire for openness and the risk of exposing users to a new dynamic web-enabled software model."

BrowserPlus has been criticized by some for its lack of openness, but there are good reasons for Yahoo! to play it safe. Yahoo! is known and trusted for its commitment to providing a secure online experience to its users. With BrowserPlus, Yahoo! has the ability to immediately restrict services if they’re found to pose a security risk. Pragmatically speaking, if a technology is going to provide such powerful capabilities to developers, a trusted gatekeeper like Yahoo! is ultimately what it takes to ensure that your machine is safe.

A Philosophical Difference

With their respective design goals in mind, it doesn’t make sense to look at Gears and BrowserPlus as competitors. Sure, both have an intersecting feature set, including desktop integration, and automatic software updates, but that’s where the similarities end.

Gears is built for the back-end, providing a solid foundation of core technologies to the browser. Being open-source software suits it well too, just as the W3C itself was started as a way to open the process of web standard adoption.

BrowserPlus, on the other hand, has amazing potential for the front-end in a way that’s only possible because of its modular architecture. It’s based upon Yahoo!’s strong reputation for privacy and security, which will ensure that users can feel safe trying out new things online.

Put the two together (BrowserPlus + Gears), and there’s a chance you’ll rip a hole in the space-time continuum, or something-- they’re just that awesome. Seriously though, check out what the fuss is about now, and get a leg up on this Web 3.0 thing.

Mattt Thompson
Technical Evangelist
Yahoo! Developer Network