The Next Web
- What Is the Next Web?
- How Do We Get There?
- What Does ThinkTank Look Like?
- 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
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
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. rstat.us 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.
ThinkTank is a self-hosted PHP web-application for the collection of thoughts and interactions with others across
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.
- 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:
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.
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.
You can help in a number of ways: