Addressbook is a convenient web application that can be used to manage your personal address book. Since it is a web application, you can set it up to be accessed from anywhere you choose, by anyone you wish.
- Create, update, delete, or display information specific to each contact, including name, birth date, email address, website, work phone number, cell phone number, and more.
- Create, update, delete, or display information specific to each address, including two lines for the street address, city, state, zip, and home phone number.
- Create, update, delete, or display groups of addresses, which can be used to generate a PDF document of mailing labels suitable for printing.
- Addresses can be assigned a primary and secondary contact, so that the Addressbook knows who to list as the addressee when generating mailing labels.
- Addresses can be linked to one or more contacts, saving you from having to enter common information, like address and home phone number, over and over.
- Label addressees can be configured based on “address types” such as “individual” (Mr. X), “family” (The X Family), “married couple” (Mr. and Mrs. John and Beth X), “unmarried couple” (Mr. John X and Ms. Beth Y).
- Search for contacts by full or partial last name.
- Database backed, and supports any database that the Rails web framework supports.
- Snappy Ajax interface.
- Mobile optimized contact list and contact details, for viewing your address book on the go.
The Addressbook application was born out of my need to occasionally access my personal address book at work. At the time, I was using an Access database to hold all of the information. I had a couple queries, like find by last name, and reports that generated mailing labels that made this a convenient option. However, I was unable to access any of this information when not sitting at my home PC. So, I carried around the printout of a report containing all of the phone numbers for a while, but simply put, that sucked. It was huge, giving me the Costanza wallet effect. It was hard to read, with ink smudges and folding creases. And, most importantly, it was out of date the minute I printed it.
Enter Addressbook 1.0. The first version of this application was a Java applet. The applet was backed by an XML file created by Access, which contained all of the necessary contact information. It parsed the XML file at init, and displayed a tree of everybody’s name on the left side, and their contact information (when the contact was clicked) on the right side. This slimmed down my wallet, and addressed the readability issues listed above. However, it did not address the fact that the list was out of date the minute it was generated. This also introduced a few new problems. First, I didn’t know anything about HTTP authorization at the time, so at init the applet popped up a window asking the user for a password. It wouldn’t parse the XML file until the correct password had been entered. The password itself was hard coded into the applet. In addition, the XML file was WIDE OPEN on the server. If you knew where it was, you could simply pull it up using a web browser. It’s not like this file contained anybody’s credit card information, but I still didn’t want my friends’ and family’s information out there on the web for anybody to see.