Designing FileMaker Databases for FileMaker Go

09/06/2010 -

When FileMaker Go arrived in mid-July, the first thing that many of us did was to open our existing databases on our devices. My first reaction was, "Wow, it really works! This is great!" This was quickly followed by the realization that my layouts looked unwieldy and tiny on both the iPhone and the iPad.

Within a few days I began building layouts that were designed for the iOS devices; I used anchors to stretch buttons and make my layouts look good on both devices; this works great, and is one of the methods that I use for iOS layouts.


This is a fairly simple layout; the layout is in LIST view and has buttons that are using left, right, and top anchors to stretch them across the screen. When you turn your device, the buttons will stretch across to fill the available space.

Here's a layout that shows detail for one of the clients; again, I tried to keep the screen simple, easy to use with a finger, and uncluttered. There are buttons for the SERVERS table, FIND, and to return to the LIST VIEW:

Buttons are kept at a minimum; the FIND button goes to a special layout that is designed for this specific database:

You could use FileMaker's built-in FIND function, which is great, but this would require a layout that is sized to look good on the iOS device; hence, this simple layout.

TIP: When you click into a one-line-high field, FMGO will enlarge the field vertically, which can be annoying. To prevent this, put a scrollbar on the sfield, even though it's only one line high. The scrollbar won't be displayed, and your field won't grow vertically.


In this template, which is freely available at the bottom of this article, you'll see that I've tried to come up with a layout template that mimics the standard iOS application. I've deviated with the blue control strip, but other than that, I've tried to duplicate what I see in most apps on iOS devices.

This database has a simple function: it's a place to note calls that you need to return. I kept the interface simple; there are no pulldowns. The ACTION buttons cycle through various colors using conditional formatting, and navigation is similar to what you will find on many iOS apps. I had to get to the dropdown menu a different way, since we don't actually have access to iOS toolbox calls here, but the effect is very close.

Here's the Calls app in landscape view:

Here's the Calls app in Portrait view, with the pulldown menu invoked:

Here's the same Calls app on the iPhone, with the pulldown menu invoked:

When you open the database, an ontimer script trigger is invoked that is called every .3 seconds; a script called check_orientation uses get(WindowContentWidth) to determine the device's orientation; if you're on the landscape layout and you pivot your device, it will switch to the portrait layout, and vice versa.

The portrait menu is achieved using a 2nd layout that has a graphic that mimics a standard iOS pulldown; a portal is used here to display a list of records; when you click on a record, you're switched to the portrait layout without the menu displayed, and your desired record is shown.