Why It’s So Difficult for Devs to Create Apps for the Apple Watch

April 15 2015
 


Well, that didn’t take long. According to an article on Reuter’s some people are reporting their first impressions of the Apple Watch and, unsurprisingly, they are already complaining about the performance of the apps on the Apple Watch.

As an engineer who started my career working on real-time embedded systems for industrial automation, I can tell you what a Herculean task it can be to get a tiny piece of hardware to run very sophisticated software on comparatively low spec CPU. All the while having it execute quickly to provide a responsive end-user experience. The tradeoffs between cost, CPU capability and speed, power drain, software functionality are nearly impossible to navigate and satisfy all of your goals. There’s the old product managers joke that you’ve got three options: cheap, fast, and good, but you can only have two.

For developers creating applications for the Apple Watch or creating extensions for the Apple Watch for existing applications these complaints show two things:

  1. You have to completely re-think the nature of an Apple Watch app UI/UX
  2. You have to be laser focused on every aspect of your app that contributes to the performance of your app on the Apple Watch

Re-imaging UI/UX of apps for Wearables

One of the complaints in the article illustrates this point perfectly: “The maps app, surely the answer to wandering pedestrians’ dream, is so slow it makes me want to pull out my paper Rand McNally,” says The Wall Street Journal’s Geoffrey Fowler.

This seems to be a perfect example of not carefully examining the use case for an application and making sure that the UI/UX of the app has been properly redesigned to match the experience of the user. If I’m wandering around on foot, as Fowler supposes, then it makes no sense to have a complete maps UI on my watch, which would surely require a ton of data to be transferred from the phone to the watch and cause it to run very slowly.

Rather, the prime use case for pedestrian use of a maps app would be navigation, where the watch app is prompting me only with navigation cues such as “turn left on Main St. in 25 meters”, in which case the UI would be a simple as a left pointing arrow whose length is proportional to the distance remaining and a bit of text with the name of the next cross st.

As a developer or application product manager, your mantra should be Fit for Purpose. Don’t try and port your entire app UI to the watch. Only put that portion of the UI on the watch that is explicitly required for a particular action. Let the phone do what it does well, and let the watch do only the micro interaction required for a part of the workflow specific to using the watch.

Let’s look at another complaint from Nilay Patel of theverge.com who is quoted as saying “There’s virtually nothing I can’t do faster or better with access to a laptop or a phone except perhaps check the time.” Though the statement may be a sarcastic statement, it shows the underestimating the wearable UX.

To show just how silly Patel’s comment is, let’s look at the fitness use case. This is an example of where I think the Apple Watch has the potential to make health and fitness tracking appeal to the general public rather than just the niche market of fitness enthusiasts or quantified self-geeks.

Let’s consider the act of jogging, cycling, or even just walking. Now a lot of people already bring their phones with them when they exercise, and many of them even use specialized fitness apps like Strava, RunKeeper, MapMyFitness, MyFitnessPal etc. to track their activity, share it with friends via social media or even just listen to music while they are doing their activity.

But the key thing is that once the activity is started, the phone is usually tucked away in a pocket, a cycling jersey, a fanny pack, or even an armband, and anyone who has tried knows that its a pain in the neck to take your phone out to interact with the app while you are doing the activity.

Now, for a small niche of enthusiasts like myself and my triathlete friends, we will also wear specialized fitness trackers from Garmin or Timex on our wrists or attached to the handlebars of our bikes so we can see our data like pace, cadence, distance, elapsed exercise time, and power output.

But for the vast majority of the general public, they are not going to shell out another $300+ for a single purpose fitness tracking wearable. With the Apple Watch, on the other hand, one can easily imagine a significant number of people who would be willing to spend that money for a multipurpose device that connects to the apps on the phone and lets them interact with them naturally and easily while they are doing their various activities.

There’s no way, for example, that I’m going to pull out my very expensive and fragile iPhone (or even risk mounting on my handlebars) while I’m bombing down Panoramic Highway on Mt. Tam at 40 mph on my road bike in order to check my pace, but it would be quite simple for me to take a quick glance at my Apple Watch to see the data.

Laser Focus on App and Watch Kit Extension Performance

OK, for now, let’s assume that you’ve already carefully thought through your use cases, and now you are building your app and/or the WatchKit extension for your app.

According to the reviews published on Wednesday, the apps need upgrades to load more quickly. Again, the article says that Patel claims loading an app required the watch to pull tremendous amounts of data from iPhones.

No matter how carefully you’ve thought through the scenarios, you still need to know exactly what your app is doing and all of the factors that are contributing to the performance of the app during development, test, and production.

You need to understand how much data you are transferring and how long it’s taking.

Now you could try and instrument the app yourself with a bunch of timers and variables on your method calls, but that would be a waste of your time as a developer when you should be focused on implementing the features your users want that make sense for the watch.

Fortunately, this is where AppDynamics has you covered. With AppDynamics Mobile Real User Monitoring, you can get detailed data about how every aspect of your app and the Watch Kit Extension are performing and track the interactions of the extension with the Apple Watch.

Moreover, the AppDynamics Mobile RUM solution provides you with all of this information through a single portal where you can see how your users are distributed geographically, all the network requests and errors that are occurring, how long they are taking, how much data is being transferred, and you can dig down into any line of code and stack trace to see what’s happening in your app and how that is contributing to the end user experience.

Now get cracking on those apps and extensions for the Apple Watch, and sign up for a free trial of AppDynamics Mobile Real User Monitoring to make sure your apps are delivering the performance your customers deserve and expect.

Peter Kacandes
Peter has over 16 years in the tech industry, focusing on mobile applications. He's worked for top tech companies including Actuate, Sony Ericsson, Adobe, and Sun Microsystems.

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form