WordPress / block-directory

Block library: Timeline and plan: https://make.wordpress.org/design/2019/04/26/block-library-installing-blocks-from-within-gutenberg/
28 stars 7 forks source link

Block directory design explorations #19

Open MichaelArestad opened 3 years ago

MichaelArestad commented 3 years ago

We need a place for folks to browse and install blocks in both wp-admin and on WordPress.org. I recently proposed a prototype on the Make Design blog. I will reiterate the main points here for discussion and then go over the changes.

The prototypes

Here is an updated version of the wp-admin prototype.

And here is the WordPress.org prototype.

The block directory

The directory page is where blocks can be perused or searched quickly. You can see how the page looks in both the wp-admin context and the WordPress.org context below. The design is nearly identical with the only deviation being the page header.

wp-admin-block-directory

dotorg-block-dir

Page header

The page header on the WordPress.org page is the current standard so I will only be discussing the wp-admin version here as it deviates from the current header.

Here is what the current page header in wp-admin looks like:

image

And here is the iteration I am proposing:

image

The biggest changes regard the order of the content. With the new header, the order is page heading > page description > actions.

Block cards

Both directories contain the block cards that contain a block icon, block name, block author, and ratings. All other information will be seen on the block detail view. The preview is a square because the block’s example can vary widely in its aspect ratio.

image

The block detail view

The block details view shows all the block's plugin information. I attempted to reduce it to just the necessary information to make a decision about a block.

wp-admin-block-detail-view

dotorg-block-detail

The most useful information for a user is at the top. It includes ratings, active installations, compatibility, the block version number, and the install button.

The demo

The Demo section is an example of the block that a user can interact with. It is important the user gets a clear idea of what they’re about to install. The editor itself will be an instance of Gutenberg with some slight customization.

image

In this iteration, the editor is framed and has a few more controls like the block list and a toggle for the block inspector. The frame and additional controls will be important later on when used for patterns.

Should the demo editor have a minimum height? Should it resize to fit the content? Should the height be constant?

Reviews section

This includes the ratings and two reviews. It also provides an action to encourage a user to rate the block.

image

Mika suggested we need to come up with a way select the two visible ratings based on:

Details section

The details section show some of the more useful information in an organized grid.

image

Contributors

Just like before, it shows a list of contributors. Is this section useful? Should it be moved into advanced details?

image

Get help

I made a point to keep this section concise. It leads the user to the forum if they have trouble. In further iterations, we could maybe add a search to let the user search for their question before leaving this page.

image

Advanced details

This is essentially a toggle which, when clicked, shows the user all the charts and tools available on the advanced details page.

image

Note: I would like the charts to be the width of the column, but I couldn't get them to do that quickly for this prototype so we'll have to user our imagination here.

advanced-details

I made no major changes to the content or tools here.

Changes from the previous iteration

What's next?

I think it's time to start implementing parts of this design and iterate on specific patterns as need.

In the immediate future I plan to work out more fully:

iandunn commented 3 years ago

I like it. The one thing that stuck out to me was that the demo doesn't have a heading like the other sections, so it feels a little unclear. It's one of those things where I can guess what it is, but would feel more comfortable if there was an explicit label.

There may also be a11y issues if there isn't a semantic label? It may also be an opportunity to let people know that it's an interactive editor, rather than a screenshot.

MichaelArestad commented 3 years ago

I like it.

@iandunn Thanks!

The one thing that stuck out to me was that the demo doesn't have a heading like the other sections, so it feels a little unclear. It's one of those things where I can guess what it is, but would feel more comfortable if there was an explicit label.

That's not a bad idea. I initially dropped the label as it felt a bit out of place due to the editor frame, but I'll work one back in.

MichaelArestad commented 3 years ago

Here are a few options. The first labels the editor in the toolbar at the top of the editor. I don't love this as it's the spot we will be using for other actions in the editor around templates.

image

The label works pretty well if I remove the frame. That said, the frame adds some value in that it helps identify what is editable. I could maybe try reworking the frame a bit.

image

Perhaps something like this that is a bit of a hybrid could work?

image
iandunn commented 3 years ago

Yeah, I like that hybrid approach 👍🏻

MichaelArestad commented 3 years ago

Backing up a bit, I want to take a second to show what this could look like in an actual flow (rather than a component breakdown). Here is a prototype that goes through the flow: I am on my dashboard and I want to install a block.

2020-11-16 10 06 02

The flow is very similar to the flow for adding a theme.

  1. Go to the Appearance menu item and then to the Blocks submenu item.
  2. Click the Add Blocks button in the header.
  3. Browse for a block.
  4. Click Install. Note - I don't think blocks need an extra step to activate. I think they should be installed or removed.
  5. The block now shows as installed in the directory list and shows up in the Installed section of the Blocks page.

Prototype changes

Next steps