What is the future of Content Management Systems related to Social Networks

There is no doubt that social networks are on the rise. No Web2.0 site is actually not having their own community. No wonder, is Web2.0 about two things: people (and their relationships) and content.

But there is another phenomenon: Conversations. The authors of  Cluetrain Manifesto described it quite well and while Doc Searls and others might not be that eager to talk about it anymore (Doc once said on IRC that he wants to talk about new things such as VRM instead) the topic is still hot and I think more and more companies will go that way and start talking to their customers on a more personal basis again. One means of doing this is blogging. Others are of course forums or even virtual worlds. The main point here is to let customers leave their opinion which means that comments should be enabled because otherwise conversations cannot start.

But all these things taken together also mean that Content Management Systems have to change. I won’t be the one-way communication any longer which it has been for quite a while. It is bidirectional and this means some challenges.

What are example use cases?

One mentioned already are blogs. Another one might be forums. Then depending on the site it might as well be media upload or even live chat/video/audio. If we look into the realm of portable social networks then we will also have things like activity streams, contact management, profile data and so on. All these things should be supported in the future. I will post more on how this might look from overview level later.

CMS vs. CDS

In some systems there has been a distinction between the Content Management System (CMS) and the Content Delivery System (CDS). While the first one is located on the intranet where the whole company can work on new content, the CDS is located in the internet realm and is more or less a dumb system which’s only means is to deliver content (e.g. the CMS can spit out PHP code which then gets copied to a standard LAMP setup). For that it does not need to know about permissions, workflows, member management and so on. Of course this is not completely true as also in the public server of your company you might have some areas which are restricted. But in general a CDS can be much less complicated than the CMS and therefore also faster in execution.

In the world of Plone (the open source CMS of my choice) sometimes there seems to be the answer to use a CDS in front of Plone if the question is about performance but of course this is more easily said than done as there are no really complete solutions to the problem out there. This might actually also be true for most of the other CMS out there. And in fact the mostly used CDS is probably simply Squid.

So in the end it might come down to have a clever caching strategy. This is the more true the more dynamic your website will grow. With social networking components it will certainly be more dynamic. It will also be about how costly it is to create content (unfortunately in Plone it is relatively expensive today due to things like Archetypes, missing addforms and more but there is also work being done in this area to hopefully solve this).

Formats

Not only will performance/caching be important but also interoperability. We see a big move into this direction with lots of discussion and some projects moving forward. All this is build on already existing protocols, like:

and maybe some more. In Plone we already have OpenID implemented (although maybe it could be enhanced here and there in the course of implementing a social networking layer. But more about this in a future post), Microformats should not be too hard to be done aswell as FOAF. And for OAuth we probably simply need a good plan on how to do it, a Python library is already there (done by Leah Culver). For other CMS it looks similar, libraries are out there for most languages and some have implemented these things already (like Drupal and WordPress have OpenID support, too).

The general challenge here is how to combine these things to make sense and another challenge is which policies for it’s use are needed. As the Soble/Facebook incident showed there is definitely a lot of room for discussion.

In the end it would be great to hook up a CMS to a worldwide social network based on open standards.

APML

The Attention Profile Markup Language might also be one of the key parts of tomorrow’s social networks and thus CMS. It’s intention is to format your attention profile (which links you clicked, which videos you saw and so on) in a standardized way so that it can be read by other tools and applications. One usage for this is the activity stream in which a site can show parts of this data to other users (privacy settings are apparently needed). This also means for a CMS (or a CDS if you implement it that way), that you need a means for recording it without putting a performance bottleneck on your system. Eventually it makes sense to record this with an external tool. Some ideas might be needed here.

You can find a great writeup by Michael Pick here.

Asynchronous Operation

For some of the mentioned standards it might make sense to have a way to collect information asynchronously (which means not triggering other http activity when the user clicks a link but instead to do this e.g. with a queue and a cronjob). This might esp. be important for collecting XFN/hCard information after submitting some URLs.
Such a mechanism would not be that easy to implement with Zope/Plone though (at least if you want to use the ZODB) because you cannot easily access the database structure directly as you could e.g. do with SQL bases systems.

APIs

If you do social network like stuff you might need to implement some APIs. These days it seems to go the RESTful route which is probably a good route. Of course it depends on what functionality you want to expose and what makes sense but I would say at least OpenSocial support might be important in the future.

Looking further

One part of the social networking experience in the future will also be virtual worlds. These are on the rise and I expect to see quite some new virtual worlds pop up this year. The leading company, Linden Lab (Second Life), also thinks about opening up their world and make it interoperable by trying to create an open standard in an open way (more coverage on my old SL blog). You only need to think a little step further to know that it would make sense to make this part of your social network, too. With the architecture envisioned by Linden Lab it would indeed make quite a lot of sense because their concept of an agent domain is more or less a social network (with groups, friends, profile information, identity management and so on) only that it also stores assets used for the virtual worlds. But part of these assets, like photos (which become textures) are not so far off from use within a virtual world.
And thus it makes sense to prepare a CMS today for tomorrows use of virtual world which should be a more or less trivial step though if the above mentioned standards are implemented

My roadmap

I definitely want to explore this area further and thus here’s what I want to do:

  • Explain the underlying standards better. I started already with an OAuth presentation
  • Create a vision for what we actually want to do (or me at least)
  • Write down use cases of sample scenarios of what might be possible and how it might look like
  • Create a prototype social networking layer for Plone in order to understand problems better
  • Then plan further

One project I am trying to get involved with in the future is probably DiSo which stands for Distributed Social Networks and is very much going in the aboce described direction. They are using WordPress as a platform right now but interoperability is planned. They already have some code and lots of discussion going on and participants in that project are good connected which hopefully helps to get these ideas more into the big companies like Google or Yahoo.

Tags: , , , ,

TeilenShare on FacebookShare on Google+Tweet about this on TwitterEmail this to someone

13 comments » Write a comment

  1. Pingback: O futuro dos sistemas de gestão de conteúdo face ao fenónemo das redes sociais « Web 2.0 PT

  2. Pingback: stefan.waidele.info » Sonntagslektüre

  3. Long and great post. Loved it.

    My take is that the whole concept of a CMS needs a rethink.

    It's been a long and slow process, but today we have pretty decent CMS'. Unfortunately, they cater to the business models and way of thinking of yesterday due to differences between development time and the fast and ever changing world.

    It used to be that you could just slap a 'forum' in your CMS implementation and you'd have taken care of any 'social' functions, or at least silenced the discussion between company/employees/customer/contractor.
    Take your pick. It was a weak cop out even then, but usually it was as good as it got.

    What I mean about the whole concept of a CMS being in need of a rethink is that we need CMS' that enables and actively supports conversations and interactions from the ground up, not only supporting a one way street of dictating to the masses or as weak afterthoughts and add-ons/plugins/proucts.

    Of course, one could chose to turn those conversation enabling features off when implementing such a CMS in the new web site for Company X, but I'd like to hear and see how such web sites would survive the future.

    I also believe, that the whole idea and concept of the social and conversational web is – strangely enough – lost on many developers and publishers of CMS'. It's not like it's a pipe dream. It's here, it's real and it's sticking.

    I know many people involved in CMS development and publishing who were great fans and early adopters of the Clue Train Manifesto. However, it saddens me to say that I fail to see what good has become of it.

    Keep up the good work!

  4. Thanks! :-)

    The question indeed is if they are called CMS after all ;-)

    I am not so sure about the developers though. They do conversation and many of them even blog (although they do not start a conversation of course if they switch comments off). But they do also conversation on other channels such as mailing list. Maybe another important piece would be to connect all those dots together. If somebody mentions a blog post on a mailing list (which probably has a web interface these days) why not send a pingback to the original entry.

    It would be great to see the complete discussion around a topic easily in every linked place.

  5. I found this post via Twitter. (I track 'CMS'). Thanks for taking the time to write this.

    About 99% of all the millions of CMS software out there were made during (and in reaction to) the late 90s Internet bubble.

    Nowadays, more and more blog CMSes are being used for media sites, corporate sites, etc.

    And meanwhile we've got the "Web 2.0" trends of APIs and platforms.

    CMSes need to get caught up.

    We've been working on our vision of a modern CMS. It's called http://www.Feed.Us.

    I would love the chance to show it to you and discuss further??

  6. Well, I at least heard it several times. A CDP might be more or less a 3rd party service implementing something like this.
    If you google for the full term you will find some commercial offers though (Cisco or Sun and others). With Plone at least it's also not that widely used unless you count reverse proxies as a simple means of CDS.

  7. Christian

    Are you actually working on a Social Networking layer for Plone right now ? We'd be very interested in working on that ourselves in the forthcoming months.

    I also know of another person (in the USA ?) and a guy in Brazil, so perhaps we can make this work in a team effort ?

  8. Cristian and Patrick,

    To me, the most important effort will be to consolidate a generic Social Network layer for Plone.

    There some ways to do this, it's not easy, but understanding well domain concepts and classes and selecting many valid use cases can help to build a solid and flexible architecture.

    Define "What" mean Social Network (in CMS context?) first and then "How" do it with Plone/Z3. ;-)

  9. Pingback: Plone and Social Networking — mrtopf.de

  10. Nice article. It would be great to delve deeper on the topic. My main question is what is a good platform that can support blogs, forums, chat, widgets/applets and virtual worlds (or rather games as a means of communication and user content).

    Platforms like Drupal and Joomla (I have no experience on Plone) I find are too rigid in their approach. For example to maintain multiple sites with common users there are mechanisms like Bridges to share data which makes things difficult when trying to expose user content to applications. Also, I find the options for UIs are limitated in supporting new-media.

    Blogs systems like WordPress seem to be a good option to provide the base communication, user generated content and user-customizable-UI capabilities. However the limitations come when integrating Forum functions into blogs (such as in Ryze) which is a nice way to promote conversations. Another limitation (for a longer term perspective) is when integrating Virtual environments (or any casual game for that matter). Blogs are not frameworks (i.e. a platform that would allow for widget/mini-apps to be developed like Facebook).

    There are nice frameworks like Typo3 for content managment or application environments like Symphony or Zen Frameworks, but each require lots of in-house skills and lots of time to develop.

    I believe that a DB-based solution, with open-source code and an application framework is what I am looking for. The platform would hopefully have some level of integration already done with WordPress, PHPBB, and some widget architecture…. And it would ideal if it was written to leverage openid, opensocial, OWL, etc.

    Know of any platforms that are worth looking at?

  11. Thanks for your comment! As for platforms I guess you mentioned them all already. It maybe is more a matter of time until these will develop themselves into that direction. I am trying to do this with PloneSocial (which I need to get more active in though) and I also heard from Drupal people at FOSDEM that this seems to be an issue.

    openplans.org has some integration of Plone and WordPress and other components mashed up by a common authentication source (probably LDAP based) and apache but that's a very customized solution and also needs skills in all those areas.

    But there is lots going on in the realms of DataPortability and OpenSocial and should a platform support e.g. OpenSocial I would expect many of such applications to be developed.

    So I cannot point you to a platform right now which has everything. I think every platform at the moment has it's unique advantages/disadvantages but I would think that over time they all will develop such functionality.

    (my plan is also to develop an agent domain for the new Second Life derived Open Grid Protocol on top of Plone so it may actually integrate with virtual worlds then. However that might look like ;-) ).

  12. Thanks for a very interesting article. However I missed two-three things:
    1.) The rule of the big guys when it comes to the future of CMS, now that we see that Google is taking active part in the progress of WordPress by offering remote security services (impossible..). And MicroSoft… releasing its first Open Source CMS, Oh Mamma.. ( http://digg.com/microsoft/Microsoft_releases_Open… ).
    2.) Open Source vs. others (inc. MS and what WP will turn into?).
    3.) Perl (and yes Mamma Perl6 – Parrot based) CMS versus other CGI spin-offs CMS (and yes Pappa… includig PHP CMS).

    Who will win/lose?
    On
    WebAPP CMS, Open Source Perl CMS http://www.web-app.net/