Open Sync: Your Browser Data in Your Hands

We can make the web better for users and developers by making browser sync an open standard.

Ryan Freebern
3 min readMay 27, 2014

Web developers: how would you like to get instant, cross-platform, cross-browser sync with 3 lines of JS?

if (“sync” in navigator) {
navigator.sync.set(“data”, { name: “Ryan Freebern” });
}

Personally, I’d love it. But this API, and the infrastructure to enable it, doesn’t exist. And that’s bad for developers and bad for users.

What’s the problem?

Sync, as it currently exists, creates problems for both web users and web developers, and weakens the web as a whole. Users want to be able to switch browsers easily and maintain a seamless browsing experience while doing so, as well as use their online storage service of choice to keep all their data in one place. Developers want to be able to keep their app’s data in sync for a given user, no matter what browser or platform that user chooses to access the app from.

Problems for users.

Right now, browser sync for any given browser is a closed silo that doesn’t allow users easy access to or control over their browser data—data that is, increasingly, a key part of every aspect of our lives.

While they can change a few settings in each browser’s preferences panel, they have no real input on how their data is synced or what happens to it, and when they switch browsers, their data is unavailable.

Vendor-controlled browser sync encourages user lock-in. Over time, using a particular browser gets simpler due to the data it stores and syncs across platforms. When a user changes browsers, which can happen by choice or due to device limitations or corporate policies, it’s like starting from scratch—their browsing history, their saved passwords, their current tabs are all missing.

Problems for developers.

From a development standpoint, it sucks that we have to reinvent sync for every web app we build. We don’t want to ask users to OAuth with their Dropbox or Google Drive just to present a cohesive experience across desktop and mobile, and we don’t want to be responsible, either technologically or legally, for storing potentially massive amounts of user data—we’re not trying to build a storage service, and we’re happy to leave that to the pros.

Problems for the web.

When the web was born, multiple browsers and multiple devices per user wasn’t part of the equation. As the way we use the web has changed, users’ needs have changed. Sync arose from users’ desire to manage their cross-device web workflow, but the solutions built haven’t taken user choice and data ownership into account. Opening browser sync strengthens the web by placing more control into users’ hands, and strengthens the web platform by making web app development simpler.

We can change this.

We can take control of our own data. We can choose where it’s stored, what gets stored, how often it’s synced, and what gets purged when. We can encrypt it (or not) as we choose. We can access all of our data however we please, for whatever purpose we desire. We just have to decide how that should be done and then convince browser vendors, which means holding open discussions and building prototypes.

Please join me in the Browser Sync Community Group at the W3C to discuss this idea. It’s a fledgling concept, so your input can have a big impact. Together we can decide how to change browser sync in order to open that part of the web and put control back into users’ hands.

Joining a W3C community group is free, and as simple as requesting an account and then clicking the “Join this Group” button on the BSCG page. You can also join me for discussion in #browsersync on irc.w3.org, and follow @BrowserSyncCG on Twitter. If you’re interested, curious, or concerned, I look forward to hearing your voice in the community.

--

--