Sunday, September 24, 2000 by Dave Winer.
Ray Ozzie, the lead developer of Lotus Notes, looks at a computer screen and sees a collaborative networked environment.
Marc Canter, the man who started Macromedia, looks at the same screen and sees interactive television.
Tim Berners-Lee, the inventor of the World Wide Web, sees a page that links to other pages.
Susan Kare, who did the icons for the Mac and Windows, sees a blown-up bitmap that will look precious when viewed at a lower resolution.
Steve Wozniak, the developer of the Apple II, sees a disk controller pushing bits around with various rates of efficiency.
Richard Stallman, the philosophic leader of the free source movement, sees an opportunity to route around monsters who want to steal his code.
Every creative person brings his or her two cents to defining what computers are, what they do, and how they do it. And if we respect each other, we can help each other. My rose colored glasses see something different from all these people, but I can help Ray, Marc, Tim, Susan, Steve and Richard realize their vision of the twinkle behind the screen.
When I look at a computer screen I see an outline.
An idea I had hanging out in the doorway of my programming partner's cube in 1980 has turned into a career. I said "I know how this *really* should work. Point at an idea, press a key and it expands to reveal detail. Do it again and it collapses." A simple idea that my professional life has been revolving around ever since.
I've turned outliners into tools for authoring presentations, to browse or edit an object database, a schedule, web server, script, or menu bar. But now I'm swinging back all the way to the beginning, to the simplicity of my early products but doing outlining from an entirely new point of view.
As with the HTML web, the key concept is linking. But the display is different. When you link from an outline "node" to another outline, the seam is invisible. When a reader double-clicks on the link, there's a slight delay while the other outline is loaded over the Internet, then it expands in-place, as if it were part of the same outline. In the same way that a click on a link in an HTML page shifts your context, we take you to a new place, but there's continuity in our environment that isn't there in the HTML web.
Outline Processor Markup Language, or OPML, is the format behind this new kind of Internet outliner.
It's an XML-based format, a three-screen spec that any HTML coder can understand in a quick read.
"The design goal is to have a transparently simple, self-documenting, extensible and human readable format that's capable of representing a wide variety of data that's easily browsed and edited."
There's its mission and uniqueness. Unlike most XML-based formats, it's designed to be readable by ordinary human beings. It's simple because the idea is simple. As I've said in previous pieces, this is what most XML designs miss. If humans can't grok it, they won't write it, they might not even run it. Now it's hard work to refine and re-refine until a complex idea becomes simple, but that's the juice in user-oriented software, and in the formats we use to represent the users' work.
OPML is the native file format of Radio UserLand, our MORE-like outliner that understands the Internet. I'll be writing more about new things it does in coming pieces. The software is still in beta, a little rough for end-users, but totally ready for curious developers.
Most Internet services can be modeled as hierarchies; music playlists, mailboxes, websites, todo lists, calendars, presentations, FTP sites, specifications and directories are a few examples. This essay is such a hierarchy.
If you're a developer of network services, and have struggled to create a user environment where people can edit structure, then OPML could be your solution. Wire up your hierarchies to OPML, it's easy, download a beta of the Radio UserLand software, open the URL, and start browsing. Look at the XML it generates. Link to another document. Double-click on the node. Look at the raw XML. You'll get it. If not, ask a question on the mail list or discussion group. Tell us about your service, and we'll figure out how it fits in.
Even if no one else cares, I do. If things go as I think they will, I will spend the rest of my career exploring applications for this format. It's that fertile.
This is a new idea, building a worldwide outline to parallel the HTML web. I don't think it's ever been implemented, or even dreamt of. However, I'm not going to patent the idea, because I want it to blossom. I feel we have enough technology and expertise to compete without a patent. Patents leave holes in marketplaces, they kill ideas, imho no creative person can support patents on software ideas. They are anti-Internet.
Our new format is open, so anyone can create a competitive product and be compatible with ours. Even better, you can implement a network service that our outliner can browse and edit, and integrate with other hierarchies that we can edit. I don't want to create barriers, I want competition and compatibility and growth, growth I can participate in, and that means having an open XML-based file format, with a trademarked name.
Names come to mean something, having those names diluted is not good for the creative process, it can create confusion and stop forward motion, and penalizes generosity. There's a limit to how open one can be.
For example, I could write "The Cathedral and the Bazaar 2.0" but no one would buy it because I didn't write version 1.0.
We must respect an authors' ability to finish a thought. One would think this is self-evident, that all people with a long-term investment in creativity would follow this rule, but I don't believe it works that way in real-world business. When money is involved, people don't always respect creativity. (Ask Courtney Love, Roger McGuinn, Prince or Chuck D.)
So my advice to creative technology people who want to be able to continue their work, learn how trademark law works and use it. Trademarks are not like patents, they don't stop people from building on or improving on your work. However they do enforce a base level of fairplay, no one can say they created your creation. Where patents kill creative processes, trademarks are good for creativity. Use them.
Finally, a hat-tip to Doug Engelbart, the inventor of almost everything we do today in computers.
In the late 1970s, when I was doing my first outliner, a fellow grad student urged me to read Ted Nelson's landmark book, Dream Machines and Computer Lib. I did read it and saw that my newly-hatched ideas were being discussed, in the past tense -- describing the work Engelbart did on the Augment system, in the 1960s.
I asked my longtime friend Bernie DeKoven to make an introduction. I've never met Engelbart, even though I've been developing ideas he pioneered for 20+ years. I sent him an email last week offering to demo my Internet outliner, the crowning achievement of my career, and with all possible humility, something he could be proud of, perhaps in a similar way. Even if such a meeting doesn't take place, I want to be sure my gratitude is recorded.
I am thankful that it was possible to build on Engelbart's ideas. If you want to get an idea of what can happen when people are generous, look at the career of Doug Engelbart, and all that was created around and upon his ideas.