Since I’m a programmer, you’d think I’d like technology. And I do, to some extent…but I hate things that are powerful yet completely unusable. Unfortunately, I’ve hit two such things in the last couple hours that have gotten me annoyed enough to post a bit of a rant.
I’m in Seattle for a couple days, staying at the Hyatt Regency Bellevue. It’s a nice hotel. I’m glad I’m not paying for it, though. It’s fancy enough that my room has a flat-screen TV of some sort. Normally I’d just ignore the TV — I watch so little TV that my poor TiVo probably feels unloved — but tonight the Eagles were on Monday Night Football so I turned on the TV to try to watch the game.
A few minutes later, I was on the phone with the hotel operator because I couldn’t figure out how to get the TV to switch to real stations instead of trying to get me to pay for movies or games or other junk. You’d think there’d at least be a “get me out of here to real channels” option in the menu or something like that but no, you’d be wrong. The only way to escape is to turn the TV on, and then, before you do anything else, press either channel-up or channel-down. Do that enough times and you get to real channels. Nothing on the TV says that, and after enough button-pressing I was afraid of pressing anything else because I couldn’t tell which buttons would try to charge me for things. I have a master’s degree in computer science and work on operating systems for a living. I shouldn’t have to call tech support to figure out how to watch ABC. (Don’t get me started on how for $200 a night every single damned thing on that TV should be free, as should the in-room Internet access. Heck, for that amount of money they should have someone standing next to my room waiting for me to be ready to go to sleep just so they can fluff my pillow.)
Fast-forward a few hours later and I’m sitting here trying to update a wiki for a project I’m working on. Wikis are supposed to be really simple — you just type text with some trivial formatting and it gets nicely HTML-ified without you having to know a single thing about HTML. So far, so good. Problem is, the documentation for every wiki I’ve ever used it utterly atrocious. It’s fine for writing plain text, but as soon as I want to go beyond that things are completely hopeless.
Tonight I wanted to add a second item to a numbered list. I noticed that the first item had a ‘#’ at the start, so I put a ‘#’ in front of mine. That got my entry to start with “1.”. I tried ‘#2′ and got “1. 2″. I looked at the documentation and it said “Lists…# for numbered lists” and nothing else about numbered lists. Thanks, that’s really helpful. Much Googling later, I found a reference for ‘##’, so I tried that and got “1. 1.”. Wonderful. So I gave up and changed the whole thing to a bulleted list, where I don’t care if my entry is the second entry of one list or the first entry of its own list because it all looks the same.
Then I wanted to add a link to something in Apple’s bug database. Many Mac developers know that they can write a bug number as rdar://1234567, where 1234567 is the bug number. Wikis don’t like that because “rdar” isn’t a protocol they know. Writing “[rdar://1234567]” results in a garbled mess — the “rdar” is dropped from the text and you get a broken link to “http://1234567″. Writing “<a href="rdar://1234567">rdar://1234567</a>” is no better — that entire thing simply appears as plain text. There’s nothing in the documentation about this, so I’m off to Google again. There I find something which says that non-http protocols require some kind of administrator setting that I don’t have enough privileges to do. Hoping to be able to at least tell our admin what to do, I wander over to the administration page for the wiki and find nothing that looks anything like a URL protocol configuration setting. So I give up again. Our wiki just won’t have those links, which in turn makes it less useful.
Is making technology usable really all that hard? Yes, I know the answer. But come on, folks, Apple can’t make every product in the world. Someone out there has to be capable of making usable products.