Friday, June 10, 2005

The Good Software House:

The User Interface Hall of Shame has a lovely web page about how awful it would be to have a house designed by bad software developers. But what if your house were designed by good software developers?

  • Instead of painting or expensive redecoration, you can change the look of the house by adjusting a few attributes or loading a different skin.
  • If your house's location bores you, you can assign new values to its properties.
  • When you need to enlarge the house, just download a few extensions.
  • The Help function is fully implemented, providing housekeeping, garbage collection, pruning, trimming, clipping and even marshalling.
  • Rather than have multiple bathrooms, the room has a Bathroom Class. Anyone in need invokes a bathroom object and simply deletes it afterwards; no need to wait for a free bathroom, and no need for routine bathroom cleanup.
  • The house is persistent; when a hurricane threatens, Save the house, and (if necessary) Restore it afterwards. (You should also Save the house before making any mods.)
  • Any viruses in the house are immediately quarantined. Intruders have little hope of getting past the surrounding firewall.
  • The house remembers actions that you perform and offers to complete them for you when you start to do them again.
  • The house is full of widgits you can tap to bring up relevant tools and implements, for the task at hand.
  • You can move your windows around and resize them to take advantage of the sun, minimize them if the sun's too bright, or pop up an extra window for more light.
  • But when it's too dark, you can click one window to highlight it.
  • You can temporarily enlarge one room to the full size of the house by double-clicking it.
  • If you'd rather your house did not have an address, you can have an indirect address.
  • The guestroom template instantiates automatically for many different types of guests.
  • Your house is fully commented. But if you forget what anything is for, just tap it with your middle finger to see the list of its functions.
  • The closets are hash-coded for rapid storage and retrieval.
  • The refrigerator is implemented with a linked list and compression, giving it nearly infinite storage capacity. A Least Recently Used algorithm controls its automatic garbage collection.
  • You can use the "Find" function to locate anything in the house. (Be sure to save the search criteria you'll use often, like "find reading glasses.")
  • The bookshelves, closets, storage boxes, etc. can each be told to sort their contents by size, age, weight, name or value.
  • There are many interesting trees in he house, you'll enjoy their pretty nodes and leaves.
  • There's an exercise room fully stocked with incomplete lists, sorts, bags, collections, virtual classes, prototypes and pseudo-code to provide regular mental exercise.
  • When you're tired, you can arrange to sleep for any specific number of milliseconds.
  • There are several generic vehicles in the garage as well as their subclasses. You wouldn't drive a generic vehicle of course, but you might, say, own just one really good radio, put it in The Generic Vehicle, and then all your cars, trucks and planes will have it too.
  • You'll find that the edges, floors and ceilings are in particularly good shape, for these cases were the focus of most of the software testing.

If anything goes wrong with the house, no expensive repairs are necessary, you just restart it. (You can restart it in Safe Mode if a klutz is visiting.) I must admit though, that the upgrade to House 3.0 is expected to cause pain. Your neighbors will admire your house and want to see all of it, but unfortunately it's too late to give them a walk-through; the walk-throughs were completed during the early stages of construction.

I'm just tipping the iceberg here. Please comment to add improvements to the Good Software House!

No comments: