Needless to say, this is a big day for the folks at FileMaker Inc. and the FileMaker community in general. Not one. Not two. Not three. But four new products have just been announced. Of course, I'm talking about the FileMaker 9 product line, which consists of FileMaker Pro 9, FileMaker Pro 9 Advanced, FileMaker Server 9, and FileMaker Server 9 Advanced.
What follows is an overview of what's new in FileMaker 9 and FileMaker 9 Advanced, my impressions, and some observations that I made while testing and evaluating it. I'll write again soon about FileMaker Server 9 and Server 9 Advanced.
What's New in FileMaker Pro 9 and 9 Advanced?In terms of FileMaker Pro 9 and 9 Advanced, the new features and enhancements have been designed to do three things:
- Help us work faster.
- Make it easier to customize our solutions.
- Make it easier to integrate FileMaker with other sources of data.
Working FasterYou'll probably notice one big change as soon as you start up FileMaker Pro 9 or 9 Advanced. It's a new startup screen called
Quick Start. From there you can easily create a new database (either from scratch or based on one of the many database templates that are included), open an existing database, or learn more about FileMaker (using links to resources such as the Learning Center, the user's guides, and more).
The most exciting thing about Quick Start is that it makes it very easy to quickly access the databases that you use regularly. You can essentially bookmark not only your favorite databases (including databases that are hosted on remote servers), but you can also bookmark the servers that you access regularly. You can also use Quick Start's filter function to narrow down a list of databases and find the one that you are looking for more quickly. It's all about speed and convenience, and while initially I didn't think much of Quick Start, I'm starting to really appreciate it.

Next up, there's something called
Auto Re-Size, and you can probably guess what this new feature does. If you've ever had to develop or support a solution that needed to run on monitors with different resolutions, then you'll like this.
With auto re-size, you can take layout objects (such as Web viewers, tab controls, and portals) and configure them so that they automatically re-size to take advantage of the available screen real estate. The feature takes some getting used to, but once you do get the hang of it, you might wonder how you've managed to live without it for so long. In terms of making you work faster, it does so by reducing the number of layouts that you'll need to create and manage.

The new
"Multiple Level Un-do/Re-do of Text" function is also a welcomed surprise. You can now perform multiple levels of undo and redo on text changes that are in a single field or that have been made to text layout objects (such as field labels).
One catch: You can only undo / redo up to the point that you move outside of the field or text object that you have edited. In other words, as soon as you tab to another field, or click outside of the field (or commit a record), the "history" of those changes is reset and you can no longer undo / redo them. I think users will appreciate this new feature, but for those used to similar features in other applications, it will probably be awhile before they fully understand how it has been implemented in FileMaker.
FileMaker 9 also adds support for several
new Avery label formats, including 5263, 5264, 5363, 6572, 6578, 8161, 8164, and 8167. Creating layouts based on those labels is now quick and easy.
There's also a new
Software Update Notification feature built into 9 that can alert you as new versions of the application become available. This is an optional feature which you can enable and disable via FileMaker's General Preferences area.
One other change that's designed to help you get a solution up and running more quickly is this:
Peer-to-Peer file sharing in FileMaker Pro 9 now allows up to 9 users to connect to a shared database. The old warnings about running a mission critical, production application in a peer-to-peer setting still apply, however. So if your database is in any way important, you are still strongly encouraged to host it using FileMaker Server.
Making Customization EasierHave you ever wanted a field to appear differently depending on certain conditions? For example, make an invoice's Due Date field appear bold and in red if the invoice is past due? With FileMaker Pro 9's new
Conditional Formatting feature, you can. Using this feature, you can change nearly any style-related attribute of a field automatically based on conditions and calculations. This feature has been a long time coming, and I'm happy to report that FileMaker has implemented it perfectly. I wish that we could conditionally format other things, such as layout parts (the header, body, footer, etc). But that's what future upgrades are for, right?

With FileMaker 9, managing scripts in ScriptMaker has never been easier. To help you better organize your scripts you can now group them into, well,
Script Groups. Groups are essentially folders, and you can nest folders, re-order them, expand and collapse them, and so on. There's also a filter list, so you can quickly find a group, and also a filter field, so that you can locate a script by name. You cannot, however, use the filter field to find things in the scripts themselves, such as comments, variable names, and so on. The script organization functionality has also been implemented in dialog boxes where a script is to be selected -- which is a real timesaver. Let me sum up these changes like this: The ability to group scripts is another one of those "how have I lived without it" features.

Another change to ScriptMaker is that you can
work with multiple scripts at the same time. Each script opens in its own window, which is very convenient when you're working on scripts that reference each other. One oddity which will take some getting used to is that there is no longer an OK button to click on when you are ready to save changes to a script. It seems like an oversight at first, but from what the folks at FileMaker have explained to me, the button was removed by design because each editing window is being treated as a true editing window -- so you either need to explicitly save your changes, or close the window (at which point you can either save your changes or cancel them). Regardless, I found that it felt like something was missing.
Oh yeah -- one other very cool thing about being able to edit multiple scripts at the same time is that you can easily copy and paste script steps between them!
If you've been running FileMaker Pro 8.5 Advanced for awhile, you'll be happy to know that the
Data Viewer tool has also been enhanced in 9. It now appears as a modeless window, and you can easily see the values of all of the fields or variables that are "in play" in the running script. of course, you can also add these to your Watch List. So debugging complicated scripts has suddenly gotten to be a much easier task.
For those of us who have come to depend on
Tab Controls, there are a couple of enhancements that are really going to come in handy. One is that you can indicate which tab is to be the default tab -- the tab that appears first. In the past, the tab that you were on when you last saved changes to the layout always appeared as the default tab, and this could be very annoying at times. Now, it is no longer a problem.
A second enhancement to Tab Controls involves specifying the width of the tabs. You can do things like set the tab widths to be the length of the tab labels with a specific margin on either side. You can make all of the tabs expand to be the width of the widest label, etc. You can also set the tab widths to a specific size, and one of the neatest things that I've seen done with this is to set the widths to 0, turn off any border on the Tab Control, and you essentially have a tab control with no visible tabs. So you can control the navigation through the tabs via buttons and scripts.
No release of FileMaker Pro would be complete without the introduction of new functions. And while there aren't many new functions in FileMaker 9, one in particular is quite interesting.
I'm talking about
the new "Self" function, which gives you a way to reference an object that it is associated with, without needing to explicitly make that reference. This is one of those functions that you will probably need to see in action before you can fully appreciate what it is and how it can be used.
The easiest way to see Self in action is via the Conditional Formatting feature that I described above. There are several built-in conditions that you can modify, and by doing so you can see how FileMaker uses Self to pull off some of those conditions. The Self function also comes in handy when you are setting up tool tips, where the same tips are implemented across multiple layouts.

There are a few other new functions introduced in FileMaker 9, including:
- Get (TemporaryPath): Returns the path to the temporary folder being used by FileMaker.
- Get (HostApplicationVersion): Returns the version of FileMaker running on the host machine for the current database. (If the database isn't being hosted, then an empty string is returned.)
- Asin (number): Returns the arcsine of a number.
- Acos (number): Returns the arccosine of a number.
Improving IntegrationFor me, the most exciting new feature in FileMaker 9 is something called
External SQL Data Sources (or ESS, for short). An ESS is simply an external SQL table (or view) that you can reference from within your FileMaker database, and it acts as if it were just another FileMaker table. You can place ESS tables on your relationship graph, setup relationships between them and other "real" FileMaker tables, and so on. The source of an ESS can be anything that you can access via ODBC, such as an Oracle database, a SQL Server database, MySQL, etc.
If you've ever wanted realtime, seamless integration between your FileMaker Pro solutions and back-end SQL databases, then FileMaker Pro 9's support for external SQL data sources is a dream come true. You can do finds against them. You can sort them. You can import and export from them. You can even extend them (add local columns to the table references). The seamless integration of ESS into FileMaker is quite amazing.
I'll write more about ESS in a future post -- it is certainly worthy of its own post, if not an entire series of posts. It's that powerful, and that important. For now, let me leave you with these observations:
- I performed several tests with SQL Server 2000 and 2005-based ESS tables and views, and performance was very impressive. One of those tests was against a complex 500,000+ row table. I was able to join to it, perform finds, sort, and so on. It worked like a champ.
- FileMaker is not trying to position FileMaker Pro 9 as a way to build front-ends to SQL-based back ends -- although it seems to me that one could certainly do so. Instead, their goal is to provide seamless integration of data in those back-end databases with data in our FileMaker databases. To say that this is seamless is an understatement. I don't think that FileMaker could possibly have made this more seamless, other than to build ODBC data source management into the application.
- With ESS, FileMaker Pro 9 is a great solution for corporate environments, especially those running databases from multiple vendors (such as Microsoft SQL Server, Oracle, etc). FileMaker Pro 9 becomes the "glue" that can bring data from multiple sources together. The data can be easily analyzed, extended, and reported on.
FileMaker Pro 9 includes a few other integration-related enhancements, including:
- Append to PDF Script Step: You can now "add on to" existing PDF documents.
- Email a Link to a Published Database: For a hosted database, you can now easily email a link to that database to another FileMaker Pro user. The link generated in the email message will open FileMaker Pro 9 and attempt to connect to the database. (Apparently, the days of our old "launcher files" are numbered.)
- An Enhanced Web Viewer: You can now chose to display a progress bar and status messages in Web viewers. Also, when accessing sites via HTTPS, the SSL lock is displayed.
And More, And More...I haven't covered everything that's new in FileMaker Pro 9, but I think I've covered a lot of the "big" features. There are other goodies such as
field-level control over visual spellchecking, an enhanced help menu and "learn buttons" in certain areas, new buttons on the toolbar, etc. And there's the introduction of
product activation that needs to be discussed at some point.
PricingAs I write this, pricing for FileMaker Pro 9 hasn't yet been released. Be sure to check
FileMaker.com for pricing and availability information.
Wrapping UpThere's a lot to like about FileMaker Pro 9 and 9 Advanced. With each new release of FileMaker, I grow more and more impressed by how far the application has come. With this release, we're seeing new and innovative ways in which the developers at FileMaker are able to add some very powerful new features without "mucking up" FileMaker's elegant interface. It's a very impressive thing to have accomplished.
Is FileMaker Pro 9 perfect? No, at least not yet. But it is an impressive and worthy upgrade. There's still plenty of room for improvement, and lots of things on our collective wish lists that haven't been implemented yet.
But as I said earlier in this post, that's what upgrades are for.