nextcloud / gallery

DEPRECATED Gallery app was replaced by Photos
https://github.com/nextcloud/photos
GNU Affero General Public License v3.0
109 stars 58 forks source link

Add HD option which would send the original pictures to the slideshow #38

Closed oparoz closed 8 years ago

oparoz commented 8 years ago

From @oparoz on June 27, 2015 13:24

On mobile, most people would not want their 4000x4000 pictures to be used in the slideshow as is, but on desktop, some people would prefer to use those since they would be better fitted for the zoom feature. I wouldn't want my slideshow to serve HD pics, as it would mean waiting longer for each picture, but I can understand the people who do.

So, the solution is to add an optional HD option to Gallery.

3 solutions:

Comments and sponsors welcome as it helps prioritise issues.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#193

oparoz commented 8 years ago

From @jospoortvliet on August 9, 2015 8:33

I have a thought on this, having just spend a while watching pics and occasionally downloading them to see the full one. I like the current behavior - these pics were 10MB or so and having to wait for that to be downloaded on each click on 'next' is not useful.

But sometimes, I wanted to zoom in on something, see some details and then - the limited resolution and jpeg artifacts become painfully visible. So I download the pic and use my image viewer - a workflow which feels awkward and unneeded.

What about lazily loading the high quality image when the user starts to zoom in and pan around? When the user zooms, he/she clearly wants to see more detail - how about giving it to them?

That way, loading pics is still fast and nice but you have quality when you want/need it, at the price of having to wait a few secs at most before the zoomed in image becomes clearer. But people will figure that out quick enough and it is nice and obvious... Andno need for options - it does the right thing when you need it. Also, it works just the same on mobile, I think.

But then don't limit it to 4000x4000 or so - no, start to download the full, original picture when the user starts to zoom in and replace what he/she is looking at when done. Then you have maximum clarity.

oparoz commented 8 years ago

Many thanks for the feedback :)

1) I don't think lazy loading will work, because users will be unaware of what is going on until they get a better preview and try to replicate the behaviour

2) Doing such things in the background could have adverse consequences for people on a mobile plan with limited data

3) The app would need to automatically abort and clean up every time the user clicks "next" or we could run into a protocol limit

This is taking into consideration the worst case scenario where a user is browsing pics taken with an 18+MP camera.

There is an elegant way of solving all these problems since Bigshot was designed to be able to zoom in like in any maps app, but this requires pre-processing all pictures, using a java applet... I don't think many people will use that feature, but it could be developed on request.

So I still think letting users be in control and letting them download the HD image, with a nice progress meter is a better solution.

oparoz commented 8 years ago

From @godfuture on August 14, 2015 9:39

Well, I guess reducing the picture quality is fine for previews, but for viewing a single picture (when clicking on it) or opening in slide show, it is a pity to get pictures presented in bad quality.

Therefore I suggest to add another setting in config.php that is meant to control the max pixel size when opening and showing in slide show. By this the user might decide how long to wait or what quality fits his needs.

oparoz commented 8 years ago

Well, they're not presented in bad quality if you use the default 2048x2048, but yes, it takes longer to generate all thumbnails of that size versus using 150x150. That value is too low btw, because this app needs 400x400 thumbnails to operate properly.

I've updated the OP to describe 2 different things we can do.

oparoz commented 8 years ago

From @jospoortvliet on August 22, 2015 10:35

@oparoz another option might be to show a progress bar when ppl zoom in, telling you're downloading the full quality image. With a cancel button... people will then understand quickly enough what, how and why and it avoids options and buttons ;-)

Not that a 'HD' button isn't an improvement over the current situation, but I'd be most delighted with it being automatic as much as possible.

I wonder what @jancborchardt thinks?

oparoz commented 8 years ago

@jospoortvliet - That could work since I don't expect people to zoom on every picture.

oparoz commented 8 years ago

From @jancborchardt on August 24, 2015 12:9

Yeah, I like @jospoortvliet’s suggestion too! :)

oparoz commented 8 years ago

From @jospoortvliet on August 25, 2015 7:53

OMG @jancborchardt likes something I said or did... Quick, somebody FedEx some proper clothes to the devil ;-)

oparoz commented 8 years ago

Hehe, his job is hard

oparoz commented 8 years ago

From @Spacefish on August 26, 2015 13:15

It would be nice if the gallery has some fixed sizes of images it uses. So for example for a 1024x768 screen a 1200x1200 version is used. Currently if you set your Browserwindow too 1000x500 an 500 height version of the image is generated.. if you set your window to 1000x499 a 499 Version is generated on so on.. However a 700px version could be used down to 200px or something like that.. Otherwise gallery need to regenerate all images for each user visiting the gallery, cause they have slightly different browser window sizes...

oparoz commented 8 years ago

From @jancborchardt on August 26, 2015 13:42

@oparoz @DeepDiver1975 does that make sense? ^

oparoz commented 8 years ago

We already round to the nearest hundred in order to not have too many previews, but the real solution is currently in core's backlog: https://github.com/owncloud/core/issues/8196 has been abandonned by the core team

oparoz commented 8 years ago

From @beingalink on December 6, 2015 12:45

Looks like the real solution is off radar now. I'd suggest as an intermediate solution option #2 "HD button in the slideshow for on demand originals". An overlay button to load the original image would be a nice to have and it's currently not like the overlay interface would be overloaded with options.

My use case is images with extreme ar like snapshots from websites. The generated previews are useless in this case.