It's been about a year since I've thought about personal servers and Web Services Intermediaries and Mojito, and now that I'm spending a lot of time with Rohit I'm starting to think about them again. Mostly because he cannot stop talking about them, though this time he's calling the server TPd. (Ten years ago, he called it StarTPd or *TPd because such a server could handle ftp, http, and smtp messages in and out. The star got dropped and/or burned out sometime in the last decade, perhaps during the IMPP wars at the IETF in the late 1990s. Oh, the humanity! As for my own interest, I've been kicking around these ideas with Rohit -- Internet-Scale Event Notifications and munchkins for about a dozen years now. Wow, that's a long slog...)
I'm still inspired by Ben Hammersley's post in 2002 quoting Morten Frederiksen's description of Hep: "Software that transfers messages between different messaging systems. Eventually, it should transparently route messages between email, weblogs, and instant messaging. Currently Hep does one thing: fetches news feeds from Web sites and lets you view them in your email client."
That inspired Rohit to write,
Both Hep and ZOË are innovative new messaging engines that I categorize with the name Personal Servers. Personal Servers are a new kind of infrastructure that run on behalf of people to process the messages that come into their life through email, web, IM, news, ftp, RSS, SOAP, and Internet-scale event notifications. Mod-pubsub is peanut butter to a chocolatey Personal Server becausePersonal Servers go hand in hand with Information Clients, for which Gary Burd did a nice roundup:PubSub makes Personal Servers timely and actionable.In the future, all decentralized applications will be developed using Personal Servers: bags of bits will routed hop-by-hop through whatever application-layer protocol is available, from source to destination. We call this insight Application Layer Internetworking, or ALIN, named by analogy to IP Layer Internetworking done by today's Layer 3 Routers (slides, notes). From an architecture standpoint, Personal Servers have just one rule of thumb:The message is the medium.Security, reliability, filtering/transformations, and so on all stem from this first principle. (Respectively, security is message-centric, reliability is an upper-layer concern, and filtering/transformations are rules at active proxies. More specifically, the edges are intelligent because the network is insecure, unreliable, and dumb.)
Note how Mojito fits into the Information Client vision, too:
- Haystack: we aim to let users define whichever arrangements of, connections between, and views of information they find most effective.
- Chandler: users will be able to organize diverse kinds of information for their own convenience -- not the computer's convenience.
- ZOË: Think about it as a sort of librarian, tirelessly, continuously, processing, slicing, indexing, organizing, your messages. The end result is this intertwingled web of information.
- clevercactus: clevercactus is focused on information centric users who want a single solution to manage their core information needs.
- IdeaGraph: IdeaGraph is easy-dailyto-use software for creating visual maps of ideas, that can work with web pages, documents and images.
- Spring: It's a universal canvas where you interact naturally with singular, visual representations of the people, places, products, etc that define your life!
- Agent Frank: The goal of Agent Frank is to be a personal intelligent intermediary and companion to internet infovores during their daily hunter/gatherer excursions.
- Hep: Hep Message Server is software that transfers bits of information between different messaging sytems on the Internet. When it's done, you'll be able to use Hep to transparently route messages between e-mail, weblogs, and instant messaging.
- Dashboard: The dashboard is a piece of software which performs a continous, automatic search of your personal information space to show you things in your life that are related to whatever you happen to be doing with your computer at the time.
Not much has changed about the idea of Information Clients and Personal Servers in the last year; what has changed is that it sounds to me like Rohit is (finally) interested in working on them. (His PhD and wedding were distracting him for the better part of the last 18 months.) Let's see if we can get some momentum for this now that those distractions are off the table. Just in case, I'm keeping handy the Architect's Lament should Rohit need it...
"The first matrix I designed was quite naturally perfect; it was a work of art, flawless, sublime. A triumph equaled only by its monumental failure."