Making WordPress.org

Opened 8 years ago

Last modified 21 months ago

#2273 assigned enhancement

Screenshot UI for plugin directory

Reported by: hlashbrooke's profile hlashbrooke Owned by: ryelle's profile ryelle
Milestone: Q2 Priority: normal
Component: Plugin Directory Keywords: ui-feedback 2nd-opinion has-patch needs-design-feedback
Cc:

Description

The screenshot UI in the new plugin directory is good, but it could do with a couple of tweaks to make it more streamlined.

I'll refer to this plugin of mine as an example as it has a lot (too many!) screenshots: https://wordpress.org/plugins-wp/seriously-simple-podcasting/

  1. The number of screenshots should be limited. I believe this has been discussed before, but a limit of 4-6 images would be best I think. Once that is done, then the thumbnail carousel images should be resized to fit exactly the maximum number of screenshots under the displayed image.
  1. When the displayed image changes, the image height should be changed with an animated slide (even if it's a fast one) to prevent jarring UI changes when images of vastly different heights are used.
  1. We should add a lightbox to the displayed image so people can see it more clearly in cases where the image contains small text. Something like the Featherlight lightbox library might be good as it has a very minimal UI that won't look out of place in the new directory.

Those updates would make the screenshot UI a whole lot smoother and easier to use.

Attachments (3)

2273-1.diff (12.1 KB) - added by ck3lee 6 years ago.
2273-1.gif (1.5 MB) - added by ck3lee 6 years ago.
2273-2.diff (6.2 KB) - added by MarcosAlexandre 4 years ago.

Download all attachments as: .zip

Change History (36)

#1 in reply to: ↑ description @chriscct7
8 years ago

Replying to hlashbrooke:

  1. The number of screenshots should be limited. I believe this has been discussed before, but a limit of 4-6 images would be best I think. Once that is done, then the thumbnail carousel images should be resized to fit exactly the maximum number of screenshots under the displayed image.

I think your plugin shows the usecase as to why there shouldn't be a limit. Screenshots are supposed to provide users context to a plugin, like being able to see what options do and don't exist, and how things will be output. Limiting screenshots seems counterintuitive to a goal of making the directory better for the end users, who by definition are on the directory trying to find a plugin that meets their needs. If the number of screenshots is limited, on certain plugins, particularly ones with more settings than others (WooCommerce, EDD, any caching plugin, etc), it will be significantly harder for users to gauge if they've found the right plugin without needing to install it to see.

#2 follow-up: @chriscct7
8 years ago

A good example is the plugins page for Easy Digital Downloads. It demonstrates the types of screenshots users expect to see for an eCommerce plugin:

  • What does the checkout screen look like
  • What does the reporting look like
  • What does the edit order screen look like
  • What does the edit product screen look like (and what options are there)
  • What settings does the plugin offer
  • How flexible are coupons
  • etc etc

There's a lot more than 6 screenshots needed for a user to answer these relatively basic questions about a plugin.

#3 in reply to: ↑ 2 @hlashbrooke
8 years ago

@chriscct7: Yeah fair point - allowing a ton of screenshots isn't a huge issue really, just so long as the UI for viewing them can handle it. Right now, they all stick off the right of the viewport, which really isn't ideal at all. We would need to work out a better way to display them.

#4 @chriscct7
8 years ago

Instead of having 1 large image + tons of tiny images in a row underneath it, perhaps have a grid of images 3 - 5 columns wide per row, with the ability to click to expand on an overlay. This would allow for tons of images to be handled.

#5 @chriscct7
8 years ago

Now that I think of it, the issue that will run into is the images can be different ratios. Perhaps a masonry style grid?

#6 @hlashbrooke
8 years ago

Something that I thought of that could work nicely is larger thumbnails in 3 columns using a masonry layout (so the ratios don't matter) and then clicking on them pops up a lightbox. That would give you a way to see all of the screenshots at a glance without even having to click on anything, but it would also allow for viewing them in greater detail.

So screenshots of a widget UI would be pretty easy to see without expanding, but if it's a screenshot of a longer settings screen then the user could click on it.

This ticket was mentioned in Slack in #meta by tellyworth. View the logs.


8 years ago

#8 @tellyworth
8 years ago

  • Milestone set to Plugin Directory v3.0

Here's an example of screenshots that would benefit from some way to zoom, as suggested in (3):

https://wordpress.org/plugins-wp/string-locator/

This ticket was mentioned in Slack in #meta by tellyworth. View the logs.


8 years ago

#10 @tellyworth
8 years ago

  • Milestone changed from Plugin Directory v3.0 to Plugin Directory v3 - Future

#11 @Goran87
8 years ago

Clicking on the image has same effect as a lightbox, except that its not lightbox. Its pretty confusing, i tried to hit escape, then was looking for close button untill I hit back. I definitely agree that there should be some kind of simple lightbox, or to have it open as standard image in browser, current solution is very confusing to the end user.

#12 @brianhogg
8 years ago

I also ran into this yesterday, hitting escape and clicking around thinking I was still on the plugin page. Should either be in a lightbox or remove the link to the full image for the time being?

#13 @lukecavanagh
8 years ago

Using something like this would be a lightweight option for a lightbox.

https://github.com/noelboss/featherlight/
https://github.com/nicolas-t/Chocolat

This ticket was mentioned in Slack in #meta by tellyworth. View the logs.


8 years ago

#15 follow-up: @kevinwhoffman
8 years ago

I feel we need a real lightbox solution to improve the experience. I'd like to suggest Magnific which does several things really well to solve some of the issues mentioned above:

  • Elegant lightbox UI
  • Keyboard-accessible (focuses correctly on popup, arrow navigation, escape to close)
  • Touch-enabled
  • Supports captions
  • Supports galleries
  • Keeps the gallery experience on one page (current implementation launches an entirely new page per image)
  • Allows user to navigate from one zoomed-in image to the next without having to exit back to the main page in between

Check out the Lightbox gallery example on this page: http://dimsemenov.com/plugins/magnific-popup/

This ticket was mentioned in Slack in #meta by kevinwhoffman. View the logs.


8 years ago

#17 in reply to: ↑ 15 @lukecavanagh
8 years ago

Magnific Popup does look very solid, the JS is a bit bigger than the two other previous examples, around 19kb, but it does handle a lot.

Replying to kevinwhoffman:

I feel we need a real lightbox solution to improve the experience. I'd like to suggest Magnific which does several things really well to solve some of the issues mentioned above:

  • Elegant lightbox UI
  • Keyboard-accessible (focuses correctly on popup, arrow navigation, escape to close)
  • Touch-enabled
  • Supports captions
  • Supports galleries
  • Keeps the gallery experience on one page (current implementation launches an entirely new page per image)
  • Allows user to navigate from one zoomed-in image to the next without having to exit back to the main page in between

Check out the Lightbox gallery example on this page: http://dimsemenov.com/plugins/magnific-popup/

This ticket was mentioned in Slack in #accessibility by kevinwhoffman. View the logs.


8 years ago

This ticket was mentioned in Slack in #meta by kevinwhoffman. View the logs.


8 years ago

#20 @melchoyce
7 years ago

  • Keywords ui-feedback added

#21 @tellyworth
7 years ago

  • Keywords 2nd-opinion added

#22 @tellyworth
6 years ago

  • Milestone changed from Plugin Directory v3 - Future to Q2

@ck3lee
6 years ago

@ck3lee
6 years ago

#23 @ck3lee
6 years ago

  • Keywords has-patch added; needs-patch removed

Attached a patch attachment:2273-1.diff with screen capture. I hope to get some dev and UI feedback first before working on final patch.

  • Still a WIP.
  • Fix the bouncing height issue. The drawback of this is a smaller.
  • Add lightbox for fullscreen view. There is still CSS work to do for the fullscreen view
  • Improve on accessibility with keyboard nav for previous and next buttons - without hover.
  • Looks like existing code is in React and was a fork of this package https://www.npmjs.com/package/react-image-gallery. So, I kept try to keep it the same by using this library.

#24 @ck3lee
6 years ago

  • Keywords needs-design-feedback added

This ticket was mentioned in Slack in #design by karmatosed. View the logs.


6 years ago

This ticket was mentioned in Slack in #design by karmatosed. View the logs.


6 years ago

#27 @SergeyBiryukov
5 years ago

#4743 was marked as a duplicate.

This ticket was mentioned in Slack in #meta by tellyworth. View the logs.


5 years ago

#29 @MarcosAlexandre
4 years ago

@ck3lee Thanks for your patch! As the ticket has been open for some time, there have been updates to the react-image-gallery package, so I made some minor adjustments:

I changed the version in the package.json file to 1.0.7 and also made some adjustments to the image-gallery-lightbox / style.scss file name. If you can test that everything is still right on your side, I will be happy ;)

@SergeyBiryukov Although this ticket is not a priority, it has been open for 4 years to correct the usability of the plugins page. How can we move this ticket forward?

#30 @ryelle
3 years ago

  • Owner set to ryelle
  • Status changed from new to assigned

This ticket was mentioned in PR #67 on WordPress/wordpress.org by ryelle.


3 years ago
#31

This PR uses the previous work done in 2273 + react-image-gallery to improve the screenshot UI.

The improvements:

  • The screenshots are now a consistent height, which prevents content jump.
  • This library also provides a "lightbox" view for viewing larger images at full-size.
  • The keyboard navigation experience is also improved: next, previous, and full-screen buttons all have focus states.

Unfortunately, there are issues too. The transition CSS on RTL pages is a little janky, and the labels used in the library are also not available for translation, so non-English screen reader users will still hear English labels.

Screenshot UI:
https://i0.wp.com/user-images.githubusercontent.com/541093/158475727-46ce9eeb-dab5-4264-bda1-ebdd15ba78f1.png

The thumbnail nav on RTL + many screenshots ends up veering offscreen somehow, I think the offset logic must be wrong in react-image-gallery, or the CSS here conflicts with it somehow.
https://i0.wp.com/user-images.githubusercontent.com/541093/158475733-d62e947e-9305-4a7d-a49a-50d99a7f54a7.png

Fullscreen (lightbox) view:
![](https://user-images.githubusercontent.com/541093/158475718-eec85bdb-8d4c-4d06-8a34-a6752ee64e1c.png)


https://meta.trac.wordpress.org/ticket/2273

#32 @ryelle
3 years ago

I've attached a PR which updates the react-image-gallery approach — I almost committed it, but you can see in the PR, there are some issues with RTL and translations that make me think we should revisit this library. Maybe there are some gutenberg components we can use instead?

#33 @dd32
21 months ago

#6896 was marked as a duplicate.

Note: See TracTickets for help on using tickets.