This article originally appeared in TidBITS on 2017-06-12 at 1:15 p.m.
The permanent URL for this article is: http://tidbits.com/article/17284
Include images: Off

FileMaker 16’s Invisible Brilliance

by William Porter

The just-released FileMaker 16 [1] is the most significant update to the database platform in at least a decade, and yet most of the improvements have little to do with the company’s marquee products: FileMaker Go and FileMaker Pro. They are, respectively, the mobile and desktop clients used to run FileMaker databases. Yes, the company has enhanced each in a few welcome ways, but the big news in this release is in technologies that are invisible to end users: FileMaker Server, WebDirect, and beyond.

So Long, Pro. Hello, WebDirect! -- First, a bit of disclosure: I’m a certified FileMaker developer and a paying member of the FileMaker Business Alliance [2]. However, I am not an employee of FileMaker Inc. — I’m an independent developer who works only for my clients.

One of the best things about FileMaker 16 is that I can upgrade my users without them realizing it at all. At least, they won’t need to install a new version of FileMaker Pro. I’m simply sending them a URL and moving them all to the Web, thanks to WebDirect.

FileMaker’s WebDirect technology has been around for several years now. It was good but not great when it first appeared, but now it’s approaching what I might call “usability parity” with FileMaker Pro. WebDirect is a technology that translates a normal FileMaker database file into an HTML5 Web page that users can view and interact with in a Web browser.

An app presented via WebDirect looks almost exactly as it would when viewed in FileMaker Pro. Most of my clients don’t notice the difference, except that getting to their FileMaker app is now just a matter of loading a Web page. Because of WebDirect, your Web browser may turn out to be the thin FileMaker client that many of us have been wanting for years.

But the current fourth-generation release of WebDirect doesn’t just present FileMaker apps more reliably than its predecessors, it also provides a solution to the problem of generating formatted reports in a browser. Earlier versions of WebDirect were pretty good at displaying and editing records, but they were lousy at generating reports. With FileMaker 16, WebDirect now supports printing through the browser and generating PDFs as well, and the output is identical to what you’d get using FileMaker Pro. You can even ask the server to create a PDF and send it to you or to a client as an email attachment. In the screenshot below, you can see my FileMaker-based scheduling app accessed via WebDirect on the left and the same app in FileMaker Pro on the right.

[image link] [3]

An added benefit of these developments is that they work well on smartphones. FileMaker Go, the mobile client program for FileMaker databases, runs only in iOS. But WebDirect works on Android as well. In fact, it works in pretty much any modern browser regardless of the device’s operating system. I haven’t tried this, but a developer friend pointed out that there’s no reason a WebDirect FileMaker app wouldn’t now work well in Linux.

But WebDirect hasn’t entirely caught up to the native FileMaker clients. The user experience via FileMaker Pro or Go is still richer than the user experience in a Web browser. For example, some of my apps support keyboard shortcuts that don’t work in a Web browser. And WebDirect isn’t free. Client connections to the server through WebDirect cost the same as client connections initiated from FileMaker Pro.

Still, my sense is that WebDirect is the future of FileMaker deployment. And FileMaker Inc. seems to have big plans for WebDirect. One hint: FileMaker Server 16 allows five different machines to be linked so that up to 500 users can access a file through WebDirect at the same time.

While We’re Talking about Access… -- FileMaker 16 supports OAuth [4], an open authentication protocol. OAuth support will make it possible for users to get into FileMaker solutions by logging into Amazon, Google, or Windows Azure. I expect other services to become available for authentication in the future — we can hope that Apple eventually supports OAuth more generally. OAuth will work both in WebDirect (i.e. in your browser) and in FileMaker Pro and Go.

Once the FileMaker server has been configured properly, and a user account has been set up to use OAuth, a user trying to access the app will be given the opportunity to log in with credentials from one of the accounts mentioned above.

[image link] [5]

I had mixed feelings about this feature at first. In “Take Control of Your Passwords [6],” Joe Kissell advises that you not link your accounts on the Internet, and I usually take Joe’s advice. But Google and its ilk are surely more on top of security threats than I am, and these other services offer two-step authentication, which is a very good thing that’s not available using FileMaker security tools alone.

To Infinity and Beyond — Authentication through Google is great, and WebDirect access to FileMaker databases is even better. But there are other technical improvements in FileMaker 16 that are even more far-reaching. These new “features” are not just inherently hard to talk about (because, well, they’re difficult), they’re hard for me to talk about, because they’re breaking news, and like most other developers, I have only just started learning how to take advantage of them. But I’ll try to explain why these changes seem so promising.

In the past, FileMaker has relied on older data-exchange technologies like ODBC/JDBC to share data with non-FileMaker databases. In recent years, the reach of FileMaker has been extended through expensive plug-ins. FileMaker now has explicit, native support for a variety of technologies used widely on today’s Internet to exchange and manipulate data, technologies such as cURL, JSON, and RESTful APIs, including the new FileMaker Data API.

For some years, FileMaker has been able to send a request out to a resource on the Internet, get back some data, and copy that result into a field. That worked great for simple queries, say, grabbing a picture or looking up the city and state corresponding to a ZIP code. The addition of support for cURL [7] URL-formatting functions in FileMaker 16 will enable developers to generate much more complex queries (for example, passing parameters to a remote page) and will also allow these queries to be passed more securely because the cURL parameters will be encrypted in transit.

I also expect that FileMaker 16’s support for JSON [8] (JavaScript Object Notation) will improve the way advanced FileMaker developers work. A lot of the Web now uses the language-independent JSON data format for sharing of data, so being able to access and manipulate JSON in FileMaker will enable effective sharing of data with a huge variety of external, non-FileMaker sites. And even if you aren’t interacting with a remote site, JSON’s data manipulation functions extend FileMaker’s capabilities considerably.

Equally important — but even harder to appreciate at the moment — is the new FileMaker Data API (application programming interface). With FileMaker 16, it’s not just possible for a FileMaker app to connect to other services, it’s also possible for other services to connect to FileMaker. Until late in 2018, FileMaker Inc. considers the FileMaker Data API to be a trial feature. But I think it will eventually allow even simple Web sites to pull data from FileMaker databases and display it dynamically, without requiring PHP scripting.

FileMaker has long been a capable applications development platform and will no doubt be used to solve many business problems without the use of cURL, JSON, or the new FileMaker Data API. But developers who make an effort to learn these new technologies will find that they can now do things with FileMaker that they hardly dreamed of doing in the past.

Windows and windows -- Of course, as with every release of a complex product, there are lots of new features. I’m skipping over almost everything that will matter only to developers (like the lists of new functions, changes in the way the Script Editor works, and so on). You can get the full scoop on what’s new in FileMaker 16 from FileMaker’s Web site [9].

But I do want to mention two improvements that, while not earth-shattering, are nevertheless welcome.

First, FileMaker Pro 16 on Windows 10 now supports SDI, the single-document interface model for windowing. FileMaker windows, now liberated from the application frame, stand on their own, pretty much the way they do on Macs. Actually — and I speak here as a dyed-in-the-wool Mac user — I almost prefer the way my apps look in Windows 10 because I can remove the application menu bar. These windows are cleaner and more modern in look and behavior.

Also cleaner and more modern is FileMaker’s new “card-style” window. A card window lacks a window frame or menu bar and can be configured to dim the window behind it. Some uses of card windows may just provide a more attractive look to things we could do before, but card windows also provide other rather nifty UI options like tying two windows together. I predict that card windows will be popular with FileMaker developers and users alike.

[image link] [10]

Bottom Line -- In the 1980s and early 1990s, FileMaker Pro made a reputation for itself as a consumer-friendly, easy-to-use database. Whether or not that was accurate back then is arguable, but it hasn’t been targeted at end users for a long time. I sometimes compare FileMaker to the guitar. It’s easy to learn to “play the guitar” if all you want to play is “Louie, Louie.” On the other hand, if you want to play Sergio Assad’s Toccata (check out David Russell’s version [11]), well, the guitar isn’t easy at all.

That’s how it is with FileMaker. Sure, you can crank up FileMaker Pro and create a simple one-user Christmas list. But creating a Christmas list in FileMaker is like using a New Holland Haybine with a 7-foot cutting width to mow the patch of grass in front of your apartment.

[image link] [12]

If a simple single-user database is all you want, you’d be better off using something like Knack [13] or Airtable [14]. With Airtable you can create a database on your smartphone and in minutes share it with other users [15]. For users with limited needs, Airtable is basically free. With FileMaker, as we’ll see, not so much.

But if you need to both store and manipulate data, provide a flexible and creative user experience for your users, or have involved security and reporting requirements, you’ve gone beyond building a database to building an application. And while it takes some effort to see it, this is where the FileMaker 16 platform shines.

Pricing -- How much does all this goodness cost? It’s a simple question, but there isn’t a simple answer.

With FileMaker 16, costs will vary roughly between $5 and $15 per user per month. There are at least half a dozen programs through which FileMaker can be purchased and whether your company’s monthly cost per user is closer to $5 or to $15 depends on many factors, including the number of licenses needed. And there are special programs available for educational users and non-profit organizations.

[image link] [16]

Moreover, pricing depends on your deployment scenario: Does your company want to keep up with upgrades as they happen, which is what I recommend, or buy fixed-price perpetual licenses and use them forever? Will users access the solution only on desktop computers using FileMaker Pro or will they also connect from their smartphones or in their Web browsers? Does your company want to host its databases internally or would it prefer to host in the cloud?

Note that a couple of the best purchasing options are not available through FileMaker’s online store [17], so your best bet is to call FileMaker for guidance or talk to your FileMaker developer.

As I noted, FileMaker is truly a database application development platform now, not an end-user database. With FileMaker 16, although the main FileMaker desktop and mobile apps haven’t changed all that significantly, FileMaker’s focus on WebDirect, support for OAuth, and integration of technologies that open it up to the Internet make it a compelling upgrade for many scenarios.

[1]: http://www.filemaker.com/products/whats-new
[2]: http://www.filemaker.com/partners/become-a-partner.html
[3]: http://tidbits.com/resources/2017-06/WebDirect-vs-FileMaker-Pro.png
[4]: https://oauth.net/
[5]: http://tidbits.com/resources/2017-06/FileMaker-login.png
[6]: https://www.takecontrolbooks.com/passwords
[7]: https://en.wikipedia.org/wiki/CURL
[8]: https://en.wikipedia.org/wiki/JSON
[9]: https://www.filemaker.com/help/16/fmp/en/#page/FMP_Help%2Fnew-features.html
[10]: http://tidbits.com/resources/2017-06/FileMaker-card-window.png
[11]: https://www.youtube.com/watch?v=0nX-zsrk02M
[12]: http://tidbits.com/resources/2017-06/Haybine.jpg
[13]: https://www.knack.com/
[14]: https://airtable.com/
[15]: http://www.macworld.com/article/3036505/software/airtable-review-a-drop-dead-easy-relational-database-management-system.html
[16]: http://tidbits.com/resources/2017-06/FileMaker-pricing.png
[17]: https://store.filemaker.com/