Analysis: What makes Apple's "Handoff" possible?
Apple is maintaining its stance that devices must remain separate, but without universal apps across mobile and desktop, this leads to a less seamless and more jarring experience for the end-user. As a partial solution to this, the company introduced a set of features at WWDC earlier this year for the upcoming iOS 8 and Mac OS Yosemite releases called "Continuity" whereby work can be continued easily from one device to the next.
In its demo at WWDC, the experience was as fluid as it needs to be. "Handoff" allows users to begin working in an application then handoff / continue work on a second device. It's a feature many didn't realise they needed – despite many juggling multiple devices – and it shows that Apple still has the ability to look at problems users never knew existed and provide an easy solution to a previously cumbersome process.
But it's not something magical out of Cupertino, rather it's another example of Apple taking existing technologies, packaging them together in a way that makes sense and then shipping it under their own simplified branding. So what technology is really behind handoff?
Cloud: Personal security by iCloud
At WWDC, Apple announced iCloud Drive of which all users get 5GB for free, then 20GB for $0.99 /month, and 200GB for $3.99/month. Tiers are rumoured to go up to 1TB but there has been no official confirmation as of writing. In comparison to other ecosystems; Google offers 15GB free storage with Drive, and Microsoft has OneDrive in which they've recently given a highly-competitive 1TB of storage "free" to Office365 subscribers.
Apple is differentiating from competitors' solutions by removing the need to upload your file to your chosen storage provider, open the relevant application on the second device, and then download the uploaded file from your storage provider to continue your work altogether. It's a tedious process when you're potentially doing it multiple times a day.
Instead of storage, Apple is using iCloud for security. There are a lot of concerns around sharing files to another device at the press of a button and it must be handled with due care. For "Continuity" features to work, you must sign into iCloud. After this security-check, two devices nearby which share the same Apple ID will be connected via Bluetooth.
Bluetooth 4.0: Can you see my iBeacon?
The iPhone 4S was the first device from Apple to support Bluetooth 4.0 with its most-touted enhancement being its low energy capabilities. For some idea of how low energy it is, packets are no larger than 47 bytes in size. This number consists of up to 10 bytes of overhead, six bytes for the MAC address, and up to 31 bytes of actual data.
iBeacons are powered by Bluetooth 4.0 and contain little data. There's a unique user ID which is 16 bytes large and enables apps to distinguish individual users, there's a 2-byte "major location" which can tell where you are, and a 2-byte "minor location" to tell what area of that place you're currently in.
All of this information is transmitted in only 20 bytes.
This low-energy mode is used for device discovery and will be the technology behind your device discovering others nearby, keeping up-to-date with what they are up to, and initiating a connection when necessary.
Wi-Fi: Dropping files by Air
Last year Apple unveiled 'AirDrop' which, in both iOS7 and Mac, allows files to be sent between the same type of device but not iDevice to Mac and vice-versa. A year later and this has been rectified as of iOS 8 and Mac OS Yosemite.
AirDrop, in typical Apple fashion, is a more consumer-friendly guise for Wi-Fi Direct. It also uses Bluetooth 4.0 to find when other AirDrop-compatible devices are nearby and attempts to initiate a connection when prompted to do so. Once accepted, a peer-to-peer Wi-Fi network is created allowing data to be transferred at high-speed.
Wi-Fi Direct is not available on the iPhone 4S and prior due to a non-compatible chipset. On the Mac, pre-Yosemite devices used Wi-Fi for discovery instead of Bluetooth for compatibility with non-Bluetooth 4.0 compatible Macs.
How does "Handoff" work?
You're sure to have some idea how Handoff works by this point; but let's just sum-up. Apple utilises the Cloud, Bluetooth 4.0, and Wi-Fi Direct to provide a seamless "continuity" when moving from one device to the other. From a user point-of-view, all they have to do is click or tap a small icon representing the previous app they were using and all their activity - even down to their scrolling position - will be picked-up on the new device.
Behind the scenes is a combination of trusted and well-used standards and technologies. Apple's Cloud (iCloud) checks the user has permission to access the file, Bluetooth 4.0 (iBeacon) detects when devices are nearby, and Wi-Fi Direct (AirDrop) sends files high-speed over a secure peer-to-peer Wi-Fi connection.
Is it easy to implement in applications?
To enable 'Handoff' in applications, developers need to decide what activities their apps are performing. Apple's Mail app, for example, defines reading an email and writing one as separate activities. Developers specify these activities using the NSUserActivity class which Apple details thoroughly in their documentation here.
Both Mac and iOS share the same Handoff APIs so you only have to tie the same user activities to the same actions in both your mobile and desktop applications. Developers who have native applications on iOS, but prefer web applications on desktop, are able to claim ownership of specific domains so they can use 'Handoff'.
Much like Apple favours its own proprietary standards over Open standards, Handoff is somewhat limited in that activities can only be shared by apps from the same development team. Whereas elsewhere in iOS apps can now share data through 'Extensions' in iOS 8, Handoff won't yet let you continue work in another developer's application. For those who find it more productive to mix-and-match their applications; this will be a major disappointment.
Do you plan to make use of the 'Handoff' feature? Let us know in the comments.