The site uses cookies that you may not want. Continued use means acceptance. For more information see our privacy policy.

Keyboard Input: Considered Harmful?

All apologies to Edsger Dijkstra for once again abusing the *Considered Harmful* phrase, but I just had to manually type “Edsger Dijkstra,” which isn’t the easiest name for me to spell.

All apologies to Edsger Dijkstra for once again abusing the Considered Harmful phrase [a quick perusing of Wikipedia: Edsger W. Dijkstra points out it was an editor that changed the title to include “Considered Harmful”], but I just had to manually type “Edsger Dijkstra,” which isn’t the easiest name for me to spell.

Occasionally an e-mail hits my inbox that was intended for someone else due to mistyping the address.

I get wrong number phone calls now and again.

I regularly see incorrect bug references (bugs are referred by number), and some of those I can’t find the right target despite trying nearby bugs.

Google Search is always asking me if I meant something else, and sometimes I did.

I’m not a bad typist, but I occasionally bite my lip when I’m chewing food, and that doesn’t require me to remember a number or spelling. In the cases where the computer or phone can ensure I get a reference correct, why shouldn’t it?

For mistyping URLs, that would require a separation I favor on the principle of separating duties: splitting out the history/bookmark/caching functionality from browser. That way my e-mail client can help on those references.

Same thing for the phone book: why shouldn’t that data be separate from the phone OS, especially for people that use multiple phones (soft phones, maybe multiple mobiles, etc.).

Some will say the cloud is the panacea, but it’s not. The cloud can help by synchronizing this data, but it’s the separation of data from application that’s the key. If every application has to implement a cloud’s proprietary API to get the data, that’s another coupling, this time to a third-party service.

With something like Firefox Sync, at least you can run your own instance, and multiple providers are possible. Plus you get encryption. And one would expect that the Boot-to-Gecko/Firefox OS project for mobile will expand the scope of Sync to include the address/phonebook.

But it still has to get integrated to everywhere you type.

For the browser, that means it has to remain separated from the page for privacy reasons, which makes it a bit uglier to implement. For most other apps that would require it, the implementation is more straightforward.

The big question is whether this is even a good idea. Would the errors people would make from this data integration be more common and/or more severe than mistyping references?

I think it is a win provided that the references contain sufficient context/they can be readily explored. If I mistook someone else for the author of Go To Statement Considered Harmful, the stored context could readily dispel my confusion.

That would help for things beyond typographical errors. Twice in two days I saw discussions where people were mistaken about geographic terms, and despite netiquette were treated badly for their mistakes. Had there been data integration, they could have seen their mistake and learned without the pain brought to them by social irritability.

The Tech that Never Happens

Short musing about how sometimes great ideas get eroded away by the time they’re possible.

Flying cars. For years and years, the gold standard of the future has been flying cars. They’re a stupid idea, but they’re still what intrigues people when the future is brought up.

This isn’t a post about flying cars, but it’s about other ideas of the future that probably won’t happen.

Augmented Reality

Note: There was a neat post on Augmented Reality: Valve Software: Blogs: Ramblings in Valve Time by Michael Abrash: 20 July 2012: Why You Won’t See Hard AR Anytime Soon, which gave me a reason to think about this a bit.

Consider Augmented Reality (AR). The idea is that you’d have some way of manipulating your visual field with computers. A grocery shopper could easily see the nutritional contents and prices for items on the shelves. A doctor could see medical history for their patient without opening a file. A soldier in combat could easily pick out targets from civilians.

AR may happen, but it probably won’t be used for what we think. By the time a doctor could view the medical file through an AR setup, computers would be sophisticated enough to handle most of the legwork that the doctor would want the data for. We’re moving towards increasingly mechanized warfare, so the drones and warbots will probably preclude soldiers needing to see at all.

As for the grocery shopper, that’s already largely a problem of marketing/anti-consumerism on the part of food producers anyway. Either those market forces will eventually self-extinguish or they will be powerful enough to prevent AR disruptions (except for the few brave souls who roll their own AR software).

Flying Cars

Flying cars are supposed to eliminate traffic while allowing everyone to get everywhere all the time. Ignore the energy needed to overcome gravity. Ignore the traffic problems, the problem of vehicle failure (especially considering we already have major safety issues when we’re just rolling across the ground), and so on.

We’re moving toward a world where you don’t have to go there. That’s a huge step forward. One of the things you learn from software, one of the best lessons, is the cheapest thing to do is nothing. If you can not do something, you’re saving yourself a lot of trouble.

So it’s likely that by the time we have the energy problems solved. By the time we have traffic figured out, and we could build them safely, we won’t actually want flying cars.

That’s not to say we might not build a few just for kicks, but it is to say we’re not using bungee jumping for anything beyond recreation. We’re sure as hell not building giant towers with trebuchets and catch-arms to sling ourselves or our property vast distances, only to be caught and bounced a bit with a bungee jumping cord.

Redesign the World

A quick look at some ideas for improving the world via design, and why they aren’t very good ideas.

One of the habits of my brain is looking at the design of things in the world and trying to improve them. It does this as a thought experiment; I seldom attempt the actual inventions it comes up with. But it’s fun as a mere thought experiment. So today I thought I’d throw some of my (unworkable) designs out here just for posterity.

Before that, though, I should be clear that designs aren’t always about replacements. Sometimes they’re just recognitions of the problems that replacements should solve, with either existing alternatives or unknowns being the replacements.

Doors and Keys


One of the things that’s bothered me over the years has been keys. You have these little fixed bits of metal, and they are supposed to provide you secure access to their corresponding locks. But if you lose them, you’re calling a locksmith. If you break one, you’re calling a locksmith. And then you have to carry them around and match them to the correct lock.

The solution will be electronic locks of some sort, but my favored solution was universal keys that could open any lock. They would have interchangeable teeth with varying numeric or alphabetic annotations, and so even if you never visited a building nor had direct contact with the owner, they could say, “key number 3F8JLM42” and you could set your key and get in. The other benefit would be that it would make re-keying locks a much simpler matter, as if keys were easily changed, the locks could be too.

The necessity of universal locks/the inertia of existing systems means this idea would take a long time to institute. Even if there were a spectacular example of this idea, before it would be instituted electronic locks would win out. The other major downside is that easily-changeable locks doesn’t mean often-changed locks. It’s a common vulnerability for office buildings and the like that use doors with keypad locks that people can guess the lock code by the wear on the keypad.

You also hear stories about people returning to visit such buildings years later, and on a whim they try the old code only to find out it still works.


Every summer when you go outside, you’re losing a bit of energy in the cool air escaping/warm air entering. Same thing in winter, the cold gets in and the warm gets out when you break that door seal.

Large buildings recognize this; they have what I’ll quaintly call airlocks. According to Wikipedia: Airlock: Similar mechanisms, they are also used in buildings holding wealth to slow thieves, and in aviaries to prevent the ingress/egress of species.

But the question is, how difficult would it be to add some semblance of an airlock to other doors during frequent use? How much energy could be saved? If they were common enough, it wouldn’t be very difficult or expensive. But for the most part, the buildings that should have them do and the ones where the savings don’t warrant the feature lack them.

Screen Grid References

Screens could have grid references along their sides (or added via software), so that someone can say, “click the red icon at C3” (where C is the horizontal and 3 is the vertical). As a practical matter, there may already be some screens that have these where they’re really needed, and most people aren’t spending too much time telling others where to click without just pointing to the spot.

Cellphone Booths

People don’t complain about people talking on phones all over the place as much as they used to, but probably because they know it won’t stop. But there used to be phone booths because the lines were wired. Still, there would be some opportunity to have booths set up for people to use for mobile conversations without disturbing others. There could be other benefits built in to these booths, such as signal boosters, or dedicated screens, keyboards, and mice for using them as work stations. Wireless providers could give discounts on usage from these booths.

But the convenience of being able to use the mobile device wherever you are probably outweighs any desire to stand in a booth. And people seem to be gradually adjusting to the expectation that everyone around them is talking to someone that’s not there.

Calendars and Time

Good luck with these. You could have the greatest idea ever, but these are so entrenched in the cultures of the world that they are extremely hard to change. I guess we can say the various places that enact Daylight Savings schemes have crashed a barrier, but the feature of those schemes is that they’re periodic and only require minor adjustments (and yet they are harmful (in that they serve no benefit and cause a loss) and do receive resentment).

But they are fun to think about.

Pushing the Envelope

Most inventions only push the envelope (the phrase arrives via aviation, where it means roughly to exceed the known flight parameters of an aircraft). Those that break the damn thing into pieces and use them with mortar to build a mosaic pattern must have large benefits.

Even the big changes mimic the old where they can. That’s why the varied icons on computers are largely analogs of the real world. Radio buttons are based on the old car radios and light switches that allowed you to press any button causing the others to become unpressed.

The default terminal width comes from punched cards (Wikipedia: Punched card: IBM 80-column punched card formats and character codes).

The design of compact fluorescent lightbulbs owes itself to the need to fit in the standardized, legacy bulb sockets.

And so on. We continue to make adaptations based on existing technologies. It does make things easier, but harder too. People get used to particular patterns of reality, and inertia prevents bigger changes from happening quickly. This gives rise to problems like wide-spread obesity. To problems like climate change. To vast overspending and undercoverage in health care. To entrenched corruption in government and banking and other institutions.