Identity is the operating system

January 15, 2012 | Leave a comment

"Dude, you can make calls on your camera?!" (photo by @troy)I’ve got a phone number: +1 (312) 488-9373. Feel free to call or text it.

If I’m walking around, you’ll get me on my Samsung Galaxy S II. If I’m in transit (but not driving), you’ll probably get me on my iPad. If I’m at my desk, I’ll answer and take the whole call through my laptop. For you, the experience of contacting me will be exactly the same (give or take some background noise). For me, the experience fits my context: I can make and receive calls and texts on any of my devices. The same is true for email.

Consumption works the same way. All my important files are stored on Dropbox. If I need to get at something – for example, a work-in-progress piece of writing, or a receipt – I can pick up any of my Internet-connected devices and grab the contents. Similarly, my notes, which I take through Evernote: I can create and consume these anywhere.

A final example: I love movies. Watching them at the theater is still magical for me, but I also enjoy them elsewhere, depending on what kind of movie it is. (My favorite streamable new release right now is Midnight in Paris. A great film.)

At home, I use my dedicated media PC to play through a sound system and flat-screen monitor. It’s not perfect, but it works. Elsewhere, I might use my laptop or my iPad. On the road, I can play the same movie through the same service on my phone, or I may be able to take a downloaded version for offline consumption.

So far, so obvious. These are all known use cases that demonstrate why the consumer Internet is so powerful. But I have a question:

Shouldn’t applications, services and content be sold to me, instead of my devices?

Right now, I have to set each of my services up on each of my devices, and tell them to use the same account. That sometimes doesn’t work perfectly: for some reason, for example, I seem to have two Path accounts – one for my US handset, and one for my UK handset. I’m not sure how this happened.

Ideally, I want to sign up:

  1. Once for each device, to tell them that I own it, and where I store my identity.
  2. Once more for each service or application, to associate them with my identity.
  3. The filesystem would be networked and bound to the identity. So rather than storing it on its own infrastructure, Evernote would save notes to my filesystem, which could potentially be accessed by other networked software.
  4. Each identity would have an Internet-accessible unique identifier and point of entry.

The applications would then automagically become available on each of my devices. Crucially, when I go to buy or rent Midnight in Paris, it then is also available on all of my devices, because I’m renting via my identity rather than any one device. For the next 24 hours, say, I can stream the movie wherever is most convenient. If I buy a license for Microsoft Office, then it is licensed to my identity and I can use it on any of my devices.

This is literally a per-seat model for selling software. It makes buying and consuming simple, and will reduce piracy.

So here’s a follow-on question. It’s a dull-sounding one, but bear with me:

Wouldn’t this make enterprise provisioning dramatically easier?

Right now, system administrators in enterprise environments push software over their networks, and often refuse to allow non-approved hardware onto their infrastructure in order to make this easier. In an identity-centric model, though, where applications are delivered using Internet technologies:

  1. Software would be provisioned to identities rather than machines.
  2. The available identity domains and software on any given network could be locked down as appropriate (so, for example, I could bring in my smartphone but only use a sanctioned identity with it if I wanted to connect to the local network).

Wouldn’t this make consumer applications dramatically less annoying?

For me, the answer is “yes”. I don’t want to care about my devices and their capabilities, and I’m a CTO with a computer science degree. End users want their software to seamlessly “just work”, and they want to seamlessly be able to move content from one machine to another, or share to another person no matter what that thing happens to be, or where their data is stored. Right now, operating systems have become gatekeepers: bottlenecks that get in the way of users.

For me, this is the real application of a decentralized social web. It’s not just about sending messages around – it’s about using the Internet to create a fabric of interdependent applications where we retain control of our data (those identities and networked filesystems could be anywhere) while enjoying a simpler experience. Application providers and content owners sell more of their products, because they’re easier to consume, everyone loves their devices that little bit more, and every new product sold becomes a window onto a much bigger, connected ecosystem that is greater than the sum of its parts.

Photo by Troy Holden, released under a Creative Commons license.

The war for the Web

November 17, 2009 | Leave a comment

Tim O’Reilly has a great piece up on Radar:

If you’ve followed my thinking about Web 2.0 from the beginning, you know that I believe we are engaged in a long term project to build an internet operating system. (Check out the program for the first O’Reilly Emerging Technology Conference in 2002 (pdf).) In my talks over the years, I’ve argued that there are two models of operating system, which I have characterized as "One Ring to Rule Them All" and "Small Pieces Loosely Joined," with the latter represented by a routing map of the Internet.

This is exactly it (although for technical accuracy, I prefer the term “application platform” to “operating system”). The “one ring to rule them all” approach is the game being played by companies like Facebook and Google. “Small pieces loosely joined” is the open approach, which seeks to create an Internet application platform that isn’t reliant on any one service provider – much like most of the rest of the Internet works today. (Anyone can run an email server, for example, without having to hook up to a central email provider.) I strongly believe that this second approach is the only one that can ensure a secure future for the web.

The full article is worth a read. Most intriguing, for me, is Tim’s postscript:

P.S. One prediction: Microsoft will emerge as a champion of the open web platform, supporting interoperable web services from many independent players, much as IBM emerged as the leading enterprise backer of Linux.

I had a conversation yesterday with someone related to Microsoft which suggests that this isn’t the case. Nonetheless, it’s a genius strategy, and I hope someone up there in MicrosoftLand is listening. (And hey, Microsoft, if that’s what you’re up to – I want in.)

User control on the open web

February 21, 2009 | 9 comments

Data portability and the open data movement (“the open web” for simplicity’s sake) revolve around the idea that you should be able to take your data from one service to another without restriction, as well as control who gets to see it and how. Very simply, it’s your data, so you should have the ability to do what you like with it. That means that, for example, if you want to take your WordPress blog posts and import them into MovableType (WordPress’s competitor), you should be able to. Or you should be able to take your activity from Facebook and include it in your personal website, or export your Gmail contacts for backup or transfer to a rival email service.

You can do this on your desktop: for example, you can open a Word document in hundreds of wordprocessors, and Macs will happily talk to Windows machines on a network. Allowing this sort of data transport is good for the web in the same way it’s good for offline software: it forces companies to compete on features rather than the number of people they can lock into their services. It also ensures that if a service provider goes out of business, a user’s data on that service doesn’t have to disappear with it.

In 2007, before the open web hit most peoples’ radars, Marc Canter organised the first Data Sharing Summit, which was a communal discussion between all the major Silicon Valley players, as well as many outside companies who flew in specially to participate (I attended, representing Elgg). One of the major outcomes was the importance of central control: the user owns their data. Marc, Joseph Smarr, Robert Scoble and Michael Arrington co-signed a Bill of Rights for the Social Web which laid these out. It wasn’t all roses: most of the large companies present took issue with the Bill of Rights, and as I noted in my write-up for ZDNet at the time, preferred the term “data control” rather than “data ownership”. The implication was simple: users didn’t own the data they added to those services.

Since then, the open web has been accelerating as both an idea and a practical reality. Initiatives like Chris Saad’s Dataportability.org, Marc Canter’s Open Mesh treatise, as well as useful blunders like Facebook’s recent Terms of Service mis-step, have drawn public attention its importance. Facebook in particular force you to license your content to them indefinitely, and disable (rather than delete) your account details when you choose to leave the site. Once you enter something into Facebook, you should assume it’s there forever, no matter what you do. This has been in place for some time to little complaint, but when they overreached with their licensing terms, it made international headlines across the mainstream press: control over your data is now a mainstream issue.

Meanwhile, technology has been improving, and approaches have been consolidated. The Open Stack is a collection of real-world technologies that can be applied to web services in order to provide a base level of openness today, and developments are rapidly emerging. Chris Messina is leading development around activity streams portability, which will allow you to subscribe to friends on other services and see what they’re up to. The data portability aspect of the open web is rapidly becoming a reality: you will be able to share and copy your data.

Your data will be out there. So, what happens next?

The same emerging open web technologies which allow you to explicitly share your data from one service to another will also allow tools to be constructed cheaply out of functionality provided by more than one provider. Even today, a web tool might have a front end that connects behind the scenes to Google (perhaps for search or positioning information), Amazon (for storage or database facilities), and maybe three other services. This is going to drive innovation over the next few years, but let’s say a user on that conglomerated service wants to delete their account. Can they reliably assume that all the component services will respect his or her wishes and remove the data as requested?

As web tools become more sophisticated, access control also becomes an issue. When you publish on the web, you might not want the entire world to read your content; you could be uploading a document that you’d like to restrict to your company or some other group. How do these access restrictions persist on component services?

One solution could be some kind of licensing, but this veers dangerously close to Digital Rights Manamgent, the hated technology that has crippled most online music services and players for so long and inhibited innovation in the sector. Dare Obasanjo, who works for Microsoft and is usually a good source for intelligent analysis, recently had this to say:

[..] I’ve finally switched over to agreeing that once you’ve shared something it’s out there. The problem with [allowing content to be deleted] is that it is disrespectful of the person(s) you’ve shared the content with. Looking back at the Outlook email recall feature, it actually doesn’t delete a mail if the person has already read it. This is probably for technical reasons but it also has the side effect of not deleting a message from someone’s inbox that they have read and filed away. [..] Outlook has respected an important boundary by not allowing a sender to arbitrarily delete content from a recipient’s inbox with no recourse on the part of the recipient.

The trouble is that many services make money by selling data about you, either directly or indirectly, and these are unlikely to relinquish your data (or information derived from it) without some kind of pressure. I agree with Dare completely on the social level, with content that has been shared explicity. Certainly, this model has worked very well for email, and people like Plaxo’s John McCrea are hailing the fall of ‘social DRM’. However, content that is shared behind the scenes via APIs, and content that is shared inadvertently when agreeing to perform an action over something like OAuth or OpenID, need to obey a different model.

The only real difference between data shared as a deliberate act and data shared behind the scenes is user interface. Everyone wants the user to have control over data sharing via a clear user interface. Should they also be able to enforce what’s done with that data once it transfers to a third-party service, or should they trust that the service is going to do the right thing?

The open web isn’t just for trivial information. It’s one thing to control what happens to my Dopplr information, or my blog posts, or my Flickr photographs. I really don’t mind too much about where those things go, and I’d imagine that most people would agree (although some won’t). Those aren’t, however, the only things the web is being used for: there are support communities for medical disorders, academic resources, bill management services, managed intranets and more out there on the web, and these will begin to also harness the benefits of the open web. All of them need to be careful of their data. Some of them need to do so for legal reasons; some of them need to do so for ethical reasons. Nonetheless, they could all benefit from securely being able to share data in a controlled way.

To aid discussion, I propose the following two categories of shared data:

  • Explicit shares – information that a user asks specifically to share with another person or service.

    Examples:

    • Atomic objects like blog posts, contacts or messages
    • Collections like activity streams
  • Implicit shares – information that is shared behind the scenes as a result of an explicit share, or to provide some kind of federated functionality.

    Examples:

    • User information or shadow accounts transferred or created as a result of an OpenID or OAuth login
    • User settings
    • User contact details, friend lists, or identifiers

For the open web to work, both clearly need to be allowed. At a very base level, though, I think that users need to be aware of implicit shares, in a clear, non-technical way. (OpenID and OAuth both allow the user to grant and revoke access to functionality, but they don’t control what happens to the data when access is granted once, which is likely to be kept.) They also need to provide a facility for reliably controlling this data. Just as I can Creative Commons license a photograph and allow it to be shared while restricting anyone’s ability to use it for commercial gain, I need to be able to say that services can only use my data for a limited time, or for limited purposes. I’m not calling for DRM, but rather a published best practice that services would adhere to and publicly declare their allegiance to.

Without this, the usefulness of the open web will be limited to certain kinds of use cases – which is a shame, because if it’s allowed to reach its full potential, it could provide a new kind of social computing that will almost certainly change the world.