Subscribe to
NSLog(); Header Image

10 Persistent Design Bugs

I find Tog's list of ten persistent design bugs interesting, if only for the reason that he puts the list's inception as "1 Dec 2004." Funny, my clock must be a bit behind…

  1. Power Failure Crash - I don't agree that we need "automatic saving." Save early, save often. So much of what the people that don't know this do is on the Web, where no saving is really possible (or necessary). I do think computers could stand to have power supplies with built-in UPS capabilities.
  2. The Macintosh Dock - Not a bug. "Works as intended." I like my Dock just fine.
  3. Mysteriously Dimmed Menu Items - Tog's suggestion that greyed out items be clickable is stupid - it removes the ability to close a window by clicking in "dead space" and adds a "great, now I have to close the stupid explanation window" step. Perhaps this idea becomes feasible if computers support an "exploratory" mode that seasoned computer users could turn off.

More below the fold…

  1. ASCII Sort - Agree wholeheartedly. And Apple should be the first to do this, dammit.
  2. URL Naming Bug - Also agreed. An alternative behavior - if I enter a URL that has spaces, automatically take me to Google instead of saying "Safari can't open the page "http://erik%20barzeski%20blog/" because it can’t find the server "erik%20barzeski%20blog"."
  3. Let's You Save Me Some Work - Whining, I think. This isn't a bug per se, it's a design issue, and some ways are nicer than others. It's an issue, but a top ten? Makes me wonder what seven through ten are…
  4. The Disk Drive Nazi - This doesn't really happen anymore, and I'm not sure why it's on his list. His tale of travel terror is not one I've shared.
  5. Tog
  6. Is
  7. Lazy

So, a top ten list with seven items. Lovely.

6 Responses to "10 Persistent Design Bugs"

  1. Tog's iTunes example is fascinating, because it shows what happens when you apply a result to a different problem. Traditionally, music stores sort songs sans leading article, not because the leading article is unimportant. After all, the name of the band is *A* Perfect Circle, not "Perfect Circle". *A* Flock of Seagulls, not "Flock of Seagulls". THE Rolling Stones, not "Rolling Stones".

    But what happens if you sort on the leading article? Then 70-80% of your merchandise is in "A" or "T". It becomes utterly impractical to sort with the leading article due to the physical problems that presents. iTunes follows suit, but the "forgiving" nature of iTunes is in the searching, which is what a search should be. Let me type, you find. Don't make me qualify that crap. I type Rolling, give me EVERYTHING with Rolling. If it's too much, then let ME decide.

    His mixed letter/number example has flaws too, because it assumes context.

    For example, how do you correctly sort:














    Well, it depends, but the above method is wrong by almost any stripe. Chronologically it's wrong, you name it. The problem with any static sort is that to sort "correctly" you need context. The above listed USA/USAAF/USAF bomber programme listings is a very complex sort, and approaches impossible without context.

    In lieu of context - sensitive sorts, we need consistent sorts and the current method is at least consistent, which is at least learnable.

    the autosave option is one that is treated like some form of magic spell. If we only autosave, things will be perfect. Well, that doesn't always work. Sometimes, I don't want to save at all.

    Tog on the Dock is just part of his issues with just being the guy who codified the Mac UI principles, not the guy who created them. I know at least one guy who really DID help create the Mac UI principles, and he's not real happy with Tog over this.

    The greyed out menu bug is, not. For one, Tog shows that if he ever was a UI programmer, it's been a LONG time since he did any of it. Can you imagine creating meaningful, useable help messages for every possible reason WHY, oh say, "cut" is greyed out? Remember, it has to be meaningful to the user so "Option not available" is well, not an option. The help file would be bigger than the rest of the Application. Tog's anthropomorphizing a lot here. Software doesn't "know". It reacts to conditions and instructions. That's it. Keeping that in mind would help avoid silliness like this.

    His bizarre insistence that Windows allows you to yank disks without consequence is delusional. It just doesn't try to even tell you it may be a bad idea. Take a WILD guess at how many people blew up OS installs on wintel boxen because they yanked a floppy too soon, etc. Tog needs to spend more time catching clues and less time theorizing, as the real world is at odds with his bad self.

    He's really starting to sound like Raskin

  2. From a person that's been helping people use computers since around age 8 or so...

    No one will ever use any of these - the alpha sort is the most egretious example of featuritis - have you seen how the average user names their files? Do you think they're going to bother writing a sort plan for them?

    Lexicographic sorting is standard, easy to accept, and out of my way - anyone who needs that kind of power can go above the filesystem to get it, or use, you know, a sort program to do that. If you want a filemanager that does that - get a filemanager that does it... Keep it off the filesystem. Besides, managing this crap can really slow an otherwise fast FS down - if you think Windows is slow, check out UNIX when it's doing heavy I/O...

    Spaces in web browsers - strangely, IE and Netscape (and all derivations of) have been doing this for years, and Mozilla extended it (and I think the last NN4) so that you can do custom queries. For example, I type "php strstr" and I get the documentation for the strstr() function. The solution he proposes is either to replace a very well-working internet standard (DNS), or to eliminate people's ability to type spaces in the browser - I'm not sure which is more demanding.

    And some of us look at the drive lock as a feature - use it long enough and kick your cdrom's eject key while you're writing it - um, have fun with that. It's one thing when you don't have control of the device - like in his firewire scenario, but if the OS has control, LOCK THE EJECT MECHANISM.

    I've read a few of Tog's articles - I just don't know where he's coming from sometimes. With rare exception, UI design should be about minimizing complexity, not tacking it on unnecessarily.

    Personally, I'd like to see something that a few GTK programs have - where any context menu in a program can be given a hot key at the /program level/. It's even fairly intuitive - drop down the menu, hilight the item and hit the key - if it's not already in use, it'll be marked next to the item.

    That, is useful. None of this superfluous crap is worth the thousands of LOC required to implement it.

  3. Oh, something else - if he is describing saving any more data than a session token, he's smoking something good or has no clue of how HTTP works - it's not stateful and the solutions to his problem require support that is non-standard. HTTP 1.2 is supposed to address the stateless problem, but I wouldn't hold out for it.

    Sorry, I just hate "authorative" people who are just complaining about how their view of the world isn't aligned with, you know, reality.

  4. Spaces in web browsers - strangely, IE and Netscape (and all derivations of) have been doing this for years, and Mozilla extended it (and I think the last NN4) so that you can do custom queries. For example, I type "php strstr" and I get the documentation for the strstr() function. The solution he proposes is either to replace a very well-working internet standard (DNS), or to eliminate people's ability to type spaces in the browser - I'm not sure which is more demanding.

    And in fact, you can search NSLog(); by typing in a URL like "nslog/design bugs tog" - most Mac browsers then convert that automatically to "", which works beautifully. (Incidentally, that search currently returns three results.)

  5. 1. Some applications have had autosaving. Most have been very buggy or produced files which grow forever w/o ever being cleaned up (some version of Word did this, I think) .. someone needs to point Tog at the APC website and tell him to buy a UPS. That's the better solution. (Having a UPS in the computer would be sort of cool, but there are a lot of problems with that idea so I'd prefer to have a standalone UPS.)

    2. The Dock works fine for me. But it would be nice if it were possible to replace the Dock with something else in a clean way, as you can do with the Finder.

    3. Apple had something similar with Balloon Help, back in System 7. It never really caught on, and very few applications actually had useful help balloons. If they did want to implement this, it would be easy to have a variant of Cocoa's "validateMenuItem:" which could return an NSString containing a message for the user. But again, they would probably have a lot of trouble getting application writers to put meaningful messages there.

    4. Doesn't the Finder already know how to sort "File 2" before "File 17"? His January/February example is just plain stupid.

    5. Most browsers use spaces to activate some sort of searching mechanism, which is quite reasonable.

    6. This is a very common problem on websites, and it really bugs me. When I used to work for a company which provided information services to users of two way pagers, we wrote lots of code to allow people to enter data in lots of different ways. (want to enter "Marina del Rey, CA"? Fine.. or enter "Marina del Rey CA" or "Marina del rey California", or "90292", or "Marina del rey 90292" or anything else you might think of .. it only takes a few lines of Perl code and some fairly simple regular expressions to turn that into something useful. I wrote a Perl module with just a few functions which would take whatever the user entered and return whatever you were looking for. It would hit the USPS site to do zip code conversions (in either direction) and stuffl like that. that was 1999.

    Why can't today's web sites handle input in a more reasonable way? If I want to enter my credit card number as "1234 5678 9012 3456" (so it's easier to read and verify that I typed it in correctly) instead of "1234567890123456" I should be allowed to do so .. stripping out the spaces is not rocket science. (If your CGI is already in Perl, then it shouldn't be too hard to throw a "s/ //" in there..)

    7. Umm.. I don't see why his machine wouldn't boot w/o the disk.. I'm sure that's not the case. There are good reasons for it to be unhappy when it wakes from sleep and the disk isn't there, however. It may have some cached data which wasn't flushed to disk before going to sleep. (Although perhaps the kernel should flush filesystem changes before sleeping...)

    In any case, you really don't want to be able to remove a disk while it's in use. Even Windows will complain loudly. Windows doesn't complain if there aren't any files open on the disk, but that means it can't cache writes to removable disks. (and if it does, but doesn't complain, then there's a real problem. But I am pretty sure it will complain, although i don't feel like tracking down a removable disk an a Windows machine to test it out.)

  6. Interesting note Erik (btw, my name is Erik too - go Vikings! 🙂 - especially because I had to switch back to my RSS reader to find this article to see if there were replies. (I still haven't tried pulpfiction, but I guess I should one of these days - if you put as much work into that as you do into this blog, it's probably worth seeing and possibly worth paying for. Perhaps my tone is crappy - but as I'm sure you know, there's a lot of software and it's hard to check it all out, much less find the good stuff.)

    Wow, that was off-topic. 🙂