On this reddit thread a bunch of people criticized / made fun of the fman file manager and how the author had spent over 3000 hours making it.
Some argued that making a general file manager application was “easy” and the author of fman had spent way too much time making such a simple app.
Yes, you’re wrong. Anyone who goes to make a tool as general and versatile as a file manager deserves huge respect.
Doing a UI prototype for two pane file list that lets you browse files is EASY. Making a file manager that actually helps you manage files is HARD.
Let’s see what needs to be considered when we try to COPY A FILE:
- Cross-platform
- All filesystems
- All OS versions
- Network volumes
-
Filename length limits
-
Case sensitivity
-
Special character encoding
- Handle and report errors
- Detailed progress indicator
- Estimate remaining time
- Pause/resume
- Interactive options to overwrite/skip/ duplicates
- Symlinks
- Hard links
- Correctly copy attributes, even when support varies between src/destination
- Sparse files
- Special files such as /dev/zero
- Block size (20 byte file can use 4KB of disk space)
- Quotas
- Channels
- Compression
- Encryption
- Optimize for SSD/HDD
- Optimize for same-volume and cross-volume, cross-device copies
- Sandboxing
All this must work 100% of the time, on 100% systems, otherwise someone is going to lose their data.
I don’t even know if fman actually takes care of all that, but my point is that I can imagine one could easily spend a good portion of development making JUST THIS and I would consider it a great achievement if it actually worked.
See also: The Door Problem