Apple Watch’s release date, April 24, is coming in hot with only a few weeks between now and then. Some are projecting higher than expected demand for the Watch, which is great for Apple, but tricky for devs.
As developers, we can’t be sure how many of our users will be expecting Watch functionality from our apps, but we have a number of ways to be prepared for the demand.
Here are 8 things app developers should know about the Apple Watch:
1) It’s not a standalone device. The Watch is meant to be dependent on the iPhone, which will be leveraged for most major tasks. In fact, the Watch requires the presence of an iPhone to run third-party apps. Interface files and resources are the only things from your app that will be loaded onto the watch. The code itself is loaded on the phone and communicates with the device as a WatchKit extension.
2) Apps don’t have to be feature-complete. There are 3 types of use cases for the Apple Watch: apps, glances, and notifications. This is great for developers who are unsure how much to invest in the Apple Watch pre-launch. You can create a lightweight glance or notification system that allows your iOS app to be Watch-compatible (making Watch users happy) without sinking in too much development effort on a full-featured app.
3) Battery drain on both ends will likely be Watch users’ biggest complaint, so be smart about resources as you aim to create a great experience for your users.Only use what you need; even though the workload is largely driven by the iPhone via the Watch extension code, the communication between the two will burn CPU cycles on both ends. Also, in comparison to the Watch, the iPhone will feel like a device with unlimited resources – but that doesn’t mean you should be running GPS, 4G and Bluetooth communication 24/7.
4) Forget everything you know about Auto Layout. Well, not everything, but the Watch throws these design patterns out the window. Layouts on the Watch are stacked and grouped in a unique way, but it’s relatively simple to pick up on the small screens. You do have two screen sizes to work with (38mm and 42mm), but the snapped layouts handle the differences nicely.
5) Double-check existing patterns. Using libraries and patterns that you’ve used many times before may create new “gotchas!” when the Watch is brought into play. One example is asking the user for permissions. On the iPhone, this is a simple UIAlertView – but if the iPhone isn’t active and the Watch triggers this, it could bring some unexpected or unhandled exceptions. As always, test, test test!
6) There are lots of new ways to break stuff. As with any new set of APIs, and especially with a new device, there will be lots of bugs, unknowns, and corner cases that will arise. If you were unable to get your hands on a physical Apple Watch pre-launch and are stuck with the simulator, then the launch date with your newly upgraded app will be stressful! Crittercism is a great way to make sure things are running properly in production – and in real time so you can get those hot fixes out as soon as possible.
Pro tip: Keep an eye out on our blog for some tutorials for monitoring various use cases to make sure your app is running smoothly.
7) Not every app needs a Watch component. You may be eager to dive in headfirst and ‘watchify’ your iOS app, but it might not be necessary. Building a Watch app in some scenarios may over-complicate both the development process and the user experience, so think through your use case and make sure it adds value before you start to build.
8) Demand is a total unknown. Up until now, smart watches have not been widely adopted by consumers. Sure, they may be popular in our tech circles, but will the average consumer finally jump on the bandwagon and buy the Apple Watch? We’ll have to wait and see, and that demand will likely drive most third-party Apple Watch development. We’ll be keeping an eye on adoption at data.crittercism.com; keep those numbers in mind as you decide whether or not to upgrade your app’s compatibility.
All that said, go explore Apple Watch! It is a fun new device that can extend the usability of your iOS app.
It’s a fairly quick learning curve from the code side of things; there are some new frameworks and communication techniques that need to be learned, but nothing an existing iOS dev can’t handle. The trickiest thing comes with dealing with such small screen sizes. The biggest challenge (and reward) is figuring out the best UX to create a great experience for your users.
Have fun and happy coding!