all micro contact rss

If the Shoe Doesn't Fit, Grab Your Shoehorn

The internal drama explains a lot about Apple’s dilemma. Its one major new product of the post-Jobs era, the Apple Watch, made its debut five years ago. Its iPhone business is faltering, and more recent releases like its wireless AirPods haven’t been enough to shore up falling sales. It hasn’t had a megahit new product since the iPad that started selling in 2010.

via The Wall Street Journal

Every line of that paragraph infuriates me.

Its one major new product of the post-Jobs era, the Apple Watch, made its debut five years ago.

And the iPad debuted 5 years before that. The iPhone was only two years prior, but the iPod was 7 years before that. And the Mac, well that was 17 years prior to that. See a pattern here? Neither do I. Major new products from Apple come out when they are ready. There has never been a period in Apple’s history with hit major new product after major new product.

Its iPhone business is faltering

A 5% decline on 46-million units per quarter now qualifies as “faltering.” Check.

and more recent releases like its wireless AirPods haven’t been enough to shore up falling sales.

AirPods are a legitimate cultural phenomenon. But that doesn’t fit the narrative here, so let’s point out that they’re not expensive enough to make up for “faltering” iPhone sales. Because that won’t directly contradict your point later in the article that iPhone X was too expensive.

It hasn’t had a megahit new product since the iPad that started selling in 2010.

iPad is the fastest-selling consumer electronics gadget of all time. Sure, Apple hasn’t had a hit of that magnitude since. It also never had one of that magnitude prior. And neither has anyone else. What’s your point?

Look, I get it. Jony Ive quits Apple, and you as a journalist see an excellent opportunity to cash in on the sentiment that “things just aren’t as great as they used to be.” So you gather a bunch of disgruntled former Apple employees who haven’t exactly “had a megahit” themselves since they left and cast as negative a picture as you can, so you can generate as many clicks as you can. But don’t expect me to read this drivel and actually believe any of it.

By the end of the piece, I’m supposed to think Apple is doomed because Ive would rather spend time with his ailing father than watch a Lady Gaga concert. (I shit you not.)

But of course, my Twitter timeline is full of Apple fans with malfunctioning keyboards telling me this is a “must read.” So, mission accomplished, I guess?

The Day the Duplicates Died

It’s almost hard to believe I wrote this post about duplicate track issues in iTunes and iCloud Music Library way back in December 2017, and yet, in the shipping version of iTunes today, that bug is still present.

Not a day goes by since I wrote that post (I have the tracking stats to prove it) that at least a few people don’t find my article via a Google search, which means people have been frustrated with this issue and have been looking for solutions for a very long time. Some have even reached out to me to thank me for reassuring them they aren’t crazy.

Imagine how my ears pricked up, then, when rumors started floating around this year that Apple was poised to retire iTunes in the next major version of macOS? While many were frightened Apple was taking away their precious music player of choice, I was elated at the chance of a brand new app which would presumably not elicit this same bug. After all, the rumor originally figured the new Music app would be ported over from its iOS counterpart on the iPad. And the iPad version doesn’t have this bug.

But then Apple announced Music for macOS (which will ship this fall with the Catalina update), and it quickly became apparent that rather than a complete rewrite, the app would simply be iTunes with a new name and a lot of its more bloated features removed.

Happy as I am to see the bloat removed, and as much as I believe strongly that you should not throw away perfectly functioning code for no good reason, the code in iTunes was far from perfectly functioning.

So, the big question: Would this bug still be present in Music, despite all the work Apple had put into rebranding and reworking it?

Luckily, I don’t have to wait until September to find out. I’m an Apple developer, after all, so I get early access to the beta versions of this software.

So I installed Catalina’s beta onto my Mac, fired up Music, turned on the iCloud Music Library feature, and…

Well, at first, the duplicates appeared again. I was despondent. I could not believe Apple didn’t bother addressing this issue after at least one-and-a-half years. (In all likelihood, the bug has been around quite a bit longer than that.)

But then, a few moments later, something wonderful happened. All the duplicate tracks disappeared in an instant. It was if Music caught itself making the same old mistake, and then corrected itself.

As of this writing, the duplicate tracks are still gone. iCloud Music Library is functioning on my Mac as intended. And any new tracks I download are being synced perfectly between my iPhone and Mac.

Fingers crossed that all is well, and we will finally be able to call this bug defeated.

I say will be, of course, because Catalina is not shipping yet. Those of you who are not developers will have to wait to get this fix. And there’s always the chance that the bug will return before shipping. But I highly doubt it. I think there are going to be a lot of happy Music users come fall.

On Intentional Subscriptions

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.

via David Smith

I mostly agree with David in this piece on Intentional Subscriptions. I have a few thoughts, however.

First and foremost, I love the idea of a system-owned screen for confirmation of subscriptions. Apple has made the guidelines for the subscription presentation page so muddy that almost no developer I know is ever confident that the requirements are being met by their apps. Let Apple design this page exactly how they want it, and let every app get the exact same screen. More consistency for customers, leading to fewer surprises. No more fearing I’m going to get rejected. Apple saves money on App Review. It’s a win all around.

Let us upload Terms and Conditions text and a description of each subscription item directly into AppStoreConnect. Then, Apple can pull everything it needs right off its own servers. All a dev would need to do is ask to pop up the SubscriptionConfirmationViewController, or whatever they call it. Similar to asking for a review prompt. When dismissed, we get a completion handler with confirmation that they subscribed and an ID for the item to which they subscribed, or a notice that the customer cancelled or that the transaction failed. Devs could even update their text descriptions this way without having to upload a new app binary. They’d have to get the new metadata approved, of course. Which would cut down on fraud as well.

Please, please, Apple. Do this.

Next, notifications. I agree that a notification makes more sense than an email on renewal of subscriptions. However, I get hundreds of notifications every week. And I’m pretty careful about turning off notifications for many apps. Ideally, these renewal notifications would be on by default, but they should only fire at the end of trial and at the first renewal after. And I should be able to opt out of them on an app-by-app basis. I don’t need to be reminded every month for every one of my apps separately. (There’s a fine line between not surprising a customer and treating them like a child who can’t be responsible for their own finances.)

Curtis Herbert said it better on Twitter (thread):

As far as being able to cancel your subscription right from the notification itself is concerned, I think this sounds better on paper than it would be in practice. People don’t read their notifications carefully. I see a ton of people accidentally unsubscribing to apps, then getting super confused when their apps no longer work. This would lead to increased support load for everyone. Tapping on the notification should take you directly to the subscriptions page on the App Store, however. (See Curtis’ thread linked above.) Then you could unsubscribe, intentionally, with another tap or two.

As far as auto-renew happening a the end of the trial, I think a lot of developers don’t realize how common this is in most markets. Yes, it’s different from the shareware days of yesteryear, but auto-converting trials are a practice with which most people are very familiar. Magazines have been doing this for decades, for instance. And it makes sense. For every customer who we might be saving from an accidental payment by disabling auto-conversion, we’re annoying ten others who already indicated they want to keep using the app and don’t want to verify yet again.

As long as customers are getting notifications before the trial ends, and they get a 24-hour grace period to cancel (another good idea from Smith) I don’t see any need for Apple to remove the convenience of auto-renewal after the trial ends.

Especially for apps like my own RECaf that almost never get launched (you can interact with it primarily through Siri), having to manage subscription renewal in the background could get hairy quickly. I could see tons of customer support issues stemming from this.

Any developer who doesn’t want to have a trial auto-subscribe at the end has the freedom to do that right now. Just don’t use Apple’s trial system. Track how long the customer is using the app yourself, then just present the subscription without a trial at the appropriate time.

Lastly, and I’ve written about this before, I think Apple should require apps to provide a link to the subscription management page inside our apps. We have the ability to do that (I do it inside RECaf), but few developers actually do.

And that subscription management page also absolutely should be linked at the top level in Settings.app with the title “Manage Subscriptions.” I don’t know any non-developers who know where that page is buried inside the App Store and iTunes settings.

Release Notes 2019

Tickets are now on sale for Release Notes 2019. Our show is already pretty close to sold out, but there are still some available spaces left.

Charles and I are really excited about this year’s show. We took a year off after our successful Chicago 2017 event. And that extra time gave us the chance to rethink some things and try something even more ambitious.

If you’re interested in the business of selling software, or just bootstrapping businesses in general, there’s a lot going on at our show you might find interesting.

All the details are available on our new site. I hope you’ll check it out and join us in Mexico this October.

I Now Have a Cardiologist

With Apple’s release of watchOS 5.2, I see the ECG feature is now more widely available throughout Europe and other regions. That’s great news.

I want to encourage those of you with Apple Watch devices in those supported regions to go grab the update and try out the ECG. Not just because it’s extremely cool tech. But because, well, let me put it this way:

I now have a cardiologist.

That isn’t a statement I was planning to make in my forties. But there it is. And it’s only true because of Apple Watch.

Let me back up.

Last fall, when the ECG feature was finally released, I couldn’t wait to try it out. I’m a total geek for this sort of thing, and I believe health is the next big thing as far as technology is concerned.

I wasn’t expecting to see anything other than good old-fashioned Sinus Rhythm. I didn’t know what a good heart rhythm was supposed to look like as it was being recorded, really. So I was just enjoying the cool animations, not noticing the strange pattern. Then the recording finished:

Signs of Atrial Fibrillation.

Hmm. That has to be a bug, right? Experimental new feature. Maybe I was shaking or moving my wrist a bit. So I try it again:

Signs of Atrial Fibrillation.

This time, I read the rest of the text more carefully. I didn’t write down the exact wording, but it read something like: “If this is a surprise, you should contact your doctor and talk about it.”[1]

Now is a good point in the story to point out that at the time, I didn’t have a doctor. I’m an indie software consultant in his mid-forties, living in the US, the world’s worst industrialized country for health care. Since I don’t have a “job job,” I pay roughly $500 a month for “health insurance” out of my own pocket. But for most things, this insurance is essentially useless. My deductible is so high that pretty much any doctor visits I make are out of pocket.

I continue to pay for my insurance because thanks to the Affordable Care Act, I have to. It’s the law. And I’m okay with that. Because I know paying into the system helps others who make less money than me have access to care.[2]

It’s worth noting that having this insurance also protects me against very serious costs from various serious illnesses, or accidents, etc. If I had cancer, I’d eat through my deductible pretty quick. But that’s the thing. I’ve never really had any serious health issues.

That’s actually an understatement. With the exception of appendicitis when I was about 13, I haven’t been to the hospital since I was born. I’ve never had any drugs prescribed to me for more than a few weeks. I barely take aspirin when I get the occasional headache.

This year, I had my first common cold in fifteen years. This is how not prone to health issues I am.

I had no need to go to a doctor beyond the occasional physical, is what I’m saying. Until now.

It’s also worth noting at this point in the story that Atrial Fibrillation is extremely rare in men my age. Less than two percent of people in my demographic have it.

Go figure. When I do something, I go big I guess.

So I found a primary care physician and set up an appointment for a routine physical. It had been a while, anyway. I asked him to take an ECG (an official one, with all the wires and stuff). That was going to cost me extra, as it’s not part of a routine physical, but I told him about the watch readings, and he agreed I should take a look.

The results? While admitting he was no heart specialist, the primary care doc said my ECG results were definitely a bit of a concern. “Your heart is a little fast, and little irregular.” He was trying not to scare me. I wasn’t going to drop dead that day, but something was definitely up. My watch wasn’t lying to me.

So then he sent me to the cardiologist.

When the cardiologist asked why I came in for a visit, I told him about my Apple Watch ECG. “I know, this is new tech. And maybe it’s not scientifically as accurate as the real thing, but it told me I should come in. And I thought I’d better not take a chance.”

The doctor didn’t scoff. Quite the opposite, in fact.

“Oh yeah? Can I see how it works?”

He was fascinated. I started up a new ECG reading, and within seconds, he said “Yep. That’s AFib.”

Persistent AFib, in my case. Over the course of the next month or so, as the doc prescribed some beta blockers and instructed me to continue monitoring my condition, I continued to take readings. No doubt about it. I was in a constant state of AFib. The doctor is still at a loss as to why. (I have none of the genetic indicators and no habits that would increase my chances of this happening.[3] I just have a heart that wants to beat in odd time, as I’ve gotten into the habit of saying.)[4]

More alarmingly, I had very few symptoms that I could easily identify. I felt a bit more sluggish than usual (a direct result of my resting heart rate being in the 113-120 bpm range). But I’m not in the best shape, so sluggish isn’t exactly strange for me. I had the occasional discomfort in my chest. And even more occasionally, I’d feel my heart fluttering a bit, as if I had just watched a scene in a scary movie. But it would pass in seconds.

It was enough to tell me that something was off, but probably not enough for me to go to a doctor. Seeing the watch reading definitely gave me the push I needed to investigate.

In trying to figure out when this condition may have started, the best we could conclude was sometime during the previous summer. It was post-WWDC; I was running betas of iOS and watchOS, as I was developing a new app and wanted to utilize some of the new notification and Siri features. (ECG wasn’t part of the beta.) Once or twice, while sitting on the couch watching tv, I got a notification on my watch saying my heart rate had suddenly jumped into the hundreds, with no indication of a change in activity on my part. I wrote it off as a beta bug, of course. That was certainly more likely than me having a heart condition. And it only happened once or twice.

My cardiologist now thinks I was in AFib all the way back then. Almost six months before I made my first appointment. Maybe even earlier. That’s how subtle the symptoms were.

Anyway, fast forward to this January. I had an echocardiogram done. (Basically a sonogram for your heart.) Other than the weird rhythm, my heart was perfectly normal. The fast beating and strange rhythm hadn’t caused any muscle or tissue damage—yet.

The next step was to get me out of persistent AFib. This involved what’s called an electro cardioversion.[5]

The issue with an electro cardioversion is that while it will zap the patient back into sinus rhythm in most cases, since we don’t know what caused the AFib, there’s every chance that it will come back in the future.

If it does come back, you can do the electro cardioversion again, but the next real step is something called a cardiac ablation, which involves sticking a probe up through your leg into your heart, and burning the areas where the incorrect electrical impulses are happening. When you hear the procedure described, it sounds super cool; then you realize it’s your heart they want to burn holes in. But hey, it does cure AFib permanently, with relatively low side-effect risk.

If it’s all the same to you, though, I’d prefer to avoid that.

So far, luckily, since my cardioversion in January, my heart has stayed in sinus rhythm. So I haven’t needed to go the ablation route yet. But that remains a possibility for the rest of my life.

In the meantime, I’m off all prescriptions, and I’m taking ECGs with my watch regularly.[6]

All told, I’m several thousand dollars out of pocket, still not having hit my deductible, but my heart is doing what it’s supposed to, so I think I’ll call that a win. My useless insurance will become dramatically more expensive next year, while remaining just as useless.

But still. A win.

“You have all you need to monitor this on your own” the cardiologist told me, pointing to my wrist. “So we’ll know if and when this ever comes back.”

Did my Apple Watch save my life? I think in my case, that’s a bit of an overstatement. I’ve seen a lot of the stories about people whose lives really have been saved by technology. I'm not in their league. My Apple Watch did help me discover a condition that would likely have gone untreated for a long while.[7] I wasn’t going to die that afternoon. But I might have had a stroke (the most likely result of leaving AFib untreated) a few years down the line. So I’m very grateful to the team at Apple who added this functionality. If any of you are going to be at WWDC in San Jose this June, get in touch. I’d love to buy you all a drink and thank you in person.[8]

I’ve seen some news articles where certain doctors expressed concern that false positives from Apple Watches could lead to panic, with patients going to the emergency room needlessly, etc. To those doctors, I have two middle fingers I would happily like to extend. At no point did my watch give me any indication that I was in a true emergency. It just encouraged me to talk to a professional about what seemed to be abnormal heart rhythm. If I had gone to my doctor, and the official ECG had turned up completely normal, the worst thing I’d have to say is that I now had confirmation that my heart rhythm was normal. How could that be a bad thing?

The ECG function in Apple Watch represents the best value for money I’ve ever spent in technology. There may only be a few people like me who are helped out by this, versus the millions who will just run the ECG for fun and get confirmation of their normal heart rhythms. But helping those few is totally worth it. Trust me.

I can’t wait to see even more functions built into wearable technology that will help diagnose even more conditions for others.

Tim Cook believes Apple’s contributions to health will end up dwarfing everything else the company does, when looking back a hundred years from now.

I have good reason to believe him.


  1. Note, my watch wasn’t telling me that I needed to run to the hospital immediately. It wasn’t trying to scare me. It just suggested that I talk to my doctor. Kudos to whoever crafted the text on this warning. It triggered the exact correct level of concern. ↩︎

  2. I am the exact person who got totally screwed by Obamacare, in other words. But I supported the legislation as a stop gap until we can move to a single-payer system. When I consider the over 20 million Americans who now have access to care who didn’t have it prior, I figure it’s worth it. It may be a burden, but it’s not a crippling burden. ↩︎

  3. Such as a wild cocaine habit, or a tendency to take prescription drugs in order to stay awake. ↩︎

  4. Couldn’t resist a prog rock joke. ↩︎

  5. You know how on hospital drama shows on TV, they take the paddles, yell “Clear!”, then zap a dead person to get their heart going again? This is sort of like that, only your heart is still beating, and they use less intense electricity. They aren’t restarting your heart so much as trying to zap it back into normal rhythm. The worst part is actually before the zap, when they have to stick a camera down your throat to check for blood clots in your heart. You have to be awake for that bit, though in a very “relaxed” state due to some serious sedatives. I have no memory of it now. ↩︎

  6. I never thought I’d have a use for the Heart Rate and ECG complications; now they are present on most of my regular watch faces. ↩︎

  7. Maybe the sluggishness and flutters would have gotten me back into a doctor’s office a few years from now. Who knows? ↩︎

  8. And if you need a beta tester in his forties with a history of AFib for future products, hit me up. ↩︎