Camen Design

c share + remix

This is an abandoned project, now made publicly available and free for anybody to use, adapt and share.

The Next Web

  1. What Is the Next Web?
  2. How Do We Get There?
  3. Announcing ThinkTank
    1. Principles
    2. What Does ThinkTank Look Like?
  4. Getting Started

Could you tell me who made the first commercial e-mail client, and what it was called? Any idea? No, me neither. It’s a footnote of history.

So when Twitter says to its API users that they don’t want any more clients to be made and that all clients and software displaying tweets must do so in a way defined by them, it should strike you as obvious that Twitter fears becoming a footnote in history as a new form of communication becomes commonplace.

Imagine if e-mail was a brand owned by one company, who kept changing their mind on the API, who had to approve e-mail clients and could turn them down and disconnect them if they were not displaying e-mail “consistently”.

This is not the future of the web no more than closed app stores and sand-boxed apps that can’t even talk to each other are the future of the software market.

Let’s be clear: APIs and API keys mean that you are at the mercy of the provider. They can shut you off whenever they want. They will shut you off if you take their name in vain. They will shut you off when they decide that only certain types of innovation are welcome.

On the other hand open protocols are basically a gentleman’s agreement of how things should work and the language that machines use to communicate with one another.

The API is Dead. Long Live the Protocol.

What Is the Next Web?

We have e-mail, which is designed around the assumption of being offline most of the time and picking up the e-mail when you are online. Given that the world is moving toward an ever more permanent state of being online, there’s no future in that. We have instant messaging, which is designed around the assumption that both parties are online at the same time, but given that we don’t sit exclusively in front of desk-Internet anymore and are becoming more and more in a constant flux of AFK, that’s no good either. Twitter has been successful because the model is right. It has the real-time feeling of IM, but the time-shifted reliability of e-mail.

This new model will, inescapably, need to diverge and spread to succeed just as e-mail and IM before it. It won’t survive if it is owned by one company who can pick and choose who can participate—or who can’t.

The next web is simply where this new form of communication is diverse and widespread, just like the website web.

Imagine this. Advocates and early adopters begin running on their personal websites a simple web application that allows them to publish their thoughts in Twitter fashion. This is accessible to other websites and users as an RSS feed that they can follow in their own web app / client of choice. Using an open protocol, these users on different websites—potentially running different software—can follow / reply and “retweet” each other just as if it were a centralised system.

This gains traction with developers as a nice way to micro-blog on their own website, and follow other luminaries. Twitter clones start to pop up that function in the same manner, but act as a place where web users who do not have their own domain or the necessary skills to run their own web application can sign up for an account and start publishing their thoughts, but also interact with those who publish on their personal websites. These Twitter clones are therefore not inward-facing silos that only allow its users to interact with other users on the same domain, but to interact with any user on any other website.

From this, native applications start to appear (just like IM clients, Twitter clients and e-mail clients), so that users do not have to always visit a website to post / read. These clients will be much like current Twitter clients, but interoperate with thousands of different sources. Since Twitter have stated that they want no more innovation in Twitter clients, these clients will be free to innovate and compete, creating experiences that far surpass what Twitter alone can provide within its walls.

When the ability to cross message from one website / client to another becomes common on the Internet, new forms of web site / app design start to appear.

I can imagine a day when blog comments are just people hitting “reply” in their RSS reader.

You don’t beat Twitter by copying it. You beat it by allowing anybody to participate anywhere on the web. You do your little bit and leave everybody else to do their bit rather than creating yet another brand trying to catch all the users in one place.

How Do We Get There?

We start by publishing our thoughts to our own websites using software that interoperates through open protocols.

Sadly, this software doesn’t exist yet. is a Twitter clone that is working on the interoperability problem by implementing the oStatus protocol. The problem with rstatus is that it’s copying Twitter too much. rstatus is an open piece software for running a website for lots of people to all share. I don’t want to run my own Twitter for multiple people, I want my website to be my profile and not anybody else’s. My personal thoughts, my personal space. But it’s more than just that; Twitter is a very narrow-minded (and increasingly narrowing) view of the web. The web is far more than the model that Twitter is trying to keep a tight hold on.

The only solution is to adapt rstatus, or write your own.

Announcing ThinkTank

ThinkTank is a self-hosted PHP web-application for the collection of thoughts and interactions with others across the web.

Think of ThinkTank as a two-way, glorified RSS-reader. Its simplest function is to allow you to type a thought and to publish that to an RSS feed. Other people may then follow that feed, either in their usual aggregator, or in an oStatus client, of which ThinkTank is one. Thus, ThinkTank allows you to read other people’s published thoughts whilst publishing your own.

This differs from Twitter in that Twitter is a single web-site where there are many users in close-knit. ThinkTank is the opposite in that each running instance of ThinkTank is just one person, who may be running the software on their personal website. The web is made up of millions of inter-connected websites and ThinkTank aims to be just one small part of a similar inter-connected mesh of thoughts. Instead of one central website that everybody goes to, everybody posts their thoughts on their own website, and follow other people’s thoughts on their websites.


Purity comes from principle. ThinkTank’s purpose is not to be the one solution to the problem. It is a small bit-player getting the ball rolling. ThinkTank’s development is guided by a set of principles that limit its nature from growing beyond its purpose.

i. ThinkTank shapes standards rather than shaping itself to others

Twitter have been clear in their message that there is to be no more innovation outside of their walls. In no way will ThinkTank bend itself to suit them, ThinkTank will expect Twitter to bend themselves to fit the standards. Considering that if oStatus clients really take off, Twitter will be likely engage in a pointless war to avoid interoperating with others to trap its user base within. ThinkTank will not be party to this and therefore from the outset will never have any kind of Twitter or Facebook or other closed provider integration or interaction other than through standards such as RSS.

If people want to simultaneously post to their Twitter and their ThinkTank (or other oStatus client), that should be left up to another piece of software (ideally a native multi-protocol client). Remember—not everybody has, or wants, or should need a Twitter account. There will be plenty of people who will only have a ThinkTank instance or somesuch client. Is it not wrong when an app has “social integration”, but what that really means is "Facebook or Twitter". This is forcing business their way, rather than opening choice, and especially opening the ability for anybody to write their own ‘twitter’ and see equal treatment in such apps. We should not therefore put Twitter at a higher position in our design that Joe McBob’s oStatus client coded in BASIC. We should just write an oStatus client, and let the great open ’Web solve the problem of Twitter integration, one way or another. If enough people use ThinkTank, then it will happen!

ThinkTank is not Twitter. It’s a thought-blog. Whilst Twitter has been the melting pot for many conventions now used, and ThinkTank should adopt conventions where beneficial, Twitters limitations are based on its centralised model and its early beginnings relying on text-messaging. The 140 character limit for example, should not be copied as this only existed because of text-messaging. Now, the 140 limit has its uses, I won’t deny that. It forces one to be concise, but more so, to articulate yourself in one sentence. But there are times where it becomes a hindrance. No, ThinkTank shouldn’t have a character limit, but it should post every time you press return. :) (unless perhaps pressing shift+enter, or pasting).

Your ThinkTank thoughts should be cheap and many, as is with Twitter. Just because you can write more, doesn’t mean that people will write great long posts 99% of the time. That’s just overreacting to the fear of losing the 140 char limit.

To say that all oStatus clients should be limited to 140 chars is to say that the web should be limited likewise. Because this is all just RSS, it is a given that any oStatus client may be presented with more than 140 chars, and I would expect—or at least hope—that clients like rstatus will show the first 140 chars, truncate, and then link to the original post (like deckly). This is not my problem to solve in my software, but rather an answer for each client to choose. ThinkTank could have a user option to restrict all entries to 140 chars, and truncate longer entries, but this should not be default. The input box in ThinkTank should show how many chars are entered for those who want to limit themselves, or know that their ThinkTank thoughts will be syndicated to Twitter.

But, more so, why should there be a difference between a thought and a full blown blog entry? It’s just RSS, it’s just a stream. Why should a website have to differentiate if it doesn’t want to? Why run a blog and a ThinkTank instance? Why have to post a thought to link to a blog? Seems redundant. I can imagine a day when blog comments are just people hitting “reply” in their RSS reader.

ii. ThinkTank is not a brand

ThinkTank is a piece of software. The website / company you run is your brand. ThinkTank is not looking to float on the stock market with a record-busting IPO. ThinkTank has no business model, does not need to raise venture capital and does not have an “exit strategy”; ThinkTank is a piece of open-source software, owned by everybody.

The thoughts you publish to ThinkTank are not called “tweets”, they can be called thoughts, because that’s what they are. You do not “retweet”, you echo. ThinkTank does not want to crowd the landscape with stupid technobabble. Since each person runs their own oStatus client, they are free to call these things anything they want, including tweets, and ThinkTank has no problem with that; it’s just not going to add more silly words to the mix.

Words like “oStatus” should never be mentioned to the end-user.

ThinkTank should be like a keyboard. An interface that is as much as is required, as little as is needed and expressly for the purpose of transliterating human thought. Everything that happens underneath is simply magic that is not to be the consideration of the writer. ThinkTank does not wear its implementation on the outside.

I hope one day that ThinkTank is gone and forgotten because we’ve all moved on to better things. Mission accomplished.

iii. ThinkTank only needs to solve its problem, not everybody else’s

ThinkTank will solve my problem. I want my own personal Twitter running on my website that lets me follow and reply to other people’s thoughts on their websites. ThinkTank is not trying to be everything for everybody or solve a generic problem, generically.

ThinkTank will not solve the problem of how difficult it is for “regular” users to run their own self-hosted web apps. When there is demand, somebody else will solve that. ThinkTank is aimed at any web user interested and capable of copy, pasting and running some code on a web server. Software for “regular” users will come at a late date.

ThinkTank will not solve the problem of Twitter or Facebook integration / migration / domination. ThinkTank alone cannot do that. It will take many different clients to do that.

If ThinkTank doesn’t suit your needs, modify it or write your own client. That’s how this the next web succeeds. People using what works for them. I won’t change ThinkTank to suit everybody.

What Does ThinkTank Look Like?

Here be dragons.

Considering I haven’t written it yet, it doesn’t look like anything, but essentially this is how it will be designed; ThinkTank would be split into two parts:

  1. A private interface, just for the website owner, which would be a consistent, well-design client interface much the same as when you are logged in as yourself in Twitter or rstatus. It would list all the thoughts from the people you follow and allow you to publish to your feed.

  2. A public interface, of essentially infinite possibility, that the owner includes in their website, that lists that owner’s thoughts only (their public profile). This interface can either be a standard template on its own page, or a custom interface made to integrate to that person’s particular website. It could even be nothing but a JSON file to be honest. Here there is infinite flexibility since it must work with an infinitely variable web.

    ThinkTank itself would not need to be something infinitely configurable, but rather just provide templates that people can modify to suit their desired style. For example, a single separate page, a side-column module, a ticker feed, and so on. People take these and then insert them into their websites either verbatim, or modify the HTML/CSS to their liking. It’s just an RSS feed at the end of the day. No rules on how you want to choose to display it.

    In the case of somebody who wants to run multiple identities, this is easy. In their private interface they can have more than one identity configured so that they can post to either from the same interface. This goes to two separate RSS feeds (one for each identity) and then they can use whatever public interface is appropriate, in whatever location, for each of the identities. It could be two entirely different websites displaying each of the feeds. It’s just RSS.

Getting Started

You can help in a number of ways:

This is an abandoned project, now made publicly available and free for anybody to use, adapt and share.