As I write this it is 38 days away from WWDC. I suspect the features we will see in watchOS 7 is all locked in at this point and the engineers are working furiously to get it ready to show the world.
Nevertheless, I’ve found myself thinking a lot this week about where watchOS is heading. Mostly because I just wrapped up the last ‘major’ update I have planned for Watchsmith before watchOS 7 is announced.
So now I am turning my attention towards the future and what might be possible for the Apple Watch.
The right amount of sherlocking
Many of the features I’m going to discuss below exist in some way or form within 3rd party apps (many of which I myself have written!), and so by suggesting that Apple promote them into the OS itself I’m also suggesting that they ‘Sherlock’ some developers.
The concept of sherlocking is something that I’ve given a tremendous amount of thought to. I’ve had many of my own apps sherlocked in some way or another over the years. The emotional journey that ensues follows a predictable pattern. At first it always feels a bit rough, like something was stolen from me. Then it feels really cool to have built something that Apple chose to emulate. Then it usually ends up being a good thing for my app.
This experience is not universal, certainly some features or ideas when pulled into the OS completely obviate the need for a 3rd party solution. However, that shouldn’t in any way restrain Apple from doing it. In doing so they would be explicitly choosing to make their platform worse, which is never going to be a viable design guide.
I believe Apple’s goal should be to provide the best, most capable experience that suits the needs of the majority of their users. They should pull up the features that resonate with their customers in 3rd party apps. They then provide the 80% solution, that works for most people but is less flexible or tailored. Then the 3rd party ecosystem continues to cater to the 20% of users who have specialized needs, continuing to push the limits of the feature, discovering the new frontiers and ideas along the way. Then the cycle repeats and the platform gets better.
I want to make apps for the best platform in the world. Period. If that is my desire, then I’ve long since learned that sherlocking isn’t a bad thing, instead it is an essential thing.
Complexity vs Utility
Another thing worth saying up front is that I am fully aware of the constraints of the Apple Watch. I’ve spent the last 6 months pushing the limits of what is possible for it and have seen all the corners of its use, where it completely falls apart.
Nearly every one of these ideas or features involves a tradeoff. Either between battery life and capability or between complexity and intuitiveness. I suspect Apple’s own internal list of ideas and possibilities far outstrips my own. The reason they haven’t built a feature yet isn’t because they haven’t thought about it.
Instead it is quite the opposite. They have chosen explicitly to not do it yet. This is the tricky calculus involved in evolving a platform. If they push too fast, too soon on the capability side then they may end up destroying the battery life of the device. Or if they add too many features then they might end up with a jumbled mess that users can’t understand.
I don’t envy the leadership that has to sit down and make the hard calls of what to do, when.
I’m guessing that watchOS 7 will drop support for the Series 1&2 watches, but retain support for Series 3. Indeed, I think the Series 3 watch will be with us for a very long time. It currently accounts for ~31% of my customers and that proportion continues to grow as it sells at the low end of the Apple Watch price range. I honestly wouldn’t be surprised if it got another price drop this fall and stuck around for another year.
Since Apple stopped making the Series 4 it isn’t there to assume the slot as the low end model. While I’d be overjoyed for the Series 5 to get a $200 price drop and become the $199 watch, that seems like an awfully big jump to make. I’d guess moreover that it will get a $100 drop, then stick around with the Series 3 & Series 6. Then in 2021 become the low end model.
All this to say that whatever watchOS 7 includes it will need to be relevant to the older 38mm and 42mm watches too.
By far the most overdue feature for the Apple Watch is sleep tracking. Every year at WWDC since watchOS 2 (and doubly so since I made Sleep++) I’ve gone into the keynote waiting to see it. My current theory is that Apple’s intentions for this feature are far more robust than the basic tracking 3rd party apps like my own can offer. In the course of my development of Sleep++ I’ve experimented with a variety of other sleep tracking devices and there is a tremendous level of opportunity here. Deeply analyzing your sleep quality and using it to determine how rested and recovered your body is.
This level of robustness, however, must necessarily bring with it a battery life cost. Firing up the heart rate sensor for long periods of the night would eat into the battery life of the device. I suspect Apple has had this feature ready to go from a technical level for a while now, but have been patient to actually ship it until the hardware and OS software were efficient enough to allow them to do sleep tracking at their level. It seems from leaks and rumors that the Series 5 watch might have almost had it, but its battery life story was much more challenging at launch and so I could see it having been shelved for another year as a result.
If this is the year of sleep tracking on the Apple Watch I’m hopeful that they will tell a really compelling story with it. Not just telling you how much or how well you slept, but also how recovered your body is. How much stress it appears you are under, and as a result how much strain you should undertake today.
I can imagine another ‘ring’ for this where your Apple Watch lets you know how rested/recovered your body is and even provides you with recommendations for actions to take as a result. For example, getting a notification like “It looks like you are getting run down, maybe consider an early night tonight”. This fits right into their existing Activity coaching model and would round out their fitness offering nicely.
Something that never sat well with me is how inflexible most of the Activity Rings are. While you can choose your Move goal, the Stand and Exercise rings are absolutely fixed. This never really made sense to me. While they are reasonable starting goals for a ‘typically’ active person, and are probably a good default starting point, they don’t apply for everyone.
One of the most rewarding aspects of writing health and fitness apps are the stories I hear from my customers about how they use my apps to achieve their own fitness goals.
In Pedometer++ I let you specify whatever goal you like for your daily steps. I have heard from countless users who tell me about how they have then used it to help motivate them during their recovery from an illness or injury. Where they can drop down their goal all the way to 500 steps a day, feel good each day that they achieve that, and then gradually build it up as they become more capable. This sense of progression is a powerful tool and one that it feels odd that the Activity rings don’t allow for.
This is just as much an accessibility issue as it is a design issue.
Furthermore, I could see giving a few options for what your rings are. While Move, Exercise and Stand are a great starting point they don’t cover the wide range of possible personal fitness goals. I think about the great app Streaks and how wide a range of goals it contains. Letting people determine what they want to focus on would help make the device more motivating and broadly applicable.
I really wish the Apple Watch had some concept of a rest day. All of its streaks, badges and coaching assumes that you should be closing your rings each and every day. From my understanding of physiology and my own life experience that is often not advisable. Some amount of periodization between activity and rest is beneficial.
For example, in Pedometer++ (and My Trends++) I have the concept of an earned rest day where if you reach your goal for 6 consecutive days then you gain a rest day that you can take without loosing your streak. I’ve found this concept to be really helpful and well understood by my customers.
I could see this tied into the ‘Recovery’ ideas I mentioned above, where it might even suggest when it would be a good idea to take a rest day.
Automatic Workout Detection
The Apple Watch has started to take steps towards automatic workout detection, but I’d love to see it do more here. Similarly to sleep tracking the hold up I suspect is battery life. They don’t want to fire up the full workout tracking mode any time they think you might be working out, but if they did it would provide a much better user experience.
I recently used another fitness tracker that does continuous heart rate monitoring and while overall I didn’t end up preferring it to an Apple Watch, I will say that not having to think about when I start/stop a workout was delightfully freeing. All the data was just always there.
This is the kind of feature I could see being very easily tied to new hardware where they spend their yearly battery budget on more aggressive data collection.
watchOS 6 included the early stages of making watchOS apps independent from their iPhone counterparts. You can now install watch apps via the watchOS App Store and not even build an iPhone component. This is great and seems like a telegraphed step towards true independence.
The Apple Watch won’t be truly independent until you can buy and set one up without an iPhone. Or perhaps only use an iPhone for initial setup. There are still several things that you simply can’t do without firing up the Apple Watch companion app on your iPhone. This reminds me of the original days of the iPhone where you’d still sync via iTunes for certain abilities.
Towards this end I really hope that Apple introduces a new iPhone/Apple Watch syncing system in watchOS 7. WatchConnectivity is without a doubt the worst part of developing an Apple Watch app. I’ve developed more than a dozen of them so I feel pretty justified in making that assertion. It also doesn’t feel like a good fit for a truly independent Apple Watch where you want it to be just as capable when near an iPhone and when it is miles away.
My current hope is that we see an adapted version of CloudKit added to watchOS. Where it does local, fast syncing with your iPhone when you are near to it, but then transparently switches to using the internet for sync whenever they are out of range. This would provide the benefits of seamless sync when you are right near your iPhone but not rely on it.
I wish, wish, wish that I could export multiple complications for a particular type from my applications. This is already done by Apple’s own system apps (weather & timezones). This is most obviously useful for an app like Watchsmith, where I would want to be able to provide different complications installable into (say) each of the corners of a single watch face.
This would also be great for simplifying the configuration of a watch face, by moving it to the point of use rather than as a detached activity performed within the app itself. If you want to configure your weather app to show the rain % rather than temperature, you’d just choose it as such in the complication list.
Complication Refresh System
There is no good way to provide reliable refresh to the complications of an Apple Watch app.
That is a an absolute statement and I tend to avoid making them, but having spent the better part of the last 5 years trying to find a reliable system I feel pretty justified in saying so. Watchsmith includes no fewer than five distinct approaches/hacks to provide reasonably reliable refresh, but it will still not always work.
The most problematic situation is for complication data that isn’t predictable. For things like weather, dates or times I can provide the system with a long list of data to show in the future which usually smooths over the lack of reliability. However, for unpredictable data like your Activity ring progress or battery status I am stuck. All I can do is show the current value and then hope to be asked for updated data again ‘soon’.
I would love a system much like we have on the iPhone for background delivery of Health data. Where you can subscribe to a particular data type and specify the granularity of refresh you need. So I could say I’m displaying the Activity data and then I’d get woken up for a refresh whenever their Stand hour increased, their Exercise minutes increased, and maybe every 15 minutes for their Active Energy.
I love SwiftUI for Apple Watch development. Watchsmith is entirely written in it and I would never have been able to create as complex and robust an application in the old tools. It provides a more rich set of display tools and animations, but more importantly its declarative nature is a perfect fit for the ‘glanceable’ interactions of the Apple Watch.
I’m really excited to see where SwiftUI on the Apple Watch goes next. The initial set of components was more than adequate for getting started and surpassing WatchKit, but it still has a tremendous range of possibility ahead of it. I’d especially like to see improvements for how it handles continuously updating data (like we have during a workout). I’ve worked lots of little performance and liveliness issues there that would be great to be fixed at the system level.
Always-on During Workouts
I want to be able to show something to the user during a workout when their “Always-On” display is dimmed during a workout. Right now they get the time and a blurry image of the last thing shown on the screen, but this is in many ways worse than just freezing the last snapshot of what they saw. In many workouts types I’m displaying information that is tactically useful to the athletes action.
I get that there are (again) battery life constraints for this, but it seems like something where SwiftUI could really help out by transparently limiting the view rebuild interval when ‘dimmed’. That plus adding a special ‘time’ text component for showing durations in an optimized fashion would seem to get us far enough down the road to be workable.
And hey, we know it is possible because the built-in Workouts app does it already.
More than Just Breathe for Mental Health
I would love to see Apple expand their offerings into the mental health side of health and fitness. Breathe is nice and easily understood, but I feel like they could do more here. I think of apps like Headspace with guided meditation. Or journalling apps with guided prompts and encouragements. It seems like a wide open area for the platform that in the current global situation would be especially useful.
While I don’t see the Apple Watch ever being a full blown food tracker, I do think it should do more on this axis of fitness. Basic things like encouraging you to drink water or similar would be a welcome inclusion. What we eat/drink is probably more important to our overall health than our daily exercise, yet it isn’t touched at all by watchOS yet. Which feels like a missed opportunity for our “smart health guardian”.
watchOS 6 got the ability to do smart alarms for 3rd party apps, where you can specify a time window in which you’d like to be awoken and then app can try and find the ‘best’ time within that window to actually wake you. The way this is implemented (where you can’t have recurring alarms) dramatically limits the utility of the feature. It really only works for things like naps where you don’t mind manually setting it for each use.
I suspect this limitation is due to concerns of abuse by 3rd party developers who would want to constantly be scheduled to run the in background. If that’s the case then I’d love to see this brought up into the system where it could be safely implemented. This is an obvious tie in with the Sleep Tracking features.
One of the truly transformative uses I have for the Apple Watch is waking me up in the night without disturbing my wife. If this could be even smarter, all the better.
Dynamic Status bar
At the top of each Apple Watch face is an area that shows a variety of status indicators. This area has become the de-facto status bar for the Apple Watch. I would love to see this role embraced more fully and enhanced to show more information here. The most obvious thing that comes to mind is showing the time remaining on a currently running timer. This sort of transient data is really awkward on the Apple Watch right now. Either you’d need to keep the Timer app running or add it as a full blown complication. Neither is really great. This seems like an area to display this type of information.
More Customizable Watch Faces.
I really don’t expect 3rd party watch faces to come to the Apple Watch anytime soon, but given that, I really wish the Apple Watch provided more flexibility for is watch face designs.
It is a bit of a Model-T situation, where you can display the time however you like as long as it is nautilus analog hands or top-right corner digital. This lack of flexibility really is starting to wear on me. I want more fonts, more hand types, more aesthetics, more choice. watchOS 6 took a few welcome steps in this area but there is still a lot more design room to explore.
There was a period in the Apple Watch’s life as a product where it was useful that there was a ‘same-ness’ to all the faces that helped develop its brand. But now that the watch is 5 years old it just feels stale to me. They keep adding more faces, which is great (I really love the California face), but within each face there are still certain immovable design anchors that I would love to see loosened.
What is most exciting to me going into WWDC is that there has yet to be a watchOS release that didn’t make me audibly gasp at least once during its announcement. They are on a great run and I wouldn’t expect this year to be any different. Whether it is something on this list or something beyond my imagination I’m really excited to see what they have in store for us…and then to spend the summer building out my own interpretation of it. Doubly so now that I have Watchsmith as a playground to fill with new ideas.