Yahoo! Developer Network Blog
« Previous | Main | Next »
July 30, 2008
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 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 behavior. 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.
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
Posted at July 30, 2008 12:00 PM | Permalink
Comments
The said "guy" never said it:
http://www.everything2.com/index.pl?node_id=91182
Posted by: Alex at July 30, 2008 3:02 PM
Hi Matt, if you had to get the point across in a Twitter message, what would it be?
(For the first few dozen paragraphs I thought you were leading up to some news, but then it sounded like you were reacting to some other writing somewhere else, but I saw no links... could you summarize what you'd like others to understand?)
tx, jd/adobe
Posted by: John Dowdell at July 30, 2008 9:04 PM
@Alex Nothing like getting Snopes'd in your own article--nice catch.
@John If I had to distill my main points:
• Ajax drastically changed the web by enabling richer user interactions
• Another equally disruptive tech could do the same
• Gears and B+ look promising, because they leverage otherwise underutilized local hardware
• Gears != B+, because they solve different problems
• Together they're really disruptive and can change the internet
For me, the news is that, although they've been announced for a while, surprisingly few people I've come across understand what they really do. I think both of them are a huge deal, and I'd like to see more people get excited about them. Thanks for your comment.
Posted by: Mattt Thompson at July 31, 2008 2:28 AM
That's really great Alex, really it is. The only thing is that I think anyone who ever build a web app - knows this and has know this about 3 years ago. A little bit outdated no? But maybe for marketers and whoever's trying to stay on top of the latest thing instead of actually practicing it sounds like new material. In any case I won't go any further - not much activity on this blog anyway.
Posted by: Leon Lermontov at July 31, 2008 7:04 PM
Thanks for your summation of these newer development technologies and concepts. It seems like these techniques might be best suited to processor intensive distributed tasks where the load can be taken off a web server(s) and instead handled by a user's local machine. But in some cases aren't we already doing this already especially with video and graphics? I mean those files are pushed from a webserver and run locally by a browser or video player. The photo cropping example seems to be the most applicable - push down a package containing ImageMagick which can then be invoked by code in the browser.
Posted by: Mike at August 1, 2008 8:42 AM
@Leon I'm not sure I follow what you're saying. Gears and BrowserPlus are both very new by technology standards. It's not clear to me that there's a consensus about how Gears or B+ can be used, and that's not just a marketing question either (I say that as a web developer). Remember that XMLHttpRequest was around back in 2002, but the term AJAX was first coined in 2005.
@Mike To clarify, what B+ and Gears offer isn't so much like what Flash does with media playback, but more with what you said--processing things client side before offloading to the server. So an analogous example might be, in the case of video, users pulling an installation of some flash video encoder and processing it as it uploads to the server rather than letting the server do the encoding, much like with photo cropping. Let me know if that makes sense.
Posted by: Mattt Thompson at August 1, 2008 9:28 AM
Got it Mattt (really 3 t's?), thanks. This is pretty interesting. Sounds like essentially that this tech has the potential to turn clients and servers into co-operating P2P servants. Further advancing the distributed computing concept. Abstraction of the processing task itself. Blend this with a concept like Amazon S3 and one could handle explosive website growth without breaking a sweat.
Posted by: Mike at August 1, 2008 10:41 AM
While waiting for w3c and browser vendors to specify and implement new web standards, I think that browser extensions can play an important part in moving things forward. For other, maybe more disruptive Web 3.0 trends, you might want to check out my post about some recent Web 3.0 proposals.
Posted by: Jonas Bolinder at August 5, 2008 1:05 AM
Here's the link I referred to in my comment above (obviously html-tags were filtered out):
http://impl.emented.com/2008/08/04/the-return-of-web-30-cloud-computing-browser-extensions-or-the-distributed-web/
Posted by: Jonas Bolinder at August 5, 2008 1:11 AM
The article is no doubt very much informative, but, could you please tell me the particular thing which you are talking about? I mean to say the topic and the content are a bit different.
Posted by: john@Buggies Strollers at November 13, 2009 5:57 AM
Post a comment
Comment Policy: We encourage comments and look forward to hearing from you. Please note that Yahoo! may, in our sole discretion, remove comments if they are off topic, inappropriate, or otherwise violate our Terms of Service. Fields marked with asterisk '*' are required.
Subscribe
Recent Blog Articles
view all
YQL Open Table for Google Buzz now live
Tue, 09 Feb 2010
INSERT INTO twitter.status ...
Mon, 08 Feb 2010
Announcing the Yahoo! Brasil Open Hack Day 2010, 20-21 March
Mon, 08 Feb 2010
Marketing hacks, linchpins, and tech women of valor
Sun, 07 Feb 2010
Yahoo! India invites you to join the first India Hadoop Summit
Thu, 04 Feb 2010
Recent Links
Appcelerator Titanium + Yahoo YQL on Vimeo
Mon, 08 Feb 2010
Tue, 02 Feb 2010
PhoneGap | Cross platform mobile framework
Sat, 30 Jan 2010
Web developers can rule the iPad - O'Reilly Radar
Sat, 30 Jan 2010
rc3.org - Is the iPad the harbinger of doom for personal computing?
Thu, 28 Jan 2010
Archives
2010
2009
2008
2007
2006
2005
Recent Readers

