How to wear your Apple Watch 24/7

Today I released a new app Sleep++ (View on App Store) that uses the motion tracking capabilities of your Apple Watch to monitor how well you are sleeping at night. This is one of the capabilities made possible by the new improvements of watchOS 2.

To use the app you need to wear your Apple Watch while you sleep each night. This presents an obvious problem, when do I charge it?.

I have been tracking my sleep every night for a couple of months now so I’ve learned a few strategies to make this work pretty well.

The TL/DR is to charge your Apple Watch in the morning while you get ready for your day (take a shower, get dressed, etc) and then again in the evening while you get ready for bed (brush teeth, put on pajamas, etc). Then put your Apple Watch in Airplane Mode while you sleep.

Your Apple Watch probably needs less charging time each day than you think. You can take advantage of the way its batteries charge to get a lot of power in a short amount of time. Like most Lithium Ion batteries the Apple Watch’s charging rate is dependent on how much charge it is holding, i.e. it charges faster when empty than it does when full.

I did several trials to confirm this with my testing watches and was able to determine the typical charging profile1.

As you can see, below around 80% full the Apple Watch charges at around 1%/minute, after 80% it slows to around 0.5%/minute. If you are trying to wear your Apple Watch all day you’ll probably never hit 80% full so you can always be charging in the ‘fast’ mode.

To work out how much time you need to have it on the charger each day just note how full your battery typically is each night currently. For me, this was around 50% full. So I then needed to find roughly 50 minutes of time during my day to charge my watch (since it is all at the faster 1%/min rate).

I found that this worked out well for my daily routine. I put my watch on charge in the morning while I get ready for around 30 minutes. Then again in the evening for around 20 minutes. Between those two charging sessions I’ve never run out of battery.

Side benefit: Silent Alarms

Another side benefit of wearing your Apple Watch all night is that you can easily set completely silent alarms to wake you up. I really like being able to be awoken by a gentle tapping on my wrist and get out of bed without disturbing my wife. Just make sure you mute the chimes before you head to bed.

  1. You can also slightly increase your charging rate (by around 10-20%) by using one of the higher output iPad chargers, but since this isn’t specifically recommended by Apple do so at your own risk.

David Smith

16GB is a Bad User Experience

Yesterday Apple announced the fall lineup of new hardware, including the iPhone 6s/6s Plus. Overall the announcements were pretty solid, with one bright, glaring exception…the base model iPhone starting at 16GB. This detail makes me both sad and a bit concerned about what it indicates about Apple’s priorities.

This sticking point is by no means novel or new, but I thought I could add two useful aspects to the discussion. First a personal anecdote and then some data from my own apps showing the magnitude of the problem.

Cannot Record Video!

While I am typically in the ‘friends don’t let friends buy 16GB’ club, for the last year my wife has used a 16GB iPhone 6+ as her primary phone. I had initially purchased the phone as a testing device that would spend most of its life in a drawer on my desk so didn’t opt for any extra storage. Soon after it arrived she decided she wanted to try out the bigger screen size and quite liked it. So while I’d usually not have bought one, this situation allows me to see what a 16GB device is like in typical use.

One of the most significant roles my wife’s iPhone plays in our lives is as the primary camera that records my children growing up. While we have a nicer camera for more special occasions, her phone is always with her and so captures the vast majority of candid moments. Based on Apple’s marketing I’m pretty sure we aren’t alone in this.

This past weekend my family went on a camping trip out to Shenandoah National Park. This was the first big camping trip we have taken as a family. While out on a hike, my wife grabbed her iPhone to capture me and my kids looking out from the mountain we had just proudly hiked. She was greeted with this:

The moment was forever missed.

This isn’t the first time this has happened to her. Despite my best efforts to keep her storage in check (and all the cloud services that are supposed to help turned on), under typical use her phone will just eventually fill up. This experience isn’t just bad in that it misses that moment. When your phone hits zero space the device becomes horribly unresponsive, making the process of freeing up space cumbersome and time consuming.

The iPhone’s role as primary historian of our lives is a pretty solemn obligation. Which may sound a bit overwrought but it is the reality. So when it fails to fulfill that role it is a pretty serious and personal.

By the Numbers.

For a long time I’ve used the usage data from my Audiobooks app as a indication of what typical iOS usage looks like. It is an old enough app with a wide enough userbase that its data has generally been pretty reflective of what I see reported overall. So while not perfect they should give a good general idea of what customer choices.

Using that as a dataset I took a look at which new iPhones customers have been purchasing over the last year.

So among iPhone 6/6+ customers around 43% opted to purchase the cheapest, 16GB model. That a higher proportion of 6+ users went more upmarket is interesting, though intuitively makes some sense to me. Since the 6+ starts $100 higher than the iPhone 6, they appear less driven purely by price.

43% of customers at the scale of the iPhone’s sales volume is a lot of people.

Then I took a look at how much free space was reported for people with 16GB and 64GB devices.

So amongst customers with 16GB devices 37% of them have less than 1GB of space available, compared to just 1% with 64GB.

Looking at that in a bit more detail things look pretty rough at the low end.

I’d say it is pretty fair to say that if you have less than 1GB of data available on your iPhone you are in imminent danger of running out and ruining your day. Taking the 43% of customers with these devices and the 37% of them who fall in that range we have 17% of customers walking around each day with a damoclean sword dangling over their heads.


What worries me more than anything about this situation is that it is a deliberate choice. When bugs emerge in software or defects surface in hardware they are the unintentional result of mistakes made during the creation of a product. While not desirable, they are much easier to excuse as the inevitable side effect of the process of creation.

The storage capacities of iPhones aren’t a side effect, they are a choice. I cannot begin to imagine the amount of discussion, research and thought that Apple has put into the capacities of their headline product. I’m sure bumping up the base model to 32GB would cost the company more and so by holding the line at 16GB for another year they will increase their profits. This near term benefit will surely help their balance sheet in their next earnings call but comes at the cost of the day-to-day experience of some of their customers.

In the end Apple has decided to continue offering a product that will almost inevitably fail their customer at some point, and potentially fail them at a moment of deep personal importance. That makes me sad, and as someone who makes my living riding their coattails, worried about the long term effects of this short term thinking. Maybe it is just sentimentality but those aren’t the priorities that I think Apple stands for.

David Smith

The Growing iOS SDK

This morning I was remarking to myself about how it felt like the breadth of knowledge you need to be a good iOS developer has gotten pretty far reaching. This isn’t anything new, iOS development has never been particularly straightforward but as I thought of all the SDKs you need to master to make your app ‘good’ it became a pretty long list.

I hate to just have a notion without numbers to back it up so I got to thinking how I could evaluate how the complexity of the iOS SDK has changed and grown over the years. In the end I found that the Xcode docsets could serve as a useful proxy for how the SDK has changed. Each documentation element is tagged with the SDK version where was introduced. I quickly aggregated the SDK elements1 by their introduction version to see the changes.

When the iOS SDK was introduced back in 2008 there were around 2,500 SDK elements total across all APIs. Since then each year has brought with it an average of around 1,400 new elements. Bringing the total for iOS 92 up to just shy of 13,000.

While you certainly don’t need to know all 13,000 of those elements for any specific app they nevertheless represent a pretty monumental body of knowledge to wrap your head around.

There was a time when I felt like I knew my way around pretty much every non-game SDK available on iOS. Now I often find myself stumbling across frameworks that are completely foreign to me, which is both kind of exciting but also extremely daunting.

  1. An SDK element is any part of the SDK that is tagged within the documentation. This can be a class method, instance method, property or constant.

  2. It is possible that the iOS 9 numbers aren’t final since we don’t have the final GM yet.

David Smith

Impact of iOS 9’s Space Requirement

At WWDC when Apple unveiled iOS 9 one of the features they highlighted was a reduction in the upgrade free space requirement from 4.6GB to 1.3GB.

I love improvements like this. They help drive quick adoption of the new OS by my customers. Which in turn lets me more quickly drop support for older platforms and focus on the new stuff.

I was curious, though, as to how much of an impact this reduction would have in practice. So using the dataset I have from my Audiobooks app I took at look at how many of my customers have enough space for the upgrade.

The result was pretty promising.

66% of my customers on eligible devices have at least 1.3GB of free space. This compares to just 37% of users who would have immediately had sufficient space at the old iOS 8 requirement.

The distribution of eligible devices breaks out roughly as you’d expect for the various capacities Apple sells:

The rate for the 16GB devices (54%) is higher than I would have initially feared. The 16GB capacity accounts for 58% of devices, so it is vitally important that its users have the ability to upgrade.

This reduction in the space requirement (and other things Apple is doing on this front) make me think iOS 9 adoption to be even faster than iOS 8’s. I’m starting to feel much more comfortable with being aggressive about dropping iOS 8 support and fully embracing the new stuff in iOS 9.

David Smith

As I Learn watchOS

watchOS Series

Over the past few months I’ve been doing a series called As I Learn WatchKit trying to share my journey of building apps for Apple Watch. The series has had a much wider reach and reception than I could have ever hoped. Given this week’s announcements at WWDC it seemed like an update on what I’m planning to do was in order.

Apple has given us a tremendous set of new APIs in watchOS 2. Coming into this week I was very curious to see where they would take the Watch next. I wasn’t sure if they would have a major advancement of the capabilities of Watch Apps ready so close to the Watch’s launch—but that is exactly what they delivered.

The most delightful part of what I’ve seen this week is how pragmatic and thoughtful the approach they have taken is. Rather than introducing a radically new approach to developing Watch apps, instead they built directly on what we’ve all learned in watchOS 1 and just made everything better. With the exception of the unavoidable data management changes related to moving to native apps most of my apps could run as-is on watchOS 2. Which is a tremendous confidence builder in terms of my continued commitment to developing for the platform.

That said…I won’t be leaving my apps as-is.

watchOS 2 brings with a wide collection of new APIs that enable me to make my Watch apps tangibly more useful and performant. I’m especially excited about the possibilities around Health and Fitness made possible today. The addition of CoreMotion and HealthKit to the Watch mean that I’ll be able to do some very robust things with tracking and reporting on my users’ activity.

I’m expecting to continue to share what I learn over the next few months as I dig into these new technologies over the summer…though the name of the series needs a minor update ;)

Today I’m starting a new series called As I Learn watchOS, I hope you come along for the ride.

David Smith