Contact Management with FileMaker Pro
Contact management is essential for any business. Many people just do not understand how efficient, customizable, scalable, and user-friendly contact management system might be important. Although there are many contact management packages currently available on the market, ranging from free open source and ice-cream priced shareware to expensive systems worth tens of thousands of dollars, I found that for midsize user base (several tens of concurrent users or so) custom-build FileMaker based solution is unmatched.
First of all, what is a FileMaker? Not so many people know, but this is one of the most popular databases in the world (especially among Macintosh users), published by FileMaker Inc., branch of Apple Computer. It is not so advanced, like MS Access, and not so famous, like ill-fated dBase, but in terms of usability it have no equals.
The big problems of FileMaker until version 3 were its flat-file nature, because even many simple solutions require support of relations; and lack of high-performance server version. That was fixed in version 3, and starting from the version 4 FileMaker gains very good WEB publishing support.
Although many "serious" database developers name FileMaker as a kid's toy, I believe that end-users almost never care about underlying technology, they rather value usability. Usability is where FileMaker really excels.
For contact management, these aspects are very important (however, they may vary depending on the user's needs):
Of course, FileMaker is not for everyone. These shortcomings may prevent using of FileMaker 5.x under certain circumstances (next version may fix all or at least some):
To build your own FileMaker based workgroup contact management system its better to start from the scratch. Eventually, you can modify and update your database with new fields, layouts and files upon requests. To develop something really serious and usable you need few programming (scripting) skills and of course sounding database development background (I worked with 4D before). Software designed by novices is often usable by these people themselves and almost nobody else.
First of all, you need to define fields and files corresponding to your information (i.e. company, address, phone#, etc.). However, some extra fields are not required but highly recommended: auto-increment serial number, creation date, last modification date, creator name, and modifier name. This extra information is very handy for tracking changes in workgroup shared database. Also, ordinary users should not be allowed to delete records. All unwanted records should be renamed as something like "erase 1", "erase 2", ..., and then wiped out by administrator. Be sure to make all important fields indexed (for fast searching); some, like "Company Name", unique, to prevent duplicate entries; and auto-entered fields (i.e. creation date, serial number), non-modifiable.
Its up to you what layouts should appear at startup. It could be contacts, file navigation, product database, or all three. I have chosen contacts, other layouts may be opened with one or maximum two mouse clicks. Its very important to make navigation and handling extremely easy and intuitive. These two criteria mean usability, and as result, productivity.
Try to avoid all icon based interface, because of not everyone will find it intuitive. Only few non-questionable operations like dialing or URL-handling could be left as icons. In other words, your database can be qualified as "easy to use" if 90% of users are able to do 90% of work without asking any questions. For example, most users expect layout and record navigation buttons at the bottom or at the left. Some programs use Microsft-like interface with shifting tabs, but I found this way dumb stupid, because after each mouse click navigation bar shifts. Static bar (look for example at the MacOS Control Panel called "Internet") is more convenient. In my case, I have chosen standard push buttons, where underlined label indicated current layout. Such construction is easier and quicker to modify rather than switching or shifting tabs, what is important during on the fly development. Hint: create separate, invisible for anyone but administrator layout where you can store most often used GUI elements.
If your database consist of many files, one layout should be be used for fast file access. Below shown one of the possible variation's of file navigation layout. Files are grouped in alphabetical order except two most often used.
The database briefly described above is used internally since beginning of 1997 not only for contact management, but also for information tracking, direct mailing purposes, product database and pricing/profit evaluation. It have grown pretty large and proved FileMaker as efficient and affordable database development system. More screenshots available here.
One very interesting and rapidly growing trend in database industry represented by WEB based solutions developed on the ground of open source SQL servers like MySQL or PostgreSQL, PHP/PERL middleware and Apache WEB server (running usually under Linux or FreeBSD). Such databases do not require purchasing of expensive and proprietary software (at least, by client), are instantly networkable, cross-platform and scalable to thousands of concurrent users. WEB interface have certain limitations, development of these solutions is more time consuming and costly (compared to 4D, Omnis and especially FileMaker), but benefits are too obvious to be ignored.
At the time I am writing this (January 7, 2001), only PostgreSQL have not been ported to MacOS X yet (MySQL is not suitable for online transactions due to the lack of some advanced features like flexible locking mechanism and true roll back transaction support). When port of PostgreSQL to MacOS X will be complete, Macintosh may become king in the WEB development world, since single platform can be deployed for content and database development, as well as professional hosting.
By the way, MySQL, PostgreSQL and Apache WEB servers are very small, run in the background, and may be used even on standalone machine in conjunction with WEB browser without any problem.
FileMaker is not likely to become victim of MySQL/PostgreSQL/PHP, its cheap and very easy to use for people without programming background, and probably will be the best solution for personal or small workgroup deployment databases in the foreseeable future.