Technology always seems to be about the newest thing, the latest and greatest. But what fuels those new ventures and ideas are products that long ago proved their value and continue to be strong-a product like FileMaker. Long-time products aren’t glamorous, and a proclamation that “FileMaker gets even better!” isn’t a grabber, and that’s too bad, because the latest version, FileMaker 17, is the best version of a great product line.
New features in FileMaker 17 for advanced developers, server admins
FileMaker 17 ties up loose ends, fills in small gaps, and fixes little problems left over from previous versions. Layout object grouping was introduced a couple of versions ago, but now developers can select and move or reformat individual layout objects in a group without having to ungroup them first. Two ostensibly tiny changes greatly enrich the power of FileMaker’s scripting language: developers can now capture dialog input directly into variables (another reason we hardly need global fields any more) and scripts can be called by name in a variable (which makes generic coding easier). The Send Mail process now supports sending multiple attachments. FileMaker Server has been further optimized to be even more responsive, especially the database is accessed in a web browser or after a disconnect.
It’s always easier for software companies to add new bells and whistles but kudos to FileMaker Inc. for these critically important fixes and improvements.
The best feature in FileMaker Pro Advanced 17 may be the new portal based on the current table occurrence’s found set. FileMaker’s documentation calls this “portals for master-detail layouts,” but that’s selling this feature short. A master-detail layout is a single layout that shows a list of found records (the “master”) and at the same time a detail view for one selected record. Your email app can probably do this.
Master-detail is a nice interface strategy: it allows you to keep record details clearly in context. But the new found-set portal is way more useful than that and does not have to be used for master + detail layouts. It can be used simply as an alternative to FileMaker’s native list view, with the advantage that you can now control how far the list extends to the left and right sides of a layout. That in turn means you can now easily build layouts that have action buttons on the left or right side of the display area, as is so often the case in web applications. Advanced developers have long been able to achieve this UI effect, but it involved work. The new found-set portal has been brilliantly implemented so that everything just works.
My other favorite improvement in FileMaker Pro Advanced 17 is the way inspectors and tool palettes are docked on the sides of the window. It makes working in layout mode much easier.
For server admins
There are a few highlights in FileMaker Server 17, too. The Server Admin Console has a welcomed makeover. The FileMaker REST Data API, which appeared in a beta version a year ago, has been considerably revised and is now out of beta. (If you’re a developer who used the Data API beta, you will need to review your code.) This allows other systems like, for example, web pages, to read data from and write to a FileMaker back-end database. Time will tell whether this is a game-changer or a niche-use capability; it will certainly matter to people who have a FileMaker native app whose data needs to be shared on an occasional basis with a website. Either way this is a forward-looking change.
There is also a new Admin API, which will be useful to anybody running one or more servers. Like FileMaker’s long-standing support for ODBC/JDBC and SQL data exchange, the new APIs allow the platform to communicate with the big world outside FileMaker, but the APIs are much more powerful. It’s these two new APIs that take FileMaker beyond platform status into ecosystem or framework territory.
If you work offline and need to update during off hours, you’ll be especially grateful for the very powerful new Data Migration tool. This tool is available only through the command-line interface (CLI) but it’s worth the trouble. Moving gigabytes of data from the old copy of a database into a clone of the latest version could take many hours in the past; now the same job can be done in minutes or even seconds.
FileMaker Go updates
Last but not least, FileMaker Go for iOS gets its share of enhancements. Support for paired keyboards has improved and there is now data-entry autocomplete in mobile databases. FileMaker Go 17 can also access a wider range of your iPhone’s sensors. For example, when I weigh myself at the end of the day, my little weight-tracking database can now automatically record how many steps I took during the day, which means that if one number isn’t what I was hoping for, I can now blame the other number.
Perhaps most interesting is the introduction of local notifications for iOS. FileMaker Go 17 can (finally) send a notification to your iPhone screen, even if it’s not running. If you use notifications in conjunction with FileMaker’s support for detecting and responding to iBeacons, well, this might be a very valuable new capability. Your phone can now beep at you and display a predefined message as you get near a particular beacon, even if you didn’t have a database open in FileMaker Go.
But notifications are limited to the particular user’s particular iOS device. FileMaker won’t let you set up a notification on a computer (“Doctor’s appointment in 1 hour!”) and have it trigger at the right time on your iPhone, the way you can with iOS Reminders or Calendar events. Fortunately, FileMaker does support AppleScript on your Mac, so I use that to set up push notifications. But the notifications end up coming from Reminders, not FileMaker Go.
FileMaker 17 for novices
In addition to improvements in the ready-made sample and starter apps, FileMaker helps beginners with more technical problems. FileMaker Pro Advanced 17 now creates a handful of default fields in every new table, such as a field named PrimaryKey (with a UUID unique value auto entered) and fields to track record creation and modification info.
Perhaps more usefully, FileMaker 17 offers “add-on” tables. If the novice developer is working in an app that tracks people and wants to add addresses in a related table (instead of having to define a Contacts table and define fields in it) and then create the relationship between People and Contacts, FileMaker 17 will basically do it for you and place an Addresses portal on a layout, at no extra charge!
These sound like nice ideas, in theory. But in practice, I’m skeptical.
The automatic creation of a PrimaryKey and four other fields thrusts upon the novice developer an approach to field naming and primary key generation that, while not uncommon, is far from being the “standard.” This should have been an option that gets turned off when the Advanced features in FileMaker Pro Advanced get turned on. As it is, for many advanced developers, this change is going to be an annoyance rather than a help. It’s possible to edit the XML file on which these default fields are based but the file is hidden and this can be risky.
As for the add-on tables, in my experiments with them, they were unpredictable and I fear they may confuse novice users more than they help. For example, I opened the Meetings file, created a new tab in a tab-control object and then added a portal. I wanted to be able to link People to Meetings, so I selected “add-on table” and then People. What FileMaker did, however, was rather more sophisticated than I expected. It created two new tables: People and “Assignments.” The latter table is a “join” table that makes sense if you’re reasonably knowledgeable about relational design and recognize that the relationship between meetings and attendees is almost certainly a many-to-many relationship. But I suspect that many beginners—the people that add-on tables are supposed to help—will open the Table Occurrence Graph, see “Assignments” and think, “Huh?” The other problem here is that the tables are added directly to the Meetings table using key fields named “LeftForeignKey” and “RightForeignKey.” This is supposed to help beginners?
While it may look as if FileMaker has offered beginners water wings, in fact, it has thrown them into the deep end of the pool. Simply attaching new tables to the existing tables works OK if the database doesn’t get any more complicated. But the ultimate result is that the user is prevented from learning about crucially important basics like the importance of context, the anchor-buoy approach to relational design in FileMaker, and other things.
FileMaker has evolved into a very complex platform. When I got started with FileMaker a long time ago, it was a bit like flying on a clear day by visual flight rules; now it’s more like flying a jet in the fog with instruments. Yet FileMaker Inc. keeps trying to suggest that developing with FileMaker can be as easy as riding a bike. It’s not. If you’re not a professional developer and want to solve a fairly basic data management challenge for your business or research, FileMaker is not and for some time has not been the most obvious choice. Alternatives like Airtable, Knack, or Caspio are less powerful than FileMaker, but powerful enough for a wide variety of problems, much easier to use and perhaps much cheaper and each of these has some advantages that FileMaker still can’t match. (I use Airtable partly because I can edit an Airtable base’s structure on my iPhone, something I can’t do in FileMaker Go.)
What sets FileMaker apart is its extraordinary ability to create rich user interfaces to manage fairly complex data sets. But taking advantage of that aspect of FileMaker is not easy and hasn’t been for a long time.
FileMaker 17 for end users
The largest group of folks affected by a new version of FileMaker are, of course, end users. You may not even know that you’re using FileMaker. But with FileMaker 17, ready or not, you are getting a more advanced product, in two senses.
For quite a while now there have been two versions of the FileMaker desktop client: the standard version called FileMaker Pro (the company’s flagship product) and a version for developers called Filemaker Pro Advanced. Pro Advanced has always been identical to standard Pro, except that Advanced included a debugger and a handful of other utilities that make the lives of developers much easier. The biggest news with the release of the FileMaker 17 line is standard FileMaker Pro no longer exists. Now there’s just FileMaker Pro Advanced.
Have you ever created a table, defined fields, designed a layout or written even a simple script in FileMaker Pro? Well, now you will be using FileMaker Pro Advanced to do the same thing. FileMaker Inc. seems to know that the Advanced features are going to be overkill for most users, because FileMaker Pro Advanced comes with the advanced features disabled by default. But you get ‘em whether you need ‘em or not.
Or are you one of the silent majority that use a FileMaker database but never define a field or edit a layout? If you’re accessing your custom app on your iOS device, you can use FileMaker Go. Or if your developer permits this, you might be able to access the app in your web browser. Otherwise, you’re going to be using FileMaker Pro Advanced even though you hardly qualify as a FileMaker Amateur.
FileMaker 17: What’s not to like?
I mentioned above that FileMaker’s mobile client, FileMaker Go, has some welcome enhancements in 17. But I have to mention that it’s still the case that Go works only on iOS devices. Android user? No Go for you! When you consider that FileMaker Inc. is a wholly-owned subsidiary of Apple, this is a little easier to understand, although the same thing was true back in the 1990s when FileMaker added support for Microsoft Windows.
This isn’t an easy problem to solve. A U.K. company named LiveCode is about to release a product that will make it possible to deploy FileMaker apps on Android devices. I just saw a full demo of the product (which is still in beta but should be released by late 2018) and it is impressive. But it adds a little to the cost per user and in my opinion this is something that FileMaker developers really shouldn’t need to use add-ons to do. If your development plans don’t focus on mobile deployment—or a solution’s potential mobile user base consists entirely of iPhone users—FileMaker is a fantastic platform. But if I were just starting to develop mobile apps these days and I didn’t want to ignore the Android market (which of course is huge), I’d be investigating alternatives.
The power center of the FileMaker platform, FileMaker Server, in addition to a revised GUI, has some significant enhancements (the official release of the Data API and the new Admin API, plus the Data Migration Tool). Unfortunately, the Server UI is now a bit of a three-headed monster. The server log used to be accessible through the Admin Console’s GUI but now is accessible only through the Admin API. Other features require the command-line interface. Perhaps it will all reappear in the GUI eventually, but for now, server admin users will need to know not just what Server can do, but where to look for each feature. No doubt worth the trouble in the long run, but growing pains are still pains.
Finally, about that name change. I don’t like the name FileMaker Pro Advanced. The previous name—FileMaker Pro Developer Edition—was more descriptive. The new name is pleonastic—that is, “Advanced” doesn’t add much to “Pro.” I wish they’d gotten rid of “Advanced” and consolidated the products simply as “FileMaker Pro.” Yes, this is a quibble. “A rose by any other name would smell as sweet,” as Juliet says. Still, I’m glad that roses aren’t called “extreme blood flowers.”
FileMaker 17 licensing costs
There are many ways to deploy a shared FileMaker app, including through FileMaker Cloud (on AWS) or on your own LAN/WAN. There are also many ways to access a FileMaker app: on a desktop computer, or a mobile device, or in a web browser.
FileMaker licensing is correspondingly complicated. It’s still possible to buy perpetual licenses for FileMaker products, but for most installations, annual licensing will be the way to go, and if you choose that route, no matter how your app is deployed or accessed, the bottom line cost will come to $10 to $15 per user per month. Which ain’t bad, considering what the FileMaker platform is capable of delivering.
Never used FileMaker? If you are just looking for an easy way to keep track of job applicants, plan a fundraising gala, or manage a gallery, there are easier, cheaper options available than FileMaker. On the other hand, if you want to go beyond making lists to building powerful apps with sophisticated, custom-designed user interfaces and a database back end, do yourself a favor and look at FileMaker. And of course, if you are a developer already working with FileMaker, version 17 is a no-brainer, worth the upgrade for found-set portals and the docked layout-mode panels alone.