Hacker News new | past | comments | ask | show | jobs | submit login
How Retroactive makes Aperture, iPhoto, and iTunes work again on macOS Catalina (2019) (medium.com/cormiertyshawn895)
154 points by Wowfunhappy on March 2, 2020 | hide | past | favorite | 70 comments



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?


I use and love DigiKam[0] for organizing my ≈230k RAW & JPG media library, and both RawTherapee[1] and Darktable[2] are great for more specific editing (though I haven't settled on an ideal workflow yet). One cool thing about DigiKam is that you can have it use a remote MySQL server for its db, theoretically allowing you to work with your library from the road (I think... it's been several months since I've spent a weekend working on my photo libraries).

Adobe's Lightroom truly is a great and powerful tool like so many of their other apps, but I just can't stomach having years' worth of work locked up in a proprietary subscription-model app. And I just consider Apple Photos untrustworthy, though I do like to use it + iCloud shared photo albums to publish my edited "selects" instead of my full library.

Now if only there was a real F/LOSS contender to replace FCPX...

[0] https://www.digikam.org/

[1] https://rawtherapee.com/

[2] https://www.darktable.org/


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/

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/

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.


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.


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).


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.


> scanning photos that are a hundred years old

FWIW I've got a bunch of both scanned images and older JPGs that I inadvertently stripped all metadata from (if you use jpegtran to losslessly rotate, make sure you use `-copy`!), so PhotoStructure infers captured-at time from filenames or enclosing folder names if it's missing from the EXIF headers, and it can extract at least a reasonable year, month, and day from the path.


Just wondering, is the desktop client based on Electron?


yes, that's how I've currently packaged up PhotoStructure for Desktops.

There's also PhotoStructure for Servers which can run under Docker, or as a standard node app (ala `git clone $url; photostructure/photostructure`).


Thanks for the heads up; saved me from being intrigued by this project.


This kind of comment is typical for someone who does not have to contend with business reality and has no idea how much it costs to develop and maintain native desktop applications.

My guess is that the same people, when given a native app, complain about the subscription pricing or the price tag.


Oh I understand the business reality very well and I don't blame anyone for making that call when it's the right move for them, but I'm still not going to use the software.

And I happily pay for all of the quality native software I can find. One of the most exciting things is finding a well-crafted native application with a clear business model.

I'm really hoping Serif, for example, moves into the Photo organization space. I've already purchased all of their current apps even though I don't really need them all that much; probably 70% of the reason I bought them was just to support what they're doing.


That sounds to me like you agree entirely, "Yes, it is horrible, but we have to use it anyways because..."


I thoroughly recommend Capture One Pro. It deals with my huge catalogue without breaking a sweat and its editing capabilities are class-leading.


How are the photo organizing capabilities? I like to organize everything into nested folders.

One thing I like about Lightroom is that I can right-click on a folder and get a shareable, private link that people can go to to view the album. Great for sharing photos from a trip or an event without having to go to some other services.

The link opens a minimalist, unintrusive, functional album app where people can optionally download originals and even rate and comment on the photos, which is nice when you want to work together to whittle a larger set of candidates down to a smaller set.


Another Capture One user here. Capture One has 2 ways of organizing your stuff: Inside a Catalog (embedded into the library) or as a Session. In a Session, Capture One gives you a rough folder recommendation that you can use but just uses the folders from your file system. Catalogs embed the pictures and handle all the managing for you, but can also be set to not do that.

None of that sharing and cloud stuff of lightroom though. It's just a RAW/photo processor.

https://www.azuloxworkshops.com/educational/capture-one/capt...


I've never had issues with Lightroom.

With regards to Apple Photos, I have ~130k photos synched without issues (that I can tell). No problems with iCloud sync either these days.

I also double sync the photos as JPG to Google Photos.

Having everything in Apple Photos is great for mobile browsing... the other night I pulled up images from 2006 on my iPhone!


I’m around the same with 140,000 photos and it works fine day-to-day. I think they fixed the performance issues a few years ago. However, there are two gotchas:

I can’t open the photo library from other apps on iOS; it hangs forever. So I have to pick the photo from Photos and share into the app. Sometimes this isn’t possible like picking a profile photo, so it’s just not possible.

It takes about a month to resync my library after a fresh install of MacOS. I just installed Catalina and am waiting on this process right now. It looks like it’ll be done around April.

Edit: Clarified below, but I mean just to confirm the sync state, not redownload. I have the entire local library intact, but if you change anything locally (library ___location, OS, etc), Photos says "Uploading 140,000 items" and takes a month to confirm the library is in sync with the server.


1. Surely this is the apps' faults for not paginating queries on your Photos library correctly? (Unless it's a real Photos app bug, which I suppose is possible although unlikely)

2. Yikes, I guess with 140k photos putting your library on an external drive before wiping and then copying the library back to your Mac would also take a long time, but it shouldn't take a full month.


1. I'm not an iOS dev so I can't say for sure, but my impression is that the apps don't have that much control when they open the photo library.

2. Sorry I wasn't clear; this is what I do. The problem is that if you move the photo library at all (or even if you don't but it's a new OS installation), it doesn't trust the old sync state so it manually checks each photo. It does seem to be hashing or something since it's using very little network, but it's only processing one photo every 10 to 20 seconds. I have no idea what makes it so slow, but I've found similar reports on forums so it seems to just be the way it is.


You can sync your photos to Lightroom cloud and pull up the photos and edit them from anywhere like the app.


DarkTable is an open source alternative to lightroom that I used to use.


What kind of issues are you having with Photos? I have over 50,000 photos and over 4,000 videos and it’s been nothing but a dream.


It crashes repeatedly on launch, and the built-in repair function fails to repair it. I’m currently trying to import the photos and videos into a new Photos library, but you lose metadata (such as video dates, faces etc.) and projects, so I might as well move to something more reliable.


From your tone, I'm assuming you've tried and discounted Lightroom already?


I'm in the same boat with Lightroom -- I've bought it 3 times and I've got a historic library in it with tens of thousands of images, but if I upgrade to Catalina my non-subscription Lightroom won't work anymore. I don't open it often, like maybe a couple of times a year, but I don't want to lose the work that's in there.


Could you run the old Lightroom in a VM? Ultimately, you might have to unless you migrate or pay up.

Lightroom is inexpensive relative to other tools and everyday expenses I have. The same goes for other closed-source photography software mentioned on threads like this, to the point that I've bought some of it to experiment moving off Lightroom.

Given the propensity of photographers to splurge huge amounts on gear, and their positions on intellectual property, I don't think I'm that unusual. Perhaps within the HN crowd the philosophy is different.


I didn’t object to paying for upgrades when I was actively using the software, but at this point, I’d be paying tens per invocation of the program.

I’ve moved on, I don’t do photography much anymore and if I’m going to be plowing money into something, I’d rather it be in a current hobby.


No Adobe products, please.


I have 40K photos in Photos and it works okay. Definitely a few issues here and there but there really doesn't seem to be a better alternative.


Google photos, unlimited storage plus automatic ml tagging. I even upload 4k video up from my Netflix Plus channels.


Have you tried Linux?


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.


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


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.


Because Photos is a horrible app with multiple issues that doesn't come close to any if the previous Apple offerings (esp. Aperture)?

Just a small sample of issues:

- https://grumpy.website/post/0SUrgqNju

- https://grumpy.website/post/0SZmcHq7V

- https://grumpy.website/post/0Rz1BBnjz


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.


I 100% want iTunes. I like to listen to live music and Streaming services are pretty shit at archiving concerts.

Also, on my work laptop, I used to be able to connect my iphone through USB and use iTunes to play my music without having to sync or have the physical WAV on my machine

Now with the new Music app, I can't browse my music. I just recently had to upgrade to Catalina so maybe i'm missing something but i'm pretty pissed at that change


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.


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/


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.


No support for ReplayGain/Soundcheck killed this for me. I hate fiddling with volume for every single track in a playlist.


I have a (somewhat forlorn) hope that, now that Music neé iTunes is no longer a floor wax and a dessert topping, it might someday be a stable piece of software.

Recent releases from Apple don't really encourage this hope, admittedly. I wish they would formalize a tick-tock strategy for OS and core apps, pushing new features on odd years and fixing their mess on even ones.


I actually don't think that would be a good idea, because it would result in a culture of "eh, why fix the bugs in this major OS release, we have a fix-up OS release next year just for that". I don't want to end up in the same situation as that of old Windows releases, where major OS versions were nigh unusable until the Service Pack 1 release.


You may be right. I just have good memories of Snow Leopard, I suppose.


I totally forgot Apple doing this before, I think that's the time period where Apple actually followed this methodology you described. Snow Leopard was the fix-up release, while Leopard was the feature release. And yeah, agreed that Snow Leopard was a wonderful release.


I spent a bit of time over the past couple of months ripping some of my CDs that were missing, getting rid of mostly overlapping redundant libraries, and deleting missing music. There was various breakage that I suspect may have been partially related to Apple Match. But it seems to be in reasonable shape now as far as I can tell.


I got the sense that the author's main goal was running Aperture, and iTunes (and iPhoto/iWork/Logic) just kind of came along for the ride.

Just looking at known issues in the Github readme, it looks like those apps have quite a few issues. Whereas Aperture sounds like it's just about perfect except for videos.

--------

> 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.

For the past decade, one of the first things I do on a new Mac is run a script that includes the line `sudo rm -rf /Applications/iTunes.app`. There's probably a better way to stop iTunes from opening, but this one has been very effective.


From answers on Ask Different [2] for this question.

> The software Mac Media Key Forwarder [1] provides a user-friendly approach to prioritizing Spotify for your media keys. It runs in the background and gives you a few simple settings in the Mac menu bar. It just works.

> It can be downloaded and installed directly from the homepage, or by using e.g. Homebrew:

    brew cask install macmediakeyforwarder

[1]: http://milgra.com/mac-media-key-forwarder.html

[2]: https://apple.stackexchange.com/questions/58234/override-itu...


Apple Music, and therefore the Music.app, is still the best solution out there if you want to bring your own content and have it accessible via streaming from a number of devices. Spotify has serious limitations on bring-your-own-tracks that makes it not great for certain use cases.


There's a more fundamental question here I think. I can understand wanting to get an older, theoretically unsupported app running on Catalina, but that makes less sense re: iTunes as AFAIK no functionality was lost between Mojave and Catalina. iTunes got renamed to Music, and the syncing functionality was moved into Finder. Is the integration between those two functions _that_ critical?


If you use audiobooks then Catalina is a total disaster. You lost smart playlists, the ability edit ID3 tags, the sync to my iPod doesn’t work well anymore. Its really bad.


They remove smart playlist? They don’t understand that is one of the feature making people hanging on iTunes?


You still have smart playlists in Music.app, but that Music.app no longer handles means you can’t use smart playlists for organizing audio books.

There’s a separate Books.app now that handles both eBook and audio books and it doesn’t have a smart playlist feature that I’m aware of.


That makes me wonder if I should just manage my audiobooks with the Music app. I wonder if there are any downsides.


Can you manage Audiobooks with the Music app?

Keep in mind that iTunes and Audible audiobooks are DRM'd, so you can't necessarily just mark it as a different type of file. (The DRM is crackable, but then that's an extra step.)


Mine are all MP3.


Ah, good for you, I shouldn't have made assumptions based on the fact you were using iTunes.

I'm always sad to see how many people use DRM'd audiobook sources (like Audible) when DRM-Free options are readily available!


Music is not the same as iTunes and syncing functionality in Finder is super sketchy (via USB or WiFi)

Seems like the "right way to do it" is all iCloud syncing and we should stop clinging to our mp3s and what have you...


I haven't used a Mac in years, but I'm wondering if iTunes supports FLAC yet. Until it does, it would be a non-starter for me if I'm managing my own music collection.


beardedspice might help with your media key issue

https://github.com/beardedspice/beardedspice

or maybe you can force the key assignment with karabiner-elements

https://github.com/tekezo/Karabiner-Elements


As a non-streaming music user, yes?


> 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.


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.


Oh, TIL!


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


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


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...


In my experience, OepnCL in Catalina is about as good or bad as it was in Mojave.


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




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: