Stupid User Interfaces
When recently traveling from Columbus to San Francisco, I had to make a stop in Chicago. The trip from Columbus to Chicago is quick and convenient so the biggest complaint that I have is that there isn't any really good way for me to work things out such that I can spend five or six hours in Chicago to visit grandma and Truefitt & Hill before boarding my flight from there to San Francisco.
Having about an hour on the ground between flights, I figured that I had a bit of time to check email. Lacking a data signal on my Nextel BlackBerry device, however, I began to get a bit annoyed. Email was out. SMS/MMS was out. Telephone service was no problem. Push-to-Talk service was no problem. Just no data, of any type.
I popped open my MacBook Pro and found a wireless network I could join. I wasn't much interested in the “value” being offered by a twenty-four-hour pass for WiFi service at O'Hare at “only” $6.95. Nor was I interested in feeding the beast on an ongoing basis—only $9.95 for each of the first months, after which the cost would go to $21.95 per month. That I could use the subscription at “hotel chains like Marriott® and Hilton®, and retail locations like McDonald's® or Coffee Bean & Tea Leaf®.”
The one option available on the free WiFi was checking flight status. Well, why not check it?
So I entered 0451 in the textbox indicated for flight numbers and had the results returned to me:
Grr. Given that I was looking at a printed boarding pass with the carrier and flight number on it, I thought it unlikely that these data were wrong. Much more likely, thought I, was the chances that the software has an absurd user interface. After about fifteen years of developing software professionally and nine years of teaching university computer science students how to program, one develops a certain intuition about what idiocy is at work in the soul of a machine. I entered what was not printed on my ticket, 451.
The result was more encouraging in terms of my likelihood of getting to San Francisco in a timely manner but not any more encouraging about the state of the software I was trying to use.
O FlightView, how do I hate thee? Let me count the ways.
- You make me guess that you cannot cope with the flight number that is printed on my ticket, 0451 and have in fact shortened it to 451. Fortunately, I am smarter than you and I can cope. But why is this a problem? It's not like there is only one flight number that American Airlines uses with a leading zero. How many people fly on such flights every day? How does this sort of thing not come up in a test case? Hello? Is this thing on?
- You tell me that “1 flight(s) found...” What? You can't tell the difference between “1 flight” and “2 flights” before spewing your results at me? How hard is it, really, to look at the results and formulate some kind of response for a human being that actually uses the language properly? This is utter laziness, once again forcing people using this idiotic software to cope with junk.
- You suggest me seriously to suppose that if I leave Chicago at just after ten in the morning, I'm going to arrive at twenty minutes to one in the morning local time. The way I figure, that would be a flight in excess of seventeen hours. I am sure that my flight is not seventeen hours long. No, in fact, my arrival will be 12:37 P.M.. Once again, it's up to me to make sense of nonsense!
There really is no excuse for this sort of thing. If programmers want to be taken seriously by society, they're going to need to quit creating things that reflect so badly upon our profession. On the other hand, maybe the people involved in this whole thing aren't really representative of what's out there in the field broadly. Maybe all of the competent programmers are busy working on systems that actually provide support for flight control.
I hate stupid user interfaces.