from Knight Rider to Ubiquity

Posted on February 17, 2009


Knight Rider has always been my favorite TV show. Yesterday during an unexpected insomnia I re-watched the recent 18 episodes, and interestingly, K.I.T T reminds me of Ubiquity. I dreamed about my browser could do what KITT can do yesterday, when I waked up, I believe the first thing I should do is to give my browser a special name(as cool as KITT), and it made me laugh – naming my browser officially announce my ownership of my browser, my browsing habits and patterns, my browsing history, and my future browsing continuity. So I jumped up at 5AM in the morning, tried to discover why my browser appears to be alive in my subconsciousness, I figured that’s essentially because of Ubiquity. Indeed, the life-enhancing experience in which Ubiquity gives me is NOT an accident.

Life-enhancing software

The most attractive attributes of KITT is not his appearance – the look and feel of the car, the fancy interfaces, but his action and behavior encapsulated in his language and his semantic response, which is a very symbolic life-seeking and life enhancing pattern to human beings. That’s exactly the key feature I found in Ubiquity, and I’d love to categorize Ubiquity as a life-enhancing software.  And the concept of life-enhancing software will eventually replace our old term “artificially intelligence”. I also learned that Ubiquity’s user interface must be as minimal as possible, life-reducing forms and metaphers should be avoided, in fact the existence of interface will block the task flow and break human perception of ownership.

Human Behavior Pattern System

Ubiquity is a language-based system, and I think it should be pushed further to capture human behavior patterns. Design pattern was originally suggested by Christopher Alexander, who framed it as “Design pattern captured the essence of successful architectural solutions and can be used as a way to solve recurring problems”, the descriptive(and prescriptive) nature of patten languages  could help Ubiquity to be organized in a better way. Here’s an example of one pattern that I created, inspired by Aza Raskin‘s video:

Pattern NAME: Host a party

Pattern behavior process description: 1. Email to notice friends. 2. Give map and directions. 3. Give a restaurant review. 5. Summarize participants. 4. Shopping for party. 5. Reminding friends. 6. Meet at the party.

Pattern problem: The whole process is energy-consuming.

Pattern solution: 1. tell U(short to Ubiquity) party hosting behavior pattern. 2. U provides friends lists. 3. U gives maps, directions and restaurant review, and marked your and their calendar 4. U sends feedback to you about friends participation. 5. U creates a shopping list for you. 6. U reminds your friends before the party. 7. After the party, U collects your friends review(or photos)about this party on facebook, twitter and flicker. (notice this process involves with multiple accesses to different web softwares and apps)

Pattern context: Party hosting

Pattern variables:
such as only perform tasks

The benefits are obvious. By analyzing and creating a series of human behaviors patterns(since we couldn’t really create a pattern language for now), we could easily “ubiquitize” a real-world task to a virtual -world task. This transformation is meaningful both for mobile(physical context) and web(virtual context). I think this method may formalize Ubiquity’s syntax as well as empowering user personalization.

This pattern thinking was originally proposed by my adviser John Zimmerman, who is an awesome design thinker and practitioner.

Wei Zhou

Feb 17th, 2009.