Saturday, March 7, 2009

Solidifying the data

This site will go nowhere if the international codes are blatantly inaccurate or incomplete. It's about time I revisit the raw data to make sure it's solid, and account for all of the special cases that are bound to come up with this kind of project.

Step 1. Do some research

I started off at http://www.howtocallabroad.com/ and http://www.kropla.com/dialcode.htm (two of my main competitors as you may recall). What I found interesting off the bat is that they have a number of differences. Why is it so complicated to get an accurate list of international codes? Hopefully with this service I'm building it should become a lot easier for most people.

My original plan was to connect with a reliable data source that would let me seamlessly update any international code changes. I've come to realize that this isn't going to be easy. As a result, I've going to hope that these things don't change very often, and deal with it manually for now. To help in the effort, I've setup a Page2RSS feed for the pages http://www.kropla.com/dialcode.htm and http://www.howtocallabroad.com/codes.html. As soon as something changes on those pages, I'll get notified and I'll be able to go in and update my data on the backend. If this becomes a pain, I'll dig deeper into finding a better source of data, and maybe see if Dabble DB can assist in this process.

After reviewing the list of country codes, I've found that there are a good number of special cases. Many countries have more then one "exit code", which generally depends on your phone company. This definitely complicates matters, both the UI and the data storage on the backend. One thought I had was to punt on the special cases, and link to another site that could provide the gorry details. On second thought though, I found that these special cases aren't really that complicated and that I just had to make a few adjustments to the architecture to support them. The toughest piece will be in the design portion, but I think I can handle it.

Step 2. Make changes to the data

The following countries required adding some "additional information" to be displayed to the user, to guide them in determining what "exit code" should be used:
  • Brazil
  • Cambodia
  • Colombia
  • Finland
  • Indonesia
  • Israel
  • South Korea
  • Singapore
The list at http://www.kropla.com/dialcode.htm actually has about 16 more special case countries, but I'm not sure which list to believe. I'm going to hold off on these additional cases for now and try to confirm them offline before I got to the trouble of dealing with them. I wish I knew where I could find the definitive list.

Step 3. Make changes to the UI

Now that we have these special cases, I had to update the results page to support it. Here are some iterations (starting with the original):




(excuse the quality, not sure why these saved as jpeg)

Step 4. Next steps

Now that I'm a lot more comfortable with the raw data (though it still needs some work), I'm going to move back to the design and usability. I plan to run a couple quick usability tests to capture the most obvious issues, and then put some of the finishing touches (e.g. IE7 compatibility) as we get closer to launch.

No comments:

Post a Comment