While I was at Carnegie Mellon, we used the Andrew system as our primary computing resource. Andrew was so ahead of its time in so many ways that till today I still long for some of the features that it offered back then. The coolest part of it was that it all worked together. I still remember using twm, or motif along with Tardis as my console, and mucking around with my X11 preferences to setup my environment just right. But the thing I miss the most about Andrew is Zephyr.
Zephyr was the first real “instant messaging and presence” system in my opinion. We used Zephyr long before there was ICQ, or AIM, or Yahoo Messenger (or Yahoo Pager as it was first known), or GoogleTalk, or Skype. But Zephyr was the coolest thing since sliced bread. Not only did it allow you to maintain a list of friends whose presence you could monitor (mk5a has logged in to orion.weh.cmu.edu for instance) but it also allowed all kinds of cool functionality that IM never really caught up with.
Let me try to describe the coolness of Zephyr from memory. If there are any MIT/CMU alums out there who remember it, I would welcome their input to correct me wherever my memory may be failing me.
Lets start with the UI. Zephyr offered both a command line interface as well as a rich UI built around it. The command line interface was brilliant for being able to send messages even when you were telnet’d in over a dialup (shudder!). The graphical UI was cool — It not only showed a list of all your “friends,” but also showed which machine they were on. Since the machine names at CMU were logical and geo-coded by the name of the cluster they were in, you had a pretty good idea of where the person was on campus. For example, weh.cmu.edu meant Wean Hall — the home of all things geeky.
When a user logged it, their name got added to the list of online users with a little + sign next to them. The + sign would fade away. When they logged out, it showed a little – sign next to their name and then removed the name from the list. You could of course also have popup notifications about when a user logged in.
The standard UI for Zephyr used message pop-ups which appeared on the top left corner of the screen. The messages would pup up in individual windows (like the “toasts” do in Windows). The user could determine if they wanted the messages to automatically close after a predetermined time interval or stay stacked until you clicked on each message. The entire message window was a giant button — so clicking or hovering over it was not a problem.
Now, I mentioned “friends” above. but like Twitter and FriendFeed today, Zephyr also allowed me to watch people who I may not know, i.e. the “follow” vs. “friend” functionality. This allowed the discovery of lots of smart (and sometime even cute ones!) people — or as they say for Twitter/Facebook now: “Facebook is for people you know, Twitter is for people you want to know better.”
Zephyr had all kinds of utilities including one called zlocate, which alowed you to find out where someone may be logged in. zmap allowed you to produce a ASCII map of a particular cluster – you could tell exactly in what corner of the room someone was sitting in by using zmap. The wall utility allowed you to blast a message out to everyone within a particular cluster (or with a wider distribution if you had the powers). It also had a ultra fun zbomb utility which allowed you to flood a user with so many zephrys that it would take them a while to close out all the windows! 🙂
But I haven’t even gotten to the coolest feature yet. The Zephyr instances. These were vitual channels that one could subscribe to to become part of an opt-in community on any topic. The best examples are the food instance and the help instance. If you subscribed to the food instance, anytime there was free food anywhere, it would be broadcast on the food instance. (At Stanford we have the Gates food maling list, but that’s not as instantaneous as the Zephyr food instance! And as a student, when it comes to free food, you want to get that message quickly, before all the food is gone!)
The Zephyr help instance is where the magic happened. If you had a question, any question all you had to do was “zwrite -i help What’s the syntax for a regular expression that finds email addresses?” or better yet “zwrite -i help What’s the phone number for Dominos” and within seconds someone out there on Andrew-land would respond. We had “wisdom of the crowds” before it was called wisdom of the crowds. Zephyr was your oracle. It knew it all. You could ask (almost) anything and get an answer. In fact if you don’t know it already, the answer to “What is the meaning of life?” is 42. I learnt that on Zephyr.
The wisdom and instant gratification of Zephyr instances surpassed anything I had ever seen. It truly worked like magic.
Today, over 16 years later (geesh, I’m getting old) we finally have Twitter. Twitter is getting closer to what we had with Zephyr. It’s still not there. but it has the makings of it. By connecting my Twitter account with my Facebook status, I’ve finally been able to recreate the “oracle” I want. For instance, I was having trouble with my wireless router. A quick post to Twitter about which new router should I buy, resulted in a series of responses on Facebook with recommendations for which router to buy. Within 10 or 20 minutes I knew what my choice would be (in case you’re wondering it’s the Linksys WRT54GL — note the L, not the newest models, but the L). Similarly when I was trying to get some data on the paid click rates for search engines, I as able to ask Twitter (though I only got responses on Facebook!)
David Pogue (@pogue), the well known tech columnist for the NY Times conducted a similar experiment recently. Twitter really has the potential to become the oracle that taps into the wisdom of the crowds. However, Twitter is not perfect. It needs LOTS of improvement. I have lots of ideas about it too (UI improvements, threading, search, media, channels, discovery, ranking, visualizations, etc.) but that’s a topic for a whole other post.
But so far, in the absence of being able to return to Andrew and Zephyr, I’ll end with…
“Twitter, can you be my Zephyr?” (I hope so!)
P.S. In case you’re wondering, I’m @manukumar on Twitter.