Mobile applications that are derived from existing desktop or server software face the challenge of being viewed as mere adjuncts to the product, rather than as tools that stand on their own. That's understandable in the case of a 1.0 release of a mobile app, but the challenge the software vendor then faces is deciding what to prioritize in the first few updates, to ensure that the mobile version of the application catches up to its counterpart in features and functions.
For an example of how to do this correctly, one can look to FileMaker Go 1.1, the first upgrade to its namesake company's database client for iOS devices. The update, released in late September, adds PDF creation features, database sharing via e-mail, and the ability to insert images into database records of both the iPhone and the iPad versions of the app.
This release also allows users to import records from a FileMaker database using scripts created for FileMaker Pro-the desktop version of the database software-and predefined parameters. This works with local as well as hosted databases to provide numerous ways to extend a mobile database with features such as bar code scanning, by embedding these scripts in a URL to call other applications and pass data back to FileMaker Go.
Of course, FileMaker Go remains a "little brother" in some ways. It cannot itself host a database for sharing, nor can a user create a new database on an iPad or iPhone, or modify a database schema or appearance. The Layout and Preview modes of FileMaker Pro and some of its table-viewing features are not available in FileMaker Go, as they are only useful when creating a database, or editing its appearance and design.
One useful feature of FileMaker Pro that is inexplicably missing from FileMaker Go is the ability to save and send records in Microsoft Excel format, for use with Excel itself or with Apple's Numbers for iPad. Other limitations inherent to the iOS platform exist as well, and they are documented in a technical brief available on the FileMaker Website.
FileMaker Go can connect to databases that are hosted by releases 10 and 11 of FileMaker Pro and Pro Advanced, or those releases of FileMaker Server and Server Advanced; the databases must have been created using FileMaker release 7 or a later version. The External SQL Sources features of FileMaker Pro and FileMaker Server can be used to connect FileMaker Go to data that would otherwise be inaccessible due to the lack of an ODBC driver for iOS. Although FileMaker Go's language support is limited to English, French, German, Italian, Japanese and Spanish, this applies only to menu lists and commands; databases created in FileMaker Pro will appear in the language of their creation.
FileMaker Go for iPhone costs $19.99, and FileMaker Go for iPad sells for $39.99; both are available from Apple's iTunes App Store. Updates from the initial release of the apps are free. The iPhone version of the app requires iOS 4.x, but the iPad version will run on the iPad's (current as of early November) 3.2 release of iOS.
For my testing, I used a canned database that FileMaker supplied, and hosted it over WiFi from a FileMaker Pro instance. Installing FileMaker Go is of course a simple matter, and connecting to a published database is a matter of whether it's available through a public network or a private one. The network connection must be WiFi or 3G, and FileMaker Go can't discover hosts that are published through LDAP.
I found it very easy to use the hosted database with both an iPhone 4 and an iPad, and I used iTunes to push a copy of the database to the iPhone and e-mail to push another copy to the iPad. The result in both cases was a replica that I could use even when the host was unavailable.
Developers will have to think carefully about how the constraints of a mobile device will affect their applications. Data-driven applications that have been adapted for use over a WAN may already be fit for use on an iOS device, but processor-intensive tasks can be a problem in the relatively constrained environment of an iPad or iPhone. As FileMaker's technical notes indicate, "Committing and creating records over a 3G network can take longer than expected." Although some iOS touch-interface elements are not available in FileMaker Go, a number of useful ones are implemented; these include double-tap zooming and swiping to move around a screen.
Perhaps the touchiest point of using a hosted database with FileMaker Go is the natural tendency of mobile users to switch away from the app while still in the database, to answer a phone call or view a new e-mail. This will leave the database open, and FileMaker's recommendation to its developers is to add user interface elements that encourage users to exit in a more graceful fashion. If the hosted database has to be closed for some reason, connected users are sent a message prompting them to close the file; if this message is not acknowledged within 30 seconds, FileMaker Go will close the file on its own.
Although FileMaker Go could benefit from some additional functions that would bring it up to par with its desktop counterpart, it's a good example of how to adapt software originally created for a traditional PC or Mac to mobile use. It takes advantage of appropriate user interface features, while working with the inherent limitations of a mobile device, and the result is a useful and powerful tool.