Almost ten years ago, my introduction to the commercial world was handling and dealing with the databases of a UK government body. We used a free text-retrieval system to store information about software products, teachers, and trainers. Although we had fields for the information, when we entered a search, we were searching the whole document, not just one field or a collection of them.
One of my jobs was to write programs that processed the information, deduced the fields, extracted compound addresses and telephone numbers, and tidied up the results to put into a new version of the database.
Access to the database was through a Sun-based Unix system, and the PCs and Macs on the network didn’t talk to each other, but they did talk over Telnet to the Sun database server. You could do searches, edit information, and cut and paste, but you had no control over how the information looked without manually massaging the text you’d just copied.
Ten Years Later
Ten years later, for the most part I still do the same thing, although not with the same company or the same information. Ultimately, though, I’m still working with databases and storage systems that rely on managing and dealing with a lot of text, but in a structured way that is somehow intelligent enough to know what I’m storing but flexible enough not to restrict what it is I want to store.
The information I’m dealing with has to be accessible on a number of different platforms. In my home office alone, I’ve got Macs, Unix, Linux, at least five different versions of Windows, and handhelds running EPOC32 and PalmOS. They support different character sets, and I have to be able to convert the information into more usable formats, such as HTML for display, or stored in more rigid systems, like an RDBMS.
What should I use? Do I play with a free text-retrieval system again?
If I use a database system, how will I transfer my contacts from my desktop Mac to my portable Windows notebook or to Palm? If I want to view the information online, can I convert it easily? If I build an application that provides me with access to the information, how do I go about storing my preferences? How do I make the information available over the network in a format that can be accessed by all the machines that need to use it?