The stream is the user interface design for many popular sites now. Facebook is using it as the main news feed and your home page. Twitter has never used anything but the stream. FriendFeed used the stream, but also made more popular or recent items “bump” to the top of the stream. Digg was not really a stream, but now it is moving to a design that looks more like a stream. Essentially, any site that is a microblogging site, uses the stream as its main user interface. As in the case with Digg, many other sites are trying to become more like Twitter and Facebook, so they are adding the stream as well.
However, if you look at the popularity of these sites, and the type of content that is posted to these sites, you will notice some common issues. First, if you follow enough people, the stream moves very fast. This can happen once you reach 1000 friends, or less if you follow people that post frequently. If you look at the type of content that gets posted, you do not notice any real differences. So, a link posted from this blog and CNN look basically the same. Photos and Videos also look the same, and in some cases are actually just links to a photo sharing service. Are these things really all the same? More importantly, should we really be treating these things all in the same manner?
Another problem is that most people are not very good at reading a large list of items. People like to see what is interesting and popular. They also like to see things that may be related to one another. I am not talking about personal customization, but about grouping related items. For example, over the past few weeks we have seen World Cup action. With a stream based interface, you may see a World Cup related item, and then 20 items about technology, humor, world news or religion. At the end of that list is another World Cup related item. There are only 2 things these 20+ items have in common, time and your network.
Why is this a problem? People tend to be very visual. People also take a lot of time to process information. So, if the stream is going by very rapidly, you can “miss” items due to your processing time. If your network is large enough, those missed items will likely reappear in your stream later. On the other extreme, if an item is popular enough you could see it several times in your stream which obviously does not add any real value. In this case, we are not using the power of the social network except as a source of information. We are not even aggregating the information.
A stream of unrelated items, or only related due to their time of publishing, is a terrible way for people to consume information. However, it is a perfect way for programs to consume information. Programs will use time as another attribute of the item, just like the person that published the item and any other information it can infer. When we see something that is more appropriate for a program rather than people, that something becomes a protocol or a specification. So, can we all agree that the stream, and the way that Facebook and Twitter post information, is the specification? Also, now that the specification is defined, can we start building things that people will like to use?
Just remember streams are good for programs, but suck for humans. The question now is what can we build with the streams? Can we now build the boat so that we can navigate and not drown in the stream?