-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Currently, I've neglected a critical part of Raves' design: how the heck do we avoid losing media files?
Many popular gallery apps are completely fine with losing media files, especially since they lack the high-quality metadata that Raves intends to support. However, Raves is fundamentally different in design from these applications, instead preferring a rich metadata selection for each media file.
To maintain app performance within these conditions, we need to decide how we track files, as it fundamentally affects the app's design.
Two Options
In my view, the choice is between these two options:
- "Marking": Attach a UUID to all media files upon scanning.
- "Losing": Accept the performance and usability harms of file loss.
My Preference
I think that file marking is the only possible way to continue. Raves would lose a significant amount of performance, usability, and utility by lacking a proper way to track files across moves, copies, and backup restorations.
Tagging each known file with a UUID allows the database to use its PRIMARY KEY mechanism properly.
There are a couple of notes, however...
User Comfort
Some users may be uncomfortable with directly tagging media files with a unique identifier. For these users, some "export without metadata" option might be desirable.
Copies
When a user copies a marked media file, there are now two files sharing a UUID. We'd need to provide some duplicate detection mechanism to create a new UUID for one of them.