kitodo / kitodo-presentation

Kitodo.Presentation is a feature-rich framework for building a METS- or IIIF-based digital library. It is part of the Kitodo Digital Library Suite.
https://kitodo.org
GNU General Public License v3.0
38 stars 44 forks source link

Improving the Visualization and User Interface for Page Images #923

Open stweil opened 1 year ago

stweil commented 1 year ago

Description

Displaying page images is one of the main tasks of Kitodo.Presentation and should be as user friendly as possible.

It must support desktop and mobile devices, different screen sizes, user interaction via mouse / touchscreen / touchpad / trackball / keyboard, be responsive for different window sizes and more.

Today it is sometimes annoying. Double page view does not automatically select the correct left and right side, zooming is not smooth, and the page image can "fly" out of the visible window.

Technically Kitodo.Presentation uses OpenLayers for the images presentation. Maybe there exist better libraries that could be offered as an alternative.

Related Issues

None known.

Expected Benefits of this Development

The user experience for Kitodo.Presentation should be as good as possible.

Estimated Costs and Complexity

Depending on the improvements implemented I expect costs to range from medium (less than 10 days) to high (more than 10 days).

stweil commented 1 year ago

Demo

https://user-images.githubusercontent.com/6734573/223210855-845f9174-8c82-4fac-9405-c139738420b8.mov

stweil commented 1 year ago

I am afraid that all implementations which use Kitodo.Presentation currently show the problems which I have described above. Maybe we can add examples of better user interfaces from other libraries here as an inspiration for Kitodo.

sebastian-meyer commented 1 year ago

I completely agree with the proposal to make the page view more accessible and user friendly, but I don't think this requires changing the underlying framework. OpenLayers already offers all the features we need including support for touchscreens/touchpads, responsive designs, restricting zoom levels according to image resolutions, always keeping the image inside the viewport, etc. In fact, support for touchscreens and responsive designs are already implemented in Kitodo.Presentation - the issue here is that most instances of Kitodo.Presentation don't restrict touch input exclusively to the page view, leading to an awkward experience where for example pinch-zooming not only zooms the page image, but also the surrounding layout resulting in seemingly uncontrolled zooming jumping between different zoom levels.

I suggest keeping OpenLayers, but improving its integration with Kitodo.Presentation in order to address the usability issues.

sebastian-meyer commented 1 year ago

Votes: 2

stweil commented 6 months ago

Please add the label for development fund 2024.

sebastian-meyer commented 5 months ago

Votes: 0