So last night I found that the preview generation had got a bit out of hand, with them filling my entire disk (it’s not a huge disk at present) of my test box.
So, doing the logical thing that I think any normal person would do, I -
- Disabled the preview generator app.
- removed the previews
- updated the database to reflect this
- reconfigured the preview generation to limit their size to 256x256 tops (they’re only previews, right?)
- Re-enabled the preview generator.
Which worked - and I left it chewing through the previews overnight, which it did.
Except that my NC is now a basically useless potato-cam server.
Everything that displays the images uses the largest preview as the display version.
Why?! when I click to view it, I’m not previewing it. I’m EXPLICITLY requesting the file, NOT a preview.
Who on earth ever thought this was a clever idea? It totally breaks user expectations.
The user should never be shown a preview when asking for the actual file.
What if the file has actually gone missing, and the preview is all that’s left? the user will think their file still exists, even when it does not.
Or might configure things to save space and wind up ruining their UX (low res images).
I just dont get it. The original image is there. why not serve it up?
This seems to be affecting quite a few users (most complain about “blurry images”), with some reporting that nextcloud didn’t do this in the past.
Now I guess NC devs have ultra powerful machines, with 64 core CPUs and a coupel of TB of RAM, with a GPU to match… but I think most of your users dont.
I deliberately built a low end box for mine - I dont WANT something burning megawatt hours worth of energy and heating my house in summer, just to store some files with a nice UI.
Generating previews that include the actual max-size image is a DUMB WASTE OF TIME. Its literally duplicating the original image on disk at full res. Why? I didn’t want to double the size of my already overly large photo collection.
I don’t want to buy new disks just to store duplicate data.
Is this seriously a feature, not a catastrophically huge bug that wastes an additional 150% of the space your images take up? (incl. lower res previews as well).
And the thing is - when basic functionality like this is either so broken, or so confusing, it makes me question - could the idiots that wrote code this inefficient, this lazily executed - could they actually write secure code?
Maybe they can - but every idiotic mis / broken feature I’m coming up against (and there have been a few now) erodes my confidence that any of this codebase is well written.
This problem is affecting multiple users. In fact, it’s discussed in 2018 (without resolution), in 2020 (with a bad resolution), and in 2022, we see the true attitude of NC devs - “its fine for us, so lets just warn everyone with a low end box that we cant be bothered to support them at all”, where adding a warning to the admin page if preview_max_x or preview_max_y are <4k:
I mean, freaking 4k!!! who the hell needs a “preview” at 4k?! just serve me the damn image at that size!
I need a preview of a 4K image at maybe 256 pixels ABS. MAX in the file browser. I neither need nor want a larger preview. if I want it >256px in size, I want the original. End of story.
2018: Gallery image quality is bad · Issue #444 · nextcloud/gallery · GitHub
2020: Allow loading larger preview or full-sized images in image viewer · Issue #578 · nextcloud/viewer · GitHub
2022: https://github.com/nextcloud/viewer/issues/1205
2024: When is a preview not a preview (Breaking user expectations)
TL; DR: badly thought out / sloppily executed features erode user confidence in the product. If you can’t even write a basic photo viewer, why should anyone trust your code to be internet facing and secure?