FileMaker Go Brings FileMaker Databases to iOS
It’s easy to forget that FileMaker, Inc., is a wholly owned subsidiary of Apple. The direct successor to Claris, FileMaker has, to a degree that saddens its main product’s many dedicated users, become something of a red-headed stepchild within the Apple universe. In many ways, FileMaker (the database program) is an anomaly in that universe, a throwback to the days when Apple’s software bore the Claris label.
Since 1998, Claris has been FileMaker, Inc., a company so utterly separate from its sole owner that one could easily be forgiven for imagining that the two companies have no connection at all. While you can find reference to FileMaker, Inc., at the Apple Web site if you search for it, it’s not easy to find. In fact, only Bento, Filemaker’s personal database, is available on the Mac App Store while its grown-up stablemates are not. And nowhere has the distance between the two corporations been more clear than on the iPhone.
When Apple unveiled the iOS App Store in 2008, FileMaker devotees were sure that Apple’s very own purveyor of fine database software would be among the first to place products in the App Store. FileMaker, after all, wasn’t a total stranger to the mobile market: FileMaker Mobile provided a solution to Palm and Pocket PC users as early as 2006. But it took the company two years after the opening of the App Store to release FileMaker Go in July 2010. I’ve been using it for some time, and wanted to share my impressions.
FileMaker Go for the iPhone is not an impulse purchase. At $19.99, it’s not the cheapest app in the App Store, and it’s not even the cheapest FileMaker client — FMTouch costs half that amount. And $19.99 gets you only the iPhone version — FileMaker Go for the iPad costs $39.99. (Note: This article focuses on the iPhone app, but the conceptual issues, if fewer of the screen size concerns, are the same.)
FileMaker Go is essentially a FileMaker thin client — data within FileMaker databases can be manipulated quite easily on the iPhone using the onscreen keyboard. You enter fields by tapping them; absent a Tab key, you move between fields by tapping the Next button. Buttons trigger scripts as they do on a desktop machine. Calculations, well, calculate. Overall, the software’s functionality, once a database is open, is quite acceptable.
Where a FileMaker developer will find new challenges is in configuring a database for an iOS device, and, in particular, an iPhone. While a desktop-based FileMaker solution can take advantage of relatively large expanses of screen, an iPhone held in portrait view has a limited available display area. FileMaker’s design guidelines recommend limiting layouts to 312 pixels in width to avoid forcing users to zoom out in order to view an entire layout.
The small iPhone screen means less data is visible, and scrolling lists of related data presented in a portal can be viewed only with difficulty — the scrolling navigation cues that are comfortable on a desktop or laptop computer’s screen don’t scale well to the iPhone’s screen. Therefore, layouts have to be designed carefully, and cunningly scripted sequences of forms become the most practical way of manipulating data. To help with that, FileMaker’s Get(SystemPlatform) and Get(ApplicationVersion) script functions can be called to identify an instance of the database running on FileMaker Go, and the database can then be scripted to switch to a mobile-friendly layout. Compare the top (desktop FileMaker Pro) and bottom
(FileMaker Go on the iPhone) screenshots below.
Data structures also need to be prepared quite thoroughly, because once a database has been loaded onto an iPhone, its database schema can’t be changed there. Although records in any FileMaker table can be modified (if the user has the right access privileges), that is the extent to which FileMaker Go can interact with the
data. Tables can’t be added or deleted, nor can fields, and relationships between tables cannot be modified. Scripts can be run, but cannot be written or edited. Similarly, any layout can be made accessible to the iPhone (although not all layouts will be suitable), but they cannot be modified on the iPhone.
Databases, therefore, need to be prepared in FileMaker Pro on a desktop computer and then transferred to the iPhone via one of two methods. If a database is shared, either using FileMaker sharing under FileMaker Pro or via FileMaker Server, then FileMaker Go can access it in much the same way that a desktop version of FileMaker Pro would; that is, by using a file-browser interface on the iPhone that offers a list of all available files on a selected server. The major advantage of this method is instant updating — since FileMaker Go is interacting directly with the database on the server, updates made to the data with the iPhone app are automatically updated live on the server, and those updates are then reflected on any other clients
that happen to have the database open.
FileMaker Go can access shared databases over a Wi-Fi or a cellular data connection. This means that a salesman on a sales call, for example, can check inventory or the status of an order from his iPhone — provided that he has a decent Internet connection and his company’s database is shared over the Internet, of course.
Databases can also be synced to an iPhone via the Apps tab in iTunes. Databases installed this way reside entirely on the device, not on a server, and so changes made locally stay local until the file is copied back to the computer to which the device syncs.
Layout compromises aside, FileMaker Go does offer a couple of new opportunities for capturing data. Container fields in FileMaker Go databases can contain the same variety of data as their desktop counterparts, but data entry becomes a little more interesting.
Tap a container in Browse mode and, in addition to the obvious Choose From Library option, two new data sources are available. Take Photo enables the user to take a photo — but not a video — with the iPhone’s built-in camera (front or back, if it’s an iPhone 4 or 4S), with a button offering a choice of full, large, medium or small file sizes and resolutions. A third choice, Get Signature, offers a plain white screen with a horizontal (in landscape mode) line labeled “Sign Here.” Sign with your fingertip (or a stylus), and then tap either Clear to try again — it’s not easy to sign legibly with your finger — or Accept to place your signature in the container field. Once a container field is filled, a tap on its contents
reveals two additional options, Email and Open.
The ability to use fully scriptable databases on an iPhone offers interesting possibilities beyond simple database manipulation. There is a small degree to which FileMaker Go could be considered a development platform for iOS, offering developers, as it does, the capability to build rich and complex solutions that can then be ported to the iPhone simply by syncing, rather than having to develop from scratch using Objective-C.
Database-like applications have been available on the desktop for some time now, with FileMaker Pro Advanced, née Developer, having the capability to generate stand-alone applications encapsulating the functionality of a database. The significant difference with iOS devices is the fact that stand-alone solutions are not possible — you must be running FileMaker Go on your iPhone or iPad in order to access the database, but that’s not a massive price to pay in order to develop, quickly and quite easily, a custom iOS “app.” FileMaker claims they’re apps; they’re not, of course — they’re documents. They’re rich and complex documents, granted, but they’re still documents.
Unlike Bento, the iOS versions of which are limited to sharing data only with Bento on the Mac, FileMaker Go is a solution many FileMaker users have been waiting for since the day Steve Jobs announced third-party apps on the iPhone. (For more about Bento, see the various articles TidBITS has published about the software.) Despite the inevitable layout and design compromises that the small size of the iPhone imposes on the FileMaker developer, FileMaker Go for the iPhone is a solid piece of software that integrates well with the existing FileMaker universe. Why Apple keeps it at arm’s length remains a mystery.
[Steve McCabe is a Mac consultant, tech writer, and physics teacher in New Zealand. He writes about his adventures in New Zealand, he blogs about technology, and he has just finished rebuilding his personal Web site.]
I like FM Go a lot. But the tiny screen makes design critical. I keep looking for some easy-to-use aid, perhaps with templates.
The FM GO CheatSheet may be of some help.
http://www.kcunning.com/consulting/documents/FMGoCheatSheet_iPad_v1.pdf
Hey, that's very cool - linked it again (since, as a staffer, my links are hot):
http://www.kcunning.com/consulting/documents/FMGoCheatSheet_iPad_v1.pdf
Not sure why this article intimates that FileMaker Go is a new app. I've been using it for at least two years to track my gas mileage at each fill up. Additionally, as stated in the article, there is no "Tab" button, but the "Next" button when you're typing in the on-screen keyboard moves you to the next field.
What happens to the layout when you rotate the iPhone, Steve?
Glad you asked, Adam! The 312 is the number of pixels in portrait mode. You can, indeed, physically rotate your phone to landscape mode, but if you do so, FMGO's behaviour is analogous to a FileMaker Pro desktop window being resized; the visible portion of your layout will switch orientation, but not scale content as other iOS apps might. As far as I can tell, there is no way of constraining orientations, so unless you're willing to make your users pinkie-promise that they won't ever tip their phones to portrait orientation — and I don't really foresee that being a popular move in corporate IT departments, at least — then you're likely to be dealing, at least some of the time, in 312-pixel-wide portrait mode, and that's the maximum size for which your layouts will want to be optimised.
This is fairly easy to workaround: on startup you install an ‘OnTimer’ script that runs every second. The script it calls checks the WindowContentWidth (or similar), and issues an appropriate Go To Layout command.
Now when you rotate your phone FM will jump to an appropriately sized layout within a second.
You can also utilise Autosizing of objects, but I haven’t found this so useful.
Re rotation: It's also very easy to design portrait layouts which auto-magically adjust to full-width landscape (via the autolock feature in position pallette). This keeps your DB professional looking, without having to control the user.
Although the article touched on this: I can't underestimate how useful this app is for effectively creating your own simple iPhone/iPad Apps. Since FMP databases can be password protected themselves It’s a fabulous place to store any sensitive data. If you don’t have FMP desktop, a friend could easily create a simple database for you (although being able to tweak you own solutions would be far better.
In addition to adapting some of my old DBs I've created a slew for myself and friends.
Some examples: A Password DB (no need to worry about other Devs bugs, updates, and sudden demises), A DB that tracks my exercise activities, A Health DB (always on hand to track doctor appts, your questions, DR's advice etc), An House Electrics DB (contains which circuit virtually everything in my home), A Home Inventory DB, I even did a Coin Collectors DB for a friend who’s an avid coin Collector.
In short it’s great for all those databases that really are useful while away from your computer.
I’m personally glad FMP didn’t rush to the App store, I doubt the tranisition was a simple one, and even their 1.0 Version was highly functional. The only real limitation of this product is it’s inability to automatically sync with copies of the same DB on your desktop - So dev ends up having to create their own solution.
Lastly, I especially reccomend this App for any one with an iPad, the functionality difference due to the larger screen size is enormous.
For the casual user like me with little DB experience (I did try to learn DBIII once upon a time), but liking the simple applications you suggest, wouldn't using an excel "database" make more sense? I know, we have to wait for Office to hit the iOS world, but that should be soon. Excel is on most desktop machines already while db programs of any type are relatively rare, it's "easy" to use--most of the time, it can be pw protected, etc etc. I don't want to buy & learn FMP as well as the GO version in order to be able to keep a db of drs appts, etc. In short you have tempted us well with your suggestions of uses, but...big money, learning curve,+!