iBeacon App Development Companies

There are a large number of offshore development companies currently spamming social media, claiming to do iBeacon development. We recommend you do your due dilligence before engaging development as many like to say ‘yes’ to anything and it’s often companies such as ours that have to pick up the pieces.

Here’s are some things to consider when looking for an iBeacon app developer:

  • Can they give examples of iBeacon apps they have written?
  • Can they give you references to past work who you can talk to?
  • Do they release development versions regularly so you can test and gauge progress? If everything is released at the end, it’s likely you are going to end up disappointed.
  • Who will actually be doing the development? There can be intermediaries in the development ecosystem that confuse and compound communications problems. Right from the start, you need to be talking direct with the person who will be doing the development.
  • Do they really understand you? Many aren’t native English speakers and if you are getting misunderstandings during initial engagement, this doesn’t bode well for the development.
  • Have they provided constructive comments on your proposed app rather than just saying ‘yes’? Developers should be able to improve on your ideas so as to get the best out of iOS and Android.
  • Getting iBeacon apps through Apple approval can be difficult. Can they give you examples why and the possible mitigations?

App development is an area where cheapest isn’t usually the best. Compromised development will cost you in the longer term through late or aborted development, tricky problems, significant end user support, poor app reviews and difficulty adapting the apps in the future for future phones and new features.

Beaconzone was founded by app developers in 2015 after we had previously created several iBeacon art gallery apps. We have since written many more iBeacon and Bluetooth LE apps on iOS and Android.
Read about beaconzone.solutions

nRF Connect Features

Nordic, the manufacturer of the System on a Chip (SoC) in most beacons, has a new blog post on Five Things You Didn’t Know About Nordic’s Mobile Development Apps. The post mentions less visible features of nRF Connect on iOS and Android. For example, you can get a useful RSSI graph by dragging the screen towards the right from the centre:

nRF Connect is the main app we recommend for testing beacons. iOS recently received a completely new version. nRF Connect also has macros that can speed up testing.

BeaconWalker Aids Solution Development

If you are developing a beacon solution it can be tricky to set up physical scenarios where beacons come and go. Peter Alt of Philadelphia Museum of Art has a useful iOS app called BeaconWalker that simulates a sequence of iBeacons with custom durations per beacon.

The Swift source code is also available on GitHub. While you are there also take a look at the museum’s mobile framework, a collection of utilities for caching data, iBeacon ranging and indoor navigation. There’s also framework demo that explains how the framework features work.

What is iOS Bluetooth Advertising?

When scanning for Bluetooth devices from an app or gateway you will usually pick up lots of iOS devices.

Every Bluetooth LE device, including iOS, has a unique MAC address. MAC address randomization is used on iOS so it’s not possible to track a particular device over time. However, there have been studies that have shown other Bluetooth information can be used to fingerprint devices.

The Bluetooth advertising uses a proprietary protocol and has no use for anyone other than Apple. The advertising is used to provide for what are called continuity messages that allow handoff of tasks, such as writing email, universal clipboard, making calls from a another Apple device, instant hotspot, auto unlock from Apple watch and photo transfer between Apple devices.

An iPhone only advertises if it is associated with an iCloud account to which at least two devices are registered. Advertising can be manually turned off in the Settings Menu. Disabling Bluetooth from the Control Center does not stop the transmission of continuity messages.

It’s surprising iOS devices advertise so often, even when continuity messages aren’t being used, because it uses a lot of battery power. This must be the cost of being able to provide the app handoff messages without the user having to initiate a manual action at both ends. Maybe Apple will be able to overlay the new ‘Find My’ messages in same or similar Bluetooth advertising so as to make best use of the battery.

Completely New nRF Connect for iOS

As we have previously mentioned, nRF Connect is the the best app for detecting if a Bluetooth LE device such as a beacon is working. The Android version has always had more features than the iOS version but that is changing. nRF Connect for iOS has been completely re-written and now has a very pretty UI.

We still recommend using the Android rather than the iOS version because iOS apps can’t see Bluetooth MAC addresses due to some peculiar decisions made by people at Apple. Scanning also can’t see an iBeacon UUID, major and minor in the advertising. It’s more difficult to uniquely identify Bluetooth devices in apps such as nRF Connect on iOS than it is on Android.

iOS 13 Location Permission Complexities

Following on from our post on Using Beacons with iOS 13 and Estimote’s post on Get ready for iOS 13: Bluetooth and location changes explained, TechCrunch has an article on how Developers accuse Apple of anti-competitive behavior with its privacy changes in iOS 13.

The gist of the problem is that the ‘Always’ option for allowing the location-tracking permission has become ‘Allow Once’ with the ‘Always’ option being
buried in iOS Settings. People who use location (and beacon) oriented apps, are likely to select the ‘Allow Once’ option and the app will only work correctly once. This will create extra support, customer confusion and general loss of customers. The anti-competitive part comes through Apple’s own in-built apps (currently) not having to live with these restrictions.

To mitigate against the problem we recommend app authors update their apps and online instructions to explain to users to at least initially select ‘Allow While Using App’ and possibly provide more detailed instructions how to set ‘Always’ in Settings.

Bluetooth MAC Randomization Can Be Defeated

The Register has an article Brilliant Boston boffins blow big borehole in Bluetooth’s ballyhooed barricades: MAC addy randomization broken.

Beneath the hyperbolic alliteration is some research (pdf) that Bluetooth MAC randomization isn’t foolproof. Researchers have found that similarities between the non-MAC information in advertising allows devices to be uniquely identified:

“What is perhaps even more concerning, say the Boston Uni trio, is the message Bluetooth vendors are putting out to the public when they advertise Bluetooth LE as being an untrackable standard.”

In actual fact, very few vendors do MAC randomization. The majority of beacon manufacturers don’t because the whole idea of a beacon is that it can be identified via MAC address or iBeacon id. For the same reason, most Bluetooth accessories don’t as they want to be identified via apps. Android smartphones don’t do MAC randomization but iOS and Windows 10 do to improve end-user privacy. It’s mainly iOS devices that will be moving around and possibly tracked in-store or on-site via the ‘vulnerability’ described in the paper.