Monday morning thoughts
I keep a list of things to write about in this column, and this morning, I
find myself faced with a lot of short bits and no long bits. Rather than try to
pad something short out to a long column, I thought I'd vary the format a little
by just sharing the short bits with you. So, here are a few topics that
are on my mind at the moment.
Requirements: I've had to deal with a lot of requirements documents in
my time, ranging from the hilariously underspecified to the horribly detailed.
But reading this part of the DARPA Grand Challenge
rules made me glad all over again that I deal in bits rather than atoms:
"DARPA reserves the right to take any measures necessary to stop a Challenge
Vehicle that does not respond to an E-Stop. These measures may result in damage
to the Challenge Vehicle." (I must admit, though, that there have been times
when the thought of shooting a co-worker's computer to prevent them from
contributing further code to a project was an attractive one.
HTML E-mail: I think I've lost more productivity to HTML e-mail than
to any other "innovation" in the history of computers (except, possibly,
Tetris). Putting the HTML rendering engine directly into my e-mail client turns
out to have been just a plain bad idea; it's enabled the automatic spread of all
sorts of nasty malware. Yeah, I know, I could just turn it off. There are only
two problems with that. First, every time I get fed up and turn off HTML
rendering, I get mail I can't read from some client or other and have to turn it
back on. Second, there are all those other people out there still using
it, whose computers are breeding grounds for worms. My best idea: let's pick a
day and all just stop using HTML e-mail, OK? Christmas day works for me.
When is an API Too Large?: Here's a number for you: the Windows
"Longhorn" SDK is expected to occupy between
200,000 and 500,000 "pages" of documentation. Let's think about that for a
moment, shall we? Assuming you can absorb a page of SDK documentation in one
minute, it will take you somewhere between 400 and 1,000 8-hour days to learn
how to program Longhorn. That's absurd, of course. Microsoft is in the process
of creating an API so large that no one developer will understand it all. I can
see two consequences coming. First, we're going to end up with specialists who
know how to program the system in one narrow area, who offer their services to
others at a high rate. Second, the average developer is going to write very
inefficient Longhorn code, simply because they won't know about APIs that could
save time and effort.
Whatever Happened to UI Standards?: Am I the only one who remembers
back to Windows 3.1, when Microsoft put out a printed list of user interface
standards? There was a really great explanation in it of why standards are a
good thing: when applications all behave the same, users are more productive
with them. Apparently this theory is completely out of fashion these days, what
with chrome and skins and "lickable" interfaces and non-rectangular windows and
who knows what else. And in the next round of Windows, we'll get gratuitous (and
not standardized!) animations too. I can feel the migraines coming on already. I
fear we're headed for a world where competitive applications are distinguished,
not by their features, but by the vision of their art directors.
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.