Marco.org • About ▾

I’m : a programmer, writer, podcaster, geek, and coffee enthusiast.

Don’t order the fish

That place is great. Nice staff, casual atmosphere, good food.

You didn’t like it? Really? Why? It’s great.

Oh, you got the fish? Rookie mistake. Don’t order the fish, it’s terrible. But everything else there is good!

*     *     *

Jim Dalrymple’s loss of his music library was painful to read because, as much as I use, rely on, and mostly like Apple’s products, we all know that there are some toxic hellstews that are best avoided.

We’ve all heard (or said) the blanket statement that Apple isn’t good at cloud services, but that’s not universally true.

I’ve been using Apple’s services to sync contacts and calendars since they were called .Mac, with very few issues and zero data loss over the years.

As both a user and developer, I’ve never had a single issue with push notifications, probably Apple’s largest-scale and largest-volume web service. It’s rock-solid, fast, and reliable.

Even the new Photos app and iCloud Photo Library have been rock-solid not only for me, but for everyone I’ve talked to. The sole complaint I’ve heard is slow performance with very large libraries. I’ve had no issues with sync performance, data loss or duplication, or any confusion about what’s where.

But the iTunes Store back-end is a toxic hellstew of unreliability. Everything that touches the iTunes Store has a spotty record for me and almost every Mac owner I know.

And the iTunes app itself is the toxic hellstew. iTunes has an impossible combination of tasks on its plate that cannot be done well. iTunes is the definition of cruft and technical debt. It was an early version of iTunes that demonstrated the first software bugs to Grace Hopper in 1946.

Probably not coincidentally, some of iTunes’ least reliable features are reliant on the iTunes Store back-end, including Genius from forever ago, iTunes Match more recently, and now, Apple Music.

iTunes’ UI design is horrible for similar reasons: not because it has bad designers, but because they’ve been given an impossible task: cramming way too much functionality into a single app while also making it look “clean”.

iTunes is designed by the Junk Drawer Method: when enough cruft has built up that somebody tells the team to redesign it, while also adding and heavily promoting these great new features in the UI that are really important to the company’s other interests and are absolutely non-negotiable, the only thing they can really do is hide all of the old complexity in new places.

With the introduction of Apple Music, Apple confusingly introduced a confusing service backed by the iTunes Store that’s confusingly integrated into iTunes and the iOS Music app (don’t even get me started on that) and partially, maybe, mostly replaces the also very confusing and historically unreliable iTunes Match.

So iTunes is a toxic hellstew of technical cruft and a toxic hellstew of UI design, in the middle of a transition between two partly redundant cloud services, both of which are confusing and vague to most people about which songs of theirs are in the cloud, which are safe to delete, and which ones they actually have.

Even Jim’s follow-up piece, after meeting privately with Apple in PR-damage-control mode, is confusing at best about what actually might have happened, which is completely understandable because it sounds like even Apple isn’t sure.

I have plenty of plausible theories on why iTunes didn’t get the iCloud Photos treatment — why Apple Music was bolted onto this ancient, crufty, legacy app instead of discontinuing iTunes, dropping its obsolete functions, and starting fresh with a new app and a CloudKit-based service. (Engineering resources, time to market, iPods, Windows, and people with slow internet connections.)

But that doesn’t make iTunes better or less confusing, and Jim’s still missing those Ozzy tracks.

The safest, most sensible course of action for users is to just keep their music libraries away from iTunes Match and Apple Music. We’ll all just know not to order that fish, and many of us won’t use Apple Music at all because its integration into our local libraries feels too unsafe.

And that’s too bad for everyone, because Apple Music is pretty great when everything works and you can figure out where everything is.

Climbing back up

It’s been almost two weeks since I’ve had trouble seeing my home network’s shares, printing to the network printer, or screen-sharing with my home server, or since one of our computers or Apple TVs gained an erroneous “(2)” after its name.

It’s been almost two weeks since my Apple TV refused to see my iMac’s iTunes share, or since I had to restart iTunes and reboot the Apple TV or disable and re-enable Home Sharing to get them to (maybe) see each other.

In fact, it’s been almost two weeks since I’ve seen nearly any of the annoying, recurring problems that made me write, back in January, that Apple’s software quality had lost the functional high ground.

Not coincidentally, it’s been almost two weeks since Mac OS X 10.10.4 was released, which replaced the problematic discoveryd with the older, more reliable mDNSResponder. These system processes are responsible for tracking the network’s computers, names, and shared services, and discoveryd’s unreliability in these tasks caused erratic network problems like mine for a huge portion of Apple’s customers.

The entire decline of software quality that I felt in January wasn’t all due to a single buggy network-lookup service — but, unbeknownst to me at the time, a lot of it was. And that huge swath of problems that annoyed me every day disappeared instantly and completely as soon as I updated every computer on the network to 10.10.4.1

It’s still scary that such a critical component could ship in such a buggy state, breaking common tasks and tarnishing Apple’s reputation, without being fixed or reverted for almost a year.

But fixing this is major progress. And seeing the direction and priorities of iOS 9 and El Capitan, I have high hopes that we’re moving in the right direction again.


  1. discoveryd persists on the iOS devices in the house that aren’t running the iOS 9 beta, and the Apple TVs, but upgrading the Macs has fixed every noticeable network-related issue in my daily use. 

Live with Phil

John Gruber’s live performance of The Talk Show at WWDC was unusually special this year.

It was announced and sold out without John specifying any guests. He didn’t hype it up or drop any enticing hints. Nobody knew who would be on stage until they walked through the curtains, but we all assumed it would be some of the developers, journalists, and friends who usually join John to give The Talk Show its great personality.

But after a brief introduction from Merlin Mann and Adam Lisagor, John introduced, “and I shit you not,” Apple’s senior vice president of marketing, Phil Schiller.

Being familiar with John’s dry humor, I’m not sure most of the audience believed him. Many cheered. Some hesitated. For a few seconds, nobody walked out, and people started laughing, thinking they got the joke.

And then Phil Schiller really walked on stage.

Apple doesn’t do this.

Apple executives rarely speak publicly outside of Apple events, especially for live interviews. One of the highest-ranking executives of the world’s highest-profile company being subjected to questions, unprepared and unedited, in front of a live audience full of recording devices, is rarely worth the PR risk: the potential downside is much larger than the likely upside. Do well, and a bunch of existing fans will like you a bit more; do poorly, and it’s front-page news worldwide.

Both Apple and Phil Schiller himself took a huge risk in doing this. That they agreed at all is a noteworthy gift to this community of long-time enthusiasts, many of whom have felt under-appreciated as the company has grown.

With the wrong interviewer, this could’ve been a recitation of PR-friendly softball questions with perfectly designed, talking-point responses that would’ve gone nowhere and benefitted no one. But Apple PR doesn’t want that any more than the audience does.

Or it could’ve been boring questions about hardware rumors that no Apple executive would ever answer. I’ve never seen another interviewer that didn’t waste time on these dead-ends that, in their wildest dreams, might answer questions relevant only for a few short months or years.

But John Gruber is better than that, and we all know it, including Apple.

John asked real questions on challenging subjects, including gender diversity, my alleged software-quality decline, discoveryd problems, thinness trade-offs with battery life, the new MacBook, continuing to sell 16 GB iOS devices, and whether the Apple Watch should have shipped without WatchKit 1.0 apps since the native SDK was so imminent.

And Phil gave real answers to each one. Apple iterates, argues, and evaluates trade-offs. Sometimes they don’t get it right. Sometimes they’re more aggressive pushing the tech forward than power users like us think they should be. Sometimes there are trade-offs in product design that we don’t consider, or that we prioritize differently than they do.

Phil made quick, smart, informed references to Apple-related podcasts and sites, including mine, that made it clear that he personally reads and listens to our community.

I’ve heard that this was the case for Phil and many other Apple higher-ups for a long time, but I’m not sure it has ever been made so clear publicly.

Apple is listening.

Between the serious and technical discussions, Phil and John lightly joked about typography and sports teams with each other and the audience.

They had the great rapport of professional acquaintances who’ve known each other for a while and clearly respect each other.

I’d listen to their podcast.

Apple is just people. Their usual communication style makes that hard to see and easy to forget.

Phil’s appearance on the show was warm, genuine, informative, and entertaining.

It was human.

And humanizing the company and its decisions, especially to developers — remember, developer relations is all under Phil — might be worth the PR risk.

Or maybe he just thought it would be cool. He’s a pretty cool guy. I’m glad we got to see that, and we got to see that because of the career, personality, and perspective that John Gruber has been building for over a decade.

John has always seemed to want The Talk Show’s annual live show at WWDC to resemble his fond childhood memories of the Johnny Carson late-night TV talk show. Past years have been closer to that format and pacing, but this was nothing like it at all.

John isn’t Johnny — John is better. And I’d much rather watch this show than anything on TV. Talk shows on TV must be liked by everyone; podcasts sell out live venues by being loved by a niche.

This meant a lot for both John and podcasting. Apple sent an executive to be interviewed on a podcast, and one of the highlights of John Gruber’s career as a writer didn’t involve writing at all.

I’m just hoping he can get Moltz for next year’s show, because I sure as hell wouldn’t want to follow this.

Special thanks to the App Documentary guys for lending me the camera to shoot these photos at the event.

Freemium is hard

In How I Killed App Sales By Going Freemium, Shuveb Hussain recounts switching his send-to-Kindle app from $1.99 up front to a free-with-in-app-purchase model:

This is what I came up with: A free app that allowed 10 free articles initially, enough for users to get a taste of the service. After these “article credits” ran out, users would still be able to send one article every day for free. To overcome the one article per day restriction and send articles anytime, users could buy “article credits” via in-app purchases and send articles anytime.

Actually, one article per day was enough for most users. […]

In the past 20 days, Comfy Read 2 has seen just 5 in-app purchases.

Freemium is hard. Its effectiveness depends on where you can put that purchase barrier in your app. Many app types simply don’t have a good place for it.

In this case, Shuveb faces the fatal combination of two major problems:

  1. His app is a lightly used utility, but he only stands to make money from heavy use. His free tier is good enough for most users.
  2. His purchase barrier — more than one article per day — discourages more frequent use, which hinders habit-building. When faced with a paywall, most people will try to avoid it unless there’s a compelling reason to pay. The few customers who hit Comfy Read’s paywall probably just think, “I guess I won’t send this article to my Kindle,” or “I guess I’ll use another app for this.” Users aren’t given the chance to let the app become a crucial part of their workflow or build any loyalty toward it, which would make them more willing to pay, before hitting a paywall.

These seem like opposites: the free tier is both good enough and not good enough. What makes freemium so tricky is that these can both be true simultaneously, and for many app types, this can’t be resolved. That’s why it’s so hard for many apps to succeed with a freemium model.

I spent months debating which features should be behind Overcast’s in-app purchase. If I limited the number of subscribed podcasts for free users, I’d be discouraging people from trying new podcasts. If I put Smart Speed, Voice Boost, and my smart playlists completely behind the paywall, most users would never experience my best features and wouldn’t think my app was very good. But if I kept the paywall too easy to avoid, like showing ads with a purchase to remove them, it wouldn’t sell well. (No-ads upgrades never sell well, by the way.) And whatever features I limited would be free in many competing apps, including the one Apple includes on every iPhone for free.

What I came up with — unlimited general usage and most features being free, with limited demo-like access to premium features before purchase — was a tricky balance and a compromise. Freemium always is.

Paid-up-front isn’t always easy and doesn’t always sell well, but it is much simpler.

Ads via The Deck