Best UX: Provisioning Headless IoT Devices
There are many ways to connecting to an IoT device, some are better than others. The challenge is simple, get the device onto your home/work WiFi. But how? Is your phone on the same wifi network? What’s the device named? Which one do you pair to? What if there are many devices? From RaspberryPis to Arduinos to custom designs, IoT developers need to get it right. Otherwise, they risk turning off customers before their product can be appreciated.
Apple and Google have solutions but they don’t play well together. You may have enjoyed provisioning Google Chromecast from an Android phone. Or setting up your AppleTV from your iPhone. It’s not as nice when you mix things up though. This is due to security upgrades to both Android and iOS that prevent apps from changing a user’s network settings. Despite being more secure, it kills the user experience.
NFC avoids the security issues by exchanging network settings directly. Rather than mess with complex WiFi modes and workflows, NFC is a sensible alternative that isn’t so difficult to implement. Flomio’s products and support assist product UX designers achieve the best result across hardware and software.
NFC is compatible across iOS and Android
The tech giants make use of Zeroconf technology, or what Apple calls Bonjour, to create an out-of-band, peer-to-peer temporary network between mobile device and hardware product. The problem is that most IoT device makers are not Google or Apple. Delivering a great cross platform experience is difficult with Zeroconf technology.
Product makers may try using an embedded web server on their device and a REST API through a mobile app. Both require the user to manually connect their mobile device to the IoT device in soft AP mode (acting as its own WiFi network). This approach blows because it forces the user to leave the app plus it often strands networks. You may have seen the resulting clunkiness in products like Belkin WeMo.
The most broadly supported method for connecting devices is tap-to-pair via NFC. This method is commonly found in Bluetooth speakers and headphones but available to WiFi devices as well. There’s several ways to implement it -each with different pros/cons- a few of which I discuss below:
1 Your product has Wifi and BLE radios, as well as an external NFC sticker with BLE pairing code.
User story: Joe installs product app from app store, launches app, and taps NFC surface to pair product to his phone.
How it works: Behind the scenes BLE secure pairing is established and WiFi creds are sent seamlessly over BLE to product. We have implemented this on a shopping cart product we built last year, checkout the pairing process at the beginning of this video:
2 Your product has WiFi and an NFC reader built in that supports the VAS protocol
User story: Joe installs product app from app store, launches app and a digital NFC pass is created and added to Joe’s mobile wallet (Apple Wallet or Google Pay). Joe then places his phone over the product’s NFC reader to pair it with his WiFi network.
How it works: The product app grabs WiFi creds on Joe’s phone and creates a digital NFC pass with the creds as it’s payload. Once Joe adds the pass to his mobile wallet he can pass this over to the product via NFC. The product then securely decodes the WiFi creds and connects to the network. We have implemented this in a demo app called PassNinja as shown in this video:
3 Your product has WiFi and NFC passive tag built in, an accessory NFC writer is included.
User Story: Joe installs product app from app store, launches app and pairs it with accessory device. Then taps accessory on NFC surface to pair product with his WiFi network.
How it works: The product app grabs WiFi creds on Joe’s phone and sends them through the accessory to the product via the built in NFC tag interface. The accessory is required since NFC writing capability is not available broadly across mobile devices (notably iPhones lack this feature) but there’s a good chance that will change in the near future. We’ve implemented this on our NFC Actions app on the App Store and here’s a video of it in action:
At Flomio we are passionate about building turn-key tools for IoT developers. Having served over 2500 customers across 55 countries we’ve learned a great deal. If you’re working on an IoT project and think we can help, LET US KNOW! We provide free support on our Forums where we typically answer within 24 hours or 1-on-1 premium support through the purchase of Flomio Service bundles.
Leave a Reply
Want to join the discussion?Feel free to contribute!