Just bumped into a rumour on the next version of FileMaker, apparently called version 7. Reading something like “more updates than ever” doesn‘t make my heart jump. As this company made no real progress for years, this might mean they are doing at least something, which is not the worst news.
Well, I don‘t want to be too harsh. The integration of XSLT in the version 6 release was an intelligent move. But FileMaker leaves so much to be desired that I do not expect them to be able to fix it soon. Let‘s have a look on the current state of FileMaker (I focus on the Mac OS X version as this is an Apple company and I don‘t care about Windows anyway)
Let me begin with the fact that I am a long-term user of FileMaker. I generally like the idea of an easy-to-use desktop database and FileMaker has some well though-out ideas that had to be invented if they wouldn‘t exist already. FileMaker is our tool for planning the conference tracks of the Congress and the Camp and I have used it in many other occasions as well. So why do I complain?
The user interface of FileMaker is old. It still has a System 6-like appearance and doesn‘t make use of so many Mac OS and Mac OS X technologies that are just more than obvious like the Keychain for example. Threading and multiprocessing seem to be non-existant as well and once your network connection goes away just for a microsecond (which can happen by removing your cable for a second or losing your wireless link) the program closes your remote databases immediately. Annoying.
My main problem is the lack of scriptability. The built-in scripting language is not very powerful and its syntax parser is an embarrassment. I use a mixed internationalization setup: while all the menus are english, I choose a european/german setting for date, time and numbers. FileMaker gets this confused and refuses certain script construct DEPENDING ON YOUR LOCALIZATION setting (sorry for the loud statement, but it had to be said).
Another drawback is the limited relation support. While you can establish relations between tables, following a path from within a script through two or more relations is simply not possible. Things like “give me the field X of record C which is referenced by a field in record B which is referenced by a field in record A” (A->B->C->X) is not possible. To make things really absurd, FileMaker doesn‘t event support booleans!
So while a desktop database is still a good idea and FileMaker is a good choice for small solutions, it is very problematic for bigger and complex collections. The crumpy UI and the lack of an easy to access data from a shell or perl script is another drawback.
The funny thing is: there are so many good databases (like PostgresQL) that have all the robustness and flexibility you need, but nobody seems to think about creating a clean and and easy desktop interface for it. Microsoft has a lot of success with Access, the open source world has no answer to it. This has to change.