got here

epiphanatic » intelligent software, stupid software, and Unix-philosophy software
intelligent software, stupid software, and Unix-philosophy software
Posted on 03.02.08 by jstoner @ 1:23 am

I had some experiences with some spectacularly bad software over the past few weeks. BMC Software markets this confusing ball of stuff, with some internal boundaries I don’t understand well. My interface to it at work is called Remedy–it’s how I make requests for stuff like a server to run software on, or an account on a new system.

It has some intelligence, or tries to. There are ways to route requests. How do I get this thing I need from the Company? Well, it comes from some part of the company, and the software assumes you don’t know where that part is, and it gives you a few abstracted ways to specify that. Sometimes it grabs it out of your description of the problem you want to solve.

Or, you know, tries to. In practice, you do know where things come from, or have ways of finding out, so you make your request, you email the relevant person with the request number, they go in and correct whatever mistakes you or the system made so the wrong people don’t receive it and cancel it and they get credit for the work, and then they get to work.

Anyway, I was struck by how poorly this works, and I reflected on my experiences with using intelligent software. There seems to be a continuum of intelligence:

Highly intelligent software: Google is the example that comes to mind. It spell-checks my most obscure searches, and can tell if I want to do a search or convert between units. Its intelligence makes it easy to use, like having an assistant. It also gives me the option of bypassing its intelligence.

Stupid software: the BMC example above seems to fall in this category. As does Clippy, Microsoft’s intrusive office assistant thing that popped up and annoyed you, before Microsoft woke up and killed it. As does Microsoft Word’s document formatting, which I find infuriating. I often spend more time battling it than I do writing my damn document.

Unix-philosophy software: software that relies on the intelligence of the user. It’s not trying to be intelligent. It assumes you are, and gives you tools to do what you wanna do without getting in your way.

The Unix command line is the canonical example. Unix tools like grep, find, and sed are examples of tools that do particular things, do them reliably and predictably. They put a burden of expertise on the user, but they make sense. The boundaries between what grep and find do make sense. The way they talk to each other makes sense.

As complex as they may be, they serve a powerful philosophy: simple tools that work together to accomplish complex things. Pieces of a puzzle that has a sensibility behind it. A consistency that allows you to make predictions about how they work, even if you don’t know their function exhaustively.

They eschew intelligence, by design. Grep knows what you can tell it, on what terms, in what language. Grep knows what you do tell it when you invoke it. It knows what the end of a line of text in its input looks like. It knows little else.

Wikis probably belong in the same category. They are simpler than Unix command-line tools, arguably better designed, but they do exactly what you tell them to. And you can integrate them with other tools in all kinds of interesting ways.

The intelligence here is also in the designer: not just in anticipating my needs, but also in an appreciation of the limits of their understanding, and the thought to give me power in flexibility.

Google, on the other hand, knows a great deal. Google sits on one of the biggest piles of data, if not the biggest, in human history. Google is actively analyzing that data, pulling intelligence out of it, making it useful.

And Microsoft? When Microsoft Word screws up the formatting of my spec, once more, there’s no way for it to learn from my frustration. There’s no accumulation of information. It thinks it knows what I want, and it’s usually wrong, and there’s no way to train it. Which is why I hate using it.

So we see a distinction between software that is stupid and software designed with no pretense of intelligence in the first place. And we see what it takes to make software that is intelligent: software that can collect information and learn from it. Whether or not it is using a process behind the scenes that humans would describe as ‘intelligent,’ the effect is the same.

It’s awfully hard to do that well–Google spends billions on making and keeping their one-line entry tool smart. It’s also difficult to make intelligently designed, powerful yet simple tools, that talk to each other in useful ways. I don’t know how much Microsoft spends making their document formatting engine, but I have a feeling most of it is wasted.


Filed under: computer and technology|vision
Comments:

2 Comments »

  1. well said. i have no idea where microsoft is heading, but they can’t be heading in the right direction.

    Comment by jjudge — March 3, 2008 @ 3:20 pm

  2. Remedy. Bahahaha!

    Comment by Kathleen — March 7, 2008 @ 2:23 am

RSS feed for comments on this post. TrackBack URI

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(required)

(required)



John Stoner. Epiphany. Fanatic. Too many thoughts, coming too fast... must... write...

Main Menu
Home
bike
Chicago
computer
ha
life
of the moment
politics–global
politics–us
science|technology
spirit
stoney language love
technology|vision
Uncategorized
wilber crit

Search

Syndication
RSS 2.0
Comments RSS 2.0
WordPress

Credits and Copyright
Proudly powered by WordPress. Creative Commons License
This work is licensed under a Creative Commons Attribution 2.5 License.

Theme by Theron Parlin


Archives
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
July 2007
May 2007
April 2007
March 2007
January 2007
December 2006
October 2006
September 2006
August 2006
June 2006
May 2006
April 2006
March 2006
March 2004
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003

Recent Entries
The March DBS adjustment
intelligent software, stupid software, and Unix-philosophy software
Obama's kool-aid hits the spot
Eric Holzle gets it going
the second adustment
How I am
The third and fourth surgeries...
The third surgery
the next steps
the second surgery
Back from the first surgery
The return of John
the tattoo
Connor
the surgery--more details

Your google ads here