What does a true, next-generation Internet word processor look like, one that deeply embeds the browser and community? The word processors we have today are like a bad haircut from the 1990s. Microsoft Word, for example, is focused on printing pretty documents on paper, rather than focusing on such activities as lightweight collaboration, browser-based documents, advanced hypertext, and more. This is probably due to a breakdown in the market and a lack of imagination. We don't need new clones of Microsoft Office on the web -- what we need is deep, sustained innovation that merges Wikis into our documents and browser, and solves the conundrum of why groupware sucks.

I have been obsessed with this research question for a long time. I've taken several stabs at it, turning the wheel a few times.

The first one was OpenPortal, a project of mine from about 1999. In OpenPortal I combined DHTML like easy editing with the Wiki philosophy. From the OpenPortal docs: The second big project along these lines was Paper Airplane, which I touch on in the next research question.

An interesting side effect of this research question is that almost everything I have done the last two years doing strange stuff with Ajax, such as the history support stuff with RSH; the client-side storage stuff with Dojo Storage; and the offline browser support with Dojo Offline was all done with an eye towards this goal: a few years ago I started another next-generation Wiki embedding some of the ideas above, named Kiwi, and wanted it to work offline, have good history support, etc. I then ended up working on those side issues instead of the primary question and Kiwi, which is not necessarily a bad thing.



The flip side of the previous question is: How far can we push the present generation of web browsers from the inside through clever tricks? Even as we are trying to push browsers from the outside in new directions, we can also see how far browsers can be expanded from the inside. This research question has been my main focus the last two years, with the work done on the Really Simple History library for bookmark and back button support for Ajax applications; AMASS and Dojo Storage for large client-side storage; Dojo Offline for offline web apps; and HyperScope and Purple Include for expanded hypertext abilities on the contemporary web. To be honest, at this point I'm not quite sure how to personally push it forward more, except for the advanced hypertext stuff (see below).



How can we create communication technologies that provide ever greater levels of interpersonal connection, collapsing the geographical distance between loved ones and family? Related subgoal: how can we create mediated communication technologies that feel "unmediated"? I have friends and family all across the country since I've moved around alot. However, I feel like I can't really maintain a strong, real ongoing friendship with them when they live far away -- it's more like our connection is on 'life support', and we touch base through the phone every now and then. The real connection happens when they visit. Why can't we create communication technologies that collapse geographical space and make it possible to really feel like they are next door? The ones we have so far don't fill this need yet for me; connecting through email, for example, is like talking through a straw. I haven't made any progress on this goal or had any big realizations, but it is always in the back of my mind and one of the research questions that arises out of a real need of mine.

How can we create email systems that almost completely eliminate email from your life, allowing you to focus on the emails that you need to with as little time invested as possible? A related subgoal is: how can we create information technologies of focus and minimal distraction versus the technologies of information and collaboration overload that we have today? The last big breakthrough we had with email was GMail. However, all of our email systems assume that we love email, enjoy spending time checking email, and that more is better. With the arrival of all of our networking technologies, I believe that we don't just have Information Overload but Collaboration Overload as well now, where everyone and the world is trying to contact us in some way, whether it is personal, professional, or about Viagra ads. Not all emails are equal, and current systems force us to treat them like they are. Some email systems allow you to create custom filters. Last week, however, as I was spending hours creating and tending my Gmail filters I realized that the computer should be doing this for me. Custom filters aren't enough -- they are just another distraction and thing that has to be attended to. I think this area is ripe for some big innovations. This is a new research goal for me, borne out of my own frustration currently with email, but I have a few ideas to throw at it. Here are some ideas around GMail in particular. The big idea is that more is not better -- GMail should not be dumping everything into the inbox. The ideal situation is an empty inbox, where you see nothing. GMail should strive to move as much out of the inbox as possible, into side containers that you can attend to when your time and energy permits, rather than as a constant tap tap tap on your shoulder -- not all taps are equal. Gmail should:

be autotagging and figuring out my email lists, tagging them, and moving them out of my attention view. For example, I am subscribed to a Coworking email list, a Hyperscope email list, and a Dojo email list -- these should be autotagged as coworking, hyperscope, and dojo and removed from my inbox.



figure out what are social networking emails (MySpace, LinkedIn, Tagged, etc) and get these the heck out of my main view, autotagging them as "social_network". These are the worst offenders -- I'll get to them (twice a month) when I care and have time.



be figuring out who my friends are and tagging these as personal, also removing them from the main inbox and tagging them as 'personal'. It can either figure these out over time, or perhaps just import my MySpace social network in and figure it out from there -- I spent all this time building up a personal social network on MySpace, just import it into my email contacts so it can autotag these folks as 'personal' and get them out of the inbox so they don't get lost in the general email clutter, which is what happens for me now.





be figuring out my "professional" or business contacts and autotagging these as well, perhaps through my LinkedIn social network. Get these out of the inbox as well. If these social networks overlap (MySpace and LinkedIn), then it will just tag them as both.



have an automatic personal assistant that goes to bat for me to deny others from grabbing my attention in a way that doesn't work for me. I should be able to register some keywords, such as Really Simple History for my open source library, and bounce back a reply (an FAQ) that satisfies the most common questions. Perhaps I run several different businesses and could bounce back different FAQs for each.





autodiscover those crappy once a month "newletters" that everyone seems to send out (my Yoga studio, dance place, etc.) and again tag it as newsletters and get it out of the inbox In general, I've been thinking in terms of Attention Vampires -- things that steal my attention, and take away my creative energy versus making me feel better, more powerful, and more productive, a kind of Law of Conservation of Attention. Is there software that promotes more of the former rather than of the latter?

How can we create search systems that make answering our questions even more intuitive and integrated then they are now? Google is a fantastic invention. Like any successful invention, ever since coming into contact with search that actually works I want even more of it :) This research question ranges from being able to just talk into my phone and ask arbitrary questions (why isn't 411 truly about any kind of information you need?), to having search engines be able to "parse out" what they are dealing with a bit more, such as knowing what are 'How To' articles, what are 'Recipes', what are 'Articles', etc. so that when I do a Google search saying "how to change car oil" Google can respond with a bit more formatting of a list of howto articles at the top of the search results.

Can we create hypertext technologies that transform how we link and talk about information and documents? Further, how can we port these hypertext technologies to the contemporary web so they are actually adopted? I love that the World Wide Web massively simplified hypertext to get it actually deployed and adopted by much of the world -- I think that was a brilliant approach by Tim Berners Lee. However, it is now 2007, and computers are now smarter (and people are too when it comes to the conventions of hypertext) -- it's time to evolve our 8-bit hypertext and introduce new capabilities. Admittedly, most of the academic hypertext research has a morass of usability issues, however there are some great ideas in there (most from Douglas Engelbart and Ted Nelson) that could be cleaned up, ported to the contemporary web using clever Ajax tricks and usability studies, and integrated into our writing and publishing tools. This is the focus of the HyperScope and Purple Include work I have been a member of. There is just so much more cool and interesting ground we can cover in terms of (usable) hypertext than we have today.



Handling events still sucks -- how can we make scheduling and discovering events that are important and relevant to you and your groups suck much less than it does now? I've long wanted a bumper sticker that says "Evite Must Die." I can't believe that it is 2007 and we are still using Evite -- using Evite gives me the same trashy feeling I get when I watch E Entertainment. Event systems don't communicate with each other, they are a pain in the butt to sync, their UIs suck, and more. Why do I have to manually enter social events that I am interested in into my calendar? Why can't I just say that I am interested in yoga and meditation in my zip code, for example, and I could always just look at my calendar and find good and interesting yoga classes automatically there and recommended to me? I made this great giant poster during my sabbatical of all the free and interesting events happening in the city, yoga classes, etc. so that I could always have something (cheap/interesting) to do. After making this, I was like, shouldn't the computer be doing this for me?

How can we be more effective at creating ideas? I love creating new ideas and thinking outside the box -- I'm always looking for new ways to facilitate brainstorming. I once heard a great quote about relationships that I try to apply to my business relationships -- "Two people should stay together if together they are better people than they would be individually." 98% of the brainstorming I have encountered in my life feels like it makes the group less effective than they would be individually. Perhaps group brainstorming is the problem, but I think it's because the process by which we do group brainstorming is broken. I'm constantly looking for better ways to approach this; I talk about three ways here: The Cranky Inventor, Sacred Cows, and I Against I.