In darkroom mode you can’t navigate to other photos with cursor keys. Since the cursor keys do nothing else I have no idea why the aren’t bound to the nav. You have to double click on a photo to select it, one click does nothing so again I have no idea why not just bind single click to select. Then it recenters the entire row on what you selected, which I find disorientating but I suppose because you can’t navigate with cursor keys this recentering is necessary.
If you are willing to read the manuals and relearn everything it can do what it’s supposed to but the UX of LR is worth it to me.
That said I don’t think the UX of LR and Photoshop is particularly good, especially in recent years. People just expect their skills to transfer over, but I don’t think FOSS should be doomed to clone the UX of proprietary software it seeks to replace.
A LOT of professional software does this. It’s one of the biggest moats they have to customers switching.
I’d pay to see what software like Parasolid does to manage fourty years of backwards compatibility (CAD models made 30+ years ago have to come out exactly the same).
In the same way, because there's no other way. Darktable in particular contains previous versions of the color pipeline. Every RAW software does that.
This presumably doesn’t work for proprietary software because the pipeline’s code is a trade secret.
Code embedding has been considered many times but the rabbit hole is way too deep. You are embedding unverified executable code, to begin with. Then there's diversity problem: too much code, too many implementation specifics with every quirk being able to mess up the result. All of that spanning multiple generations of color science pipelines, experts, hardware, and third-party software to interact with. Since the advent of ML (for denoising and segmentation in particular) you have to also embed the weights as well, making it outright impossible.
All this leads to RAW processing code going the way of scientific and financial code: once written, it's frozen and the substrate is emulated if necessary. Even the bugs are preserved.
If you embed the image pipeline’s code in the user’s raw metadata, you essentially need to give them a perpetual license to that code, which isn’t a problem for FOSS.