Keeping the web decentralized

November 20, 2010 | 2 comments

3Com Campus in Massachusetts: 1999Tim Berners-Lee has an article in December’s Scientific American about the future of the web. It serves, in many ways, as a list of baselines – things that should be obvious to anyone who’s worked with the web for any real length of time. He argues for net neutrality, for open standards, and for the decentralization of web-based functionality; all things that I agree must be fundamental to the platform if it is to have a healthy future. It’s required reading, and worth sending to all your non-technical friends who use websites as part of their lives.

Decentralization is another important design feature. You do not have to get approval from any central authority to add a page or make a link. All you have to do is use three simple, standard protocols: write a page in the HTML (hypertext markup language) format, name it with the URI naming convention, and serve it up on the Internet using HTTP (hypertext transfer protocol). Decentralization has made widespread innovation possible and will continue to do so in the future.

[…] Several threats to the Web’s universality have arisen recently. Cable television companies that sell Internet connectivity are considering whether to limit their Internet users to downloading only the company’s mix of entertainment. Social-networking sites present a different kind of problem. Facebook, LinkedIn, Friendster and others typically provide value by capturing information as you enter it: your birthday, your e-mail address, your likes, and links indicating who is friends with whom and who is in which photograph. The sites assemble these bits of data into brilliant databases and reuse the information to provide value-added service—but only within their sites. Once you enter your data into one of these services, you cannot easily use them on another site. Each site is a silo, walled off from the others. Yes, your site’s pages are on the Web, but your data are not. You can access a Web page about a list of people you have created in one site, but you cannot send that list, or items from it, to another site.

The full article is over here.

I’m waiting for an application layer to emerge that embodies these traits (here are some ideas about how to make it a reality), but funnily enough, most web companies don’t seem to like the idea of letting go of their proprietary databases and competing on features rather than lock-in. Of course, the likes of Status.net and Diaspora are making a go of it, but in both cases, the applications create communities in themselves (which are interoperable with other communities) rather than single, WordPress-style nodes with social hooks that sit directly on the web.

In some ways, these applications aren’t directly social at all – certainly not in the “social networking” sense. There don’t have to be profiles, friends lists, or even direct sharing. They might be social in the sense that they are web applications – by definition, applications that are connected to the web (and therefore the billions of people who now use it). They provide notifications to their operators, allow access to content to be controlled according to a standard access control list, and allow that content to be commented on and relinked elsewhere. The “decentralized social web” is really just an evolved form of the standard publish-and-read model we’ve been using with blogs for over a decade, combined with the linked data concepts Berners-Lee champions.

So when do we get to use it? Well, to be honest with you, it’s kind of irritating. This is one of those inventions that are discovered rather than created as such: I have a complete picture of how this software would work in practice, and I understand how to create a business model that would render the software both widely attractive and financially sustainable. At some point I’ll give up on waiting for it to magically emerge and set to work – right now there is no competition (aside from other, different communication models), and a bunch of real-world problems that it would solve.

What kind of problems? Here’s a hint. Stop thinking in terms of publishing on the web, and start thinking in terms of distributed communications, and distributed, open markets. (Not just markets of ideas, but also tangible business markets.) Stop thinking about software and data, and start thinking about empowering people who are striving to bypass the gatekeepers in their way and connect, directly, with each other. Stop trying to own peoples’ lives, experience, skills and information, and put them in full control to let them talk, share, create and do business with each other.

Photo of Tim Berners-Lee by Jim Grisanzio, released under a Creative Commons license.

Notes from a working group

May 11, 2009 | Leave a comment

Standards geek: “I think we need to establish a standard for representing poetry on the Internet. I’ve drawn up this draft which encapsulates stanzas inside an Atom feed. It’s pretty simple; the spec fits on a page, so it should be easy to implement.”

Visual poet: “That’s pretty cool, but what about visual poetry? You know, that Fluxus kind of stuff? Because you can’t really separate that into stanzas.”

Standards geek: “Hey, you’re right. I’d better create a new element for visual poetry.”

Visual poet: “Awesome. Thanks, man; now I can represent my visual poetry using your standard.”

Spoken word poet: “Hey, that is awesome. But I don’t have any way of representing my poetry, which is all spoken. I don’t write it down at all.”

Standards geek: “Good point; I don’t have anything for spoken word poetry. I’d better create a new element for that.”

Performance poet: “While you’re at it, could you create a sub-element for performance poetry? We’re like spoken word poets, but we also sometimes use music and elements of theater in our performances.”

Standards geek: “… Okay, I’ve added some new elements that represent performance poetry.”

Haiku poet: “Could we also have something for haiku? Although haiku can be thought of in stanzas, it’d be useful to draw out the kigo and the kireji and represent those explicitly. Also, haiku can be drawn as a line of Japanese characters or as three lines of Latin text, and it makes a difference to the overall interpretation of the verse.”

Standards geek: “I don’t really know what those are, but I’d like to support haiku, so okay, they can go in.”

Linguist: “This standard is only going to be useful to me if I can add interpretations to a poem, and group poems together to make a themed collection.”

Other linguist: “And I’d like to comment on other peoples’ interpretations so I can tell them why they’re wrong.”

Standards geek, two months later: “Okay, I think I’ve got every major representation of poetry that everyone’s asked for. We’re ready to lock down the spec and build some libraries for initial testing. The only problem is, the specification is now seventy-two pages long, so that might take a while.”

Kinetic poet: “Sorry, I just got here. Can we add a marquee tag?”

Photo by surrealmuse, released under a CC Attribution-Noncommercial-Share Alike license.