|
|
|
|
|
by dataflow
1096 days ago
|
|
> And it's never complete. Nothing ever is. But it doesn't need to be. > The problem with reverse engineering is that it's a minefield for the business entity, from all viewpoints I don't buy this; RE is a gross exaggeration of what's actually going on. They don't even need to go through the trouble of reverse-engineering for the most common XMP file functionalities people actually want. The XMP file is just a list of operations. It's right there in XML, already human-readable in English. The cases most people care about are astonishingly simple. Like "+25 contrast", "+2 exposure", "-50 highlights". Surely the app can at least alter brightness and contrast... just read the darn file and apply the straightforward stuff as if the user applied them manually! And if users re-adjust the settings, just update these back in the file like Photoshop would. If they see a random transformation they can't replicate adequately, they can just warn the user. It's not even hard to handle the easy pieces, let alone requiring reverse engineering! You won't get a bit-for-bit pixel-perfect repro, but who cares? It's not like they have to change the heart of that one random user who used XMP files to transform their penguin into a gorilla that they hashed on the blockchain to get the 90%+ of the other holdouts to jump ship! |
|
>The cases most people care about are astonishingly simple. Like "+25 contrast", "+2 exposure", "-50 highlights".
There's an entire iceberg under these words alone. What definition of exposure are they using? Which kind of math and curves to separate the highlights from other tonal zones? What's the color science behind their stuff? How do they approach things like perceptual uniformity? (ACR's colorspace axis are notoriously different from their typical definitions in color science). I'm not even starting on things that are always applied without you noticing, like the input curve or highlight recovery (which is surprisingly complex). It's also the thought process that needs to be reverse engineered, not the code itself. Without all that, you won't get nearly the same look, let alone identical.
Try diving into the source code of something like RawTherapee or darktable (coincidentally, the thought process behind the latter is thoroughly documented) to understand how complex this magic actually is. And then there's the question of patents, competition (you are always behind), and adversarial actions by Adobe. It's simply a non-starter for a business.