internetarchive / bookreader

The Internet Archive BookReader
https://openlibrary.org/dev/docs/bookreader
GNU Affero General Public License v3.0
969 stars 412 forks source link

Allow swiping of pages in Bookreader to advance #73

Open mekarpeles opened 6 years ago

mekarpeles commented 6 years ago

Kathleen's first interaction was to swipe a page to progress on Bookreader and it did not advance the page.

LeadSongDog commented 6 years ago

This seems like a common human interface problem, not just for Bookreader. Each platform has its own usual way of commanding paging that users expect. Sometimes it's a physical button or icon (e.g. kindle), sometimes a swipe (e.g. iOS, or hathitrust one-up), sometimes an edge-of-page click (as here, or hathitrust two-up), sometimes multiple options (e.g. Gbooks/Win7 for grab-drag or scrollbar, Gbooks/iOS for swipe or scrollbar). There are accessibility standards for user agents: https://en.wikipedia.org/wiki/Web_Accessibility_Initiative#User_Agent_Accessibility_Guidelines_(UAAG) points us to https://www.w3.org/TR/UAAG20/#gl-sequential-navigation Recommendation 2.7 seems to be the pertinent bit for this discussion's purpose.

dylan-k commented 5 years ago

I would also vote for a swipe interaction to turn pages. When we install a bookreader in the galleries of the museum, most users try to use the interface in this way.

rajbot commented 5 years ago

Swipe on iOS used to work.. Is it broken?

https://github.com/internetarchive/bookreader/blame/af0d21db3fcdebc33c9f3c17bd5f61c7c9c9d50d/BookReader/BookReader.js#L3821

dylan-k commented 5 years ago

Tapping works but I'm not sure about swiping. I'll test it out with the latest version to be sure. It could be that we were using a much older version.

rchrd2 commented 5 years ago

That's so cool that BookReader is being used in galleries in museums. I agree that this gesture makes sense in 2up mode. However, not for 1up or grid mode.

I just tried on an iphone and swiping to turn pages doesn't work at the moment.

dylan-k commented 5 years ago

We use it to display digitized versions of medieval manuscripts, Korans, and other beautiful books in the collection. Visitors love to be able to look through the entire book, while the real thing has to be protected in a case with only one opening visible.

I tested it on an ipad this morning with the latest version and swiping didn’t work there either.

rchrd2 commented 5 years ago

@dylan-k this is tangental, but how are you embedding it? Are you using archive.org embed, archive.org api's, or images, or completely standalone with your own images?

dylan-k commented 5 years ago

@rchrd2, The way I embed it, the HTML looks very much like the demo-fullscreen example. The javascript is slightly modified from the demo BookReaderJSAdvanced.js

You can see the actual implementation, over in the "silk-book" branch of the project at https://github.com/WaltersArtMuseum/book-kiosk/tree/silk-book The images are all stored in a nearby directory, /assets/book in this case, so that the whole project can be installed locally on an offline ipad.

(This is still very much a work in progress, by the way.)

dylan-k commented 4 years ago

@rchrd2 With apologies for the extreme delay, we've had occasion to use Bookreader again at the Walters, but once again the swipe doesn't seem to be working on an iPad. Is there anything special to configure for this perhaps? I can show my work if it helps to diagnose.

Some details: I'm using v4.50 via the browser built-in to the Kiosk Pro app for iPad. When the pages are displayed vertically, the swipe gesture works as expected, but when the pages are displayed 2-up, the swipe doesn't work to turn the pages. A tap does work though.

RayBB commented 5 months ago

@cdrini do you feel this would be a difficult issue to implement for someone who is new to the codebase?