Over time for one reason or another electronically stored photos have been replicated on numerous different devices (phones, PC’s, laptops, tablets, servers and backup disks).
The Problem
- Unnecessary storage space is consumed
- It is difficult to know where all the family photos are
- It is time consuming trying to sort and catalogue photos
I want to find duplicate photos on my system so that I can delete them. I don’t want them auto-deleted.
Project Aim
To find and consolidate electronically stored photos, listing duplicates allowing for manual review and deletion as required.
Considerations
Duplicate Photos
These are two files that have the same file contents – the same pixels.
- The dates might not match – sometimes dates are changed when files are copied, but they still could be duplicates.
- The file sizes might not match – for underlying technical reasons relating to storage, but they could still be duplicates.
- The file names might not match – especially if someone has been renaming photos, but we still want to identify them as duplicates.
Presentation
- Before we start, the user will consolidate photos into a single area on the computer.
- We need to tell the app where to look for these photos.
- The tool will then run through the folder checking for duplicates.
- When it is finished, it should list file paths to files that it has identified as being duplicates.
Functionality
- The results need to persist, so we can relaunch the app at a later stage and see the list again.
- As the process will take a long time the process must be interruptible or abortable.
- If it is interrupted, it should remember where it is up to, so that it can be resumed at some point in the future.
- If it is aborted, it should not keep any information about the files that it has collected so far..
Limitations
- We’re not going to use AI or vision.
- There is a small chance we might mis-call photos, so it is essential that files are checked by a human.
- This is not going to work on a phone.
- A phone app is a different setup, requiring layers of complexities which are specific to the local system.
- You can plug your phone into a computer and it will work that way.