An Alternative UI for Public and Private Timelines

I decided to spend a few hours creating an alternative timeline client. Timeline clients are great for interacting with applications like Twitter and Facebook.  If you are going to critique, and I hope you do, please think functionality over style. I am calling the application “TwitterTime“.


Using the Dashboard Controls of TwitterTime I can determine what is happening in my network, and then focus my attention on specific messages using the Timeline Controls.

Breaking Down the Components

The Dashboard

The dashboard represents an overview of the information and people I am following. The control highlights 4 key types of information: time, messages, people and location and I simplify the data by only showing it in aggregate.

Retweet Activity Widget

The Retweet Activity Widget track all retweets by the people that I follow over a 24 hour period. Hovering on the graph shows the user and the retweeted message, clicking creates a TimeLine. These can also be filtered by location

Term Tracking Activity Widget

The Term Tracking Activity Widget displays the global activity of all terms and phrases, I’m following. I can pick an individual term by selecting it from the Terms Drop Down. Hovering on the graph displays the specific messages that mention the terms and clicking creates a TimeLine of the people discussing the term or phrase.

People/Lists Alerts Widget

The People/Lists Alerts Widget is used to see the number of messages created by the people I follow. I can customize the control by changing the time horizon, selecting the size of the grid or choosing one or more locations. The default value is 24 hours and 12 tiles. Hovering over a user/list displays the most recent messages, clicking adds that user to a Timeline. If the user has mentioned me or sent me a direct message an icon will be added to the image. The tiles of the grid can be pinned for consistency or dynamically update.

Geo Widget

The Geo Widget highlights the regions that have the highest activity for my network, hovering on an area displays more detail about the people, double clicking drills into the area. Once zoomed in I can hover to view messages or click to add people to the Timeline.


The timeline is used to view the stream of messages. Some important things to notice about the Timeline Control:

  • The stream moves from left to right
  • Absolute time is a central part of the control and it represented by ticks above the Timeline.
  • You can move the triangle to any point in the Timeline and all Timeline controls will reflect the request, giving you the ability to backtrack
  • “N” number of Timelines can be active
  • All Timelines can move in sync or independent

TimeLine Control

Like a video editing application the Timeline Control can be expanded or contracted by clicking on the black resize bar, which is part of the scroll bar.

  • Reducing the size of the messages allows the user to see additional messages at a glance
    • this action also summarizes the messages making them understandable at very small sizes

User Control

The User Control is displayed by hovering over the cards to the left of the Timeline Control. This control shows all pictures of the people currently in the Timeline and allows the user to quickly filter them in or out.


The TwitterTime application allows me to quickly see at a glance what is happening and then determine where I should focus my attention. The combination of controls looks like it would meet my message processing needs, how about yours?  Round one complete.

Real Time vs PageRank

Researching Google Chrome OS this afternoon helped me see the real time web in a new way. The sources referenced in the real time search appear to be very different then those of traditional web search.

I ran the search “Google Chrome OS” on Google and restricted the search to the past hour.

I ran the same search on OneRiot “Google Chrome OS”.

The two biggest differences were the ads and the content sources. I am going to focus on the content sources for this article.

  • Google’s sources in order:
    • News DD
      • Computerworld Australia
    • General Search Results
      • PCMag
  • OneRiot’s sources in order:
    • Engadget
    • YouTube
    • Googleblog
    • Techcrunch

As you dig deeper into the first and second page of results on both engines it becomes clear that PageRank style search engines like Google rank traditional publishers higher, while real time search engines rank  blogs, and videos higher.

What are your finding?

Defining Real Time

The real time web is getting hotter with every day. Web properties like Twitter and Facebook are leading the charge.  While credit has to be given to these companies the infrastructure for real time has been quietly building momentum over the past 20 years. Things like GPS, Doppler Radar, design patterns, black board systems, video on demand, networking, multi-threaded applications, sensors and multiple core processors are really at the heart of this overnight revelation.

Real Time Search

Searching the real time Web is quickly becoming a big issue. If we look to the leaders in the space, Googles Matt Cutts for example talks about Google’s approach to twitter in the video below.

People are starting to wonder if  the concepts of Universal web search can be extended to incorporate the signals of the real time web? Before diving into that question, let’s review: what real time actual means, some of the signals being exposed by the real time Web, and how they might be captured.

Real time computing is not about processing things that happen now, instead it is about operational deadlines and predictability. This means something that changes once an hour if that is its defined deadline can be considered real time. Not what you expected I bet, but how often things change is  an interesting angle to look at the real time Web. The graph below breaks real time web data/signals into 3 categories and maps whether the data should be captured implicitly or explicitly.


Part 1 of 2.

AT&T, Verizon and the IPhone

Reports are starting emerge that Verizon is going to get the IPhone in the 3rd or 4th quarter of 2010. Deadlines are a great motivator for startups, but I wonder if a company like AT&T can turn it around.

If this rumor is true, here is my advice to AT&T. Hire a group of entrepreneurs instead of McKinsey. You have an amazing opportunity, don’t blow it.

I will give you a few ideas for free, if you would like more ask:

  1. fix the locations with biggest cluster of tech people first
  2. change your strategy on transparency
  3. create a new campaign that leverages the people that influence, make them more famous

Good Luck AT&T, I have no reason not to cheer for you. I just want my IPhone to work, let’s go kick Verizons @$s.

If my facebook identity goes away, do i exist

I tried to log  into facebook this afternoon, nothing. I tried nothing, I tried something.

Ok, the site is live, but where am I. Do I exist, if Facebook will not display my profile?

Hacking Add-on-Con

I am organizing Add-on-Con for the second time. During last years event, one of the best parts was putting faces with names. This year during the planing stage I had an idea, to try a game, to accomplish the same effect. I logged on to the web,  typed, popped open Adobe Illustrator and started to draw. The end result can now be seen at

The game is proving to be great fun and a good way to virally let people know about the conference. I believe it is also achieving the goal of helping people put faces with names.


I originally had the game announce each players score over twitter, but that seemed to be viewed as spam. Not sure I agree, but I asked the developer to change the code. Now it announces each time a player takes over 1 of the top 5 slots and enables each player to announce the score from their own twitter account via a retweet button.

One of the really fun side affects that emerged is the competitive nature of the players. A large subset of the group are software developers, so hacking the game quickly became a popular way to post more impressive scores. Leading one of the player’s who claimed the top spot to claim “yes, this was legit”.

Another developer was kind enough to send me his hack:

<start script>

function myScript() {
setTimeout(‘timer.clicks=18;var mycards = new Array();mycards[0]=card_1;mycards[1]=card_2;mycards[2]=card_3;mycards[3]=card_4;mycards[4]=card_5;
mycards[5]=card_6;mycards[6]=card_7;mycards[7]=card_8;mycards[8]=card_9;mycards[9]=card_10;mycards[10]=card_11;mycards[11]=card_12;mycards[12]=card_13;mycards[13]=card_14;mycards[14]=card_15;mycards[15]=card_16;mycards[16]=card_17;mycards[17]=card_18;mycards[18]=card_19;mycards[19]=card_20;mycards[20]=card_21;mycards[21]=card_22;mycards[22]=card_23;mycards[23]=card_24;for(i in mycards){var cardText = mycards[i].cardText;if (mycards[i].isFound != true){mycards[i].flipCard(\’card_\’+(++i));for(j in mycards){if (i != j && mycards[j].isFaceUp != true && mycards[j].cardText == cardText){mycards[j].flipCard(\’card_\’+(++j));}}}}’,15000);

var script = document.createElement(“script”);
script.type = “application/javascript”;
script.textContent = “(” + myScript + “)();”;

<end script>

Thanks kevin, have fun and see you at Add-on-Con on December 11.


Get every new post delivered to your Inbox.

Join 2,208 other followers