Seamless Light Complications

I really like the new Meridian face that arrived in the watchOS 6 GM. It is clean, simple but still provides ample opportunity for customization. Over the summer I’ve been rocking the California face (with Arabic numerals because its default mixed Roman numerals hurt both my head and heart). But the California face only has extensive complication options in the corners which isn’t my preferences. I like the face itself going to the edge of the display, it is one of the things I like most about the Series 4/5 display, that it really fills the face.

There is, however, one thing I’m now really wishing for with the Meridian face…the ability to make seamless complications for its light face options.

For the dark face variants, we already have this. You have white text on a black background that blends seamlessly into the background of the watch.

Increasingly Apple is providing options for us to have non-black watch faces, which I think creates a delightful bit of character and delight for the Apple Watch. These started with the Infograph faces and now continue with both California and Meridian. However, sadly we don’t yet have a way to make complications that can blend seamlessly into the these light colored backgrounds. The best I can currently do is something that looks kinda like this:

Which isn’t awful, but really interrupts the full effect that would be possible if the complication blended seamlessly into the background. Apple already allows this for the “Digital Time” complication so I know it isn’t completely out of the question. Here is an altered version of the above screenshot removing the ring around my complications.

Doesn’t that look great!

So this is my little feature request for apple (filed as FB7264371), I’d love to see a way to provide seamless complications for these colored backgrounds. Fingers crossed!

Note: The font used in my custom date and weather complications is Redbird, which is my current favorite for display on an Apple Watch face. It just looks at home on this device.

David Smith

The Popularity of the 4.7″ iPhone

I was looking through my iPhone device analytics as I plan my iOS 13 updates and noticed something that really jumped out at me.

People really, really like the 4.7″ iPhone.

When I look at the iPhone distribution for Pedometer++ the four most popular devices are all that size. Together they account for nearly 50% of all devices I see in use.

I’m not sure if there is any deep insight to be drawn from this observation, but it really stood out to me.

The next most popular screen size is the 5.5″ Plus size at around 19%. The 5.8″ X size comes in around 12%.

Also worth noting, iOS 13 drops support for the iPhone 5S, 6 and 6+. These iPhones currently account for 17% of my userbase.

David Smith

WWDC 2019 Themes and Insights

Another WWDC has wrapped and this year was a real doozy. I’ve been going to WWDC for long enough now that I’m aware that some years are tune-ups and some are transformations. 2019 was absolutely the latter; it was an inflection point in countless ways for Apple development.

Here are a few assorted themes and insights I gathered over the week:

Watch faces : watchOS :: Emoji : iOS

I had a realization during WWDC this year that I have very mixed feelings about…

Watch faces serve the same utility on watchOS that Emoji serves on iOS. They provide a simple, clear, beautiful mechanism to encourage rapid adoption of the new operating system version. Each new software and hardware announcement is accompanied by a new set of watch faces. These make great marketing photographs and they are a clear way for users to show that they have the new stuff. There are countless new and interesting ones to make, so Apple is unlikely to have trouble coming up with compelling options. In summary, they are the perfect tool to prompt rapid adoption of new versions of watchOS (well that, and the annoying prompts).

Once I had this realization I was of course a bit sad at the implication: 3rd party watch faces are very unlikely to ever arrive. As someone who loves making new watch faces, this makes me kinda sad.

The more I thought about it, though, I realized that is actually kinda awesome. The watch is still a relatively young platform, and in order for it to grow it really needs rapid adoption of the new watchOS releases. This year especially there are countless new, incredible abilities added in watchOS 6 that I can’t wait to add to my apps. The faster we can get increase adoption, the faster developers can go all-in on SwiftUI and Independence.

This is good for the platform, and ultimately good for me.

Between the lines - Independent watchOS apps

Every year at WWDC I try to keep my eyes open for the subtle way Apple often pre-announces features that will be coming in the fall. There are often technologies that Apple is emphasizing but for which their justifications feel a bit weak if based purely on what is already announced. In the past these have been things like the auto-layout push before new iPhone sizes, or safe area insets in preparation for releasing the notched iPhones. Reading between the lines on these and getting Apple’s subtle message is usually a really good idea so that come the fall hardware releases, you can hit the ground running with the headstart Apple telegraphed.

This year that feature seems to be Independent watchOS apps. They are clearly a major technological and policy push for this year. They kept coming up in sessions and labs. Looking through the API changes, there has clearly been a lot of work put into making these possible. But for all that, they only kinda half make sense for the current watch picture. The circumstances where someone would truly require an independent watch app are relatively few.

This kind of guessing is always a bit tricky because when you are reading between the lines, you can read too much into something that may turn out to not really be there after all. But I feel pretty solid about this message and fully plan to make sure all my watch apps are fully independent by September. Either I’ll be right and the other shoe will drop and independence makes more sense…or I will have just made my apps better for the corner cases where they are currently dependent. Either way it’s a win.

Patience is a virtue

While it is often frustrating as a user, I was again reassured this year that Apple listens and consistently improves their products. There was a large number of tweaks and changes made to iOS and watchOS to address lingering annoyances. While I am often frustrated that these tend to get bunched up in the major upgrades, it was good to be reminded that they are listening.

The clearest example of this for me is the new visual option for all the Infograph watch faces that can now support a lower contrast view.. What they provided is almost exactly what I asked for back October when the Infograph faces first appeared. They provide a much less aggressive and easy to read display on what are now some of the best looking and informationally useful faces.

SwiftUI trojan horse

SwiftUI looks really great. It seems delightfully pragmatic, which is by far the thing I look for most in developer tools. It is elegant but not trying too hard. It is also really young.

My usual approach with new tools is to be extremely conservative and only adopt them several years into their life, once all the major bugs and wrinkles are worked out and they stabilize into their longterm form. I must admit I was feeling kinda smug this week for not learning Auto-Layout, Size Classes or Storyboards…all of which are essentially deprecated with SwiftUI.

That wait-and-see approach, however, won’t work for SwiftUI. I’m planning to start using it right away because it FINALLY makes it possible to build Real Apps! on watchOS. A young SwiftUI is so much more powerful than a mature WatchKit.

I can now make fully featured apps without a barrel of weird hacks and workarounds, with features like animation and interactivity! This makes me incredibly excited. So Apple has got me this time, and I’ll be diving in on SwiftUI from the start, which has the side benefit of building the skills to transfer back to iOS/macOS.

My favorite apps to make are on watchOS, even when I had to use WatchKit. I can’t wait to see what I can do with SwiftUI.

Sleeper Feature - Hearing Health

My pick for the sleeper hit feature of this year’s WWDC is the new Hearing Health APIs we got for Series 4 watches on watchOS 6. This continuously monitors the loudness of your environment and records the sound intensity throughout the day into HealthKit. It can also provide alerts when your environmental loudness hits a certain level. What is fascinating to me about this is that it is one of the first times that Apple is pushing what constitutes a “health” metric outside of the body and out into the world, defining something external to the person as “healthy” or not.

I’m not 100% sure yet what uses it will have (though characteristically, I do already have a few ideas for apps to make), but I have observed that ambient data collection is a powerful health tool. This data is always being collected without the user having to manually start/stop recording, which means that its utility can be presented as soon as a user is interested in it. In the same way automatic sleep tracking was possible to build using just the ambient data points of Steps, Active Calories and Heart Rate, I suspect there are a wide variety of uses for this noise data.


You may have noticed that most of my themes from this year’s show related to watchOS. That is no accident. It is the platform I am most excited about for this next year, which is quite something given the diversity of improvement across all Apple platforms. Everyone got something to work on this summer, and wow, what a busy summer it will be.

(Meta Note: This year my conference notebook for the first time wasn’t a Field Notes. I am constantly taking notes and making lists throughout the week and find that pen/paper is way more manageable in the WWDC environment. But this year I found the perfect conference notebook, the Totebook by Studio Neat. It is exactly the right size to be portable, but large enough to capture a full thought on a page…something the Field Notes aways felt too small for.)

David Smith

Pedometer++ 4.0 — Our most personal update, ever.

I’m delighted to announce the launch of Pedometer++ 4.0. This update is all about letting you personalize Pedometer++.

Fixed Timezones

You can now choose a fixed timezone that the app should always display in. This addresses one of the longest standing issues I hear from customers, how it responds when they are traveling.

Previously I’d always display your steps based on your current timezone. Which meant that your displayed streaks and goal completions could appear changed as you move from timezone to timezone. While they would revert back to what you expected when you returned home, it meant that you couldn’t easily know if you had kept your streak going while you were away.

Now you just choose the timezone you care about and your data is always shown midnight-to-midnight in that location. This does mean that sometimes you can have odd displays where you may be adding steps into what is displayed as yesterday’s data or similar depending on where you move around to. However, if you have a streak going you can now know you’ve done enough activity to keep it going.

Dark Mode

I’ve added a dark theme to Pedometer++. Especially since I hear from a lot of users that they are often checking their steps right before they go to bed this seemed like a logical addition to the app. It also makes the Apple Watch app and iPhone app more visually similar if that uniformity is desired.

Color Blindness Friendly Theme

My typical red-orange-green theming is less than ideal for users with color differentiation limitations so I worked to come up with a theme that should provide more contrast for all users. This theme (available in either light or dark modes) uses blue as its top highlight color to provide maximal visual contrast between the colors.

(While I made this theme with color sensitivity in mind I’ve honestly found it really pleasant for my own use. Once again making the point that accessibility benefits everyone.)

Alternate Icons

I’ve added a veritable rainbow of alternative icons you can select for the app. Choose the one that best fits in with your home screen aesthetic.

Daily Goal History

I re-worked how your daily step goal is changed within the app. Previously your goal would apply to your entire history and changing it would update it for every day in the app. This made it really awkward to increase your goal over time, as you’d lose your old achievements and streaks. Now changing your goal doesn’t affect your past data, only the current day and moving forward. So starting at a lower goal and then slowly increasing over time works much better.

I’ve heard from several customers who are using Pedometer++ as a way to gradually increase their activity, often during recovery from an illness or injury. This feature was made with them in mind, so that you can set a goal that accurate reflects your current activity level and then increase it as your ability allows, without loosing your hard effort.


  • The monthly challenges are now pre-loaded into the app so they’ll appear on the first day of each month, without needing an app update.
  • I also refreshed the design of the Apple Watch app making it fit in better with the overall system apps.

I really hope you enjoy this update and that by making the app more personal to your preferences it will help give you that little bit of extra motivation to get out and move.

Pedometer++ is free in the App Store.

David Smith

Intentional Subscriptions — Ideas for better subscriptions on iOS

I’ve been giving a lot of thought recently to subscription pricing for apps on iOS. While I don’t currently make use of it in any of my apps, it seems to be the business model most aggressively being pushed right now. It is clearly a powerful tool for building a sustainable income. I mean what could be better than money just continuously pouring into your pocket, right?

One of the main reasons I have stayed away from them so far is that there is always something tricky about making subscriptions feel good for customers. One of the reasons so many businesses like them is that you set it up once and then the customer doesn’t have to continue taking action to keep paying you. Which is great as long as the user wants to keep paying you, but super sketchy if they don’t.

There is a concept in user interface design called the Principle of Least Surprise, where you want to design systems in such a way that they surprise their users least. I think a similar concept applies to subscription pricing. The ideal (from a user friendliness perspective, not best business perspective) system for customer subscriptions should never surprise the customer with a charge. The customer should always be happy to see a charge appear on their credit card.

In other words, their subscription payments should always be Intentional.

To that end I’ve come up with four ideas that I think would greatly improve the intentionality of iOS subscriptions:

  • Whole Screen Confirmation with clear pricing and trial explanations
  • Opt-in Only Trial continuation
  • Notification Center renewal reminders
  • 24-hr Grace Period for renewal cancellation

Whole Screen Confirmation with clear pricing and trial explanations

The current subscription flow in iOS relies largely on policy enforcement to create a user friendly, and clear explanation of what a user in signing up for. Apple provides extensive documentation about how developers may structure their calls to action around subscriptions. And then App Review enforces these as best they can.

However, no policy based solution will universally prevent developers from trying to skirt the rules and confuse, trick or cajole customers into signing up for a subscription. Look no further than the dozens of reports David Barnard has so carefully collected of the countless ways developers come up with to get users to sign up for subscriptions. Most with the similar goal: make it unclear what a user is actually signing up for and what it will cost in the long run.

Instead, I think Apple should use a different payment confirmation window for subscriptions. This should take over the whole screen and ideally do things that only an iOS system window could do (like show the users home screen or similar). It should then:

  • Clearly show what the user is buying, and what app is asking for it.
  • Clearly show the recurring cost of the subscription
  • Clearly show the annualized cost of the subscription
  • Clearly show when the next payment would occur
  • Clearly explain how the trial for the subscription works
  • Include a big, obvious Cancel button
  • Provide all the mandatory Terms & Conditions text

This approach would both relieve developers somewhat of the complexity of complying with Apple’s requirements and also provide an unequivocally clear and intentional experience for customers to start their subscription.

Opt-in Only Trial continuation

It is very common to provide an initial, free trial period for a subscription wherein the user can kick the tires and try out what they are signing up for. This is an excellent marketing tool because the user can see exactly what they would be paying for and sign up for their subscription with confidence that it is what they want.

I believe that all trials should not automatically start a paid subscription upon the completion of the trial period. Instead, this behavior should be opt-in by the user only. Otherwise, the user should be prompted to start their subscription the next time they launch the relevant app. If a user does want to sign up automatically after their trial ends, they can be given this option when they sign up, but it should never be on by default.

Automatic trial conversion feels like a dark pattern to me, that is setup to benefit from the user forgetting they signed up for the subscription and getting at least one charge from them. It is in many ways the opposite of an Intentional Subscription. I have no doubt that businesses make more money with automatic conversion but it also leads to customer surprise. Customers shouldn’t have the burden of canceling it before conversion, apps should have to win their attention and desire to continue.

Notification Center renewal reminders

Currently you get an email from the App Store a few days before your subscription renews, or you can view your pending subscriptions from a buried area of the App Store app. Neither of these provide users with clear, surprise free choices. I think the App Store app should add a Notification Center entry for your renewals for the few days before a subscription renews. These should be actionable to confirm or cancel the subscription right from the notification. This is the place where alerts appear in iOS, and since the subscription began on iOS it seems the obvious home for them.

24-hr Grace Period for renewal cancellation

Refunds have always been a confusing thing on the App Store. Whether or not a customer can get one is largely unclear and seems based on the decision of the Apple customer support representative you end up with. Subscriptions currently also suffer from this problem.

I’d love it if renewals came with a 24-hr grace period where I could cancel a subscription payment. This again removes a bit of the burden from customers to be on top of their subscription renewal timing. So when they see a receipt appear in their inbox, or get an Apple Pay notification that the purchase occurred they should be given the option to cancel it if they in fact don’t want that service anymore.


I absolutely think that subscriptions will and should be a significant part of the business model of most apps on the App Store. They provide a delightfully symbiotic relationship between developers and customers, where developers are incentivized to continually improve their apps and are rewarded for this effort.

They also provide a massive opportunity for abuse and scams. While I’m sure the above suggestions wouldn’t fully address the problems, Apple would always need to be vigilant against abuse, I think they would go a long way to developing a culture of trust for customers. Ultimately, I believe that the more ‘tricky’ aspects of subscriptions that boost revenue are all short lived and make customers more reluctant to sign up for them in the future.

What I want are customers who have only good experiences with subscriptions. Where every time they see a subscription charge, it is entirely expected, intentional, and indeed desired. That is better for Apple, better for Developers and better for Customers.

David Smith