Further adventures with the iCloud Photo Library… why can’t we just do this all on the web?

As I’ve mentioned previously, I have a problem with my iCloud Photo Library. A few problems, in fact:

  1. I only add photos/videos to the library from my iPhone. I might occasionally take photos with my iPad, but I almost never need to add those to my library.
  2. The way Apple “manages” storage for the iCloud Photo Library is woefully inadequate. As I noted in the post linked above, there are only three options: put everything on your device, let your device decide on some arbitrary amount of free space to keep, or don’t have the photos on your device at all.
  3. The way the options work is not adequate for me with an unwieldy library of over 50,000 photos, and neither the storage space nor the need to have my whole photo library on my iPad and Mac.

I pretty much have no interest in the new Apple Intelligence features that are rolling out as we speak. But today I did learn there’s one intriguing new ability. (At least, I think it’s new.) The Photos app can now identify duplicates in your library, and purge them, retaining only the highest-quality version and merging all of the meta data.

I immediately took advantage of that feature, and removed about a thousand duplicate images.

But I still was confronting a very convoluted situation with my new iPad, which has only a meager 64 GB of storage. (I was seduced by a “Cyber Week” promotion to upgrade from my old 8th Gen to a 10th Gen that was on sale for $259, but I overlooked the fact that in so doing, I was going from 128 GB to 64 GB.) The whole damn library got loaded onto the new iPad before I could stop it, and now I’m dealing with trying to purge it.

There should be a simple and fast way to just delete the entire thing from a device, but there isn’t. Apparently turning off iCloud Photos on the device deletes everything, but… does it? It’s not instant, and there’s no progress indicator. The photos do seem to be very slowly disappearing from the device, but the lack of clarity is maddening.

Meanwhile, I also (finally) discovered something that I think should obviate all of this nonsense. You can very easily access your entire iCloud Photo Library from iCloud on the web!

Yes, just go to icloud.com/photos and log in to your account, and you have a fairly decent set of tools for interacting with your entire iCloud Photo Library without having to store any of it on-device.

One look at the crap I keep in my library should make it clear why I don’t need this filling up all of my devices’ storage.

Why isn’t this one of the default options? In fact, it seems like it would be a no-brainer for Apple to make the Photos app present an option to interact with the library in the cloud only. I know there are bandwidth and connectivity implications, so it would probably involve a reduced set of features.

I suppose, in a way, that’s what the option to optimize storage does — or at least what it’s intended to do — but I am still astonished that it works in such a way that even the reduced/optimized images can fill up your device storage. Why doesn’t it just keep the tiny thumbnails plus the meta data (and no videos!) on-device, and only retrieve larger versions when you interact with an individual image directly?

Again… maybe it actually is doing that, and it’s just that my library is so ludicrously large that it still causes a problem.

But I know I’m not the only person with a huge library (probably others are even much larger than mine), who only ever wants to add items to the library from their iPhone, not their iPad or Mac. It seems that in those extreme cases, they could provide a “web-only” option.

Or, at least… let people know you can shit-can your whole Photos library on the iPad and just access it through the web if you really need to get to your photos.

Sure, you lose cool things like the “memories” widgets on the iPad OS home screen if you don’t have the library on-device, but it’s a trade-off that is not only acceptable, but necessary in a situation like mine.

Sometimes, in their effort to make tools easier to understand by limiting how much they explain what’s going on behind the scenes, Apple actually makes their tools harder to use.

Safari vs. WordPress 6.7 Block Editor: Who’s to blame for forced PNG-to-HEIC conversion?

tl;dr update: I submitted a bug report about this issue to the WordPress Trac, it was fixed in 6.7.1, and I was even credited as a contributor to that version. Now on with the post…


Look at this image:


Now look at this one:


What if I told you those were the same image? Well… I mean… they’re not. Obviously. But they’re supposed to be. They were both the same image when they were on my computer. The same exact file. But I uploaded them to this page in two slightly different ways, and that made all the difference.

The one on top — the screwed-up one — I placed by inserting an Image block in the WordPress Block Editor, and then clicking the Upload button in that block, navigating my hard drive, and locating the image. The one on the bottom, I placed by again inserting an Image block, but this time I just dragged the image from a Finder window into the Safari window. WordPress supports drag-and-drop uploads.

Looking “under the hood,” I discovered that the file on top was somehow getting converted to Apple’s “High Efficiency Image Format,” HEIC (the reason for the C instead of an F is something I’ll leave to the Apple podcasters). WordPress just added HEIC support in version 6.7, which was released this week. Since browsers (other than Safari, I assume) can’t display HEIC images, WordPress automatically converts uploaded HEIC files to JPEG. And that’s why these two images look different. JPEG doesn’t support transparency, so the areas that were transparent in the original PNG got flooded with the nearest available colors1.

But, why should the results of these two upload processes be any different?

Well, after starting in the WordPress Support Forums and then moving over to the Make WordPress Core Trac and finally searching until I stumbled upon a year-old, barely active thread on the Apple Developer Forums, I discovered that Safari has a bug — I mean it has to be a bug, right? — where, if a file upload input field says it accepts HEIC format, Safari automatically converts the uploaded file to that format, apparently with no option not to do that. (I looked around all of the settings, even the developer ones, and didn’t see anything about this “feature” at all.)

And sure enough, WordPress 6.7 is a bit haphazard with its “support” of HEIC uploads, which made it easier to confirm the cause. There are two ways, generally speaking, that WordPress handles file uploads: the browser upload, via an <input type="file"> HTML field, and a JavaScript/AJAX/React/whatever drag-and-drop option.

The <input type="file"> field in the Image block of the Block Editor has added HEIC support via the accept="image/heic" attribute. But the input field in the old school Media Library upload page has not been similarly updated. (It’s become a fact of life in the WordPress world that most of the core team’s attention is on Block Editor stuff these days, and older features get ignored.) Uploading images in the Media Library does not do the conversion. Likewise, whatever exactly is going on with the drag-and-drop method also does not involve the accept="image/heic" attribute that causes Safari to do its mischief.

Unfortunately, it looks like the only “solution” at this point would be for WordPress to do a browser sniff and remove the accept="image/heic" attribute if the browser is Safari. The only reason that was explicitly added was to get Chrome to support HEIC uploads; as I understand it, Safari would support them regardless, but explicitly declaring HEIC support is apparently what triggers Safari to make the conversion.

So, practically speaking, Safari users who want to upload PNGs to their WordPress sites just need to be sure to only upload via drag-and-drop, or the Media Library.

(I haven’t tested, but I suspect JPEG uploads are likewise getting converted to HEIC and then back to JPEG, which probably results in a reduction of image quality.)


Side note on how I discovered this in the first place: Two days ago I was writing another blog post somewhat critical of Apple, and I found when I was trying to upload a screenshot of a window from my Mac — Mac screenshots are saved as transparent PNGs — the transparency was turning black. I was so driven to distraction over the situation that I barely managed to finish writing the post.

1 Saying those areas are flooded with color is an oversimplification. It looks like the color of each pixel is being determined consistently with how PNG compression works.

Is Apple ever going to properly address the inevitable, relentless growth of peoples Photos libraries?

I just got a new MacBook Pro with an M4 Pro chip, to replace my 3-year-old MacBook Pro with an M1 Pro chip. That older machine was fine, but, well… something in my gut just told me that if I was considering dropping two grand (minus some trade-in value) on a new computer manufactured in China, maybe I should do it before the end of 2024.

Anyway… I have the new MacBook Pro, and it’s pretty great. It’s essentially this year’s version of the same machine it’s replacing. The off-the-shelf model with a 14-inch display and a 512 GB SSD, at the same retail price. The upgrades are all in the Apple Silicon SoC: M4 Pro in place of the M1 Pro, with more cores and 50% more memory. A worthy upgrade to an already solid configuration.

I say “solid” because… well, I’d really like to have more disk space. I do a lot of video editing these days, and that requires a lot of storage. The problem is, Apple charges a ludicrous markup for increased disk capacity. And since external SSDs over Thunderbolt 5 are as fast as internal SSDs, I can get a 4 TB external disk for not much more than a meager 512 GB upgrade to Apple’s internal disk. The choice is obvious, even when weighing the convenience factor.

Which finally gets me (almost) to my point. Last night, after I had everything set up on the new Mac (I chose to manually install apps and copy files, so I could control what did and didn’t get moved over from the old Mac), I had over 300 GB of disk space free. This morning I sat down and was surprised to see I only had 180 GB free. What gives?

Well… what gives is the Photos app. I hadn’t even opened it — on purpose, for the exact reason I’m about to describe — but since I had logged into my iCloud account, the Mac “conveniently” automatically downloaded my entire Photos library from iCloud onto the Mac.

Do not want.

On my previous Mac, I had long since shuffled the Photos library off to an external disk. Honestly I never even really use Photos on my Mac, partly because my library is an unwieldy, 120 GB mess of close to 57,000 images1. But mostly because Apple gives users (almost) no control over how the files are managed on their Macs:

So, basically, you have three options:

  1. Fill up all of the space on your hard drive with your photo library.
  2. Fill up all of the space on your hard drive with your photo library, until your Mac decides you’re running out of space, then let it decide how much space to free up.
  3. Don’t have your photos on your Mac at all.

The default is #2, but it’s a pretty crappy option. Because for your Mac to know how much disk space to keep free, it needs to know how you intend to use it. If I’m not currently working on a video project, I don’t need much space. But if I am, then I can go from needing next to nothing to suddenly needing 200 GB or more of free space. Which means I always want to keep at least 200 GB free, in case I’m about to start on a video project. Once I’m rolling, I don’t want to be distracted with figuring out how to free up space.

Now here’s a twist: since, as I mentioned, external SSDs over Thunderbolt are essentially as fast as an internal SSD, you can easily edit a Final Cut project directly on an external disk. In fact, I do that a lot. But not always. I still want that free space.

Fortunately, Apple does provide a way to put your Photos library on an external disk. It’s easy and it works. But you shouldn’t have to do that.

The thing that really kills me is that it would be so simple for Apple to resolve this issue. All they’d need to do is add a slider to the settings tab from the screenshot above, letting the user set a minimum amount of disk space they want to keep free. Why doesn’t Apple do this? I feel like there’s a very intentional reason. And I think I’d be exasperated if I knew it.


1 Apple is really to blame for the mushrooming library, too. Their automatic tagging by date and location, and AI-assisted tagging of subjects like individual people, pets, etc., make it so easy to find specific images that there is no incentive to put any effort into culling the junk from your library. Growing libraries lead you to pay for larger iCloud storage allocations to hold them. There’s a reason “Services” is Apple’s fastest growing revenue segment. But all of that aside — whatever, I really am not bothered by it — the one place Apple is completely shitting the bed on all of this is handling on-device storage.

SMS texts not coming to your Mac? Mac sure you’re signed into the same Apple ID for both Messages and FaceTime on your iPhone. (Seriously.)

The subject line is the answer, but here’s the longer story.

I recently switched iPhones. Through a series of stupid errors, I ended up having to set it up as a totally new phone instead of transferring my old phone data over.

Ever since I did that, some conversations refused to sync between Messages on my iPhone and Messages on my Mac, even though they were both set up properly and various online tutorials didn’t help me solve the problem.

That last tutorial hung me up on one particular detail though. The Text Message Forwarding option was not appearing for me in the Messages settings on my iPhone.

I figured this was just, once again, an outdated tutorial that hadn’t caught up to changes Apple had made in the Settings app. But… those screenshots looked current. Hmm.

I don’t even remember exactly how I made this mental leap, but I found the solution not in anything to do with Messages, but rather with the FaceTime settings.

Due to the long and complicated history of Apple’s online services, I have two separate Apple IDs. One I use for App Store purchases, and a different one I use for iCloud.

Well… on both the Mac and the iPhone I had Messages logged into my iCloud account. But on my iPhone, I had FaceTime logged into my App Store account. And that’s why the Settings app wasn’t showing me Text Message Forwarding in the Messages settings.

I logged out of my App Store account for FaceTime and logged into my iCloud account, and suddenly the Text Message Forwarding option appeared under Messages. I turned on forwarding to my Mac and my iPad, and now everything is working!

The mysteries of Google Photos and what my videos are teaching its AI

For the past few years I’ve been shooting video, sometimes very long video, on my iPhone, and then transferring it to my Mac for editing.

I have two ways to get the videos to my Mac. I can use AirDrop for a direct device-to-device transfer. But the videos also automatically upload to iCloud in the background, so I can then open the Photos app on my Mac and find them there, and download them from “the cloud.”

Neither way is exceptionally fast, especially with large files, simply because they are large files, but they both have always worked seamlessly, and I can pretty much do them on-demand as soon as the videos are done recording.

Last night I recorded a performance of the big band I play in, using… gasp! …an Android phone. Specifically, a Google Pixel 3a. Yeah, it’s pretty old. But also new to me. I need an Android phone for testing my web development work, but since I don’t use it as my day-to-day phone, I didn’t want to spend a lot. I know the Pixel is a good phone, with a clean Android install, and the price was right ($150). Which is exactly why it’s the phone I chose to shoot the video with, because I was going to have to leave it unattended all night in a crowded auditorium, about 100 feet away from me. It was unlikely to be taken, but I didn’t want to risk it with my main iPhone or even a backup. (Plus, the Pixel actually does shoot pretty good video.)

Anyway… once I got home, I then had to contend with the problem I knew would be waiting for me. This is an Android phone, so there’s no iCloud. But I am also pretty heavily invested in the Google ecosystem, so I figured I’d have no issues transferring the videos to my Google Drive — or at least Google Photos — and get them that way.

There are issues.

First, I can’t find a way to just put them on my Google Drive, which is where I really wanted them. Yes, I can just jump over to photos.google.com instead of drive.google.com, without even having to log back in, but I operate frequently in Google Drive and I had never, before owning this phone, had any reason to even consider the existence of Google Photos. But, whatever.

Second, and I could be wrong about this, it seems like the files only transfer from the device to the cloud when you have the Photos app open on the phone. I have the phone running on my home wifi, which is connected to gigabit fiber, so the transfer should be about as fast as can be expected anywhere in the United States, but even though I left the app open for an extended period last night, it only uploaded one of the two videos. I gave up waiting on it and went to bed, and uploaded the second one this morning.

But here’s the real kicker: neither of the videos is “ready” yet in Google Photos, not even the one I uploaded last night. Maybe it hadn’t quite finished uploading then but still… what exactly is Google doing to get the videos “ready”? Why aren’t they “ready” the instant they’re uploaded?

I get that videos uploaded to YouTube need to go through some processing. YouTube does all kinds of crazy crap to videos. Some of it is transcoding and optimizing the files for streaming, which… yes. 100%. Please do that. Some of it is machine learning (a.k.a. “AI”) driven, analyzing the content to make smart chapters and such, as well as detecting content that is illegal or violates terms of use. I see the benefits. And some of it is for the benefit of corporate overlords, both at Alphabet and elsewhere, such as detecting copyrighted music. Well… honestly there are pros and cons to that. But it’s not the point of this post.

The point is, I get why that kind of processing is happening to YouTube videos. But none of it should be happening to private videos uploaded to your Google Photos account. I suppose I should give Google the benefit of the doubt and assume that it’s strictly doing the AI scans for illegal content. (I think you know the illegal content I am talking about so I am not going to spell it out.)

Apple’s recent efforts to implement technology to do on-device detection of that type of content recently got a lot of heat for its privacy implications — even though on-device scanning is far more private than in-the-cloud scanning. But Apple always takes the heat for things because it’s Apple, despite Google, Amazon and Facebook engaging in much more egregious versions of those things.

The thing about Google in particular is, they’re all about amassing TOTAL WORLD KNOWLEDGE. Not in an inherently nefarious way (although maybe there’s no way for that not to be inherently nefarious). But there are always nefarious implications in what they’re doing. So whatever is going on as I’m waiting for my videos to be “ready,” the one thing I know for sure is that Google’s AI is learning something from them.

Update: I realized after I posted this that maybe I should… uh… google it. Yes, Apple themselves have provided instructions on how to transfer photos and video from Android to Mac. I realized that I could maybe use this USB-C to USB-C cable I have sitting right here at my desk to make a file transfer!