|
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.
(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 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.
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
|