Sunday, August 9, 2009

Google reveals plans for Chrome cloud synchronization



Google has revealed plans for a Chrome cloud service that will allow users to synchronize browser data with their Google accounts. The synchronization framework, which is still at an early stage of development, will arrive in Google's open source Chromium project later this week. Google says that a Chrome build with the sync feature enabled could be made available through a dev-channel update this month.

In a message posted to the Chromium developer group, Google engineer Tim Steele described the process through which the feature will be integrated into the browser. Google has also published a design document that provides a high-level overview of the synchronization architecture.

"A bunch of us have been working on a feature to sync user data in Chromium with a Google account," Steele wrote. "We have built a library that implements the client side of our sync protocol as well as the Google server-side infrastructure to serve Google Chrome users and synchronize data to their Google Account."

The Chrome synchronization framework will initially handle bookmarks, but it is designed to support other kinds of browser data in the future. It uses a push messaging model to propagate change notifications, which means that activity in one instance of the browser will be reflected immediately in other instances. This will make it more seamless than other bookmark synchronization services like Weave and XMarks that rely on polling to determine when data needs to be synchronized. Google also plans to provide a Web interface so that users can remotely access their bookmarks from any browser by logging into their Google accounts.

The synchronization framework will use a persistent XMPP connection for change notifications. The Google Talk servers will provide the backend infrastructure for that part of the synchronization process. The actual bookmark data will be transmitted in Google's Protocol Buffer format. The design document suggests that XMPP was adopted instead of a polling model for scalability reasons and to make synchronization more seamless.

Steele says that the sync code represents a major change to the browser's code base and that it will be landing in the Chromium tree incrementally so that it can be properly reviewed. The client-side sync code currently works on Windows and Linux but doesn't work yet on Mac OS X. To enable broader testing, the developers plan to make available an experimental Chrome build for Windows with the synchronization feature enabled; it will be deployed through the developer update channel later this month.

"We're planning to use the syncapi DLL to produce a sync-enabled Google Chrome build for dev-channel users in a week or so, to get the feature into experimentally inclined hands," Steele wrote. "We have a great deal of infrastructure, both in the browser and in the form of production Google services, that needs to start seeing real user traffic and usage. It takes a great deal of testing and confidence inspired by real usage statistics before any complex system like this can be deemed adequate for use by a large user base."

Browser sync will boost the value of Google's browser and advance Google's strategy of converging the desktop with the cloud. It's a particularly intriguing development in light of Google's upcoming Chrome OS. Seamless synchronization of browser data between a desktop and netbook could be a very compelling feature. It's not clear yet if Google will also bring this feature to its Android mobile browser, but it seems like an obvious move.

Google intends to document the protocols and make the client-side source code available under an open license, which means that it could be possible for third-party developers to bring Google synchronization support to other browsers. This will be a welcome development for users who still mourn the loss of Google's Firefox browser sync, which was discontinued last year.
http://arstechnica.com/open-source/news/2009/08/google-reveals-plans-for-chrome-cloud-synchronization.ars

What Do You Expect from Google Chrome OS?

I've asked some time ago the readers of this blog what they expect from Google Chrome OS, an open-source operating system built around Google Chrome, that will be released later this year. Here are some of their answers:

Integration with Google Accounts

"I believe Google accounts will be used to login to Chrome OS. Kinda whereever you go, you can use your Google account username/password to login. I hope it will use local disk to store frequently accessed file and sync it to Docs like Dropbox."

It should work offline

"There would have to be some kind of offline credential caching so you can log on even when you are not connected to the network."

Instant boot

"The thing I need with Google Chrome OS is instant bootup. I want something where I open up my laptop and the screen turns on and puts a web browser in my face."

It should be fast

"I just want to get rid of infinite waiting for load up. When I turn on my computer, half the times is just to open a web browser, a media player and an instant messaging program. I don't want to have to wait AGES for all sorts of background programs and services to load up."

Built-in desktop search

"I like the desktop search element of Google Desktop: it's a good way to access my files, e-mails and web history quickly. That should be included in Chrome OS. And there should be an offline cache of everything, so that I can still see read web pages I've visited even when offline."

In sync

"Syncing is important these days. Not just bookmarks, but passwords, and "user states" so you can pick up on another machine almost where you leave off on one. I would be able to start working on a document on my desktop machine and then switch to my laptop and hit the road, confident that when i open the document authoring app I'll be right where I left off."

Invisible

"Google ChromeOS should save screen real estate. On smaller devices like netbooks, you need to conserve as much screen real estate as possible."

Use applications without installing them

"Even if storage memory is cheaper now than ever, mobile phones, netbooks, etc. will benefit of avoiding to install software specific for each use on the physical memory and maintaining it "in the cloud". Sites should have the capability (and maybe a standard protocol) to communicate each other with the browser as a medium (avoiding the download and following upload of the object), user should have the capability to chose the service that he wants to subscribe to (eventually choosing it from an online appstore-like site), the OS should be able to recommend new and interesting service to subscribe to the user based on information collected (with his permission) about his behaviour."

Run Windows applications

"I want to run Windows programs, as well as games. I want Chrome OS to be able to do everything a normal computer can do! That way I can get ditch Windows and get Chrome OS for (hopefully) free!"

Don't forget the hardware!

"Driver support for a wide range of mobile hardware -> platform hardware combination. I'm particularly interested in WiMax support on an ARM processor."

So people want a fast operating system that loads instantly, doesn't use too many resources, saves your data online so you can continue your work from another computer and it keeps the data in sync, works offline, uses applications without installing them, runs Windows applications and it's compatible with many combinations of hardware.

What do you expect from Google Chrome OS?
http://googlesystem.blogspot.com/