BT

Google Pushes the Web Platform with Chrome 2.0 and Wave

| by Dio Synodinos Follow 3 Followers on May 29, 2009. Estimated reading time: 5 minutes |

Google has announced two more tools that will help in its mission “to organize the world's information and make it universally accessible and useful”. One of them is version 2.0 of its Chrome browser which aims to facilitate demanding client-side applications and the other one is Wave, a new environment for communication and collaboration on the Web.

On September 1st, 2008, Google announced its new open source browser, Google Chrome. The introduction of a new web browser by Google, a major player in the web by anyone's standards, resulted back then in a flurry of attention, analysis and soothsaying.

Since then Google has been collecting feedback and feature requests some of have made it into the Beta version that we first released in March.

In version 2.0 that was announced a few days ago, Google reports to have fixed over 300 bugs, while adding several improvements:

Here are some improvements that you'll notice right away:

Improved New Tab Page: The most requested feature from users was the ability to remove thumbnails from the New Tab page. Now you can finally hide that embarrassing gossip blog from the Most Visited section.

Full Screen Mode: If you've ever given a presentation or watched a large video using Google Chrome, you might have wished you could use every last pixel on your screen for the content. Now you can hide the title bar and the rest of the browser window by hitting F11 or selecting the option in the Tools menu.

Form Autofill: Filling out your information in forms over and over again can be tedious. Form autofill helps by showing information you've previously entered into the same form fields automatically. If at any point you want to clear out your information, that's easy to do from the Tools menu.

Besides these improvements, Chrome's focus is to provide a platform where users can execute highly scalable and demanding JavaScript applications. A major role in this is played by the V8 JavaScript engine:

The V8 JavaScript engine has been designed for scalability. What does scalability mean in the context of JavaScript and why is it important for modern web applications?

Web applications are becoming more complex. With the increased complexity comes more JavaScript code and more objects. An increased number of objects puts additional stress on the memory management system of the JavaScript engine, which has to scale to deal efficiently with object allocation and reclamation. If engines do not scale to handle large object heaps, performance will suffer when running large web applications.

One of the reasons that JavaScript scalability is so high in Google agenda, is its new communication and collaboration platform Google Wave that was announced a few days ago:

A "wave" is equal parts conversation and document, where people can communicate and work together with richly formatted text, photos, videos, maps, and more.

Here's how it works: In Google Wave you create a wave and add people to it. Everyone on your wave can use richly formatted text, photos, gadgets, and even feeds from other sources on the web. They can insert a reply or edit the wave directly. It's concurrent rich-text editing, where you see on your screen nearly instantly what your fellow collaborators are typing in your wave. That means Google Wave is just as well suited for quick messages as for persistent content - it allows for both collaboration and communication. You can also use "playback" to rewind the wave and see how it evolved.

From an architect's perspective, Google Wave has three layers: the product, the platform, and the protocol:

  • The Google Wave product (available as a developer preview) is the web application people will use to access and edit waves. It's an HTML 5 app, built on Google Web Toolkit. It includes a rich text editor and other functions like desktop drag-and-drop (which, for example, lets you drag a set of photos right into a wave).
  • Google Wave can also be considered a platform with a rich set of open APIs that allow developers to embed waves in other web services, and to build new extensions that work inside waves.
  • The Google Wave protocol is the underlying format for storing and the means of sharing waves, and includes the "live" concurrency control, which allows edits to be reflected instantly across users and services. The protocol is designed for open federation, such that anyone's Wave services can interoperate with each other and with the Google Wave service. To encourage adoption of the protocol, we intend to open source the code behind Google Wave.

Developers can find more information on the Google Wave Developer blog about the Google Wave APIs, and check out the Google Code blog to learn about the Google Wave Federation Protocol. At the time of this writing, there is only a Java Client Library available, but there is one for Python scheduled.

One of the key elements of this new platforms, that is aligned with Google's principles of being open and “not evil”, is that it has been designed in a way that anyone can become a wave provider, build a wave server and interoperate, much like anyone can run his own SMTP server:

We want to expand upon that platform, which is why we've put together the initial draft of the Google Wave Federation Protocol, the underlying network protocol for sharing waves between wave providers.

Yes, that's between wave providers: anyone can build a wave server and interoperate, much like anyone can run their own SMTP server. The wave protocol is open to contributions by the broader community with the goal to continue to improve how we share information, together.

This is just the beginning. To help potential wave providers get started, our plan is to release an open source, production-quality, reference implementation of the Google Wave client and server, as well as provide an open federation endpoint by the time users start getting access.

You can find more information about JavaScript, the Open Web, Web Browsers and Google, right here at InfoQ.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

everyone should watch the demo by peter lin

I watched the demo last night and was blown away. It's way more than just email, im and wiki. The versioning and playback functionality is way cool.

Re: everyone should watch the demo by Mark N

I did too. One cannot just read about it. It has too be seen. And one needs to pay attention to all the little things they are thinking about.

The world has changed by Paul Beckford

I think Google Wave will make the Web as a distributed Network Operating System finally a reality. The client side API's are in Javascript. Javascript is being touted by many as the lingua franca of the web, and a number of dynamic programming languages are beginning to target fast Javascript VMs like V8 through cross compilation.

From what I can tell the Wave protocols are all restful, which means that they are message based and OS/language agnostic. The server side APIs are in Java and Python, but since all the code is open source, I can readily see people porting these APIs to their language of choice, just like people have been doing with the App Engine APIs.

I've argued that what the software industry needs is a language agnostic, non-proprietary, open ecosystem where various programming languages can compete on equal terms in order to avoid long term technology stagnation and facilitate creativity and innovation. Up until now it has been in no ones interest to create such a thing.

Google with their focus on advertising have an interest in making the Web OS a reality. I'm not sure how much of the stuff they were showing relied on HTML5 and fast Javascript, but whilst watching the demo, I kept on thinking that when this stuff launches people will be moving from MS Internet Explorer to Google Chrome in their droves.

Paul.

Google Wave Analysis by Zubin Wadia

Some thoughts on what it could do for collaboration here:

zwadia.com/?p=94

Cheers,

Zubin.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

4 Discuss

Educational Content

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT