This post is a summary of an episode of The Context Podcast, episode 40, release date 6/16/2020. In this episode, Cris Ippolite joins us to talk about Shortcuts and NFC. Those two features are the stated topic, but, of course, we touch on a lot of other things. So here’s a summary of what we discussed.

Please take a moment to subscribe to the podcast at Apple Podcasts or wherever you get your pods. There, you’ll find great technical episodes as well as our FileMaker Origin Stories series.

Outside of a Web Viewer

Cris shares a surprising finding about some JavaScript add-ons. He discovered, while playing with his demo file for LinkedInLearning, that you can get a part of a JavaScript input field to extend past the boundaries of the web viewer (on macOS only). The color picker-type input in question actually could also cover a FileMaker layout object as well. Cris was startled by this discovery.

Todd reminded us that inside a web viewer there’s a browser: Safari on MacOS, and IE 11 on Windows. He explained that control field types in HTML are provided by the operating system, not the web viewer or the browser itself. You can add styling to these control fields, but if you use the native input, the OS renders the color picker, so the color picker is ‘allowed’ to be outside the web viewer.

WebViewer Widgets

We’ve decided there are three types of web viewer widgets: Fullscreen, “Sneaky”, and Computational. We’ll talk about this more in another blog post, but here’s the quick definitions:

FullScreen Widgets

These widgets cover almost the entire layout. Users interact with the widget wholly. FileMaker buttons can be on the layout, and those buttons can interact in some ways with the widget.

Sneaky Widgets

These widgets are more subtle. They’re simply treated as objects on a layout, incorporated into the workflow-based design of the layout. These widgets sit alongside other objects, including fields.

Computational Widgets

These kinds of widgets are simply used to harness the power of the JavaScript engine and JavaScript libraries to return a value back to FileMaker. Users do not interact with these widgets. Scripts do. For example, if you wanted to find the first Thursday in the month of June, you could do that easier with a JavaScript library.

Machine Learning

As always, Cris is playing with FileMaker in prep for his courses or simply discovering new features. He played with an app called Hotdog/Not Hotdog to demonstrate this new feature. Check out his video.

Shortcuts

Before talking with Cris, I wasn’t convinced Shortcuts were a necessary thing. They were cool, for sure, but I was searching for reasons why I’d use these in a FileMaker app. And I thought ‘shortcuts’ referred to ‘Siri’. Cris schooled me.

This is a bulleted list of details Cris and Todd shared about Shortcuts.

  • Cris first did a session in 2016 on URL Schemes, where apps talk back and forth to each other on iOS. He profiled an app called Workflow.io. This app used to create url schemes between apps. This app turned into the Shortcuts app.
  • In FileMaker 19 we can ‘donate’ FileMaker scripts to the Shortcuts app. This allows us to set a Shortcut in the Shortcut app to run a FileMaker script.
  • Go into FileMaker Security, and enable the extended privilege “Allow URLs to run FileMaker scripts” for each privilege set.
  • You can pass a parameter to the FileMaker script that runs from a Shortcut. This is the same as the fmp url, which Cris suspects is what’s happening under the hood.
  • Transfer the FileMaker app with ‘donated’ scripts to FileMaker Go, open the app and create a shortcut for each of the donated FileMaker scripts.
  • Shortcuts are specific to each device, so even though a script is enabled to run via a shortcut, users of the app on iOS will not automatically be able to use the shortcut.
  • If you are using iCloud to share across devices, you can share a shortcut to all of your devices. This gives you a URL. This could actually be built into a FileMaker app and run onOpen: Do you want to install this shortcut? You can even text the URL to someone.
  • There is a security setting in iOS “Allow Untrusted Shortcuts”. This needs to be enabled.
  • Shortcuts simply run FileMaker scripts. You still have to manage security and permissions in FileMaker.
  • You can create an action in the Shortcut app that runs before the FileMaker script runs. The action can be a question. A user’s response to the question (a voice command) can be sent back to FileMaker as a parameter.
  • FileMaker Go doesn’t have to be open for this to work. Shortcuts will open up FileMaker Go and authenticate if necessary.
  • Cris has a great example: his Dog-Walking App. Check it out.
  • Record control is very important: If you’re using voice control, you need to make sure the record data gets committed. You might even want to use transactions to ensure the data gets saved.
  • Shortcuts don’t have to be just Siri. Shortcuts can be location or proximity based, they can be set on the home screen as buttons on the screen or the watch.
  • Todd brings up a good point: this and other features of FIleMaker 19 blur the lines of how to interact with FileMaker apps. We’re even more free from just having to enter data via a keyboard and mouse.
  • If the file is hosted and not found during the shortcut run, you can get the shortcut to let you know the file is not available.

Location-Based Triggering

There are many different types of location based triggers: Geo-fencing, iBeacons, NFC, and Barcodes

Geofence

  • Polled from the Configure Region Monitor Script Step.
  • Have a latitude and longitude and radius setting to determine coordinates of the ‘box’ that, when crossed, the chosen script should run.

iBeacons

  • Polled from the Configure Region Monitor Script Step
  • Run a script when you get near a physical object in the environment. The range is less than 30 ft. Each iBeacon can be set to trigger a script.
  • There’s tons of examples of using iBeacons.

NFC

  • NFC uses the script step Configure NFC Reading.
  • NFC deals with Near-field Communication. Apple Pay uses this, as Apple went all in on NFC.
  • NFC has been around for a long time, over 2 billion NFC pieces that have been produced.
  • For an NFC trigger, the device has to be within four inches of the NFC tag.
  • NFC tags can be read and written to. We can’t write it in FileMaker (yet).
  • You’re telling a script to run when the NFC tag gets detected. The data stored in the tag can be brought into the script using Get(ScriptParameter).
  • Writing to NFCs is cheap and easy. Buy a bag of of them. Spread them around your home and do things.
  • Again: NFC further helps us to interact with the world.
  • NFC is started via a script. A little card comes up on the lower-third of the iOS device.
  • You can turn off the NFC polling with the timeout option.
  • NFC passes the polling to the iOS device. FileMaker is not trying to find the tag.
  • Cris thinks it will be possible to write to an NFC tag from FileMaker in some future version of the platform.

Tinkering with FileMaker

And finally, I want to reiterate the idea of just playing with this stuff. That’s a great way to learn, even without a specific use case in mind, though I’m sure one will come to you shortly. Cris and Todd demonstrate that by just tinkering with script steps and devices, one will pick up a whole new skill set. Yes, reading blog posts and watching videos is useful, but nothing is as useful as just getting your digital hands dirty. A while back John Renfrew and I talked about this very thing.

So give something new a try. Let us know what you tried and what you learned.