They're still out there, scattered, but still kickin butt -- the people who used ThinkTank, Ready and MORE outliners in the 80s.
I wrote about these products in my Outliners & Programming piece, written in 1988 as UserLand was starting up.
MORE was the ultimate in this series of outliners, and it had a very important feature that allowed you to use the structure of your document to control its appearance, as a printed document, a series of presentation slides, or a graphic tree chart. The graphics combined with this depth that made MORE an interesting product, imho.
Well, we now have that feature built into OPML Editor outlines. I'm starting to use it in two contexts. First, in the World Outline software, where it's already being used to render the blogpost and howto nodetypes, and in Scripting2, the software I use to edit and publish Scripting News.
Here's an example of a document rendered with the new techniques. If you used MORE you'll recognize the style immediately.
Another demo document.
Here's a screen shot of this blogpost being edited in the outliner. See the rules at the top of the page?
It works differently from MORE, which used a big dialog.
The rules are now specified in XML. There are advantages to doing it this way. I can just copy/paste the rules, or use the Boilerplate facility in the Bookmarks menu. We have lots of support for outlines of XML that dialogs don't get you. Just being able to drag the rules around an outline makes a big diff. The point is that rules are themselves a structural thing. Having them be edited in a structure turns out to be a big win.
Anyway, it works!
I've been slowly learning JavaScript over the last few months, and just got bit by something that I think is a mistaken design. I bet it's bit everyone for whom it's not their first Algol-like language.
The problem came up with an image that had an "undefined" src property.
I could see it was undefined in Firebug. When the page loads it's not not undefined. I click on it, and boom it loses its definition. How could that be.
Well, you could have assigned it an undefined value. Let's look for an assignment. Found it.
Search on Google. Aha. The weirdness. You can call a function with fewer parameters than it defines. The unspecified parameters are (ta dahh) undefined.
Even C, the most laissez-faire language in AlgolLand doesn't allow this!
Once I knew what I was looking for I found it right off, fixed it, and all is good.
Adventures in programming with Uncle Davey.