WordPress / gutenberg

The Block Editor project for WordPress and beyond. Plugin is available from the official repository.
https://wordpress.org/gutenberg/
Other
10.5k stars 4.2k forks source link

Paragraphs as blocks... Why? #4780

Closed webmatros closed 6 years ago

webmatros commented 6 years ago

Using the latest versions of WP and Gutenberg (2.1.0) I'm overall digging Gutenberg.

There's one big usability-issue with it, from my perspective:

All paragraphs become blocks, and while I've read around the web, GitHub, the FAQ etc, I've been unable to find a place where this issue has been brought up for discussion.

Here's how I experience the "paragraphs as blocks" paradigm:

I'm writing my text in iA Writer. I paste the Markdown into Gutenberg... and good ol' Gutenberg translates every little paragraph to a block.

Problem 1: it's common for many bloggers to include lots of short one or two sentence paragraphs in their writing. Look at posts by Chris Brogan and Derek Halpern for typical examples of this practice.

The result in Gutenberg? Lots and lots of blocks. It feels messy.

To avoid it, I've begun making soft-linebreaks / double linebreaks (SHIFT+ENTER x 2) which works, but whenever I forget, due to a lifelong habit of just pressing ENTER to create a new paragraph: a new block is born.

Problem 2: there's no easy way to combine/merge blocks into one, cohesive block.

Multiple blocks can't be moved at once. A feature like "glue/group these blocks together" a la the Ulysses writing app for Mac, is IMO essential, if Gutenberg insists on making every little paragraph (and headline) a separate block.

This is also cumbersome when considering headlines/sub-headlines: they belong to the paragraph(s) below them. Moving first the headline OR the paragraph(s) to their new place in the reading-flow, adds unneccessary cognitive overload, as one has to keep track of what belongs where. Especially taxing if it's a long text and the headlines and paragraphs have to be moved far from their original spot.

If the phone rings, or something else distracts you from what you're doing: it'll be hard to start from where you left off, because some paragraphs are still in the old spot, while others are in a new spot, and the headline is missing in one of those places.

This is further exacerbated by the "click to move" functionality of Gutenberg (opposed to a drag & drop UI which would be considerably faster to use).

Is it just me?

webmatros commented 6 years ago

Case in point: my previous post would have been 14 blocks in Gutenberg...

youknowriad commented 6 years ago

Thanks for raising this and in fact, this has been raised several times and we actually used multiple paragraphs per block for a long time in Gutenberg but after iterations, the conclusion was that the one paragraph per block is the best way to go for a block based editor where controls are at the block level. It may be disrupting at first but proves to be a stronger approach in the long run.

@jasmussen wrote about it here https://github.com/WordPress/gutenberg/issues/3629#issuecomment-346840261

youknowriad commented 6 years ago

related https://github.com/WordPress/gutenberg/issues/4222

I'm closing this issue right now, as this is something with a long history and a lot of back and forth. Reconsidering in the future is still an option.

mtias commented 6 years ago

The result in Gutenberg? Lots and lots of blocks. It feels messy.

The design guiding principle is that you don't need to know they are blocks, you just get extra tools on a per-paragraph level. (Ulysses launched a feature a few months ago where you could also move paragraphs as units.) Moving cursor through text should feel like just any other editor.

Multiple blocks can't be moved at once.

You can do this by dragging selection across multiple paragraphs and then moving with the arrow. Multi-selection is a core aspect of the Gutenberg experience.

See video example: https://cloudup.com/cvahzN9C3-9

You can include headings in the group-selection too.

Especially taxing if it's a long text and the headlines and paragraphs have to be moved far from their original spot.

This usecase is meant to be covered by multi-selection. From my experience dealing with long form content, it can also feel less fragile to select and move things around as you are not dealing with copying and pasting. Specially if you include things like images or headings among the selection.

Also work is being done to also allow drag and drop to move elements around, including multi-selection groups.

Hope this helps.

webmatros commented 6 years ago

Ooooohhh, Matias: thank you for that tip! Didn't realize I could select and move multiple blocks that way. Neat! You' da Ace (pun intended) :-)

And thanks for the link to Joen's explanation too, Riad! Much appreciated.

Keep up the good work – I'm glad those issues where imagined issues due to my severely lacking mental faculties ;-D

MillennialDIYer commented 5 years ago

Just chiming in to say that I mostly agree with the OP.

I've got nothing against the idea of blocks (even though it's not completely intuitive), but I really feel turned off by how every single paragraph is a single block. I'd much better understand if contigous pragraphs were a single block, and that dropping an image or headline in between would separate them.

Eventually I'm convinced that at the least a plugin will allow for the combining of blocks. Making every block, however small it may be, its own entity really feels like excessive micro-managing.

bhekuwenza commented 3 years ago

At first it didn't make sense.

But, that group block makes sense.

I believe at some point, there will be a plateau for building layouts/interfaces in a live manner and teams like wordpress are paving the way. Ones imagination will truly be the limit then.

... this is not to say I do not have any criticism of some aspects of Gutenberg, I will keep making site the classic way but am open to this path and giving it time to firm up. It is important to keep in mind that visual exp =/= code exp. clients wont care as much that the paragraph is a block. xD