FileMaker Pro: Simple app dev, easy cloud deployment

FileMaker Pro 16 makes it easy to build simple database-driven apps for desktop, web, and iOS, but scalability is limited

FileMaker Pro review: Simple app dev, easy cloud deployment
Thinkstock
At a Glance

Not so many years ago, departments tended to run FileMaker database applications on desktops. In more recent years, those apps started moving to the web. In 2017, desktop apps are more or less passé, and websites are losing ground to mobile apps.

Given that FileMaker Inc. is an Apple subsidiary, it is no surprise that the FileMaker Platform now has good support for iPads and iPhones with the FileMaker Go app. It’s not a big surprise that FileMaker only supports Android with web apps, but it is disappointing. FileMaker has confirmed that it has no plans to create Android apps.

In 2017, cloud deployment is a huge deal. FileMaker Cloud offers an easier, more scalable, and more agile alternative to setting up your own FileMaker Server, albeit at a loss of some PHP and SQL connectivity capabilities. It retains the same old file-based database format rather than adopting a real server database, which may limit its scalability. That is contrary to the current spirit of cloud (and server) applications. FileMaker can establish two-way connections to some external SQL databases, but that won’t necessarily fix the scaling issue.

The FileMaker Platform consists of development environments, on-prem and cloud servers, iOS apps, and web clients. The two development environments, FileMaker Pro and FileMaker Pro Advanced, can also serve as desktop clients and hosts. Both the FileMaker Pro Advanced and stripped-down IDEs have Windows and Mac versions, but again, there are no FileMaker Android apps.

filemaker platform FileMaker

This diagram outlines the two hosting options for FileMaker, along with the four client options, two of which are also the development environments. The IDEs and server run on MacOS and Windows. FileMaker Cloud runs on CentOS Linux.

What’s new in FileMaker 16?

Those of you who have been following FileMaker’s progress might be interested in the new features of FileMaker 16, as compared to FileMaker 15. In the mobility area, FileMaker 16 allows for scripted animations and transitions in FileMaker Go, signature capture, iBeacon and GeoFence support, and custom paper sizes for printing.

For development, FileMaker 16 supports a hierarchical layout objects window, which helps to find grouped and nested objects that used to be hard to reach. It adds “cards” for automatically sized pop-up dialogs, printing to PDFs, a better Windows UI, the ability to copy and paste value lists while developing, and support for variables in data source references, which makes opening FileMaker files more responsive. In FileMaker Pro Advanced, the data viewer has been enhanced for better productivity.

In the integration area, FileMaker 16 adds support for Curl and JSON data exchange, a trial of the FileMaker Data API, a Tableau web data connector for FileMaker, and external script steps in the FileMaker Plug-in SDK. For security, FileMaker 16 now supports using OAuth 2.0 for external authentication and opening security certificates from within the design environment.

For scalability, FileMaker WebDirect now allows 500 users. The fact that 500 users is quite low compared to the numbers you hear (~30,000 concurrent users per site) for PHP/MySQL (LAMP) stacks probably stems from the architecture of the FileMaker server and the use of a file-based database.

You would think that FileMaker Cloud would offer more user connections than FileMaker Server for better scalability, but you’d be wrong. The maximum FileMaker Cloud license offered is for 100 users, and that requires at least a c4.xlarge AWS EC2 instance type, with a larger instance more likely to handle a heavy load from those users.

FileMaker app and database basics

FileMaker organizes its files into solutions containing database tables, layouts, and scripts. The database can relate tables that have common fields. You may have multiple layouts for different purposes and form factors. Usually you’ll find that FileMaker apps have form, list, and table views, and often have customized layouts for desktop, tablet, phone, and/or web use. FileMaker can also generate simple reports.

FileMaker offers different modes for varied activities such as Browse, Find, Preview, and Layout modes. Find mode offers searching on any combination of fields; you can also sort on any combination of fields. Find mode returns you to Browse mode once you have completed your search request. Preview mode is useful for seeing how a report will look before actually exporting, printing, or emailing its contents. Layout mode allows you to design or modify one or more layouts.

filemaker contact detail layout FileMaker

FileMaker Pro Advanced layout mode allows you to design and modify one or more layouts. Layout mode also gives you access to the scripts attached to various controls, such as the map at the bottom right.

Scripts allow you to automate steps in a FileMaker app. There are currently about 100 different possible script steps, covering basic operations, program control logic, and the invocation of external operations, such as running a SQL query or an AppleScript. Compared to most other app builders, FileMaker’s selection of script steps is small. Nevertheless, a restricted set of options is consistent with FileMaker’s goal to enable ease of development.

In FileMaker Pro Advanced, you can debug your scripts as well as just running them. FileMaker Pro Advanced also lets you encrypt and decrypt your database files, document your database schemas, and use a bunch of other features that are pretty much essential for developers but not for ordinary users.

You can create a FileMaker app from existing tables or spreadsheets, by modifying existing solutions, or by building up a solution from scratch. Beginners are well advised to start with an existing solution (preferably a starter solution) if one is a decent match to the problem being solved, or to start from one or more spreadsheets if the business has been using them. You can literally drag a spreadsheet file into FileMaker to import the table schema and data.

Starting from scratch is a bit harder. It’s not that beginners can’t start from scratch in FileMaker, but more that they tend to produce clumsy solutions because they don’t understand data design or UX design. No matter how easy FileMaker makes the mechanics of laying out the app screens, there is still a need to structure the data (it is a relational database, albeit a simple one), design a user interface and user experience (often done on paper or a white board), iterate the design with users, debug, test, and finally deploy. If “third normal form” sounds like it could be the name of a rock band, you may want some consulting help, at the very least for your initial data design.

FileMaker Pro is a reasonable way to build a simple iOS app (based on the FileMaker Go client) at the same time as desktop and web apps. To design a layout for an iPhone or iPad, you use the size options in Layout mode (see screen below). You can drag fields wherever you can find room on the layout, and you can tie buttons to scripts. FileMaker Pro gives you more control over form design than systems that limit you to a flow layout, but it also requires you to do more work to exercise that control.

filemaker phone layout lg FileMaker

The FileMaker Go app is the foundation for iOS clients, unless you use Xcode to build your own. To design a layout for an iPhone or iPad, you use the size options in the FileMaker Pro Advanced layout mode.

Deploying a FileMaker app

While you can host a FileMaker app from your FileMaker Pro Advanced development box, that won’t scale well—it’s most useful for testing by a few users. Instead you should deploy to FileMaker Server or FileMaker Cloud. Aside from the obvious difference (FileMaker Server runs on your server hardware, while FileMaker Cloud runs on the AWS cloud), there are a few less-obvious distinctions between the two.

FileMaker Server still supports custom PHP web publishing; FileMaker Cloud does not. That’s not a huge loss unless you already have a custom PHP web deployment. FileMaker Server needs to be installed and administered; FileMaker Cloud doesn not. FileMaker Cloud can’t schedule server scripts and lacks a few ESS (External SQL Sources) drivers that don’t exist for Linux. You can scale FileMaker Cloud up or down as needed within the limits of your license, to optimize your AWS spending.

The five possible clients for a FileMaker Server or FileMaker Cloud deployment are FileMaker Pro and FileMaker Pro Advanced (Windows or MacOS), FileMaker Go (iOS), web browsers (Safari, Chrome, IE, and Edge) via FileMaker Web Direct, and apps created with the iOS App SDK. You can mix and match clients as long as you stay within your server license.

FileMaker pricing and prereqs

FileMaker’s pricing seems a lot more reasonable to me now that you can use it from a browser without having to buy a development license. Given its limited scalability, it’s still very much a product for small-to-medium businesses and single departments of larger businesses, although it does fill a niche given its general ease of learning and ease of use.

I am a little annoyed by FileMaker Go’s hardware requirements. I have a perfectly serviceable older iPad that I use for reading ebooks and testing iOS software, and I’m certainly not unusual in that respect. Many businesses also strive to make the most of older devices. FileMaker Go 16 requires an iPad Pro, iPad Air 2, iPad mini 4, or iPhone 6s or later. Excuse me? That’s obscene.

Similarly, FileMaker Pro and FileMaker Pro Advanced require OS X El Capitan or MacOS Sierra, but don’t allow Yosemite or older. While I have managed to keep my Macs up-to-date, not everyone can, because of incompatibilities with specialized software. Frankly, this smells like FileMaker’s parent company, Apple, is trying to use FileMaker to sell hardware. I find that incredibly shortsighted and lacking in respect for customers.

Overall, FileMaker is an easy option for developing simple apps that tie to a basic relational database, but it doesn’t scale well despite its new AWS cloud deployment option.

—-

Cost: Free trials and educational discounts are available. Self-hosted FileMaker team server licenses range from $888 per year for five users ($14.80/user/month) to $8,748 per year for 100 users ($7.29/user/month) and can be converted to FileMaker Cloud on AWS. FileMaker Pro costs $329; FileMaker Pro Advanced costs $549.

Platform: MacOS or Windows for development IDE and server hosting, plus deployment for the web, iPhone, and iPad.

At a Glance
  • FileMaker is an easy option for developing simple apps that tie to a basic relational database, but it doesn’t scale well.

    Pros

    • Easy to learn and use
    • Allows anyone to build desktop, web, and iOS apps
    • Handles separate layouts for different form factors
    • No longer outrageously expensive
    • Cloud deployment option does not require installation

    Cons

    • Still does not scale well
    • Limited selection of script steps
    • Limited set of database drivers
    • Can’t create native Android apps
    • Requires newer MacOS and iOS hardware and software, although Windows requirements are more forgiving

Copyright © 2017 IDG Communications, Inc.