all micro contact rss

The Curious Case of the Duplicate Tracks

Over the years, the majority of my complaints about Apple have centered around music. That’s because I love music, and Apple clearly doesn’t always think enough about people outside of its contrived all-in-on-Apple-Music listener when it comes to the iTunes experience.

Today’s complaint actually begins with a recent positive discovery. I finally gave in to the temptation and signed up for a free trial of Apple Music, and it’s really great. The recommendations it makes are often good, or at least not terrible, and I love being able to try out lots of artists that I otherwise would probably not have discovered. I love downloading tracks on my phone as I discover them, and I like listening to them even when I’m offline. So far, so good. I definitely plan to remain a subscriber.

But then I ran into a bit of a snag when it came to the iCloud Music Library. This is the feature that syncs whatever you put on one device with all your iPhones, iPads, Macs, etc. In theory, it’s a great idea. If I discover a track on my iPhone and download it, it’ll be sitting on my Mac next time I might want to listen. And vice versa. On my iPad, I don’t auto-download these tracks, but they show up in my library for streaming if I want them. Perfect.1

But after a couple of days of enjoying this new iCloud Library experience, I noticed a problem on my Mac. In iTunes, every track that is available on Apple Music but that I had acquired elsewhere (CD Rip, purchased from another store, etc) was doubled in my iTunes library. Each song would be listed twice, in other words.

In some cases, one version would have a little cloud icon with the down arrow, indicating that it can be downloaded from iTunes, and the other would have a cloud and an X, indicating a track that is from my library, already downloaded, but not from iTunes. On my phone and iPad, these tracks only show up once. But on the Mac, there were two. Right after one another.

In other cases, it would actually download the second copy, so I’d get one track with no icon (downloaded from iTunes) and the other with the X (my original file). All of these files were taking up twice as much space on my hard drive.2

File size issues aside, you can see how this would be a problem for someone like me who likes listening to albums. Unless I want to hear each song twice in a row before advancing to the next one, I have to remove all the duplicate tracks from Up Next every time I click on an album. (Even the ones that aren’t yet downloaded just stream when I play the album.)

Well, that’s a strange bug, I thought. Maybe I should throw away the extra downloaded ones and just leave my original tracks. We’re talking about thousands of tracks, so that would be a lot of work. But if it’s just a one-time glitch, so be it.

When I attempted to remove a cloud track however, I got a warning that it would remove the track on my phone as well. That’s not good. I want the track to stay on my iPhone. I just don’t want two copies on my Mac.

The other option, of course, was to erase my copies of the tracks and just leave the cloud versions. Which means if I ever cancel Apple Music, those tracks will likely be gone forever, since I didn’t buy them on iTunes. They would not be part of my purchase history, so they would disappear, along with everything else I try in Apple Music.

This is not an option.

So I found a third alternative: I just turned off iCloud Music Library on my Mac. The duplicates immediately went away, and I was left with my old library intact. I miss out on syncing new tracks that I find on my phone, but those can be found and streamed on my Mac from the recents section of For You. Terrible user experience, but at least there’s a workaround.

Believe it or not, I wasn’t driven to write a long tirade yet. I tweeted something snarky, but then I let it go. Lots of others informed me this has been a known issue for quite a while. Yikes.

And then something happened this week, when one of my favorite bands, Big Big Train, released a pair of new Christmas songs. Only one is available on iTunes, while the other is a special b-side you can only get from their web store. A portion of the proceeds from those songs also gets donated to charity when you buy on their store. So I bought both tracks on their store, of course.

I often buy tracks from indie artists on their own sites, anyway. As an extra sign of support. This is not weird or extremely unusual behavior. It’s pretty common for music fans.

It’s when I tried to listen to these tracks that I found my inspiration for this rant. I could add these two new tracks to my Mac, no problem. But because I didn’t have iCloud Music Library turned on, those tracks were not synced up with my phone. Okay. I can just plug my iPhone into the Mac with a USB cable and drag the new tracks over to my phone, right?

Nope.

Because iCloud Music Library was turned on for the iPhone, I was now no longer able to simply drag and drop files between the Mac and iPhone. iCloud Music Library is an all-or-nothing proposition. The only way to get these two tracks onto my phone would be to either turn off iCloud Music Library on the phone (and thus lose all the Apple Music tracks I’ve downloaded) or turn iCloud Music Library back on for my Mac, and let the tracks sync.

I chose the latter, which, of course, brought back all the duplicate tracks on my Mac as well. So then I had to turn off iCloud Music Library on my Mac after the upload of my new songs made it to my other devices. Fortunately, the two new tracks remained on my phone.

You read that right. Moving forward, whenever I get a new audio track that isn’t from Apple Music, I’ll have to add the track to iTunes, turn on iCloud Music Library on the Mac, let it upload that new track to the cloud and download all these thousands of duplicates, then turn off iCloud Music Library on the Mac to remove all the duplicates.

Lovely.

I purchase the vast majority of my music from the iTunes Music Store. I shouldn’t be punished for occasionally getting tracks from other sources. Especially when those tracks aren’t even available on iTunes.

All of this suggested to me that perhaps no one at Apple has any music that wasn’t downloaded from iTunes? Although that can’t be true. You’d think someone in charge of music over at Apple had listened to music prior to the iTunes Store’s existence, which means they at least have some tracks that were ripped from CDs in the early 2000s. Given this issue is so thoroughly annoying, I would think it would have gotten fixed somewhere in the last year or two once someone noticed, right? It’s simply not possible that no one over there has noticed this problem.

The only other two conclusions I can make is that no one at Apple cares (not likely) or that this duplication of tracks is somehow intended. Which brings me to my favorite question: Why? Why would anyone want to search through their entire library and delete all these duplicate tracks? Or erase their entire music library before signing up for Apple Music, so their library would be fresh and only sourced from Apple?

If the Mac can detect that I have a track in my library that’s from another source but also available on iTunes, why can’t it just mark that track as already downloaded, and then just download a copy to my other devices? Like I said, this works just fine on my iOS devices.3

Despite my frequent complaining, iTunes has improved over the years. So many things that used to drive me nuts are better at this point. I’m back to using the built-in iOS Music app again. I recently wrote about drag and drop from iTunes to your iOS devices finally working reliably. I can finally sort albums on my phone by date instead of title. I signed up for Apple Music and I actually like it. Apple is working on making these experiences better. Maybe this duplicates issue is just another item on a long list of things to be fixed, and we’ll eventually see it go away. I have to hope so. It’s one of the few remaining big ticket items that leaves me scratching my head at an otherwise decent music experience.

Progress has been very slow going, though. I’ve already volunteered, if Apple ever wants to take me up on it, to help them find any remaining issues by examining my music library. If they want to find music-lover use cases they probably haven’t considered, my hard drive is full of them. Heck, I’m usually in the Bay Area at least twice a year, anyway. I’d be happy to stop by whenever they want to talk.

  1. I only listen on my iPad occasionally, so streaming-only is just fine there.

  2. At least, presumably. I could not find these tracks in Finder anywhere. But if I right click on them, I have the option to “remove download.” And if I go to the View menu and switch to showing Only Downloaded Music, these songs remain.

  3. Most of the tracks I have on my phone were dragged over from the same library that’s on my Mac. I have zero duplicates on my phone.

Using Tally

I was recently asked on Twitter for practical examples of how I use Tally, made by Greg Pierce of Agile Tortoise. My response is way too long, even for the new 280-character limit, though, so I thought I’d write it up here.

Note: This is not a paid endorsement. I know Greg, and I know he makes great apps. Which is why I downloaded Tally in the first place. But he has never asked me to promote anything of his. I just like talking about great products.

Tally, for those who don’t know, is a simple iOS app for keeping a tally of just about anything. Tap anywhere on the screen to add one to the counter. Couldn’t be easier.

You can run multiple tallies at once, too. And there are other settings inside the app for customizing further. But that’s the basic gist. It’s a very simple app. But it’s this simplicity and malleability that make Tally so valuable to me.

Tally is also one of the few apps with an iOS widget that I actually use. Thanks to the widget (and the very good Apple Watch companion app) I almost never have to actually launch Tally on my iPhone to keep my tallies going.

The obvious use case for an app like Tally is to keep score in games, or count the number of people who enter a room. That sort of thing. But that’s not how I use the app.

Basically, I use Tally to keep track of behaviors I’m curious about tracking, but that I don’t want to get too deep into a rabbit hole about tracking. Make sense?

Let me give you an example. A while back, my doctor asked me to estimate how often per week I eat red meat. I couldn’t really give her an honest answer. I figured it was more than she was going to recommend, regardless, but that didn’t bother me as much as simply not knowing. I had never thought to track my red meat intake before. So I made a tally called Red Meat, and I started tracking it, casually. Every time I ordered a cheeseburger, I’d flick over to Tally on my Apple Watch or on the widget screen and add one to the count. Carne Asada burrito? Add another to the count. And that was it. I wasn’t trying to guilt myself into changing any behavior. I didn’t want to create permanent stats on my red meat intake for the rest of my life. It wasn’t a chore. I was just curious.

The results, of course, surprised me. I was definitely eating red meat more often than I thought I was. Given the health drawbacks of cholesterol, cancer risk, heart problems, etc., it was definitely more than I wanted to be eating. But I didn’t panic. I just kept tracking it, this time setting my sights on reducing that weekly number. Could I do one fewer this week than last week? No pressure. No judgement. Some weeks I’d do better. Others I wouldn’t. Let me just see if I can make different choices on occasion.

Over time, I went from eating red meat more than seven times a week (or roughly once a day) to three or fewer times per week. That’s a big shift, but I did it over a prolonged period, so it barely felt like a change. Months later, I find myself craving red meat less often, so keeping the number down at three or so has become second nature. I can probably stop tracking it at this point, I’ve gotten so consistent at keeping that number down.

And that’s the whole point. There are some things in my life I absolutely want tracked over the long haul, in an app tailored specifically for that thing. My caffeine intake, for instance. My heart rate. My weight. And so on. But for other things, I’m just mildly curious. I suspect I have a habit that isn’t ideal, and so I gather some data to see if my suspicion turns out to be true. If the number makes me concerned, I make small adjustments to my habits, so I can be less concerned.

I didn’t need a red meat tracking app, in other words. I just needed to keep a casual tally for a few months. I needed data, and Tally was the easiest, low-pressure way to gather that data.

The beauty of Tally is that I can use one app to track just about anything. Another thing I started tracking not long after red meat was my alcoholic beverage intake. I never drink myself into a stupor, but I do like a nice glass of wine most nights for dinner. I also mix the occasional cocktail at home, mostly as a hobby. Throw in the occasional social gathering in the evenings, and just how many drinks was I actually having during the average week? Once again, it was more than I thought. So I’ve begun working on reducing that number, too.

This isn’t about scaring myself into making a massive change to my behavior overnight. Experience has shown me that’s a waste of time. If I want to make changes to long-ingrained habits, I know I need to make small adjustments over a long period, until the new habit becomes as natural as the old one once was. Until the old habit seems downright unattractive. It’ll take much longer to accomplish, but it’ll also last much longer.

You can also use Tally with an eye for increasing, rather than decreasing, behaviors, of course. How many times this week did I resist the urge to correct someone on the Internet? How many times did I work on gathering new leads for my consulting business? The possibilities are endless. And it’s so easy to track things, you’re far more likely to do it than with more complicated data entry apps. It only takes a few seconds to pop into the Apple Watch app or flip over to the widget screen on my iPhone, and add one to the count. It’s quicker than checking in on Swarm, or posting a pic to Instagram, for sure.

At the end of the week I reset the count, and I can start fresh. There’s no permanent record on which to judge myself. I don’t even really look at the numbers as the week goes by. I just view each tap as collecting a data point. Nothing more. On Sunday, when I actually look more closely at the numbers, I take a moment to reflect on how I’m doing. If I did better? Great. If I didn’t? No worries. I’ll try to do better next week.

We all want to improve ourselves in some way. I don’t know if this will work for you to help make adjustments in your habits. But it’s sure worked for me. I encourage you to give Tally a try, if you think it may help. It’s free to download and very inexpensive to get all the features unlocked.

On Keyboard Placement

I’ve seen a number of complaints about the iPhone X keyboard implementation. “So much wasted space.” “They should put the spacebar down at the bottom, where it always was.” “They should fill that space under the spacebar with emoji buttons.” And so on.

All of these suggestions strike me as poorly thought out. I immediately understood why Apple made the choice to leave that area mostly blank. The space bar is where it used to be. The home button used to be where that empty space is.

Given how difficult it is to change muscle memory, and given how much of a stretch it actually is to reach the bottom of the iPhone X in real-world use, putting frequently used buttons down at the bottom is a really bad idea.

I got to test this firsthand with my own app, x2y. I wasn’t expecting to get my iPhone X version finished in time for the release date, but at the last minute I had some time, and I was able to handle all the changes I felt were necessary—except one. My custom number pad still reached down to the bottom of the phone. I figured this would not be ideal, given what Apple had chosen to do with the built-in keyboard, but not having the hardware in my hands, I figured I’d ship it and see what happens.

Sure enough, as soon as I played around for a few minutes on my own iPhone X, I knew this could not stand. I was accidentally typing the wrong numbers constantly. And it was just too much of a stretch to get to that bottom row regularly.

So I fired up Xcode again and started figuring out a fix. In the end, the new design technically doesn’t look as good, but in practice it feels a thousand times better. My number pad isn’t quite as high up as Apple’s own built-in version, but it’s up above the Safe Area, at least.

So there you have it. Apple clearly did the right thing with keyboard placement on iPhone X. As I mentioned before, just because your screen goes edge-to-edge, that doesn’t mean your UI should. The extra space is most often best filled with background color.

Remote Messaging in Fin 4.3

I’ll be honest: when I added remote connectivity to Fin in version 4, I wasn’t sure how many people would actually use the feature. I just thought it would be a cool thing to have, and I wanted to learn how to work with Apple’s MultipeerConnectivity APIs.

All of my side projects have been about learning something, after all.

But to my surprise, a number of my customers do seem to like connecting two or more iOS devices together while running timers.

Recently, I received a support request for an additional feature: While connected, wouldn’t it be cool to send a quick text-based message to the other devices? That way, you could signal to someone performing on stage, for instance, that there was an important announcement, or something to that effect.

Not a bad idea.

So I went to work on getting that to happen. Since all the networking infrastructure was already done, it actually turned out to be more of a user experience problem than anything else. Where should the messaging UI live in the app, and how should it appear on screen? Those were the two hardest issues to tackle. The rest was just packaging up a string and sending it over to the other device(s).

After some experimentation and refinement, I managed to get something really simple and cool up and running. And so starting today with the latest update on the App Store, Fin can now be used to send notes to connected devices.

Type in a quick message, send it, and the connected devices on your network will display the message full screen for five seconds. Fin remembers the five most recent messages you’ve sent, so you can access them with a single tap, in case you often find yourself telling your performers the same thing. You can even send emoji in messages, if you want.

While I was at it, I improved the workflow for changing the end message that appears when the timer runs out using the same controller. Here, too, you will see the five most recent messages you’ve set. It’s a part of the user experience I’ve been less than thrilled about for a long time, so I was glad to improve it in this version.

Fin 4.3 is now available on the App Store.

FaceID vs TouchID

A lot of folks probably don’t remember, but the very first iteration of TouchID was problematic for some users. Most had no issues, and it worked great. For others, including me, it would work for a short while then stop unlocking the phone. I would have to retrain my fingers every few days just to keep it going.

There were even hack tricks, like training the same finger twice, that supposedly improved performance. I tried this as well. It made things nominally better, at best.

Then Apple released a software update, and it worked great for me from that point on. I even joked at the time that perhaps Apple had “fixed” TouchID by simply making it less secure.

Then the hardware for TouchID was upgraded a year later, and it got even faster and more reliable.

I’ve been reminded of this while reading some sporadic reports from friends about FaceID. Most people, myself included this time, have no trouble with FaceID at all. (I think my phone has failed to recognize me maybe three times out of hundreds of unlocks in the past week.) But for a few folks, it seems to be a little less reliable. Particularly for those wearing glasses or with facial hair. (Oddly, both things that would apply to me, yet I appear to be unaffected.)

Thanks to the benefits of machine learning, though, we can expect that FaceID will get better quickly for those who are currently having a bit of trouble. First, with a software update or two. Then with even better hardware.

Any way you slice it, it’s clear to me that Apple was right to go all-in on FaceID. I can’t wait to have it on my iPad, my MacBook Pro—everywhere. Putting my finger down on my MacBook Pro to authenticate seems so antiquated already.