Wednesday, November 7, 2007

Notes to a young programmer

1. While zip codes in the United States are composed of numerical digits, they are not simply integers. Some zip codes start with 0. Much of New England, in fact. Do not strip out leading zeroes from zip codes.

2. If you provide search access to a database on the web, do not require the user to start each search from scratch. For example, a user searching a database of doctors in a provider network might want to check for a dozen different doctors, and might not want to enter the same home address every time.

3. When you provide search results in alphabetical order, use word-by-word alphabetical order. Freed, Albert; Freedman, John; Freedman, Thomas; Freed, Thomas; is letter-by-letter alphabetical order, and frustrates users. Especially users who only wanted people named Freed.

4. When you display states in alphabetical order, set the order based on whether you are displaying full state names or abbreviations. Maine comes before Massachusetts, but MA comes before ME.

5. Consider a database that contains records for people who are in and out of a particular set. When you allow a user to search the database by name for people who are in the set, include the people who are out of the set in a separate batch of search results. That way the user can see that the person is out of the set, rather than wondering whether the person is failing to appear in the “in the set” results because of a data entry error.

6. If you provide full web search access to a database where 2 out of 8 records in a sample contain key data entry errors that prevent them from correctly appearing in search results, allow the user to download the entire database in some universally readable format such as CSV so the user can query the database in Excel or Word (or even print it out).

No comments: