Project Geneva: Watch Half-Full

I go back and forth a lot on whether we’ll ever get the ability to create 3rd party watch faces for the Apple Watch. While I’ve enjoyed the process of designing my own, it’s unclear if they’re something I’ll ever be able to publish. I’ve decided that I can look at this situation as either a frustration or an opportunity. Or, in the terms of the old idiom, half-full or half-empty.

Recently I realized that I’ve been too focused on my inability to develop for this part of the Apple Watch screen:

This is the half-empty view.

Instead what I should really be focused on is this part:

The half-full view.

I have extensive control over what is shown here and for many of the watch faces, this area makes up the vast majority of the screen. Other than the design of the watch hands or appearance of the digital time numerals, I can do a whole lot with the complication tools I already have.

To that end, I’m starting a journey I’m calling Project Geneva, in which I’m going to see just how far I can push customizability and design of complications for the Apple Watch.

The first instance of this is Geneva Moon (previously named Moon++), which was a great testing ground for seeing if there was user interest in excellent complications. It has been very warmly received and I found the process of making it a lot of fun.

I have many more ideas for where I can go with complications and their associated watch apps. Over the next few months I’m planning to release a series of super-customizable, thoughtfully designed complications. I hope you’ll follow along.

David Smith

Geneva Moon, a better lunar complication

Geneva Moon used to be named Moon++, but it turned out that was really tricky to type on an Apple Watch.

This app started life as so many of my apps do…from a frustration that just got under my skin.

I just received my new Series 5 Apple Watch. While reading reviews for it, many reviewers were using the moon complication in their product shots. I think this is because it is the default complication for the new California watch face. Anyway, I liked the overall aesthetic of it and so tried it out myself.

I went outside and looked up at the moon in the sky. This is what I saw:

Then I looked down at my wrist and saw this:

This bothered me more than it should. The two don’t really look the same at all. On my wrist is a powerful computer, capable of precisely locating itself on the surface of the earth (and indeed the solar system!)…but it isn’t showing me the correct moon.

So I had to fix it…

The result is Geneva Moon.

Geneva Moon seeks to provide a highly accurate, visually pleasing indication of what the moon looks like right now, right where you are. My goal was to make it so that if you look down at your wrist and then up into the sky the images you see should match.

Building it has been a fun little adventure into astronomy. The moon image I generate is adjusting itself for all manner of astronomical factors. I got to learn about such fun terms as: parallactic angle, libration, and lunar terminator.

It includes a robust set of complications for every watch face type. You can choose between either a visually rich ‘actual’ appearance or a more simplified version, to fit your own personal style.

Within the actual app itself it displays the current location of the moon in the sky (azimuth and elevation) along the horizon. If you rotate the Digital Crown you can shift forward and backwards through time.

Additionally, on the new Series 5 Apple Watch, which is equipped with a compass, you can have Geneva Moon orient itself towards the actual moon to make it easier to locate the moon in the sky.

I hope you enjoy this little utility, I really enjoyed making it.

It is $0.99 in the App Store.

A Press Kit for the app is here.

Technical Note:

This is my first app built using SwiftUI. It is really cool to see how interactive and lively you can now make an Apple Watch app. The compass mode feature especially wouldn’t really have been practical or performant to build using WatchKit.

Also, it is an Apple Watch only app, which means I didn’t have to build a hosting iPhone app.

David Smith

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