ITU-T E.164 or How Phone Numbers Ruined My Day
Everyone knows that we’re not supposed to reinvent the wheel, but there are certain wheels that everyone uses that we’re all forced to reinvent, reengineer, and/or re-implement.
Phone Numbers
Phone numbers are easy. Area Code + Prefix + Line Number + Extension. (555-555-1212 x105). Oh but wait, what about those pesky foreigners? They’re always throwing a wrench in our ethnocentric cogs with their Unicode and their right to left reading. I jest, but supporting international users introduces a huge set of intricacies. Especially when their phone number is 19-49-89-636-48018 (A german phone number dialed from france, or so google tells me).
Are there any standard libraries or approaches to doing this? None that I could find, so off I go to reinvent the wheel.
Names
Formatting and storing names is also annoying, and I have found no standard approach or library for doing so. Ok I have First, Middle, and Last name, but since everyone hates their middle name, I have First Last and Middle Initial. So I want to display the Name: "James R. Thigpen". Oops, I didn’t fill out my middle initial, so suddenly it’s "James . Thigpen". That’s bad. Well what if I have a name like Leigh Ann Douglass Roberts. My first name field can have spaces now, apparently. Oh and just try to auto capitalize McCoy. I dare you.
Addresses
Do the lines of an address actually have a name? I’ve only ever seen them referenced as Line 1 and Line 2. So I have a city, state and zip. But my zip codes are either 5 or 9 digits. Unless you’re another pesky foreigner, then all bets are off.
These are just a few examples. Why are some of the most common bits of data in our lives the hardest to deal with in computers, and why hasn’t someone figured this out yet? The only reasoning I can come up with is that this information pre-dates computers and people’s awareness of how data format affects computability.
All I know is that writing another table that converts TX to Texas in my database will send me into a fit of rage.
(Totally awesome image courtesy of RubelCreative.com)

May 14, 2008 @ 6:40 pm
Go Go Go ! I look forward to reading any responses to this publication. So very true!