Skip to content


We Need a Social Web OS

Web 2.0 LogosThe Internet has always been fundamentally social. Its evolution can be described as a series of advancements that have harnessed the innate power of social activity. First, the Internet itself made computers social by allowing them to talk to each other through standardized network protocols. Second, the web made content social by allowing documents to talk to each other through hyperlinks. Third, APIs made software social by allowing applications to talk to each other through exposed programming interfaces. And finally, social networks made the creators and consumers of web content social by allowing them to find one another and share.

But there is a problem. The problem is the later two stages of the Internet, which we used to more frequently refer to as Web 2.0, arose in a fundamentally different manner than the first two. They arose as a series of protected hubs. Each of these hubs has drawn from the great strength and flexibility of the underlying social networks of the Internet and the web to come into existence. Yet most have only begrudgingly given back by being interoperable with one another when it suits their own purposes. They haven’t been built by academics whose fundamental goals were to improve the human condition through the sharing of knowledge, like that guy at the Olympics opening ceremony. They haven’t been built with government backing to facilitate knowledge transfer between universities and research labs. Instead they’ve been built on venture capital, an industry that seems to have lost its way from its humble beginnings seeking outsized financial returns through investing in radical ideas and new markets to seeking “guaranteed” returns through eyeballs and ad revenue.

Businesses built around controlling eyeballs run fundamentally counter to the nature of social, the nature of the Internet. Social is connecting, sharing, repurposing – the one thing it is not is controlling. But this does not mean successful businesses cannot be built on the web. It means we need to rethink how we build them. David Weinberger, one of the authors of The Cluetrain Manifesto, offers the following in his book Everything is Miscellaneous:

“The commoditization of knowledge enables greater value to be built from it, just as commoditized nails and lumber let us build better family homes for more people. But now more than ever, knowledge’s value will come from the understanding it enables.

And since the commoditization of knowledge includes its easy accessibility, business loses one of its traditional assets. Information may not want to be free, in Stewart Brand’s memorable phrase, but it sure wants to be dirt cheap. The good news for customers is that miscellanized, commoditized knowledge sparks competition and innovation. The good news for businesses is that they can focus on providing the goods and services that are at the heart of their value.”

It is Time for a Social Web OS

It is time for us to take what we’ve learned from years of building and using social software, suss out the common elements, identify the common weaknesses and lay down a new layer of Internet infrastructure designed from the ground up to support a new generation of social services. In programmer speak, it’s time for us to refactor.

This new layer requires three things: standards, frameworks and platforms. Now, everyone has different definitions of these terms so I’ll clarify mine. In this context standards provide agreed upon specifications for how data is defined and structured, frameworks provide methodology for storing, manipulating and distributing data, and platforms provide infrastructure for implementing frameworks.

I may sound crazy, but I firmly believe there is a way to universally model the social web. What I don’t mean is that there is a way for us to define all the fields we could ever possibly want to use in social web applications. What I do mean is that there is plenty enough commonality in the fundamental elements of social web applications that we can define a set of standards and frameworks that are flexible enough to encapsulate any ultimate manifestation while adhering to a core that inherently promotes openness and connectedness.

Why do I believe this is possible? It’s the nature of technology and abstraction – we can see examples everywhere we look. Programming languages enabled us to give instructions to computers in human readable form, rather than ones and zeroes. Operating systems enabled us to build software that could run without worrying about all the intricacies of the hardware running underneath. TCP/IP enabled computers to share data with each other over a network. DNS enabled computers to find each other across the globe. HTTP and HTML gave us a way to reference and retrieve documents across the Internet. The list goes on and on.

Any specific collection of standards, frameworks and platforms will have quirks and deficiencies. But when well thought out their benefits often far outweigh their drawbacks. Imagine, if you will, a world where you don’t have to create a new identity for every web service that you use. Imagine a world where where every new startup didn’t have to reinvent the wheel of how it defines users, how it handles permissions, how it defines content, how it makes that content accessible, how it makes its services compatible with others. If that sounds utterly implausible, I would ask you how implausible it would have sounded just a few years ago to say that soon most startups wouldn’t own or manage their own server infrastructure.

Building Blocks of the Social Web OS

I believe there is a fundamental set of building blocks we can use to develop a new generation of social web applications. I’ll list those building blocks here, and in the future I plan to link to my own or other peoples ideas on how to standardize them, develop a framework for utilizing them and a platform for implementing them.

The building blocks of the Social Web OS are:

  • Users
  • Groups
  • Relationships
  • Permissions
  • Annotations
  • Posts
  • Versions
  • Events
  • Feeds
  • Notifications

Going into the details of each of these here would be too lengthy, but I don’t think it takes too much effort to understand what each of these elements represents or how they interoperate. For those who want to build the future of the Internet, standardizing these elements (whether that means de facto standardization or something more “official”) and how they interact is where we should be investing our energy. Building platforms that allow startups to focus on building new networks that utilize and augment these building blocks, rather than reinventing them, will unleash a torrent of innovation.

Facebook, Twitter, Google+, LinkedIn, Flickr, Instagram, Foursquare, WordPress, Drupal, Basecamp, Dropbox, Google Docs, Reddit, Digg. Tell me which of these services cannot be modeled using the above elements. Tell me which of these services would not benefit from avoiding reinventing each of the above components, only adding new logic and fields for whatever they do that is unique. Tell me which of these services would not benefit from being fundamentally interoperable. Seriously, I want to know what I’m missing.

Posted in Social Web OS.

  • http://arpitonline.com/blog arpit

    Good read. 

    Of course, there have already been efforts in this direction: 

    Diaspora and Google’s OpenSocial vs Facebook 

    oStatus/Identi.ca vs. Twitter

    http://theopenphotoproject.org/ vs. Flickr 

    In fact if you like any service at all, google “open source ” and you’ll find a bunch of projects that have tried to attack the problem.There have even been more academic approaches like RDF/OWL (http://www.w3.org/OWL/) that tried to encapsulate people connections (like FOAF etc) that got so academic that noone cared.The way I see it there are a few problems:

    1) There is a strong feeling that its very profitable to lock users into a service. So “product companies” will never support a spec that may truly open data if they can help it. Even Google, which has a strong profit motive for an open internet, is building a walled Google+ experience. At this point its up to people with personal convictions to build open applications where there desire to profit is outweighed by a conviction of improving the world we live in. 

    2) Openness isnt so much a product feature a lot of folks care about, its a nice to have. Its like computer backups. Noone cares till the day you lose it all and then its too late. If you are truly going to get people excited to move to a new product from a product that they have invested a lot of time and effort in, whats the reward?

    3) We have yet to discover a true business model that works for such open products. Over the last few years we have been conditioned to expect free services and apps. Can you change that? Or is there another model that works even better that isnt a direct cost or irrelevant advertising? Red Hat is the first billion dollar company based on open source and look at how they work: release an open source product that anyone can use and offer a closed/ more “curated” product that they can offer support for. Could you do something like that? Personally, I am fanatical about open source and open data. I would love to see a true success story but we need true innovation here.

    • http://gawk.it/ falicon

      Pretty much agree with all your points as well…#2 is the big one in my book (ultimately users don’t really care about the stuff behind the curtain).

      If I’m being totally honest, even as a developer trying to build interesting and useful things, I don’t really have too many problems with the current state of the social web…I’m certainly not worse off than I was before these things existed, and I’m smart/flexible enough to not be upset if the rug gets pulled out from under me (what was I doing standing with both feet so firmly planted on someone elses rug anyway?)

      Even when I just think of things as a pure user, I’m pretty happy with how things are…I get to connect with, and grep value from, millions of people I don’t know…I get to communicate with close friends from far distances and share moments like I never have before in the history of time…and I get to do it for FREE (with very little getting in my way of the experience — and the little hoops that are there are easily navigated/ignored as my repetitive usage goes up).

      So – yes I like the ideal of an open internet OS…but I don’t think there’s enough motivation for users to demand it (and even if there was, I think there’s currently too many hurdles to get there at the moment).

      Orian – If your mind is set and you *really* want to start fixing this problem…I think the trick is to focus more on the protocol level…email, ftp, http are all fundamental things to how the current version of the internet works (and are basically open and widely accepted things)…if you’re going to build an OS platform, I think you really have to start by defining what the specific protocol is…and then probably build a specific (and insanely kick-ass) browser for it that makes all the things you mention above easy (and standard)…do all that and you *might* get some early-adopters active and helping to spread the word (ie. begin to change the world)…but it’s still a BIG *might*

      All of which doesn’t mean you shouldn’t (or couldn’t)…

      • http://www.victusspiritus.com/ Mark Essel

        Maybe just a small augmentation to email, which has been pretty successful

        • http://www.orianmarx.com/ Orian Marx

          I wouldn’t advocate for an augmentation of email but an adoption of many of the ideas behind it.

      • http://www.orianmarx.com/ Orian Marx

        I agree with a lot of what you’re saying here, though I need to push back against your more morose tone on your own blog! :) 

        Something I think you’re discounting a bit is that you are a kick ass developer. Many other devs aren’t nearly as capable of building their way around things the way you are but that doesn’t mean we shouldn’t give them better ways to do so.

        I agree about the protocol level stuff. That’s why I made a couple late night tweets about OMBP – One-to-Many Broadcast Protocol, which is what I wanted to call it. But I don’t know enough about protocols yet, so I’m trying to not jump the gun and look like an idiot :)

        • http://gawk.it/ falicon

          Did I come across as morose?  I didn’t mean to (but I guess I can see where I do).  Sorry about that ;-)

          I read your post above thinking more about the ‘user’ than the ‘developer’…

          I really don’t think ‘users’ are in need/care/ready for a web OS…’developers’ on the other hand…could be interesting (they are at least ready and are starting to care…though the ‘need’ part I still strongly question).

          If nothing else, lots to ponder here…so thanks for lighting the fire ;-)

          • http://www.orianmarx.com/ Orian Marx

            I realize I’ve been blurring the lines between advocating the user viewpoint and the developer viewpoint. This post was actually meant for developers. The previous was meant for users, but I agree that on the whole users still don’t need/care about this too much, just better functionality. But I also prefer to skate to where the puck will be and I just don’t see how as time goes on users will care *less* about controlling their own stuff.

          • http://gawk.it/ falicon

            They won’t care ‘less’…they will just continue to ‘not’ care at all.

            Skating to where the puck is going to be is def. interesting and worth thinking about…my thinking around this is generally more about where, when, and especially why…not so much on the ‘how’.

            Anyone can talk to anyone else, at just about any time, in real time, from just about any location in the world…and almost all the worlds known facts are but a quick search away and accessible…so what’s next? What do these things enable us to really build? What problems do they help us solve? What problems to they introduce? 

            That last one is what I think you are getting at here — but, personally, I don’t think it’s the most interesting one to be focusing on even in that small set of questions…could be just me though ;-)

    • http://www.orianmarx.com/ Orian Marx

      I’m going to write about the Diaspora / Status.net comparison issue. There is something that really bugs me about it – for some reason when it comes to opening social networks were okay with looking at two examples that didn’t work and saying “guess it can’t be done!” Whereas normally in the startup world there are dozens or hundreds of failures at roughly the same ideas until one startup gets lucky or get something just right and it takes off. To me the failure of a few attempts does not constitute the failure of an idea.

      As for RDF, that is actually going to be my approach to modeling the Relationship and Event objects.

      I think I’ll comment on the other stuff on your blog post version of this :)

  • http://twitter.com/aleksj Aleks Jakulin

    Your answer to “How” is fine – but my main question is “Why?” and “For Who?”.

    • http://www.orianmarx.com/ Orian Marx

      More on that in another post, although the previous post at least outlined my view that we should be trying to restore ownership to the content creators.

      • Aleks Jakulin

        I’m fired up about this goal – and working on it too!

  • http://www.victusspiritus.com/ Mark Essel

    The notion of a social web, let alone a social web os is kinda strange, folks are social. All the social blocks you refer to are simply means of expression, like symbols, words and imagery.

    Hmm, features or results I’d like to see: a half life for emotional relevance, novelty and serendipity dials. Simple voice access, and overall accessibility.

    I kind of like that all these businesses are conducting broad research in the area, and there’s not. One size fits all. Common elements and design patterns make their way to other realizations.

    • http://www.orianmarx.com/ Orian Marx

      Yup, these building blocks should be as generic as possible while still maintaining some fundamental meaning to build a more complex system from. Just like any language.

    • Mark

      Common elements and design patterns make their way to other realizations.

      a very good thought, +100500
      more

  • http://abdallahalhakim.tumblr.com/ Abdallah Al-Hakim

    The bigger question here is whether the social web wil part of a paid-system OR free-system. There were few interesting discussion over the past few weeks instigated by Dalton Caldwell and Fred Wilson regarding this subject. 

    • http://www.orianmarx.com/ Orian Marx

      It’s not an either-or. I think it will continue to be both.

  • markwilcox

    First a minor nitpick, please don’t overload/abuse the term OS further than it has been already – you are not talking about an operating system here, you want some platforms that implement standards.

    I like your 4 stages of social internet evolution, however stages 1 & 2 were built for a tiny community of hackers and researchers and much later adopted by everyone. Stage 3 was for developers and only stage 4 as you define it built for everyone (you might say stage 4 happened for geeks/hackers/researchers long ago via usenet/IRC etc).

    We’re now in a position where the ad-funded social networks are pretty entrenched in the public consciousness and we can’t simply replace them with open and standards-based alternatives.  As others have argued we need fundamentally better services as alternatives, with a different business model.

    Academic researchers are fundamentally not cut-out for building stuff for consumers, this needs to be a commercial effort.  As such, trying to create standards now is counter productive.  The paid user market might not even be big enough to support one company yet.  All that’s needed to tweak the App.net proposal into something that doesn’t just move us from the ad-funded networks to a paid but mostly benevolent monopoly is:
    1) Expand the scope from simple annotated text fragment exchange slightly, so other social services can be cleanly built on the infrastructure
    2) Data portability (they’re already promising that)
    3) A guarantee that if in future anyone thinks it profitable to set up a similar paid service in competition they’ll be allowed to integrate on fair and reasonable terms

    You don’t want the company starting the revolution to have to build, freeze or even define appropriate interaces for other services to connect at this point – it’s an unnecessary drag.  They should just agree to create such an interface and charge reasonable fees for it’s use if there’s a demand for such a thing in future.  Essentially we’re talking about network interconnect agreements.

    Open source’s role is generally that of slow follower, commoditising and replacing stuff that’s no longer innovating.*  I’d expect if the venture is successful someone would build an open source network for those that really care – it’d probably be one of the first to connect.

    * Android is a rare exception of a fast follower in open source.  I don’t want to get into a discussion about it here but as someone who’s worked for an open source foundation I can say it’s the least open of all open source ever, in spirit and purpose – they’re basically open in order to commoditise smartphones very early in the cycle and leave scorched earth behind them for other mobile OS followers.

    • http://www.orianmarx.com/ Orian Marx

      I agree with pretty much everything you’re saying here, and I’m trying to push App.net more in the direction you’ve outlined.

      I don’t want to get into a semantics argument about using the term OS because yes I’m abusing it a little bit here, but actually not as much as you think. I haven’t outlined yet how I envision the component data pieces being created, manipulated and moved around the web. In my mind that more complete picture really does behave like an OS for web services to run on top of, one that just happens to be highly distributed.

  • http://twitter.com/mburns Michael Burns

    Funny that Mozilla has been publicly working on all of your requested features, some of which have already landed in the developer (Aurora) channel releases, yet don’t warrant a mention?

    • http://www.orianmarx.com/ Orian Marx

      I think that’s great, and there are a whole bunch of technologies either in development or advocated in the past that I think should be drawn on. I’m still trying to not get too technical in these posts but I plan to write about a lot of these things. Thanks for bringing this to my attention.

  • rktect

    You mentioned the reason why this happened the way it did and how it’s not being actively solved currently: it comes down to money. 

    No one makes profit from standardized network protocols (the internet) or hyperlinked content (the web) – aside from those whom provide ‘access to’ these infrastructural facets or build on top of them. Unfortunately proprietary stuff generates money and short-term market gain.

    The good news is that we are starting to hit barriers with the interoperability of silo’d services and there is too much potential in connecting big data from various sources that it’s becoming necessary to develop standards and interoperability.

    I think it’s also becoming a significant ‘user’ problem to manage an overwhelming number of separate services, accounts and data sets. This and the trend towards simpler, more UX driven applications will be the catalyst to force companies to pursue this.

    Lots of standards exist today or are being tackled, but these are mostly within subsets of the overarching systems (opensocial) or are over-complicated (RDF) and not many are actively pursuing a fundamental architectural solution to these problems.

    Well written and thought provoking post!

    • http://www.orianmarx.com/ Orian Marx

      Absolutely true, Tim Berners-Lee is never going to have Mark Zuckerberg money. That’s just a reality. But I also don’t think either would want to switch places with the other :)

      Your point about big data is a great one. There is definitely huge market opportunities that are going untapped because we simply can’t get at the data we need to and hopefully this will become a force for greater interoperability.

      Same for your point about the user problem, which is what I talked about in my previous post http://www.orianmarx.com/2012/07/24/a-better-social-web/

      I guess my feeling is that five years ago when a lot of these things were being discussed in a very academic matter, it didn’t really matter too much in the real world. But that seems to be changing, which is why it may be a good time to make a concerted effort to revisit these ideas.