Category Archives: Uncategorized

Microformats and OpenID will kill Facebook's business model

Right now everybody’s talking about Facebook, “the social utility that connects you with the people around you”. Thousands of people register on the site every day, and the mainstream press drones endlessly about whether it’ll get bigger than MySpace, and then presumably take over the world. And even though I haven’t signed up yet, I know from looking over people’s shoulders that an incredible number of my friends and acquaintances are active Facebook users. Perhaps I should just give in, and sign up.

But is Facebook really the ultimate social networking site, the last one you’ll ever need to add all your friends to? Of course not: in a year’s time, some other site will be the trendy hangout that you can’t afford to miss out on. But the good news is that this constant migration from network to network isn’t going to carry on for ever — because we now have interoperable, open standards that will make the idea that all your friends need to be on the same social network seem quaint. The combination of microformats and OpenID will allow open websites to compete with the key selling points of walled gardens like Facebook — privacy and network effects — and as a result, kill their business model.

Walled gardens

As Jason Kottke says, Facebook is the new AOL — a walled garden, which you can’t access from the open internet unless you’re a signed-up, logged-in Facebook user. Signing up to yet another website, and then approving all your friends for the 14th time is clearly a pain, so why do so many people do it? Because walled gardens offer two key features that open websites don’t: privacy and network effects.

Privacy: only my friends can see it

When you add content to your Facebook profile, you can make sure that only your friends can see it. So the fact that you’re feeling grumpy today isn’t broadcast to the whole world, just to your network — and the photos from the party last night can only be seen by people you trust. This kind of privacy feature isn’t unique to Facebook, of course: you can achieve the same effect using Flickr or Twitter, for example — sites which aren’t usually thought of as walled gardens. But I argue that whenever privacy features are used on these sites, they behave like walled gardens — because in order to restrict access to a network of friends, all of your friends need a profile on that site. You effectively lock out any of your real-life friends that haven’t signed up for that website: a walled garden approach.

Network effects: all my friends are already here

The success of social networks like Facebook is clearly helped by network effects — the fact that if lots of your friends are already active users, joining looks much more attractive than if you’re the first to join. This applies equally to adding comments to other people’s photos on Flickr and writing on a friend’s “wall” on Facebook.

The business model

The business model of these walled gardens goes something like this:

  1. Offer our users privacy (and other services).
  2. Exploit network effects to get as many of our users’ friends as possible to join.
  3. Sell advertising to our massive captive audience.

At the moment, this model works — just look at Facebook and MySpace. But notice that during the second step, the site isn’t getting users to sign up primarily because they like the service, but because their friends are already on the network. Walled gardens exploit their users’ personal relationships to grow their proprietary systems — and on the internet, that’s never sustainable.

An open alternative

So what’s the open alternative to this walled garden approach? Microformats for relationships and OpenID for identity.

Microformats

Microformats are “a set of simple, open data formats built upon existing and widely adopted standards” — often referred to as the lowercase semantic web. Jeremy Keith outlines how the existing hCard and XFN microformats could be used to create portable social networks, so that each new website you join could automatically fetch a list of friends from a URL you provide. This wouldn’t have to be hosted on a blog or personal site — a profile page on a site like Flickr could automatically provide this information, just by using microformats in the markup. But what about privacy?

OpenID

OpenID is an open, decentralised identity system. The central idea is that if a person can prove that they own a URL, that’s enough to identify them. Simon Willison describes how OpenId could be used to create decentralised social networks, “with profiles tied together across multiple sites and relationships easily portable between services” — that is, you can restrict access to your group of friends even if they’re not members of your social networking website of choice.

If a social networking site combined these approaches, you could instruct it to restrict access to a group of friends that:

  1. Is defined elsewhere, without having to be manually entered, and
  2. Doesn’t require your friends to be members of the site to access your content.

This is the killer combination for Facebook’s business model.

Goodbye, exponential growth

Why am I so sure this will happen? Well, it might not work exactly the way I’ve outlined, but some kind of interoperable, open standard will eventually replace proprietary, closed social networks, because open systems always beat closed ones on the internet. This doesn’t necessarily mean that the sites I’m calling walled gardens are doomed though — they just need to open up, and rethink their business model.

Once you remove the exploitation of personal relationships I’ve described above, exponential growth of users is much more difficult to achieve. Now, new users won’t sign up just because their friends’ content is in your system — because they can access it anyway using an open identity system. To get them to sign up, you’ll have to convince them that your service is better than all the others — which means you have to offer the best user experience, not the largest network.

Selling advertising to a captive audience also becomes more difficult, because your audience isn’t really captive any more. If your users’ friends use RSS to access content, for example, they won’t see your site at all — and anyway your users are free to migrate to another site whenever they want to, because they now own their data in an open format. Perhaps this will result in more targeted, niche advertising — or even a service charge (gasp!), paid in return for a well designed, pleasurable experience. Either way, the Facebook model will fail — which means that sometime soon, we won’t have to join a new social network every six months. I’m looking forward to it.

Web standards as discipline

We often sell web standards by explaining that using them improves accessibility. We might talk about reaching as wide an audience as possible, or about laws requiring accessible websites.

However, accessibility is only part of the story. An equally important benefit of following standards is the discipline they require.

Professionalism and self-respect

The concept of discipline that I want to introduce in this article is closely related to professionalism and self-respect.

Having discipline as a web professional requires the self-respect to admit that what we do is valuable in itself — not just as a plugin to a more legitimate activity. Once we have self-respect, we can begin to bring order to the way we work: discipline. Using web standards is a powerful way to achieve that.

Before standards there was junk

In the junk markup era, it was effectively impossible to follow web standards if you wanted visual or behavioural consistency across browsers. We had to use code forking and nested table layouts, which led to rushed websites with messy, unmaintainable code. Only a handful of pages validated.

This led to the belief that anyone could create websites after a few hours of hacking, and a corresponding lack of self-respect among web professionals. We felt powerless to influence the web, and as a result we lacked discipline in our work.

Web design: a plugin?

Part of the difficulty in having discipline comes from the tendency for clients, management and colleagues to assume that our role is a minor subset of some other activity, like graphic design or software engineering.

Jesse James Garrett refuted this assumption in his Elements of User Experience, in which he argued that the essence of web design is managing the tension between web as software interface and web as hypertext space. One example of the dot-com era tendency to write off web design as a subset of graphic design is demonstrated by Adaptive Path‘s decision to use the term ‘user experience’ instead of ‘design’, to avoid an association with visual stylists, who had no grasp of what we would call web design.

The problem with computer science

When faced with the lack of discipline I’ve described, many web developers have turned to computer science and software engineering as a source of discipline. They see methodologies like Object Oriented Design and Model View Controller as solutions, and use frameworks based on these methodologies to bring discipline to their work.

An analysis of the benefits of these methodologies is outside the scope of this article; clearly, many programmers find them useful. However, I argue that they can shift the focus of thought away from the essence of web design, because they assume that our main task is programming — that web design is a subset of software design. Again, this is an error: although we may do some programming, we are not primarily programmers.

The discipline of web standards

So, how can web standards give us discipline? Using semantic and valid markup, styling using CSS, progressively enhancing with widely-supported JavaScript and using clean URLs introduces a lot of discipline. And it’s not easy to do.

More difficult than it sounds

Writing valid markup is not intrinsically difficult, but correctly applying semantics to documents is not straightforward for most people. To demonstrate this, how many people do you know who are able to use Microsoft Word’s outline styles feature semantically, instead of just using presentational styles like bold and italic? Creating content management systems that allow non-technical people to write semantic markup is even harder.

The basics of CSS are straightforward; for example, it’s easy to demonstrate how to change the colour of headings in a document. However, successfully pulling off floated or positioned layouts, flexible width columns or bulletproof designs that work with zoomed text is much harder, especially when you have to support a range of browsers.

JavaScript is also more complicated than it looks. It’s straightforward to trigger an alert box when a form element is left empty, but unobtrusively adding interactivity that gracefully degrades when JavaScript is disabled requires a lot more thought.

The concept of using clean URLs sounds easy, even obvious. Implementing them well, however, requires a lot of thought — there are implications for information architecture, navigation, content management and database design.

The reward

I argue that simply by following web standards in the way I’ve outlined, you go a long way towards introducing discipline in your work. You’ve separated content from presentation, written your documents semantically, used style sheets for design, progressively enhanced behaviour for modern browsers, and used URLs to make your content easily accessible. You’re more likely to produce maintainable, reusable code, and to be able to transfer what you’ve learnt to other projects.

Standards gave us professionalism

Molly Holzschlag wrote last year about a new professionalism in web designers and developers. She talks specifically about the need to keep our skills up to date, and to be willing to learn. I argue that an equally important element of the new professionalism is gaining the self-respect to realise that what we do is not a subset of some existing field, that it is not easy — and therefore, that it has substantial value.

It isn’t a coincidence that the new professionalism arrived at the same time as the mainstream adoption of web standards; and we should use our new self-respect to argue that following web standards is a discipline in itself.