In case you haven’t noticed, mobile applications are all the rage lately. And for good reason; there’s a lot of power in carrying your computer around.
FileMaker Go is a wonderful tool for developing and deploying home-grown mobile solutions. However, it can sometimes be a little tricky to figure out how to get the application onto the device, keep it updated with current data, and so forth. So let’s discuss that a bit.
First off, you have to understand that anything you do with a FileMaker database inside iOS is treated as a document, not an application, as far as the OS is concerned. It’s like having a Numbers or Pages document that can do lots of cool stuff. What that means in practical terms is that when you’re moving FileMaker database solutions onto (or off of) an iOS device, you’re moving a document, not an app. Therefore, the installation process is completely different than installing from the App Store.
The second consideration is that FileMaker solutions are stored in the documents space of the FileMaker Go application. iOS is “sandboxed”, which basically means every application works in its own little space, and isn’t allowed to communicate outside that space except through strict protocols. It can’t access any portion of the device except its own documents space. (This is a security feature.) So you can’t just drag a database solution onto your device in the Apps area; it’ll be rejected because it’s not an app.
So how do you get a FileMaker application onto an iOS device? Well, there are four basic ways:
- By using iTunes and dragging the solution into the FileMaker documents space
- By using Dropbox and attaching your device to your Dropbox account
- By email
- Through the FileMaker application already on the device (or being hosted)
The first method is relatively simple. You plug your device into your computer, and open iTunes (if it doesn’t open automatically). Select the Apps option on the left, and scroll all the way down on the right. Click FileMaker Go under File Sharing > Apps. You’ll see this screen:
Just drag your database into the directory at this point, and it’s on the device.
Now, that’s all well and good if you can sync up the device every time you need to get a database. But what if the solution is located somewhere else? What if it’s not accessible from your computer – or if you are away from your computer? That’s where some of the other methods come into play.
Dropbox can be used for transfers remotely. You can upload the database to your Dropbox account and then log into it remotely to retrieve the document. Or, someone else can leave the database in your Dropbox account for you. You’ll need a Dropbox account (obviously), and the mobile Dropbox app from the App Store (available here). There’s a little bit of a hiccup when you go to download the solution – Dropbox will try to preview it and fail – but you’ll be prompted shortly to “Copy to FileMaker Go” – and that will do the trick.
You can also use email. It’s quite simple to send a FileMaker database via email, and, when you tap on the attachment inside the Mail app, it’ll prompt you to choose what to do with it. Again, choose “Copy to FileMaker Go”:
(One thing to watch out for: When you send a file via email, it’s vulnerable to being intercepted and hacked. The vast majority of hacks that affect FileMaker databases require access to the actual database file, and sending one via email can be risky for that reason. The risk is probably not very big, but consider using encryption at rest to protect the solution and data.)
Okay, so that works fine when you want to copy a database over. What happens when you need to upgrade a file with new features, but don’t want to lose the data? If you just copy the new version over, it’ll wipe out what you already had, because FileMaker data are encapsulated inside the database file. So you need something that can move the data over to the new version as part of the upgrade process. That’s where in-solution coding comes into play.
There are several methods for updating a file. One of the easiest to implement is simple data import. You can copy the file off the mobile device, import its data into the new copy, and then load the new version back to the mobile device. It’s straightforward and easy, but very time-consuming. It’s usually better for your sanity if you can automate the process.
Automation can take a couple of general forms. The first is to build a deployment solution inside FileMaker. There are plenty of resources online where you can read about it, but one common (and effective) strategy is to use container fields to deploy new versions. We’ve used this strategy quite successfully on different occasions. Essentially, you store the database inside another database – which is where the container fields come in. When ready, you can then download the new version to the mobile device and install it via an Export Field Contents script step.
Another common strategy is to use synchronization. If you’re not trying to move the entire solution, but just need to keep the data updated, then synchronization can work very well. We use synchronization whenever there’s a mobile version and a hosted version that need to be kept in sync.
Combining these two strategies is powerful and very easy on the end user. But it will take some development time. We’ve done it and have a body of code we reuse in different solutions (and if you decide to go this route, so should you).
As always, if you’re interested in FileMaker applications on your mobile device, whether it’s having one developed, updating, or just need a little help, please contact us. We are more than happy to assist.