
How Retroactive makes Aperture, iPhoto, and iTunes work again on macOS Catalina (2019) - Wowfunhappy
https://medium.com/@cormiertyshawn895/deep-dive-how-does-retroactive-work-95fe0e5ea49e
======
scoot
I bought Aperture only shortly before they killed it off. Still seething about
that. Since Photos can't seem to cope with my ~30K picture photo library (that
I'm still trying to recover it after numerous attempts), can anyone suggest a
viable alternative?

~~~
mceachen
I got sick of fighting apps that don't scale, force me to use a specific OS or
expensive hardware, feed the adtech panopticon, or don't clean up the messes
left behind from all the other photo apps I've used, so I started my own
company to do just that.

[https://photostructure.com/about/introducing-
photostructure/](https://photostructure.com/about/introducing-photostructure/)

It's currently in closed beta. I'm letting people in first-come-first-served
roughly monthly, as I release new versions. It's free while in beta, in
exchange for your feedback. Here's what's coming soon:

[https://photostructure.com/about/release-
notes/](https://photostructure.com/about/release-notes/)

Note that PhotoStructure doesn't have any editing tools other than fixing
rotation. It does let you easily open the current image in other apps, though.

~~~
jwr
After I got royally screwed by Apple discontinuing Aperture (I mean, come on,
it's not like they're google or something), I decided to a) package Aperture
in a VMware virtual machine so that I don't lose access to my libraries and b)
start working on my own software for long-term photo archives.

The project you are describing sounds close to my goals, with the possible
exception of long-term storage: I've been planning to develop everything so
that data is easily retrievable even if the software doesn't work. Metadata in
text files, for example, image storage in well-known formats, folder structure
that is understandable to humans, etc. This is for family archives: I'm
scanning photos that are a hundred years old and I feel like an idiot when
cataloging them using software that some company will obsolete in a couple of
years.

Incidentally, there is another niche which is largely unaddressed: easy
organizing of photos into sets with various access tags and sharing these with
friends and family in a secure and easy way. It's kind-of doable today if you
don't care about privacy, security, and longevity, but it's still annoyingly
difficult to use, especially for less computer-literate family members. It
seems that all designers of photo software only keep photos from their latest
vacation, wipe their entire collection with each device upgrade, and want
sharing links to be valid for at most a month or so.

One thing which could prevent me from using your software is lack of control:
I got burned several times already and I'm considering my options carefully.
It might be better to roll my own rather than start depending on something
again.

~~~
mceachen
I've made a bunch of design decisions to address long-term storage concerns
(after being personally burned by more than a handful of abandoned photo
apps):

File storage (if you opt for PhotoStructure doing automatic organization) is
configurable (with a default of $library/yyyy/yyyy-mm-dd/$original-filename).

All metadata extracted or changed is saved in standard-format sidecars next to
the original, or in the image itself. The sidecar format and whether to use
sidecars for edits are both configurable.

The database is a SQLite DB with a straightforward schema (although as I add
features, each version has had db migrations).

If you try PhotoStructure out, and you find or think of anything else I can do
to set things up to be more friendly to long-term storage, I'd love to hear
your ideas.

(Sharing is coming in a future release, both via any hierarchical tag, or by
manually-selected images).

~~~
jwr
Everything you wrote is very intriguing and largely aligned with my goals. I'd
like to take a closer look at what you are building.

There is still the issue of control: I am worried about the lack of a
"Pricing" page, not because I do not want to pay (quite the opposite), but
because I am worried about the sustainability of your business. And about what
will happen when you sell it to Google, or otherwise abandon it.

------
pilif
What's crazy to me is how much functionality of Aperture was apparently
powered by OS features that were just there to, well, power Aperture. Pro
fonts. Pro table headers and so on.

I guess that's what you get when the OS vendor also makes apps. And it shows
how privileged those apps are compared to others. Only the OS makers apps can
have their functionality shipped with the OS itself.

------
jtbayly
This is great work. I'm not sure why somebody would want to run iPhoto instead
of just upgrading to Photos, but to each his own.

Since it takes a few clicks to get there from the article, here's the app that
does all the work for you:
[https://github.com/cormiertyshawn895/Retroactive](https://github.com/cormiertyshawn895/Retroactive)

~~~
Y-bar
iPhoto has much better keyword handling, better support for drag and drop
(which for a long time was missing entirely from Photos), and the smart albums
in Photos is still not as powerful as they were in iPhoto.

------
throw03172019
Does anyone actually want iTunes? As a Spotify user, my Mac opens iTunes when
I press the Play button on my keyboard if Spotify has been not playing for X
minutes (power nap?). I have to immediately kill iTunes before it begins
playing a CD I bought 7 years ago.

~~~
psychometry
Some of us prefer to own and organize our own music rather than rely on
streaming services. Sadly, Catalina Music isn't any less buggy than recent
versions of iTunes.

~~~
dewey
Have you tried Swinsian? I recently switched to it after the Music.app became
mandatory and I'm very happy with it. Small indie app with a straight forward
non-subscription business model that has all the best parts of the old iTunes
and is very customizable.

Don't want to advertise my blog post but if you are interested there are some
screenshots here after I set everything up:
[https://blog.notmyhostna.me/apple-ruined-itunes-what-
now/](https://blog.notmyhostna.me/apple-ruined-itunes-what-now/)

~~~
AnonC
Thank you for sharing this. As a mostly lurker on HN, I appreciate such posts
and reviews since they're helpful. That someone has done comparisons on the
music management apps and listed those makes life easier for others. I had
been disappointed with the more recent releases of iTunes, but the
replacements in Catalina, from whatever I've read about them, seem far worse.

------
saagarjha
> The easiest way to swizzle something is just to make a category on NSObject
> and call method_exchangeImplementations in +load.

Don't do this, declaring a method in a category with the same name as an
already existing method is undefined behavior. Use a static constructor
instead.

~~~
lilyball
The article isn't relying on method name conflict in the category. It's
declaring a new method and swizzling in +load. If you meant the +load method
itself conflicts, that's not true because +load on categories is handled
specially by the Obj-C runtime. You can have 20 different categories define
+load on the same class and the runtime will invoke all of them.

~~~
saagarjha
Oh, TIL!

------
okayVGA
Any love for OpenCL support on Catalina? It's all I want.

~~~
cglong
As someone who's actively avoided Catalina, what's wrong with OpenCL support?

~~~
foxhill
i’m going to presume they followed through on their promise to drop support
for it:

[https://www.extremetech.com/computing/270902-apple-
defends-k...](https://www.extremetech.com/computing/270902-apple-defends-
killing-opengl-opencl-as-developers-threaten-revolt)

------
netsharc
"Who wants to hack around the command line? Mac OS, it just works!"

