Software Development

To start with: it’s difficult, but it can “work”. Sort of.

The star of the show, the MacBook Pro Mid-2012, running macOS Ventura (far right)

Why do this to yourself?

Quite frankly, I didn’t feel like shelling out ~€600 for a refurbished Mac Mini just to be able to test the odd app of mine with iCloud sync. It just seems overkill. And I did have this old MBP lying around, so I thought: why not give it a try?
If all else failed, I’d still have the Mac Mini option, anyway.
And a Virtual Machine doesn’t work, because you can’t log into iCloud / Apple ID in a VM environment for some reason. It could have been so easy…

I’d done it before, too. That 2012-MBP has served me so well over the years, with 6 partitions, reaching from macOS 10.10 Yosemite to macOS 10.15 Catalina, all for testing purposes.

It really speaks to the quality and longevity of these machines. Eleven years old, and still rocking.

Installing macOS 13 Ventura on the MBPMid2012

Getting macOS Ventura (released in 2022) to run on a Mac that’s not supposed to run even macOS 11 Big Sur (released in 2020) is surprisingly easy.
Using OpenCore Legacy Patcher, it was pretty straight forward, with only one *gasp*-I-think-I-just-bricked-this-11-year-old-Mac moment that was resolved by a simple restart (a dialog appeared telling me the installation had to be aborted due to an unknown error, which had no effect at all).
There’s really only one thing that I thought could be improved (complaining on a high level here, since it’s a miracle this works at all in the first place):
You *have* to use an external drive to create the installer drive, you can’t use an internal partition. And you cannot use a partition of an external drive, you have to wipe that drive entirely.
None of my USB thumb drives were big enough (the biggest I have is 8 GB), and all my other drives have more or less important data on them, so wiping one of them was out of the question.
Thankfully, my girlfriend had a completely empty 2TB hard drive handy that she was supposed to use for backups (and never did), so I was able to use that.
Once that was out of the way, it was all just a matter of following the on-screen instructions and waiting. And waiting. It takes a while.

Running Xcode 15 on it

It runs. It compiles. It fails to attach the debugger to the app (the LLDB RPC server crashes). But the compiled app continues running. So, debugging and coding directly on the Mac is impossible.

In hindsight, I think I may have overshot with macOS 13 Ventura and perhaps should have installed macOS 12 Monterey instead with Xcode 14, but I did what I did. It’s done. I’m not doing it over. You can’t make me.

In my case, it’s just as well. All I wanted to do was to test ScreenFloat 2’s iCloud sync with another Mac. And as far as that’s concerned, it’s working perfectly.
It would have been the icing on the cake to be able to debug directly on that Mac, and commit changes back and forth, but what can you do…
I debug on my main Mac, and then commit-and-pull the new code over on the old Mac, and then re-build. It’s tedious, but I can’t really complain. Well, I can. And I am. But I shouldn’t.

Other Observations

I’m making use of the Vision framework in ScreenFloat, and that completely crashes the app on the old Mac. Apparently, there is a reason why macOS Ventura is not supported on these old Macs.

I don’t think you could use this as a machine for work, as I’d imagine you’d run into a lot of little, annoying, and big, terrifying issues. For instance, I imagine Preview would crash a lot, since it also uses the Vision framework for its OCR and whatnot.

For testing apps in development, however, it might work, depending on what it is you’re testing/developing. I had to jump through some hoops (disabling my Vision framework code) to get my app to run. Your mileage may vary.

As a no-cost alternative to a refurbished Mac Mini at ~€600, I couldn’t be more happy.
Here’s to my old, loyal MacBook Pro Mid-2012. It still has some life in it.

Read more
Why is Xcode’s popup-documentation tied to the compiler? Kind of defeats its purpose at times.

One of these days, I’d like to put some of the still-in-development ScreenFloat 2’s features through its paces (for instance, and most importantly, the migration of a ScreenFloat 1 library into the new format).

So I’m starting to put together a list of heavy-duty ScreenFloat users now, so that, once I’m ready, I can send out TestFlight invitations and get some feedback and insights right away.

If you consider yourself a heavy-duty ScreenFloat user, and/or have a large-ish library of shots and collections in ScreenFloat 1, please do reach out, I’d appreciate your help.

It’s still going to be a little while as I think about what I want to test exactly, and how, but I’ll be in touch nonetheless, you can be sure of that.

Thank you!

Read more

We recently cancelled our cable/general TV subscription, which left us with a bit of an entertainment void. Not that TV was entertaining – we hardly watched anymore, hence the cancelling – but we do like to just “put something on” every now and then. So we decided to get Apple One (Premium, because we’re sharing with my mom).
I was, at first, a bit hesitant to enable iCloud Photos – we have nearly 40.000 photos/videos, and obviously we don’t want to lose any of them. So I asked my cousin how he felt about it (he’s been using it for quite some time). He seemed happy with it, so I was confident in turning it on. A couple of backups on multiple drives later, I clicked the checkbox in Photos’ preferences on my Mac – and the waiting began.

Upload Observations

All in all, it took well over 36 hours to finish the upload. I began in the morning, let it run overnight in the hopes it would finish, but the next morning, it still kept going for more than half a day. I noticed that Photos didn’t continuously upload all photos. It uploads for a bit, then does some encoding for a bit, and then uploads again a bit. Now thankfully, my connection is pretty good with a consistent upload rate of ~7MB/s so I thought it would be done fairly quickly, but I didn’t consider that any encoding could be going on. Judging from Activity Monitor, at least videos are encoded before they go up into the cloud.

My Mac (which has all the photos) was the first where I turned it on, and after it had finished, I also enabled it on my iPhone and iPad. Those were done syncing in about two days. “Thanks” to what Apple probably considers a “feature”: the constant pausing of the syncing process on iOS devices, in order to conserve battery: “Paused syncing to save battery”, it said anytime I looked. No! Why!? Sync!, that’s what the battery’s there for. Just do it, I don’t care. And don’t let me enable it for “a day”, let me enable it forever. Seriously. Get it done.

Comparing to Photo Stream

Previously, I mostly collected photos on my Mac via Photo Stream. And I have to say, while I do enjoy the new syncing features iCloud Photos offers (syncing albums, photo-edits, etc), newly taken photos now take noticeably longer to appear on other devices than before. Not a deal breaker, but noticeable.

“Unable to Upload”

65 photos were unable to upload, according to Photos on my Mac. Why? I couldn’t honestly tell you. Photos didn’t tell me. It should have, if you ask me. I’d have liked to know. And there’s no way to retry to sync those photos with iCloud. They’re just in the “Unable to Upload” smart-album forever.
Albeit, a bit of online research reveals an Apple support document with one of the weirdest and Apple-unlike solutions to a problem I’ve ever come across:
Step 1: Export the photos in question “unmodified” to a folder on your disk.
Step 2: Delete them from Photos (scary)
Step 3: Import those photos you just exported into Photos again to retry their syncing.
It worked (mostly), but still, why can’t I just do this in Photos itself?

Varying Photos count

An interesting tidbit: All my synced devices show a different photo count.

DevicePhoto countVideo count
Mac37.831461
iPad37.835461
iPhone37.834461
The video-count is the same on all devices, but photo-counts vary.

Of course, with that amount of photos, there’s no way – ever – for me to find out which photos are missing on which device. Because interestingly, when I connect the iPhone or iPad to my Mac, it tells me that the connected device only contains items that are already on my Mac. Go figure.

General Impressions

I’m happy with iCloud Photos. Finally, all my videos sync, and so do all “fancy” photos (with blurry backgrounds or any sort of effects) and edits, and the syncing seems to so far be very reliable.
No longer do I need to connect them once a month to make sure I have all photos collected on my main machine. Nice.

Face- and duplicates analyses appear to happen on each device individually, probably in the name of privacy (and iOS devices need to be – again, why? – connected to power for that to happen). I wouldn’t mind if that synced over (the found faces appear to, anyway).
It’s kind of weird that they constantly turn off those features to conserve battery, and then have all my devices do the same work. Wouldn’t it save even more battery if just one device did it? Oh well…

Read more