TruerWords Logo

Search TruerWords

Sign Up  Log On

“Steve Yegge on Living Software, Reminds me of Something...”

From: Seth Dillingham In Response To: Top of Thread.  
Date Posted: Thursday, January 25, 2007 2:05:31 PM Replies: 1
Enclosures: None.

Steve Yegge has written another fantastic rant, this time about designing for living software.

He starts out by reiterating something I've said before: all software is crap. (I usually say it all sucks, and then follow it up with a comment about all email software sucking infinitely.) He goes on to talk about the traits that make some software suck the least.

I got a small thrill as I read it, and I think some of my friends will, also, if they take the time to read it (specifically, those friends who spent time working on Conversant, or a lot of time using it).

We did the UI all wrong (something which I hope to remedy), but this article has reminded me that the design principles we followed in building Conversant's core — and many of its plugins — were pretty good.

Moving right along, world-class software systems always have an extension language and a plug-in system — a way for programmers to extend the base functionality of the application. Sometimes plugins are called "mods". It's a way for your users to grow the system in ways the designer didn't anticipate.

The very best plug-in systems are powerful enough to build the entire application in its own plug-in system. This has been the core philosophy behind both Emacs and Eclipse. There's a minimal bootstrap layer, which as we will see functions as the system's hardware, and the rest of the system, to the greatest extent possible (as dictated by performance, usually), is written in the extension language.

Certainly, there are aspects of Conversant's core we should have done better, or at lesat should have re-done by now. Also, there are a couple of things on his checklist which we barely even considered. Still... go read his rant, and see if it doesn't sound familiar to you.

Discussion Thread:

There are no trackbacks.

is Seth Dillingham's
personal web site.
Read'em and weep, baby.