Revolutionizing the Computing Experience
Significant opportunities to revolutionize the computing experience have accumulated. Companies exploiting just a few will enjoy incremental competitive advantages. More ambitious enterprises may punctuate the industry equilibrium and shape a revolution.
Prototyping the Apple Macintosh was an exciting challenge back in 1980. Our small skunkworks team wanted to cram as many powerful good ideas as we could invent or envision (standing on the shoulders of giants like Doug Engelbart, Alan Kay and their colleagues) into the tiny footprint that the day’s technology could afford (twin 6809s 16K byte RAM, ½ for the 256×256 B&W display). Of necessity a lot got cut or minimized, but it created great forward momentum—for three decades and beyond!
Today, Moore’s “Law” says we should be enjoying platforms approaching one million times the performance available then. Yet, despite many advances, much legacy is also being carried, and many outstanding options remain unrealized. Unfortunately, the computing experience hasn’t improved apace with that millionfold power factor—it’s better, but hardly by a million times!
This unrealized potential represents a huge opportunity. I believe the zeitgeist “pilot waves” for a disruptive leap are already appearing. These presage a deeper popular demand for significantly improved quality across our entire computing experience. Getting in front of this demand will require focusing on truly new value to be delivered, beyond the latest enabling technologies, platforms and software patterns (such as cloud, mobile or social computing)—exciting as they may be.
We must take a longer view, beyond the next quarter—the computer revolution will never be over. Personal computing interfaces are now a permanent coevolving feature of the human experience. Investing in improving our relationship with our devices will be as beneficial to us as transforming wild wolves into domestic dogs.
Below is a sampling of seven specific technical topics cataloged for consideration and comments. A unifying theme is making the whole computing experience more helpful to people. Certainly there are advances being made in all these areas individually, but I believe much more can be done. And of course this list is just a start. Today’s million-fold more-powerful platforms can be leveraged to deliver a broad critical mass of advances in multiple areas—and thus to raise the bar, build momentum, and enable further exciting future visions for computing.
1. Activity reification. Computing should be organized around what the user is doing—beyond just the apps, servers, files etc used to do it. Activities like “making a slide presentation” should be abstracted as models or classes, with instances explicitly embodied persistently. Currently the user is burdened with orchestrating all the ingredient PowerPoint projects, Photoshop assets, Firefox windows, eMail messages, Word documents etc—and has to recreate all this organization by hand if interrupted. But computers are supposed to be whizzes at helping manage data and processes…so, help already!
2. Mobile identity & portable personalization. It’s an anachronism that we still focus so much on the devices. It’s not about them, it is all about you—specifically the aura of information that virtually surrounds each person. This “aura” needs to be maintained coherently across all platforms a user engages with—clouds, workstations, laptops, phones, TVs, microwave ovens, home security systems, ATMs etc. This is beginning to happen, but it should become universal.
For example your browser and your DVR should seamlessly share knowledge about your entertainment preferences. Working at a new client’s shop shouldn’t require re-teaching all their tools and infrastructure your customizations. Google Maps and your iPhone should be talking to your car’s GPS subsystem. People should merely announce they are “in the house” and have their “aura” inform every platform. Users shouldn’t log onto computers, devices should volunteer to sign up to help the users!
3. Ability silos & reuse. Both the granularity and the “discovery” of a system’s abilities needs to be addressed—probably at a deep programming and modeling level. In practice, why do we put up with retraining computers repeatedly with similar functionality? If AutoCAD or Illustrator knows how to create a great diagram, why are you struggling with the drawing tools in Word? And why aren’t the layout, text flow and formatting capabilities of Word or InDesign readily available in every other app? You’ve paid for the core ability; why should you repay for valueless redundancy or repackaging? (Of course vendors short-sightedly profit from the balkanization today, but they’ll profit even more by leading the world away from this silo model). OpenDoc and OLE were a good start; let’s push it further.
4. Mature-enough “new” technologies. When the Mac was conceived, numeric libraries and string functions were considered features; nowadays not having them would be bizarre. It’s past time to raise the bar on what an a la mode operating system defaultly supports. Here’s some candidates:
• Databases. DBs should be as easy and ubiquitous as file systems.
• Constraints. Everything from window layout to decision support.
• Machine learning. What application or interface couldn’t benefit?
• Semantic modeling. OWL/DL or other sharable standard descriptions.
Perfecting every such library doesn’t matter as much as low-threshold availability; IEEE floating point standardized five years after the Mac arrived. Developers should worry about ACID or transactions as rarely as they do about square root algorithms or file system disk block layouts. The less detailed expertise required by developers, the more value delivered to more users. (See Ruby-on-Rails).
5. Commands, scripts & languages. Not everybody needs to become an expert programmer, but almost everyone eventually wants to give the computer instructions beyond what canned interfaces or options profiles anticipate. This has fostered the repeated invention of ad hoc scripting systems of varying power and lucidity (See *nix shells, HyperCard).
But users are inevitably empowered by elegant programmability. My deepest disappointment with the Mac was that—unlike its spiritual predecessors, the Smalltalk and Lisp machine systems—it shipped without a coherent pervasive programming model that was equally accessible to all levels of developers and users (though built-in BASIC was tried). Perhaps the world needs a “Squeak Machine”?
Meanwhile, apps increasingly climb aboard browsers as universal UI frameworks, and JavaScript is oozing out as a de facto programming model. The time seems ripe for some bold, inspired, design evolution (beyond simpler things like layering in a type system). There are many avenues to explore, such as requirements-oriented declarative approaches. For that matter, command lines obviously haven’t gone away—so perhaps concatentative systems like Forth, PostScript and combinators (eg Joy) also deserve further serious consideration as models?
Whether it’s directing Siri or your TiVo DVR, everyone’s a programmer now and from here on, so we ought to try to make our media “pidgin” more articulate.
Modal dialog and QWERTY legacies, circa late 2011
6. Legacy kludges & qwertys. Critical review of existing systems will suggest many further opportunities. One infamous example that’s received some recent attention is modal dialogs (eg when you pop up the Print menu and then the underlying app window becomes blocked). With 1000000X more powerful platforms, it no longer seems that resource limitations and programming complexity are viable excuses for the persistence of such awkward impediments. Likewise, why does that “spinning pinwheel of death” seem like it’s becoming an increasing fixture of the user experience? Diligently exorcising infelicities, instead of ignoring and adapting to them, opens up new vistas for progress.
7. Search & query interface. First, search still needs to become truly useful at scales below that of the entire web—such as enterprise wikis, our personal “information auras” etc. Middle managers are said to still spend at least 25% of their time trying to find information in their enterprise, and much thrashing overhead also occurs during personal use. Perhaps classic keyword indexing, page rank etc might be supplemented to use explicit or learned semantic annotations?
Another provocative feature is modern search’s free-form interaction pattern. In contrast to the explicit directive style of point-and-click or command lines, search is driven by an engine responding to sketchy user-hinting. Why not offer that pattern as the primary top-level for the whole OS? Why should users hunt among dozens of inscrutable icons and folder hierarchies? Google Desktop and the Mac’s Spotlight are good starts, but perhaps someday we will just type, say, “insanely great slides”, and be offered all the relevant activities and resources that the computer has learned will resonate, semantically as well as syntactically?
A Call for Further Progress
This list could be elaborated and extended of course, but hopefully these examples are enough to convey the scope of the opportunity. Then the immediate follow-on question is: Which organizations or teams have a broad mandate to profitably revolutionize our computing experiences? Some might be computer or operating system vendors or web platforms such as search, social media or cloud ecosystems, enterprise, tools or other software suites, or smaller efforts to improve a focused product or feature area. Where is today’s “locus of initiative” for innovations? Any referrals are welcome; I’d like to work further with whoever wants to deliver a new installment of “insanely great”!
—Marc LeBrun, January 3, 2012
Acknowledgements
Thanks and credit (but of course no blame!) for much inspiration to many, including: Jans Aasman, Bob Albrecht, Ken Appleby, Henry Baker, Dean Brown, Howard Cannon, Douglas Crockford, Robert Cousins, Ted Kaehler, Johan de Kleer, Doug Engelbart, Fred Garrett, Norm Hardy, Jared Harris, Andy Hertzfeld, Steve Jobs, Shel Kaphan, Alan Kay, Ray Kurzweil, Gottfried Leibniz, Larry Masinter, John McCarthy, Paul McJones, Gordon Moore, Andy Moorer, Hans Moravec, Ted Nelson, Don Norman, William of Ockham, Richard Petti, Jef Raskin, Alex Stepanov, Larry Tesler, Manfred von Thun, Zooko Wilcox-O’Hearn, Terry Winograd.
Media, Games & Puzzles
Other Interesing Links




