My little App Store experiment: Simple Refrigerator Magnets

As some of you may already know, I’m currently working on my first iOS app and I hope to have it available in the next few months. This has been a whole adventure in its own right, but in the meantime I wanted to get some experience with the bureaucracy side of the App Store. To that end, I made a sticker pack for iMessage!

Now I am no artist, but I did find a specific sticker pack that I could make that would actually serve a need. To that end, I’ve released Simple Refrigerator Magnets to the App Store. It’s a pretty simple sticker pack, and it’s aimed mostly at kids, but I won’t stop you from getting your letter magnet nostalgia trip with them if that’s your thing.

The pack is totally free, and can be downloaded from the App Store today. Let me know what you think on Twitter, and I of course will take any 5 star reviews you feel compelled to leave 😄

How to use shortcuts with Google Home/Assistant

I had no idea you could do this! I am still thinking up some good ways to use this feature, but I’m sure I’ll think of some cool ones sooner or later.

P.S. If you want to get more news about Google Home and other voice-first interfaces, check out Voice Controlled!

Should you force quit your iOS apps? Let’s look at the data

Please note that this article only addresses the merits of closing your apps to save battery life. If you close your apps because you just don’t like apps in the app switcher, then you do you.

Ah, the perennial debate between people who force close their apps on iOS and those who don’t, what a wonderful time that is for everyone. I could wax poetic about this for a while and explain to you why I don’t close my apps unless there is a good reason to, but that’s not going to be too convincing. Turning this into a “he said, she said” debate doesn’t solve anything, so I booted up Instruments on my Mac, plugging in my iPhone and ran some honest-to-goodness analytics on my phone to see what’s actually going on. Here’s what I found.

Testing method

TLDR: I recorded 15 minutes of CPU usage with 50 apps “open” in the background, then closed all 50 apps and recorded 15 more minutes.

I first closed all apps on my iPhone 7 Plus to get a good base line. I then launched 50 apps and closed them as soon as they finished opening. These apps ranged from Facebook to Twitter to Google Photos to Snapchat and many more. It was a wide range of apps, and I tried to get a good spread of apps most people would use. I waited 2 minutes for all apps to finish any last second background functions, and then started recording CPU usage in Instruments on my Mac. I recorded for 15 minutes.

Next, I closed all apps from the multitasking screen. I then turned off the screen and waited 2 more minutes for any “straggling” tasks to complete. I then started recording the phone’s CPU usage again with Instruments for Mac. The test ran for 15 minutes and I saved all the data to a CSV.

I used Instruments’ Activity Monitor and CPU Activity Log tools for these specific tests.

I ran this test 2 more times to confirm these results were not anomalies. Subsequent testing resulted in nearly identical results.

The results

As you can see there is little difference in the CPU usage between either test. Each test had a few spikes in usage over the test, each about 10 minutes apart.

The test with all apps closed had both the biggest spike in CPU usage, hitting 68% CPU for a few seconds. It also had the highest continuous minute of usage from the 13:57-14:57 time codes, 42%.

Average CPU usage over the 15 minute spans was:

  • All apps closed: 7.321%
  • Zero apps closed: 7.929%

So overall the act of closing my apps did result in lower average CPU usage (7.7% lower), despite the spikes in usage being higher in that case. The reason for this is that the CPU does indeed have a slightly higher average “idle” rate. Outside of the spikes in each case, the phone with all apps closed idled at about 3-4% while the phone with all apps open idled closer to 4-6%.

What’s most interesting to me is that the major contributors to CPU usage didn’t change at all from one test to the other. It was the same system tasks, BackBoard, SpringBoard, securityd, UserEventAgent, assistant_servic, and dozens of other services that accounted for over 99% of the CPU usage over these tests. The most CPU-intensive app was Twitter, and even it used 5% as much CPU as the Wifi. In fact, Wifi used more 3x CPU over these tests than all 50 apps combined.

Conclusion

I personally feel better than ever about never closing my apps1. We’re basically talking about whether we prefer our phones use 7.3% and 7.9% of their CPU on average. Yes, there is a slight difference, but it’s so negligible that you’re not going to notice. And while these results were quite consistent from test to test, this is basically within the margin of error.

In short, you can close all your apps if you want to, and you may save a total of 0.6% CPU average. The cost of this is that you have to close your apps every time you use your phone, which is wasting seconds every single time you use your phone, which is about 80 timers per person. Additionally, your apps launch slower because they have to start fresh every time you use them, they don’t get to wake up like they were designed to.

I’ll take an iPhone that uses 0.6% more processing power but is faster and less obnoxious for me on the 80x a day I use my phone, thanks.


  1. Except, of course, when they freeze or have some sort of odd behavior that needs to be corrected. 

Hello, Apple Watch

My most recent blog post was meant to be a warning to everyone thinking of installing a watchOS beta open their Apple Watch. In short, mine was rendered completely unusable and I had to take it to the Apple Store to be fixed. They couldn’t;t fix it in store, so they sent it to headquarters. My watch was messed up on Friday, I brought it to Apple on Monday, and I got it back from them this Friday. All in all, I’ve spent about a week without a functioning Apple Watch. Here’s what I’ve learned.

My big takeaway is that the Apple Watch is a bigger part of my life than I had realized before. I know, I know, I’m the “Apple Watch guy” but I didn’t truly realize just how much I relied on this little guy until I lost it.

I noticed the lack of media controls when driving. Needing to grab my phone and use the controls there to skip tracks or to navigate a podcast episode is not only frustrating, but it’s dangerous. With the Apple Watch I just need to tilt my wrist slightly and tap the action I want. It’s much easier and MUCH safer.

I realized how stupid it feels to have to find your phone and turn it on to see the current time.

I learned how goddamned barbaric it is to have to find and look at your phone to see notifications as they come in. My god, keeping track of my appointments and miscellaneous notifications while I was at work this week was a major pain. I know this is how most of the world interacts with their smartphones, but it feels so wildly inefficient compared to what I’m used to.

I miss the Activity and Workout apps dearly. I missed being about to fill my rings, which it turns out is indeed a very effective way of keeping me on track. The Workouts app, which is only available on the Apple Watch, was also missed, as I don’t find phone-based apps as enjoyable to use. Similar to the notifications and time examples above, it’s just a pain to have to get my phone out of my pocket, unlock it (probably with a passcode, since my sweaty fingers don’t agree with Touch-ID) and check my status. Again, having that info directly on my wrist is wonderful. Losing the ability to say “Hey Siri, start a 5k outdoor run” and start running is way better than the way you start a workout in any app on the iPhone.

I missed having such easy access to the weather. I have a complication on my watch face that shows the temperature and forecast info at all times. This means no matter where I am or what I’m doing I always have immediate access to the current weather and know if I need to bring an umbrella. Widgets mad this a lot better in iOS 10, but it’s still a matter of grabbing my phone and swiping over on the lock screen to access it.

I missed unlocking my Mac with the Apple Watch. This feature could stand to be a little faster, but like everything else I noticed this past week, I really do miss it once it’s gone. My Mac’s password isn’t terribly long, so it’s not a horrible headache, but I definitely felt the pain of entering it over and over again. Lifting the lid of my laptop and then having it unlock itself a second later is pretty damn nice.

I missed wrist-based timers. Sure, I live in a home with Siri, Alexa, and Google Home, but I don’t find any of them as convenient as being able to toggle one quickly from my wrist. I have a complication on the watch face to set them if I want to do it silently, and I can say “Hey Siri, set a 15 minute timer.” Yes, I can ask those other assistants to do it too, but they’re not always around, like when I’m in the laundry room or when I’m not at home.

There are more little things, but I think I’ve made my point already. As I have said many times, the Apple Watch is not for everybody, but for many people it is an essential tool. I use my watch hundreds of times per day and it makes a sizable impact on my life. Hello, Apple Watch, it’s good to have you back!

Goodbye, Apple Watch

Tomorrow will be the first day since April 23, 2015 that I have not worn an Apple Watch.

No, this is not a “I’ve given up on the Apple Watch” post, I freaking love my Apple Watch and have no intention of stopping using one for years to come. But I will be spending the new few days without my trusty Apple Watch. Why would I do this to myself? Well, I did the thing that I implore you fine folks not to do, I installed the watchOS 4 beta.

The first 2 developer betas were rough on my watch. Everything from performance to battery life to stability were all terrible on the first 2 betas. Hell, beta 2 was getting anywhere from 6 to 24 hours of battery life. So when I put the watch on in the morning, I never knew if it was going to be a day where I wear my watch all day, or that it would be dead by lunchtime. So when beta 3 dropped last week I jumped on it right away. Surely this beta would fix at least some of my problems, right?

Well, I’ll never know because my Apple Watch stalled when upgrading to developer beta 3 and I never got to use it. It sat on the circular updating screen for the entire 8 hours I was at work last Friday. I used all of the internet’s tricks for fixing this issue and none of them worked. One of them got me temporarily back to the home screen, but the watch would not connect to my phone. After more fiddling I got my watch to go to the pairing screen, but then it wouldn’t see any device I put next to it.

Shit.

So now I had an Apple Watch stuck on the “please pair me” screen and it would not pair with any iPhone around (tried iOS 10 and 11). I finally gave up and made a Genius appointment for this evening at my local Apple Store where they gave me the bad news: they need to send it to Apple and have them work their magic on it to fix things. They gave me 3-5 days for the Watch to be shipped back to me in working order.

I’m thankful for Apple’s excellent service. The Apple Store’s Genius was helpful, but adjusted to my level quickly (“I’m guessing you Googled a bunch of stuff before coming here, right?”). And the fact that they’re fixing/replacing my busted Apple Watch that I bought 10 months ago for free and with basically no questions asked just makes me a happy customer.

But let this be a warning to everyone out there, betas are trouble. Even if you have a long history of good luck with betas like me, things can still go oh so very wrong. The iOS and macOS betas are bad enough, but the watchOS betas are even riskier since there is no downgrade, there is no DFU mode to get you out of just about any jam. Once things go wrong on watchOS it’s sometimes really hard, if not impossible to bounce back.

I’ll see you again soon, Apple Watch. The next few days are not going to be fun.