Senior mobile engineer Alexey Vlaskin looks at the upcoming changes to the Apple Watch announced at this year’s WWDC…
Before April 24 this year, many people were wondering about the Apple Watch. What would the experience of using it be like? Would the product be a useful everyday tool for everyone or an expensive toy for small group of die-hards? For enterprises, was this a technology worth exploring now, or would it be better to wait and see?
According to the MacRumors website, Apple spent around 40 million dollars promoting the new product before and during launch, involving countless high-profile personalities, from fashion industry types to well-known geeks and bloggers. There was definitely a big buzz. Personally, I remember the thrill of sitting as part of a group, trying to open the Apple Store website and get our order in on day one. I remember the anticipation and excitement of waiting as the first watches began to arrive…
Two months later, the watch has well and truly landed. And now is the time for enterprises to start building their Apple Watch app. Let me explain why.
The product is now widely available
The exclusivity and emotion of being a ‘first buyer’ is gone – as with any Apple product, people can just go to the nearest Apple store, try different models and buy the Apple Watch they like best. And people are definitely buying them.
It’s no longer just the initiated few offering product reviews, now everyone has an opinion of the watch. Mostly, people are loving it. The general consensus is that it’s very well designed and thoughtfully made; you can tell engineers did a great deal of testing with users. People want to put it on, and keep it on. Recently, Vice President of Apple Operations Jeff Williams said: “I think there’s great inevitability in technology moving to your body, and we chose the wrist very carefully”. For enterprises, this is an opportunity like no other before to be part of the technology on people’s wrists.
Product capability has increased and the platform is ready for third party apps
Although I have personally enjoyed the Apple Watch so far, the existing operating system watchOS1 only supports apps that run logic on the iPhone; this means watch apps are basically an extended iPhone screen and the watch itself is useless without being connected to the phone. These limitations are compounded by the fact that interactions are problematic when the iPhone and watch are struggling to communicate with each other (for example, when the iPhone is the bedroom and you’re reading recent tweets on the watch in another room). Together with other platform limitations on watchOS1, these factors mean the first Apple Watch apps are not perfect – they are all very simple, minimalistic and look similar to each other.
At WWDC 2015 this month, though, it was announced that developers will now be able to create native (independent) apps for the Apple Watch. watchOS2 not only supports native apps, it also opens up a host of new things we can do with them (for example, it can directly connect to familiar WiFi networks and communicate with the Internet independently). This means we now have a fully capable, extremely popular device on customers’ wrists with almost the same capabilities as the iPhone.
Here’s an overview of some new Apple Watch technologies that might be relevant to the enterprise:
- Core location – we now are able to retrieve a user’s location straight from the watch (this requires connectivity to the iPhone’s location information). Apple has added very handy API calls that allow developers to ask for the most reasonable latest user location. Users also may allow an app to use location services from the watch. Core location can be used in finding the closest store, office or branch of your business.
- Networking – the watch can now connect independently to WiFi and make network calls without the iPhone. This can be useful for any kind of recent data retrieval.
- Haptic engine, digital crown and animations – with watchOS2, native apps can use the haptic engine to give quick feedback to users, which – together with more control over views and animations – is going to dramatically enrich user experience. We can also now use the digital crown for different scrolling controls. This all means users will be able to find information quicker and easier.
- ClockKit – this allows us to show the most contextual information right on the watch face. This is one of the most powerful features for developers as it allows us to bring the most important information to the user without any touch interactions with the watch – users simply need to look at their wrist. For example, a user can see their bank account balance, or when their taxi is approaching. Opportunities are really endless here.
- Security – last on this list, but certainly not least. Apple have done a great job with the security framework. Now, we can share iPhone user presence and lock/unlock state with the watch. We can work with secure keychain items, and they will be accessible even when phone is locked.
Interoperability and developer tools are much improved
Having a great product is not enough to win developers over on a technology; they need mature and easy-to-use tools to make development cost-effective. The new Xcode introduces Swift 2.0 and much better tools for watchOS2. Here are my thoughts on some of the new tools, and some suggestions for how developers can best use them:
- The new Xcode allows developers to debug both iPhone and Apple Watch apps simultaneously, without extra workarounds – this saves a lot of time for app developers. Xcode can also now show different metrics on app performance, including operations, memory use and energy efficiency. These features are certainly very helpful for developers, allowing them to quickly uncover problems with the app.
- As developers, we are supposed to support two targets in the project – one for watchOS1 and another one for watchOS2. You can certainly reuse most of the assets, but it is recommended to keep code separately. iOS9 and WatchOS2 will ignore the WatchKit part if the watchOS2 target is presented.
- It is recommended to use Swift for watch development; however, developers do not need to rewrite the entire app with Swift as they can just extend classes as required or write new classes in Swift. Making Swift open source was a big move for Apple, and it’s just a matter of time before it becomes the most popular language across different platforms.
- Unfortunately, developers still do not have access to swipe, touch or digital crown events directly – only through standard elements that handle these events like buttons and table views. Keep this in mind when you design your user experience.
- As an Apple developer, you can download and install watchOS2 as soon as today. If you have plenty of testing watches available – go ahead. If you just have one, it’d be better to wait for the beta 2 or 3. Several developers have already reported some issues, and as WatchOS2 is not downgradable, it’s wise to think twice before installing it.
Three months ‘til launch…
We still have at least three months until iOS9 and watchOS2 launch and that should be just enough to develop a minimal viable version of your product. Launching together with the new iOS will potentially support your marketing efforts – Apple loves to feature products that use their latest technologies.
Now is the time to start developing for the Apple Watch. The device is now accessible for all users, and as platform tools have matured developers can make and test their apps more easily, more quickly and more cost-efficiently. Native apps are really big step for the platform and we will soon see lots of amazing enterprise apps for the Apple Watch. Technology is inevitably becoming more and more tied to the movement of the human body – this is a good chance for your enterprise to be a part of that.Apple Watch, Development, Enterprise, Tips, Wearables, WWDC, Xcode 7
This post was written by Alexey Vlaskin