Download workflow: compression scheme (or lack thereof) for multiple files/folders
As originally discussed in https://github.com/ipfs-shipyard/ipfs-desktop/issues/1639: Current practice of downloading multiple files/folders results in the user receiving a .tar.gz file. Investigate and possibly implement the following to improve overall UX:
- Default to using .zip as a compression scheme since not all OSes natively support .tar.gz uncompression
- Add a prefs option for .zip vs .tar.gz for those who'd prefer the smaller files but possibly more work in uncompressing
- Opt out of compression altogether if user is just downloading something off localhost (is there a foolproof way to detect this?); this could also be a prefs option
Adding support for ZIP archive format requires changes to go-ipfs/js-ipfs.
If we want to prioritize improvements that do not require landing changes to the backend:
- Disable download compression by default Rationale: nearly all users are running local node so download is instant and compression only slows things down
- Make it possible to enable compression via Settings screen:
- Add
Filessection somewhere (maybe between Language and Analytics?) with a single checkbox option to "Enable compression of downloaded TAR archives" (unchecked by default)
- Add
- Research and document open source software that is able to open
.tar.gzand.tar.gzon each platform (macOS, Windows, Linux)- I suspect we only need a hint that is displayed for Windows users
- For the sake of discoverability, it could be a link on Settings screen, perhaps a short explainer next to/below the compression checkbox?
Mockup below. I'd recommend just explaining that the user may need a decompression app rather than creating an ongoing-maintenance item for keeping a list of third-party apps up to date.
I'm not sure if this is solved by https://github.com/ipfs/ipfs-webui/pull/1894, but we should double check before starting work on this