I hate Shortcuts. I don’t ever want to use it. The interface is bad, nothing ever makes any sense, but it’s the only way to do certain things, especially if you want to have some kind of automation that works on iOS too. Yesterday, when I was writing my blog post, I wanted to include screenshots of the ugly PlexAmp interface. The screenshots for iOS are almost always vertical 9:16, so it’s awkward to stack many of those vertically. I usually use Shortcuts’ Combine Images to take a selection of images and combine them horizontally into one wide set of screenshots.
The problem is that Combine Images has no control over direction. It does this pretty sophisticated image operation, but it only does it newest (left) to oldest (right). That’s asinine because we’re in a culture where you read left to right so the oldest thing should be on the left. There should at least be a checkbox to reverse the order. There isn’t. It does it that way, and that way only.
If this was Python I’d just images[::-1] and call it a day. I can’t do regex to save my life, but index slicing is a piece of cake. Even if I didn’t know the index slicing off the top of my head there’s both list(reversed(images)) to reverse a list to a new list, and a images.reverse() method to modify your existing list in-place. Any of these things you can find by using Google, or Duck Duck Go, or whatever LLM you want. There is so much good, thorough documentation.
Shortcuts is too sophisticated and user-friendly to offer these solutions.
Unfortunately, I can’t use Python to do it if I want it to work on iOS, I must use Shortcuts. I should be able to build something to reverse the order with these off-brand Duplo blocks, right? Searching inside Shortcuts yields no results for “order”, “reorder”, “reverse”. NO RESULTS, JERRY!
I asked Gemini, and it said that there wasn’t anything either, but I could construct a for loop with a counter to iterate through the list I wanted to reverse. The Dark Ages. Duck Duck Go’s privacy-focused duck.ai offered access to GPT-4o and it simply made-up “Reverse action” in Shortcuts. That’s one way to solve a problem.
I asked on Mastodon, incredulous that there was no way to do this, and Nick Foster recommended the third-party Shortcuts tools from Toolbox Pro and Actions. I didn’t love having to do it with a third party library, but Sindre Sorhus’ Actions was free, so it was worth a shot.
Sure enough, Actions has Reverse List, and it reversed the list, but Combine Images would not accept it and said that it required image data. I thought that this might be a type issue, as data passes through in a variety of formats in Shortcuts, so maybe Reverse List altered it in a way that Combine Images didn’t like. Maybe this was now a list of files? More on this later.
I went to look for something to map paths back to images, which meant I was searching for “files” based operations. That’s when I came across Filter Files.
You’ll never fucking guess what Filter Files can do. Mostly because the description for Filter Files is poorly written.
Given a list of files, this action returns the files that match the given criteria.
Sort by
Optionally, what to sort the files by.
Limit
Whether or not to limit the number of files that are passed as output.
Get
The maximum number of files.
Result
The files that match the criteria.
It’s not reversing the order, it’s Sort by: Creation Date and then the hidden dropdown for Order: Oldest to Newest appears. How did something so simple —reversing the order of a list— get turned into a bunch of hard-coded, and very specific interface elements.
But wait, there’s more! Don’t forget about Filter Images. It has an identical description for what it does. I would argue that if you have two very similar but distinct items that’s precisely when you don’t want their descriptions to match. They are mostly the same, except Filter Images includes width, height, orientation, date taken, time taken, frame rate, and duration. That’s a lot of stuff in both of these filters that would be hard to code for yourself, so it’s not like the Shortcuts team is lazy. They just didn’t execute well on making sure you could know where these powerful functions are or how to use them, or making lesser functions (like a simple reverse).
For my purposes, either Filter can be used interchangeably, but neither showed up when I was trying to find a way to do this with Gemini, searching the internet, or asking online. In fact, when I posted about finding these a couple people thanked me because they never knew these existed.
This raises questions such as:
Why are there two of these?
Shouldn’t there just be a way to to reorder or sort any data based on the attributes of the incoming data, and not hardcoding different filter sets that mostly overlap?
Why don’t either of these turn up when you search for ‘order’, ‘reverse’, or ‘reorder’ when ‘Order’ is the named attribute in the secret menu that appears?
This might sound familiar if you read my rant about Search in Settings, but every part of Apple is inclined to write their own search from scratch, which means they all suck, and they all suck differently. Search is also the primary interface for building any automation in Shortcuts. If you don’t know exactly what you need you might not find it.
One of the other many annoying things about Shortcuts is that when you change a block upstream of another it can break the connections that Shortcuts automatically made for you. Even if the names of the variables still match, there is some invisible connection logic that Shortcuts does. This is unlike any other scripting language where you just need to make sure you didn’t make a typo with the variable and you’re all set.
It won’t break if I change the name of my_list to your_list as long as I do it in both places. Python doesn’t care. It’s just text. It’s not invisibly-connected text. Connection is visible as the matching characters and that’s it.
This is relevant because I noticed that even when I was passing perfectly good images from Filter that Combine didn’t want to work. There was no thin, gray line connecting Filter and Combine, but Combine had the variable pointing to the output of Filter. I even right-clicked on the variable in Combine, and did Select Variable to point it at Filter’s output but it wouldn’t connect. It showed as valid —valid is blue, if you wanted to know— but obviously the data wasn’t flowing.
You'd think the lack of a line makes it easy to debug the missing connection, but good luck figuring out what you can change when everything else is identical to the working version.
I deleted the Combine and put down a fresh one after Filter, and it connected correctly. It turns out that there’s a bug in Shortcuts (GASP! Shock! Horror!) where Combine Images will permanently lose it’s upstream connection if you put anything above it, no matter what variable you select. However this only happens on my MacBook Pro running 15.3, not my iPhone running iOS 18.3, which does connect Combine Images as expected with it’s phantasmal powers.
Remember when I said I’d get back to Sindre’s Reverse List? Well it fucking works great, as a matter of fact! It wasn’t working when I put it down only because it broke the invisible Shortcuts connection, just like what happened with the Filters. I only figured it out after I went through the other steps.
It’s good to know that there’s a solution that doesn’t require installing third party tools, but the simplicity of a function that does one thing, like reverse, and it’s the thing it’s called, is something the people working on Shortcuts could surely take a lesson from. Rather than Filter Files or Filter Images, which are packed with functionality but don’t explain themselves, and aren’t as universal.
Since my previous blogposts on this subject, where I found out that all the streaming services are either bad because of how they treat artists, or bad because how they treat the world, I tried some far less desirable options.
I have been very resistant to using Plex. I used Handbrake a million years ago to rip DVDs for my iPod Video, and iPod Touch. It was a fuss. Plex is a fuss. I don’t want to fuss! However, people kept mentioning it to both me, and to David Pierce, that I tried it for music. After all, music should be a simpler problem than movies, right?
Plex doesn’t read any data from my Music library, or XML files. It looks at the directories and makes up its own database. This means none of my likes, stars, play counts, playlists, etc. go to Plex. I searched and there used to be an iTunes plugin for Plex, but they deprecated it.
The desktop browser interface is bad. Comically awful. They don’t even make an Electron app so you don’t have to look at the localhost address bar stuff.
The really awful part is actually the part people were excited about: PlexAmp. It’s their iOS app that requires a $4.99 subscription. Even though I’m hosting everything, I pay them $5 a month. Surely that means the app is polished? No, of course not.
My eyes! The goggles do nothing!
It’s full of jewel-tone puke gradients. They filled the app with automated playlists that are generated based on moods from some database, and they don’t map to anything meaningful.
That this rose to the level of recommendation is mind-boggling. I can only assume that people have a deep investment in Plex for its other functions, so they are more willingly to go along with this.
I have no problem with Astiga in theory, and the developer is a really nice guy. The easiest way to use it is to connect it to your Dropbox, but … that means that Astiga has access to everything in my Dropbox, not just my music. I asked the developer (again, he’s very nice!) and there’s no way to limit the scope like you used to be able to do with app folders for Dropbox. That meant that the next easiest/cheapest thing to do was to use a S3 bucket (not from Amazon, but from another provider) that would cost $4.99, in addition to the $4.99 for Astiga. That’s a lot to self-host music.
Unfortunately, that didn’t work super well for some of the same reasons as Plex. It doesn’t import my library XML, just the files. The web player isn’t very good. For iOS, I used Amperfy, but it also wasn’t a particularly great player, and it all seemed laggy. Either from my storage, or the off-brand bucket.
That’s just too many things that aren’t working for me to continue with it, or to recommend this kind of approach. I know people are very into Navidrome, or Jellyfin with Manet, but this is decidedly not for me.
I’m back to what I was doing for most of my music listening lifetime and that’s using iTunes Music, but not using Apple Music, and also … doing it in the Finder? That also means I have to deal with large parts of the Music app interface that are just billboards to get me to subscribe to Apple Music.
Gotta make that Services revenue go up.
It’s extremely tacky, and it makes the app annoying. However, it has all my data inside of it, and it works with CarPlay. I just have to have all my music files on my device. Despite paying for iCloud, that’s for files, photos, and data, but not your music library, which is only a cloud product through Apple Music.
It really is a shame about the interface though. I’m not the kind of person that relents just because I’m sick of seeing an ad, it has to be for a reason.
The other thing that I tried out was Albums, which is not a great name for SEO, but it explains some things about the app’s design. David Pierce had linked to it, and John Voorhees had even reviewed it on MacStories in 2021. It’s really all focused on an album-centric listening experience. For example: The playback timeline is for the album, not just the song you’re listening to (fortunately, you can change that in settings).
Look at all those old music purchases.
It does have little things in the interface to encourage you to pay for a premium subscription ($18.99/year), but not anything like Apple Music does. It also seems to use MusicKit, so it interacts with my Music library without having some other method for syncing or playlists. It does have its own Collections interface if you decided you wanted to invest in that for organization, but good luck getting that data out. I’ll skip it for now.
Albums is much better than Music if you want to browse a non-Apple-Music library without being constantly pestered. It’s what I’m sticking with right now.
As I mentioned at the start of this whole thing I don’t really listen to new music constantly, I will eventually want to listen to new music. That’s one of the things about Apple Music where I could just hit play and there it was. I also still have two subscription services (YouTube, Amazon) that stream music if I’m trying to decide to buy it, they’re just not places I want to keep a music library. As for purchasing music, Amazon still sells unencumbered MP3 files, but I’ll probably try the Qobuz store.
The unexpected thing about this whole experience of having to do library maintenance, moving around files, downloading, uploading, etc. is that I have an experience that’s centered on my library again instead of trying to get me to check out what’s new. I’ve rediscovered a lot of purchases that I had not listened to in a long while, like American Prince’s Other People, Bodies of Water’s A Certain Feeling, or Interpol’s Our Love to Admire. It’s like I cleaned out a closet and found them, except the closet was digital albums I hadn’t scrolled through recently.
Anyway, I saved $10.99 a month, or $131.88 a year which isn’t going to Apple, which is the grand total of my meager protest. I’m still paying them for iCloud+, and AppleCare. They still skim off all the app subscriptions I have (although I have moved everything I could to direct payments). I would still buy Apple products if I had to buy new hardware. There’s no chance that this amounts to anything at all, but didn’t we learn some fun stuff?
David Pierce apparently ran a parallel music app project while I was doing my own. He has a much wider pool to draw from at The Verge so he has services I’ve never heard of, like Astiga, which can stream your music from any cloud storage source, but they do charge a monthly subscription for that.
David got the same feedback I did, that people love Plex for music with the Plexamp app.
Plexamp and Roon both came up a _lot _as a way to manage and access your music collection from anywhere. (Supersonic also has some fans.) Plexamp in particular was probably the most-recommended piece of software in my inbox this week.
I don’t run a media server, so it doesn’t work for me without buying additional hardware, and managing that hardware as another project in addition to managing the music library itself. I could do that, but I could do a lot of things. Something like Astiga sounds more appealing on the surface, but the screenshots of compatible apps don’t look great, so I’m not sure it will service my needs.
David didn’t mention Deezer, which was one of the apps/services I tested, and liked the most of the three. That’s fine though, because I updated that post to mention that I’m not using Deezer after I found out more about who owns the company that has a controlling interest in it.
My Apple Music subscription is still going to lapse 2/26. I will use David’s list to test some other alternatives.
I was right that Apple Music isn’t special, and I do fee like they take users for granted — as there are a plethora of options. However, the ownership of nearly every one of these is shot through with people that support major anti-democratic politicians, or strong anti-artist policies.
I wrote about my dissatisfaction with Apple, and Tim Cook, a few weeks ago and said that I would be looking for ways to reduce what I’m spending with Apple. There is no great alternative for all of Apple’s products and services, because many alternatives are run by companies that align themselves with the same authoritarian interests as Apple. If I’m going to change something then there should be a reason why. It can be as simple as evaluating my recurring subscriptions through Apple and seeing which you can pay directly with the developer or service. There are some services where there are choices, and Apple Music is certainly one of those.
A major reason I used Apple Music is because it used to be the only streaming service that could work with Siri. I’m dependent on using Siri while I’m driving. That exclusivity hasn’t been the case for some time, but Apple dragged its feet on that just long enough to ensnare some of us. Music’s not even a very good app, or service. It’s from the Eddy Cue side of Apple which makes things that never seem fully baked. It worked for a demo; ship it.
I canceled my $10.99 Apple Music subscription, and it will expire at the next renewal period in six days. That gives me a window to evaluate alternatives. If nothing works well enough then I can flip the switch back on, but it puts a certain amount of pressure on me to get off my ass (or really, get on my ass? I have to sit at the computer for a lot of this.)
Many things have changed with music apps and services since the last time I seriously looked around. I gave Apple Music a go and bailed on it once before in 2015 when it chewed up my iTunes Music Library. I was on Amazon Music Unlimited once before, but they’re also a mess, and a big no-no at the moment so I shan’t be returning.
I get YouTube Music as part of my YouTube Premium subscription (I can’t watch ads on YouTube or I’ll die) but the YouTube Music experience is a mess. It’s not a fully developed product, just something where they noticed they had music and users and smushed the two together. YouTube will soon have a new plan that omits music for a reduced monthly rate that I plan on switching to. It’s called YouTube Premium Lite, which sounds like a terrible beer.
Spotify is the leader in music streaming, but I dislike the company’s treatment of artists, and how it funds people like Joe Rogan. Tidal is majority owned by Block, Jack Dorsey’s company, and there’s very little to distinguish it, and nothing to distinguish Jack Dorsey.
This leaves Deezer (which I had heard of, but don’t know a soul using it) and Qobuz (which I thought was some kind of prank name). I signed up for the free one-month trials of each service. More on that below.
I also wanted to know if I really needed a streaming service at all. When I asked on Mastodon for what alternatives people are using several mentioned Doppler as a music player for their purchased music (from Bandcamp, Qobuz’s store, or other online stores). I decided to give that a go too. It has a free one-week trial but costs $30 to buy the app.
For all three of these experiments I needed to get my data out of Apple Music. There ended up being several routes for that.
Qobuz has a strong focus on audiophiles and music collectors that are interested in a magazine-like approach to discovery. Major Pono vibes.
Hmm.
It’s worth mentioning that the service is is $12.99 a month when purchased directly, and $16.99 a month when you subscribe through Apple. Just another reminder that Apple is anticompetitive in this space. The direct subscription less if you pay directly for a year upfront, but that discount would only come into effect if I liked it after using it for a long while since the year is $129.99.
For importing music they partner with Soundiiz —one of the many music playlist transmutation services that exist— and you can import music from any supported source to Qobuz and only Qobuz without paying Soundiiz for one of their plans. The import was a little glitchy where I wasn’t sure if it had actually finished or not. Because I had started it on my iPhone I wasn’t sure if the long pauses were from the phone going to its locked state periodically, or the servers processing the data. It took a while to collect it.
They can only match music from one service to music on another service, so if the music is absent, or simply not an exact match, from that streaming service it isn’t transferred. They do provide CSV files for what it did, but it’s not very friendly at summarizing exactly what didn’t import from the songs in the browser.
The resulting library in Qobuz is mostly indistinguishable from my Apple Music Library at first glance. That’s the fun part about subtle data loss. However, I know full-well that there are many things in my library that aren’t things I listen to, or have alternate versions, so having a one-to-one copy on Qobuz is less important than it might seem.
I’m disappointed that Qobuz doesn’t offer anything for handling this import on the desktop themselves and you have to use this service they partnered with, but at least it isn’t an additional fee, and it’s not something you do often.
The Qobuz desktop app is a chromium blob thing. Fine, whatever, but on initial launch it has a modal dialog telling the user that they need to go to settings and grant the Qobuz app accessibility permissions so media playback keys will work for the app. That’s a big “no” from me. As near as I can tell, the keys work for the app while it is open, so this is more about those times you hit media playback keys when the app is not open and it would otherwise launch Music. I guess? Anyway, I’m never turning that on.
Surprisingly, Siri can’t find or playback anything from Qobuz. That’s pretty important while I’m driving the car. Articles talk about how there’s CarPlay support, and all the Siri toggles are turned to on in the preferences, but they don’t have support?
That’s an immediate dealbreaker for a music streaming service. I’m not going to pursue evaluating their music store right now, but I’d have to put those tracks in another app that has Siri compatibility to get anything out of it.
I know, the name, but we must look past that. I would say that Deezer is more like Spotify in appearance. They want to be cool and fun. Frustratingly, they make you pick 15 artists that you like before you can do anything at all. That’s not cool and fun. Once I was through that roadblock it was obvious that the reason why they do that is so their “Flow” dynamic playlist system can work. Flow picks based on mood or genre, and uses your favorites for weighting the selections.
Seems fun? Not too stuffy and not pushy about things I don't like. See, it even has Mr. 305.
Deezer has an ad-supported plan with some limitations, like Spotify, but I hate ads interspersed with my music. The premium tier has more options, and comes in at $11.99 when purchased directly, or $14.99 for Apple to wet its beak. Deezer has a yearly plan for $107.99, which is a decent discount (about $9 a month) if I decide I like it.
As for importing, it’s just like Qobuz where the apps can’t import anything, but they partner with a playlist transmuting service to do that. In this case it’s TuneMyMusic. Curiously, when I tried to import from Apple Music using desktop Safari it didn’t work… It let me authorize the access, but the button to proceed after that was endlessly stuck on “Processing”. The iOS version got past that step but it wanted me to sign up for a paid TuneMyMusic plan. That’s wrong. I tried in desktop Safari again, and then I noticed there was the option to upload iTunes XML. That’s a horse of a different color! I exported a fresh XML from iTunes Apple Music, and dragged it in. Like Soundiiz, there were songs it didn’t match, but it would let you filter to show only the ones that didn’t match. It also had a single CSV export option.
Deezer does have Siri integration and works just fine with CarPlay. I do have to say, “Play Mona Lisa Overdrive by Juno Reactor on Deezer” which is quite a mouthful, but it works. You can’t argue with results.
The iOS app is quite good, and clearly where Deezer spent the majority of their time and effort. The interface is thoughtful, fun, but still very functional. I have no serious ding other than the aforementioned weirdness with the import I initiated on iOS not working.
They provide a desktop app, like Qobuz, but it’s also a steaming pile of Chromium. I’m not someone who’s an elitist about using native Mac apps, but there’s just simply nothing that the desktop app does that the browser version can’t do. Well, except for one thing: It adds itself to the login items. Yes, that’s right, every time you open the Deezer app it’ll re-add itself to the login items. You always want to have the Deezer Chromium app running at all times, don’t you?
Fortunately, because this is just a web app, I can very easily use “Add to Dock” in Safari to create an identical Deezer “app” but one that won’t insist on launching at startup. The app icon is the Deezer purple heart on a white background but its easy enough to pull the purple heart on black background from the Deezer app bundle.
Unfortunately it doesn’t have the unified playback experience of Spotify, but Apple Music didn’t have that either. Each instance of Deezer that you’re running will remember the last thing you were doing in it before it was closed, not the last thing you played on any Deezer client. There is a Deezer Connect option but it’s kind of quirky in my limited experience testing it. When I connected from my iPhone to my Mac and hit play, it played the last track I had played in the Mac client, but showed album info for something completely different in the iOS app. When I picked something new on the desktop app, while connected, then they were both in sync. Disconnecting let the iOS resume playing, but now they’re not in sync. This makes it into a strange kind of remote control. I’ll need to play with that more. Ultimately, my life will go unchanged.
Disappointingly, Deezer does default to some extremely hostile marketing defaults for your notifications.
Deezer Nutifications.
To its credit: all the bullshit is in one spot, as opposed to Apple sprinkling different notification settings throughout the apps and Settings panes like the world’s worst Easter egg hunt.
I’ll level with you right from the start: I absolutely do not see myself using Doppler. There’s a moment of excitement where you think about how you have total control over your library and have no recurring fees, but then it sets in that you have to manage cover artwork, metadata, and most importantly: transfer files.
Like traveling back in time. I mean that both as a positive and a negative.
I did give it a try though. After all, it’s free for seven days. I downloaded the Mac app. On launch it wanted to import my data from Apple Music. That’s great!
It only imported what was downloaded to my computer, which was hardly any of my music. That left me with a handful of tracks and only three incomplete playlists that the tracks happened to be in. I wasn’t going to listen to James Horner’s “Surprise Attack” on a loop for the rest of my life so there had to be something else I could do, right?
Well, I can force Apple Music to download all my purchased music. I didn’t want to bother downloading the tracks I don’t own, because those will stop working next week. I made a smart playlist of all my “Purchased” tracks and I hit download. Apple Music spat out a bunch of errors. Most of the tracks it was having trouble with were ones I had purchased from Amazon’s MP3 store. Amazon had a DRM-free store (technically they still do) and so I had made many purchases through them over many years. I don’t know why Apple Music won’t let me get my “matched” files back. I know it’s not a backup solution, but I wouldn’t have expected it to be a one way trip, especially since I want to keep my playback metadata that Apple Music does have.
From your Amazon Orders page you can search for “MP3” and it will bring up every order you have. If you try and click on the album it will redirect you to Amazon Music’s streaming service with its tier for Prime subscribers, and the tier for Amazon Music Unlimited. That will show you your purchased music but not everything had a download button, and didn’t have one for the whole album. It wasn’t helpful.
However, if you click on “View order details” instead of the album, then you’ll get a button to download a zip file containing all the MP3s in that order. If you bought two albums in the same order, they will be in the same zip.
I know that Sam Davis’ TypeScript project to bulk download Kindle files has making the rounds lately, in no small part thanks to Jason Snell, but I was not going to be able to modify it to bulk-download the MP3 files.
I manually downloaded each zip file, expanded them, and consolidated any artists (they have an artist hierarchy before album). Once that was done I needed to get Apple Music to point to those files instead of the “Cloud” location. I couldn’t figure that part out so I dragged the new files in and had duplicates. Yay!
There is a menu option to show duplicates in your library, but that doesn’t offer anything for merging duplicates. Instead, I went to “File” > “Library” > “Update Cloud Library” and waited for it to complete. Then closed and reopened the app. Remember all the work Apple had to do to get the Cloud Library to stop fucking up peoples’ libraries? Well, a side effect of that work is apparently that it correctly consolidated the file location with the playback information from the cloud. Perfecto.
I did a fresh XML export at this stage too.
That left me with a weird problem: There was no way to trigger that Apple Music import that I got the first time I opened the app. I could manually import the tracks, but that’s just files, not playlists. I couldn’t import the XML, it was grayed out.
Deleting the Doppler library from ~/Music didn’t do anything. However, I found in the support documents that there was a location for where you could back up your library database and that was in ~/Library/Application \Support/Doppler. Simply delete Library.dopplerdb then relaunch Doppler and it’ll give you that onboarding screen. I pointed it at Apple Music again and this time it got all my purchased music files from both Apple and Amazon.
Unfortunately, this is when I realized I couldn’t go back to files. Doppler on the Mac uses a completely separate app called Doppler Transfer to send files to the iOS version of the Doppler app.
Doppler doesn’t have any kind of cloud syncing, and it can’t use iCloud for seamless storage. This was like handing me a butter churn and a tricorn hat. This is why we all got away from files. There isn’t even a sync, where I can make some set list of what to transfer and what not to like you used to do in iTunes.
I did all this work, so at least I have this at the ready, if the world ends, but I still have electricity, I can listen to the album “Ta Dah” by the Scissor Sisters.
Another benefit of the XML export still existing in the Music app is that it retains so much data that can be transformed into ways to put your mind at ease about transitioning to other platforms. The XML itself is not particularly helpful to look at, but I know that it can be transformed into something else I can sort more easily.
I asked Gemini for a python script to turn the XML file into a CSV.
import xml.etree.ElementTree as ET
import csv
def xml_to_csv(xml_file, csv_file):
"""Converts iTunes XML to CSV."""
try:
tree = ET.parse(xml_file)
root = tree.getroot()
tracks = []
for track in root.findall('.//dict/dict'):
track_data = {}
for item in track:
if item.tag == 'key':
key = item.text
elif item.tag == 'string' or item.tag == 'integer' or item.tag == 'date' or item.tag == 'true' or item.tag == 'data':
track_data[key] = item.text if item.tag != 'true' else True # Store True as boolean, data as string
if track_data: # Ensure there's data for this track
tracks.append(track_data)
# Get all possible keys (columns) for the CSV. This handles cases where
# not every track has the same fields.
all_keys = set()
for track in tracks:
all_keys.update(track.keys())
keys_list = sorted(list(all_keys)) # Sort keys for consistent column order
with open(csv_file, 'w', encoding='utf-8', newline='') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=keys_list)
writer.writeheader()
writer.writerows(tracks)
print(f"CSV file '{csv_file}' generated successfully.")
except FileNotFoundError:
print(f"Error: XML file '{xml_file}' not found.")
except ET.ParseError:
print(f"Error: Could not parse XML file '{xml_file}'.")
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == "__main__":
xml_file = "YouriTunesLibrary.xml" # Replace with your XML file
csv_file = "itunes_tracks.csv" # Output CSV file name
xml_to_csv(xml_file, csv_file)
I modified that to handle the files better and put it inside of a Shortcut that works as a quick action. There’s unnecessary stuff in the python, but I didn’t want to waste time dicking around with it. I can open the CSV in Numbers and create a pivot table of any of the attributes in the data that I want to sort or filter by.
Like lets say that I want to know what songs I had in my Apple Music library that I did not purchase. These would be pure streaming adds. Purchased is either “TRUE” or no value. In the pivot table, I just collapse “TRUE” and I have everything else. There’s more I can do to sort and filter. Like if I want to see ones that I played often, or recently.
I have no plans to make purchase decisions based on this right now, especially since I’m using Deezer for the time being, but it feels a little comforting to have something I can look through more easily than the XML file. Even if you don’t have any plans of leaving Apple Music you can export and look through the XML. Kieran Healy and Doctor Drang could make some graphs or something.
I absolutely won’t rule out returning to Apple Music —after all, I did it once before! Right now though, it makes me feel a little more in-control of expressing my dissatisfaction with a company. I don’t owe Apple fealty. They have to convince me to give them money, particularly if its for something as generic and uncompetitive as Apple Music.
No one at Apple will care about me unsubscribing, or even notice in the aggregate of users joining and canceling every month. This isn’t an “every vote counts” situation.
Surely, once I publish this, I’ll find out Deezer has contracts with Elon Musk, or murders babies, or something.
UPDATE:I was right. While I knew that 41% of Deezer was owned by Access Industries Investment Fund I didn’t go to the next level of research, as Patrick Toomey pointed out, the owner of Access is Len Blavatnik. See, I knew something bad would surface! I will not be pursuing Deezer further. Blavatnik also mostly owns Warner Music Group, and finances films for A24. Fun!
There’s never going to be a pure, saintly, capitalistic streaming service. I don’t want to pirate anything. I don’t really want to manage files. All I can do is make a choice that works best, not perfectly, for my circumstances and goals.
If anyone else feels similarly, you’re free to use this to help guide you in any way that it benefits you. If not, I hope my woke-flailing is at least entertaining.
Netflix deeply regrets accidentally making Netflix a better product for its customers. It temporarily pushed out a change that let people see Netflix shows in the Apple TV app, a change people have been asking for since the debut of the Apple TV app in 2016 with its Up Next queue and content aggregation features. Fortunately, Netflix swiftly corrected the error before too many of its users could experience anything approaching joy, or satisfaction with Netflix. Customers should definitely drop the issue and not press Netflix to turn the feature that certainly exists back on.
They may very well turn it on later, like, let’s say if Apple is actually shipped a tvOS update that completely displaces the old home screen, and reduces visibility of their app at all. However such a move is just as likely to hurt the commercial appeal of the Apple TV for customers that find Netflix’s mediocrity essential. This “error” may never see the light of day again, or it could be flipped back on any minute now.
I was recently in New York City and that meant I was juggling Google Maps and Apple Maps to get around. They’re largely comparable products these days, but there are some strengths and weaknesses that make it worth my time to juggle them. I created a Shortcut to help with that.
Google Maps is where my boyfriend and I go to check location information, and to collaboratively edit the Google Maps List of places we plan on visiting. I have talked about this extensively inmytravelposts. Apple has walking direction previews for the Apple Watch so you can keep your phone in your pocket while you walk around the gray slush of New York City in the winter.
There I was, entering the long name of a place in Apple Maps that I had just entered in Google Maps, with my capacitive-friendly gloves that don’t work well for small tap targets, and it occurred to me that there had to be some way to automate this. That meant my old nemesis, Shortcuts.
Google Maps doesn’t immediately expose a traditional Share Sheet when you share a location. In the upper right corner of the location information is the sharrow which brings up a modal preview card for the location, and three buttons to share this place, copy link, or share as a collaborative list. Sharing this place finally brings up the Share Sheet.
What the app shares is a shortened URL, like this one:
https://maps.app.goo.gl/8YUvDPbQPrasqC528?g_st=ic
Fortunately, Shortcuts has a URL expander. The expansion of that example URL gives us this:
What an ugly, but extremely useful URL. The name of the location is in the URL with + in the place of whitespace. Unfortunately, this meant I needed to use regex, and even worse still, use regex in Shortcuts, which for some reason requires two steps: Match Text (for the regex), and Get Group From Matched Text (because Match Text returns a list, even if it’s only one item).
The one thing LLM’s are good for is writing regex. I asked one to write me some of The Devil’s Language, and I got (?<=q=)([^&]+). I do a simple replace on + to and I have a totally normal location string.
Aux Merveilleux de Fred, 37 8th Ave, New York, NY
This is fed to the the Open in Maps Shortcut block. I have it set to walking directions because that it is my use case, and I wanted to reduce prompts, but it could just as easily ask the user. All I have to do is tap those share buttons, the shortcut, hit “Go” when Apple Maps appears, and then I’m off to the races. No typing things over again.
The shortcut works great, although there’s no easy way to only surface the Shortcut only when the Google Maps Share Sheet is up. Because it’s a URL, any other sharing function that uses a URL will display this. I did build an if statement to make sure the input is the expected URL format, but that’s not the same thing as only showing the button when it’s applicable to do so.
It was a little disappointing that I built this on the very last day I was in New York, but I’ll have it ready for the next time I travel, and you can too.
Jason Snell released his annual Apple Report Card! It’s a bunch of people that talk about Apple for a living, and some other people that are too online, like myself. The full text of the survey responses is available in a separate post, here.
I tried not to be too wordy, but if you’re following this blog I assume it’s because you’d like me to elaborate on my comments, so I shall. The two things I would like to talk more about are the Apple TV, and Apple’s impact on the world, because I feel like I have a little more to say about both.
The full text of what I submitted about the platform:
Apple really isn’t making any progress on tvOS. I use my Apple TV every day, and it is the only set-top box I would recommend to people, but that doesn’t mean Apple perfected the form. Things are more or less in the same state they were in at the end of 2023 when the Home app was updated with that sidebar that mostly can’t be customized. We still don’t have a unified Home and TV app experience. We don’t have anything for live entertainment short of sports notifications. We don’t have any kind of firm policy on pause screen ads (see the YouTube screensaver controversy from 2024). Apple hasn’t enticed anyone new to add support for the jog wheel they introduced on the remote in 2021.
Sometimes people mention me in regards to my critiques of the Apple TV, and tvOS, but I honestly don’t talk about the platform much these days because there’s nothing worth discussing. My last major post about any of it was prior to WWDC 2024 where I talked about all the things that I didn’t think would be announced. It was quite an extensive list of tvOS shortcomings. I don’t see any reason to repost that every time a point update comes out for tvOS merely to say none of it has been accomplished.
It’s the only smart TV I use, or currently recommend, and the only one I would buy if I had a sudden need for coverage in another room with a new TV. I wouldn’t even consider the built-in software from any TV manufacturer. Most of the world is perfectly content to use those built-in options though instead of paying Apple.
Jason Snell announced on Upgrade that he’s doing a deep dive on all the other streaming platforms right now and I look forward to hearing more about his thoughts. I gave up using the Fire TV because they’ve made the home screen experience worse with every software update, but it does have things like a universal live TV guide that Apple doesn’t. Apple skipping live TV continues to be a huge mistake.
This part of the survey is incredibly broad and encompasses many disparate parts of how Apple runs its company. Maybe it really should be four questions about our perception of: company culture (union-busting, return to office, etc.), green initiatives (carbon neutral Apple Watch), geopolitical issues (DMA, China, Trump), and accessibility. I feel like I, and many of the respondents, have conflicting feelings that kind of all cancel each other out when these things are mixed together like various acids and bases. It leaves us with foamy mess.
I’m of two minds when it comes to Apple’s green initiatives. I think they’re great, but they do design systems where the whole thing has to be recycled instead of upgraded or easily repaired. I believe political and policy stances are really where Apple fell short in 2024. Notably with the European Commission and the trials involving the justice department. Like when we all found out how many billion dollars Google pays Apple to be the default search engine. At present, I can’t say I’m optimistic about the direction things are heading in terms of other political and policy decisions.
That’s an uncharacteristically wishy-washy answer from me. In fairness to me, I was treating it like a review of 2024, not everything that bled into January 2025. To quote another response from Philip Michaels:
Given the current state of affairs in our new kleptocracy, I imagine this score will be very different in a year.
Certainly, if I was responding to “Apple’s impact on the world” for January 2025 alone then I would have written a shorter version of my Tim Cook failing us blog post. The survey was completed before that.
Allow me to digress for a moment to address some feedback that I have received along the lines of, “What do you expect? He’s a CEO.” I expect exactly what I wrote: that Tim Cook meets the ideals he expresses.
When people shrug off things like the inauguration it lets the good stuff people say about Apple’s global impact (carbon neutral products, accessibility, etc.) stick to them, but the bad stuff (being associated with the administration erasing of trans people from existence, persecution of immigrants, using the social platform of an unelected private citizen ransacking the government to post about being in a Severance promo, etc.) roll right off.
If there’s nothing that can be said about Apple’s impact on the world to persuade anyone at Apple to pursue a different course then why do we talk about their developer relations, or image playgrounds, or anything else related to Apple? Of course we want them to change what they are doing. When people complain about Tim Cook transacting with Trump, it’s not because they’re naive.
Last week, I asked the hosts of The Rebound podcast a few loaded questions about Tim Cook, and I thought there was a good conversation that ensued from it. Lex Friedman, Dan Moren, and John Moltz all had thoughtful things to say. (No, I didn’t just ask so they’d mention my blog post.)
I hope we can all think more about Apple’s impact on the world, whether or not we participate in this survey specifically. Much like Phil, I imagine the score will be very different next year, it’s already different for January.
I know this is a rather dramatic headline and that some people might incorrectly assume that I’m mad about some particular piece of hardware or software, but it should come as no surprise that I’m hopping mad at Tim Cook for how he’s ingratiating himself to President Trump again. The President has done, and will continue to do, harm to marginalized communities. Harm was a promise of his campaign and underscored by this President’s earlier efforts the last time he was in office. The last time he was in office ended with his supporters storming the Capital Building because he was so desperate to steal the election. There isn’t a “wait and see” or a “maybe he won’t” to excuse investment in this morally-bankrupt, tin-pot dictator.
I don’t have any way of knowing what Tim Cook’s thought process was when he agreed to give a million dollars to the inauguration fund, or to know with any certainty why he agreed to travel to Washington to sit shoulder to shoulder with the other CEOs all vying for preferential treatment from the President.
In absence of knowledge there is supposition. Maybe he’s doing it to persuade certain favorable conditions on tariffs with China? Maybe he wants to the DOJ antitrust litigation to fizzle out, or be undermined? Maybe he wants retaliatory threats against the EU for DMA troubles?
In 2019 we were all treated to the infamous “Tim Apple” sideshow as well as the Mac Pro assembly plant in Texas. Tim Cook debased himself for this publicity stunt about American manufacturing in an attempt to dodge tariffs. Don’t forget that that was while impeachment proceedings were moving forward against the sitting President.
Tim is not subtle about these transactions with Trump. They are transactions where he gives Trump something and he gets something in return. Various pundits might analyze who really got the most out of each of these transactions but Tim certainly isn’t getting something for nothing.
Another charitable reading of Tim Cook’s actions, that I heard put forward by John Siracusa on ATP the other week, is that Tim is minimizing damage that Trump can do. I don’t personally believe that to be the case, since we can easily look back to Tim’s previous transactions with the Trump administration and see they’re primarily about tax avoidance and tariff dodging for Apple specifically. There is no evidence that any damage has been minimized or will be minimized in the future.
One could compartmentalize it and say that Tim has a fiduciary duty to his employees and his shareholders to transact with the President. However, I would counter that Tim has a duty to his employees and shareholders when it comes to protecting their rights and personhood here in America. Something that Trump has sworn to threaten, and has already moved forward with in his executive orders which his cabinet is enacting. Also, don’t forget that between the last time Tim cozied up to Trump and this most recent occasion, there was that whole insurrection. That has to be in the calculus somewhere.
They’re all doing it! I know that, you know that, so why do I care so much about Tim specifically? Tim is a gay man who came out in 2014. It was huge news at the time and even deeply moved me. From Tim in 2014:
Throughout my professional life, I’ve tried to maintain a basic level of privacy. I come from humble roots, and I don’t seek to draw attention to myself. Apple is already one of the most closely watched companies in the world, and I like keeping the focus on our products and the incredible things our customers achieve with them.
At the same time, I believe deeply in the words of Dr. Martin Luther King, who said: “Life’s most persistent and urgent question is, ‘What are you doing for others?’ ” I often challenge myself with that question, and I’ve come to realize that my desire for personal privacy has been holding me back from doing something more important. That’s what has led me to today.
Gay men, particularly cisgender white gay men, like Tim and I, have an amazing ability to abandon support for everyone else in the LGBTQIA+ community. Tim purports to celebrate and support the entire community.
Being gay has given me a deeper understanding of what it means to be in the minority and provided a window into the challenges that people in other minority groups deal with every day. It’s made me more empathetic, which has led to a richer life. It’s been tough and uncomfortable at times, but it has given me the confidence to be myself, to follow my own path, and to rise above adversity and bigotry. It’s also given me the skin of a rhinoceros, which comes in handy when you’re the CEO of Apple.
How should people reconcile Tim’s explicit support of Trump with his support of trans and enby people working at Apple, buying products from Apple, and attending pride parades with Apple?
For those unfamiliar with the specific language of Trump’s executive order on Defending Women From Gender Ideology Extremism and Restoring Biological Truth to the Federal Government it is a really thorough dismantling of federal support for trans and enby people through the fun-house mirror of women’s rights. It is a reprehensible piece of work that will be fought in courts that have a lot of Trump appointees in them, especially at the highest level thanks to Mitch McConnell and Trump’s first term appointments.
Back to Tim in 2014:
The world has changed so much since I was a kid. America is moving toward marriage equality, and the public figures who have bravely come out have helped change perceptions and made our culture more tolerant. Still, there are laws on the books in a majority of states that allow employers to fire people based solely on their sexual orientation. There are many places where landlords can evict tenants for being gay, or where we can be barred from visiting sick partners and sharing in their legacies. Countless people, particularly kids, face fear and abuse every day because of their sexual orientation.
I don’t consider myself an activist, but I realize how much I’ve benefited from the sacrifice of others. So if hearing that the CEO of Apple is gay can help someone struggling to come to terms with who he or she is, or bring comfort to anyone who feels alone, or inspire people to insist on their equality, then it’s worth the trade-off with my own privacy.
Don’t worry though! The San Francisco Pride Parade will be June 28th-29th this year so go to that and watch Tim smile and wave! Don’t forget to buy this year’s hottest new Pride band showing Apple’s support for the community!
Through this Pride Collection, Apple is proud to continue its support of LGBTQ+ advocacy organizations whose efforts are bringing about positive change, including ILGA World, a global federation committed to advancing the rights of LGBTQ+ people worldwide; and the Human Rights Campaign, a global advocacy group working to ensure all LGBTQ+ people are treated as full and equal citizens. Additional advocacy organizations Apple supports include Encircle, Equality North Carolina, Equality Texas, GLSEN, Equality Federation, the National Center for Transgender Equality, PFLAG, SMYAL, and The Trevor Project.
You are better off giving to any or all of those organizations directly in 2025 —you were always better off giving directly, but people also wanted a fun watch band. I don’t see how a new Pride Collection will provide the necessary fascist-neutral offset for Tim Cook.
Sam Altman and Peter Thiel are gay so why don’t I give them a hard time? Because no one expects Sam Altman or Peter Thiel to be good people with any kind of conscience. They don’t pretend to be at all. They are cisgendered homosexual men that insulated from any anti-LGBTQIA+ bullshit by their wealth. Being gay is not something they use to understand others in the world, but a taunt they assert because they have so much money that there’s nothing anyone can do to them.
Tim is also insulated by wealth. The thing about Tim is that he clothes himself in caring about these issues. Merch isn’t caring.
Likewise, we turn to the Republican war on DEI, where they are aggrieved about not being able to get their unqualified white kids into schools as legacy admissions, and handing them jobs, but they frame this as “merit based”. Zuckerberg readily, and quickly complied with dismantling Facebook’s DEI efforts to win favor with Trump.
Again, there’s Tim, figuratively clothing himself in the quotes of Dr. Martin Luther King Jr. Monday. Clothing Apple’s home page in it. Then showing up to Trump’s inauguration like the words of MLK can do the work that he will not.
One of the detainees was a U.S. military veteran “who suffered the indignity of having the legitimacy of his military documentation questioned,” Baraka said in a statement. “Newark will not stand by idly while people are being unlawfully terrorized.”
In response, ICE said, “U.S. Immigration and Customs Enforcement may encounter U.S. citizens while conducting field work and may request identification to establish an individual’s identity.” The agency added that this was the case during the Newark raid.
So yes, I do hold Tim to a higher standard than these other robber barons, but that’s because Tim claims he holds himself to those high standards. I am measuring him against the ruler that he has provided and he comes up short.
I’ve seen people call for Tim Cook to resign. I stop short of that at the moment. While I am pissed off, I am also pragmatic. What would be the result of his resignation? Would someone better equipped to protect Apple’s interests while also protecting Apple’s customers and employees? I’m not so sure there is.
No, what I would like to see is Tim standing up for what he purports to believe in. Not speaking about things that have inspired him, or donating to charities as some kind of fascist-neutral offset, but devising a way to argue for the protection of human dignity for his customers and employees from this federal government. If he can transact a tax holiday, or tariff carve-outs, he can figure out what to wheel and deal to protect people. Many of whom are his employees and customers.
If that is too hard, or he’s worried the board would oust him, then I wonder what the point of his wealth and power is if he will only use it for more wealth and power? It is not easy to stand up for people on a national stage, but it is orders of magnitude easier for him than it is for people down here where we are.
I know that things are tricky internationally. Apple operates in places that have had policies in place for a long time that aren’t like what we have (had) in America, but I would say the distinction is that people had access to things that are being taken away from them now. America is also where Apple is headquartered. Pointing at other, more restrictive countries is not an excuse to stand with Trump.
Tim concluded his 2014 Bloomberg Businessweek column with:
When I arrive in my office each morning, I’m greeted by framed photos of Dr. King and Robert F. Kennedy. I don’t pretend that writing this puts me in their league. All it does is allow me to look at those pictures and know that I’m doing my part, however small, to help others. We pave the sunlit path toward justice together, brick by brick. This is my brick.
You can afford more bricks, Tim.
There is, unfortunately, no effective way for us to persuade Tim with anything other than our words of criticism. Because none of these tech CEOs are any better. We can’t take our stuff and go somewhere that’s speaking out to protect us. We can reduce spending, sign up for fewer Apple services, but that’s not going to move the needle. Again, as futile as it sounds, we should rely on accurate, incisive criticism.
I don’t mean name calling, or throwing pies (although pies would be kinda funny), but serious critiques of Tim’s statements and actions, as I did above when pointing out his hypocrisy.
When Tim posts on X Apple bloggers should write about how Tim continues to use Elon Musk’s propaganda machine instead of publishing through other means. Every time he does it. They should not uncritically produce a blog post for their content mills that’s just an exercise in padding out the X post into something they can run some ads against. If you’re writing anyway you can spend that time productively instead of being a passive funnel.
When Tim is in a promo video for Severance - a show about people severing themselves to compartmentalize their work and personal lives — we should be able to say something about how Cook has compartmentalized his belief in equality with his belief in Trump. We can especially do that when all of those things happened in the same week.
For some reason Apple fans are much more comfortable discussing the minutiae of Apple Products than they are discussing Tim’s and Apple’s political maneuvers. I know they are not politically savvy pundits (I include myself in that), and they may not like politics but they’re not AI experts, and that doesn’t stop them from spilling ink about AI.
It is incumbent upon me, and you, and all the other Apple podcastoblogosphere nerds who have read this far to not just take Apple’s press releases and media events as things to cover that exist in a vacuum outside politics, and in isolation of the dignity of the people using the products and services. Particularly when Tim Cook starts to get what he wants from his transactions with Trump. We should ask if it was worth it and remember what Tim has condoned to get it.
The very least that Tim can do is endure valid criticism. He is undeserving of adulation or being placed on a pedestal as a role model to gay men. That is part of the price he is paying here. We will not give him his flowers.
That might seem meager but unlike Sam Altman, Mark Zuckerberg, Peter Thiel, Jeff Bezos, and especially Elon Musk, I believe it is possible Tim Cook does care about how both he, and Apple are perceived. Definitely not as much as he cares about Apple’s finances and ability to exert control, but it’s in there somewhere. That is part of the marketing, after all. If there is no truth in that, and he doesn’t care, then that would be worth knowing as well.
Will anything rise to the level that Tim uses his wealth and power to protect us from the inevitable further erosion of our rights? I don’t know. The one area where it is possible is privacy. Possible, but not guaranteed.
Where’s the line for Tim? I’m not sure Tim knows. We should help point it out to him, because he’s standing on the other side of it.
When you enable notification summaries, iOS 18.3 will make it clearer that the feature – like all Apple Intelligence features – is a beta.
You can now disable notification summaries for an app directly from the Lock Screen or Notification Center by swiping, tapping “Options,” then choosing the “Turn Off Summaries” option.
On the Lock Screen, notification summaries now use italicized text to better distinguish them from normal notifications.
In the Settings app, Apple now warns users that notification summaries “may contain errors.”
Additionally, notification summaries have been temporarily disabled entirely for the News & Entertainment category of apps. Notification summaries will be re-enabled for this category with a future software update as Apple continues to refine the experience.
In my opinion this doesn’t go far enough in addressing the problems that will persist with this headline feature of iOS. Let me run through the bullet points again.
Making it clear that it is a beta is not a solution, but a deflection of blame. As Jason Snell has noted, this is a shipping, heavily advertised feature of iOS and of the iPhone in particular. This is not a feature confined to the beta releases of Apple software where it’s kept until it works. The beta distinction is meaningless, particularly to the general public.
Will Apple go through the effort to explain to the general public that they added an option to disable the summarization per app from a notification? That doesn’t seem particularly discoverable since it didn’t previously exist. Also the ability to turn off summarization for an app does not improve summarization in any way — like reporting an error to humans at Apple would do.
Italicizing the text is drawing a more noticable distinction between the LLM output, and the straight-up notification when placed side-by-side, but how many people will directly connect, “sometimes my notifications are italic” with summaries?
Putting a “may contain errors” warning label in Settings is an ass-covering move and doesn’t do anything to help people make a decision. They don’t articulate anything about error rate, or what inputs might be prone to error. This is as ineffectual as the beta tag, which it is synonymous with.
Speaking of categories of apps: The decision to omit the news and entertainment categories from summarization is an effort to reduce the criticism from news organizations. It doesn’t mean the other categories of apps fare any better at summarization.
Also, it doesn’t help that these notification summary errors have persisted for months and have only received these surface-level adjustments in a developer beta that might not come out for one or two more months to the general public. Despite the heavy coverage that this post from Chance Miller will get, current events are not materially any different for the news organizations like the BBC, or for users.
The 18.3 changes don’t really address the root issue which is not, “how can we use this LLM that summarizes things to reduce notifications?” But rather, “How can we reduce unnecessary and disruptive notifications?” Remember that the software features allegedly exist to solve problems, so we should take a step back and look at the problem before we keep picking apart the solution they shipped.
People receive notifications from apps that are a mix of relevant, and irrelevant. They could be something time-sensitive, or just some idle chatter. Apple makes no real attempt to weight those notifications, other than when it tries to determine if something is time-sensitive (it’s usually because the message has a time or date).
It doesn’t filter anything unless you use the Reduce Interruptions Focus Mode. That doesn’t actually filter or otherwise reduce your notifications, but delay when some notifications are shown to you. This is like having an email client where you can toggle on spam filtering for a bit, but when you toggle it off all the spam just shows up in your inbox. You wouldn’t expect an email service or client to do that, but that’s how Reduce Interruptions works, and you’ll get those notifications poorly summarized to boot!
For example: I, along with almost everyone else in California, got a spam text message from a +63 phone number (that’s the Philippines) that was summarized as “FasTrak Lane fee payment due on January 14, 2025 to avoid late fees and legal action.” The full message included a scam URL and all that, but Apple saved the day by summarizing the scam as if it was genuine. Another iPhone owner in the Six Colors Discord got the same message with tiny all-caps gray text “MAYBE IMPORTANT” at the top.
Thanks to this summary I saved so much time and my focus was 100 percent on things that mattered.
The solution isn’t to summarize the scam. It is not to deliver the scam later based on Focus Mode settings. It is to not deliver scam at all. Even the most basic email spam filters wouldn’t fall for the stuff that Messages passes on. The Messages app knows better and doesn’t make the URL a tappable link, and it has “Report Junk” right there, but Apple can’t connect the dots.
When I wrote about the changes to the Mail app, and it guessing Priority all wrong, it was also for a spam message. Don’t summarize or otherwise lend legitimacy to scams by operating on them as if they were any other input, or worse, getting tricked into thinking there’s something time sensitive about it just because they included a date.
ApplePay was not restricted. This was spam that got through the spam filter and was indiscriminately summarized along with totally normal mail instead of simply not bothering me about it. Apple should have a leg up on scams claiming to be Apple but it's all just input to an LLM.
There’s also spam promotional marketing notifications from apps you have installed on your system. If an app doesn’t have specific settings for specific types of notifications then you get to make the totally binary choice of turning notifications on or off for that app. This is like completely deleting all correspondence from a company, or allowing everything they ever wanted to send you to reach you. Again, Apple doesn’t do anything to help users here. It’ll just summarize all of the notifications without any kind of screening.
In that category of wanted notifications, there’s apps that send quite a few in succession as status changes occur, like Flighty. Summarizing isn’t helpful because the older statuses are no longer relevant or accurate.
The plane for my flight had landed 34 minutes early, then my departure gate assignment was made. My flight had not departed at all, and did not arrive early. I can see how it interpolated all that to make this, but this is garbage.
Attempting to collapse all the old status updates with the current status produces a totally useless summary. I could selectively remove Flighty from summarization, but now we’re back to Apple not solving the problem.
Apple applied every “AI” thing they could to their iOS 18 release cycle, and that included this heavy reliance on summarization as a feature. I really hoped that they wouldn’t, but they did.
Putting warning labels, italicizing, removing news apps, etc. doesn’t solve the problem Apple claims they set out to solve. I don’t suddenly have a bunch of free time because summarization has unburdened me from junk notifications. It hasn’t.
Apple isn’t just attempting to summarize automated messages and scams, but also back-and-forth conversations. It’s about getting a vibe of what’s happening in the conversation and how important it is that you open the app to read what’s going on. The summary will never be able to replace the conversation in total.
For Ivory, my Mastodon client of choice, I have notification summaries enabled. Apple Intelligence has no insight into the conversation at all, or even that there might be concurrent conversations. It can only operate on what comes through as an unread push notification while the app was closed. Ivory helpfully displays the avatar of the user replying, but Apple Intelligence can only condense that down to show the most recent avatar, making it look like Jason Snell said all of this.
I had asked for book recommendations on Mastodon, and Cory recommended The Expanse. I told Cory I read most of it and stopped. I closed the app. Along comes Austin, he recommends The Expanse again, and he says that the “borrow in times” instead of “borrowing times” in Libby are over-inflated. Then he sees what I said to Cory, and replies again to say “nevermind” about The Expanse. Jason Snell separately replied to the original post and recommended Kaiju and Starter Villain by John Scalzi. Apple mushed that all together.
Again, I can see how it happened, and this isn’t even an offensive example of a summary, but it isn’t helpful either. If I had a human assistant to read and summarize these messages the human wouldn’t have mentioned The Expanse at all, and would have corrected “borrow in” to “borrowing” as well as concoct a viable sentence. A human might go a step further to attribute the statements to the different people making them and not displayed the avatar or implied it was all from Jason. For example:
Austin: Borrowing times in Libby are over-inflated.
Jason: Kaiju and Starter Villain recommended.
Apple’s less-than-helpful summary is 100 characters and 14 words. My more useful version is 97 characters and 14 words. Why string together everything with semicolons? Go with the full colon, I always say.
The model has no insight into the conversation taking place, like a human observer would, and it can’t omit part of the conversation (The Expanse). It can’t understand that “John Scalzi’s books” is way more than the two Jason singled out, but it knows John Scalzi is an author of books. Thanks? This is stuff Apple could tweak with weights and training data, but it might just result in slightly different mush since there’s no access to the full, and concurrent, conversations. There’s no understanding that this is a conversation and should be treated differently from unassociated notifications from the same app.
Let us not forget that the solution to disable the feature selectively, or whole, just makes people wonder what it even is we’re all doing here? If you turn off every iOS 18 feature that’s Apple Intelligence related (or loosely related like Mail Categories) then what is Apple Intelligence for? What is iOS 18? Where’s the software edge that Apple has to justify their premium pricing?
Maybe the target market is people that don’t notice when things are wrong, and won’t be adversely affected by factually incorrect notifications. I certainly have pretty exacting standards, but not everyone is so fussy. Perhaps we should all lower our standards while Apple slaps “beta” on their headline features? It’s only Apple’s brand on the line, not mine, I can always turn it off. I can always skip buying the next iPhone that has more neural engine cores, because from where I’m sitting they’re not being applied in any way that benefits me.
I’ve been very conscious of how much I use Instagram. I deactivated my Facebook account many years ago, and I don’t use any other Meta products, but for a variety of reasons Instagram’s still there.
It’s the primary venue for finding out about what’s happening in the lives of friends and family —that might sound familiar because that was allegedly what Facebook was for. It’s also a place where I can find relevant information on a business or restaurant —how many other people checked a restaurant’s Instagram to see if they had special holiday hours, or menus for this past holiday season? Most important of all, it’s a place where I can go to see photos of nice architecture, cute dogs, and an algorithmic spray of filler.
I seldom post to Instagram, unless something good, and visually interesting is going on. My Instagram has been private for many years. The prospect of strangers liking a photo I took is less appealing than battling bots and spammers.
The place where I socialize on social media is Mastodon. It used to be Twitter two years ago. I want to figure out what to replace Instagram with, just like I did with Twitter.
Some people socialize through Instagram Stories, but not me. I’ll watch the things to find out what’s happening, but it’s really more of an inbox than an outbox.
Mark Zuckerberg has proven himself, time and time again, to be unscrupulous. He’s got no scruples. Not a single scruple. Scruples see Mark and hide.
He responds to external pressures on his company by complying with what he thinks will make people ease-up, or respond more favorably to the company. There’s no shortage of news about the changes that are being made right now. None of the changes are good, or even neutral.
One thing I didn’t mention above is that Instagram wants ad dollars and engagement (more ads). It profiles users not just to match ads to, but it attempts to match posts, and reels to as well. Any gay man on Instagram has been served up a bevy of thirst traps in sponsored posts, and the Explore tab. Meta is very comfortable monetizing LGBTQ+ users, even though they are quick to sell them out.
The worst outcomes of Zuckerberg’s policy changes won’t be immediate, and other cis, gay men might think they’ll just wait around and see how bad it gets, but we should all have learned a valuable lesson already about these social platforms.
The replacement should be a federated network (likely fediverse) with data portability. I don’t want to invest in a closed social network ever again. That means no Glass, or Retro.
Pixelfed was not something I felt compelled to try previously because it was web-only and felt very much like a Linux app clone of a Windows app. Today, they launched their iOS app so I finally signed up to give it a go.
It has some bugs and isn’t really ready to take on Instagram right this minute. The app flat out ate two posts I tried to make without even serving an error message. The photo selector only lets you pick one photo at a time to attach. It doesn’t faithfully preview the attached images. It doesn’t seem to have any HDR support. The app can’t upload videos, but the web site can. You can’t upload images from your Camera app via a Share Sheet extension.
Some of the bugs, and shortcomings of the new Pixelfed iOS app can be routed around by using Ivory (thanks for the tip). Ivory logs into pixelfed just like a Mastodon account. It can’t attach as many photos to a post as the Pixelfed app or site can, but it worked for posting four photos, and didn’t eat the post like the app and site did.
The biggest problem, as a photo-centric network and app, is that the uploaded photos are low-res and compressed to hell. I know that media storage and bandwidth are expensive, but there isn’t any kind of “pay more for full quality” option like you’d have with Flickr’s freemium model.
To go along with that, it’s got the same problem Mastodon has. The main server, pixelfed.social, is taking the brunt of new sign-ups. Just like mastodon.social takes the brunt of new Mastodon sign-ups. It is extremely unclear which community server to join. When I mentioned this on Mastodon I was chided for not setting up my account on gram.social run by Stux the admin of mstdn.social, but… how could I be expected to know any of that to make a decision about account creation?
The server problem on Mastodon was solved when some of my friends banded together to get managed Mastodon hosting from masto.host. We have duck.haus for our Mastodon server needs, and don’t have to worry about having a second career as a server admin. I don’t see managed hosting options for Pixelfed right now (my duckduckgo search turned up one from elestio, but I didn’t see any other mentions of them so I’m not confident enough to give them a spin).
It also has an issue that’s typical of Mastodon as well. I can’t specify a “close friends” group. I can post something that only followers can see, but then I’m back to individually screening my followers to figure out how much personal information, like photos of family members, I want people I don’t know very well to have access to.
Lastly, Pixelfed.org, and Pixelfed.social are owned by Daniel Supernault, in a very similar way to how WordPress.org and WordPress.com are Matt Mullenweg’s. That gives me pause because Daniel has posted some things that didn’t fill me with confidence about him running a thing I’m investing my time into. There was apparently a dust-up as recently as two weeks ago over Loops (Daniel’s fediverse TikTok clone) that was mostly deleted. Daniel did leave up a poll on Mastodon.
So many ppl want me to quit or otherwise not participate in the fediverse.
Do you agree?
That… is not inspiring.
Like WordPress, if things ever got bad people can take stuff and go, but that portability doesn’t mean that it’s going to be smooth, and drama free —look at Matt again.
While I was able to use Ivory to post to Pixelfed, and while I have managed hosting for Mastodon, Mastodon and Ivory are not made for Image galleries, and their social feeds are not optimized to show you that media exclusively. I’m a big believer in siloing what I’m doing by app.
Having said all of that, Pixelfed is currently the frontrunner, but that’s mostly because there’s not a lot else in this field that I am aware of. I’m hopeful that if someone starts up a dependable, managed-hosting business that it will help. Possibly another iOS app, too.