Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplified experience for writing #5283

Closed
schlessera opened this issue Feb 27, 2018 · 20 comments
Closed

Simplified experience for writing #5283

schlessera opened this issue Feb 27, 2018 · 20 comments
Labels
[Feature] Writing Flow Block selection, navigation, splitting, merging, deletion...

Comments

@schlessera
Copy link
Member

I see the Classic Editor as being an optimization towards writing linear text. This has long been the reason why people installed page builders, as they didn't want to write linear text, they want to compose more visually complex pages.

Gutenberg now optimizes towards these visually complex pages. The block-based interface lets you quickly create elements and drag them around.

However, now you will hear more and more people from the other camp complain, as there's still a big need for writing linear text as well. Having a "Classic Editor" plugin that we communicate as being the "discouraged fallback" does not cut it for them.

I also feel that whatever tweaks we will make to the block-based editor, it will never be a pleasant experience for people just interested in writing linear text. Yes, they will somehow be able to achieve this, but it will be neither enjoyable nor productive.

Making the current Gutenberg reactive UI mandatory as a way forward makes perfect sense. However, forcing block-based layouts on all content does not.

I'm looking forward to be able to use blocks provided by Core for my simple layout needs. But I dread having to write my regular block posts with the current block-based editor, as it takes me 2-3x the time to do so.

This is why I suggest building a simplified experience that puts the page content into one single block (using the Classic Editor block). In this simplified experience, we can do away with the block insertion, the drag&drop handles, etc... It will be one single block, just like the Classic Editor before was one single block. However, we can still have all the reactive UI around it. It might need a few conditional adaptations to position the toolbar, but other than that, it can be a good compromise of both worlds for people just wanting to write. And they can still convert it into a regular, block-based page layout with one click.

This would also much improve the onboarding experience, as you could show a dialog on first use to let people choose whether to default to the simplified experience or the block-based editing.

The entire goal is to support both linear writing as well as visually complex page layouts, but have the reactive UI for both.

The web isn't about complex layouts only, just as it wasn't about strictly linear content only 10 years ago. It's great that we now support more complex layouts, but why get rid of the simple ones in the process?

@schlessera schlessera added the [Feature] Writing Flow Block selection, navigation, splitting, merging, deletion... label Feb 27, 2018
@schlessera
Copy link
Member Author

schlessera commented Feb 27, 2018

Note: It is very probable that this would also improve adoption rate of the Gutenberg interface, as less people will have an incentive to keep the Classic Editor plugin around.

@robin-scott
Copy link
Contributor

I think this would be a great idea for those of us who are "just blogging" using WordPress; and it may also smooth the transition for most clients who are only really a little familiar with the process of adding content, for example, in business contexts. Blocks may be a step too far for some users - and if they aren't needed, a simple text-based option (ideally configured to be default - perhaps on a per-user basis) could be a great add.

@bph
Copy link
Contributor

bph commented Feb 27, 2018

After using Gutenberg multiple times a day for blogging, I don't feel I want to go ever again back to the old editor. It's clunky, its overwhelming and it's slow. In Gutenberg there are a few things, that don't work right yet, that trip me up quite a bit, and sometimes I can't just file another issue because I need to get my work done and my post published. For instance, the 'normal' keyboard combinations like command shift arrow keys on a mac for highlighting text need to be working consistently for all the blocks.
I have adjusted to the new editor fast and it makes me so much more productive. Every time I need to create new content on a site that doesn't have Gutenberg installed, I feel miserable.

@felixarntz
Copy link
Member

I am all for an easier writing experience, however I don’t think a somewhat extra mode with all the content in one block should be the answer.
Instead I‘d prefer the existing functionality to embrace the simple writing functionality more. I don’t mind having controls like “Insert Block” available as long as I can still just write. What I consider essential for this:

  • When you press Enter, a new paragraph block is automatically created and the cursor jumps into it. ✅
  • Basic Markdown should be supported for headings, links and lists at least. ✅
  • You should be enabled to change the paragraph to be a heading or list via the UI quickly. ❌

To have a better foundation for leading this discussion, could you list some particular problems you encounter @schlessera which make your writing flow slow?

@schlessera
Copy link
Member Author

I'm not talking about power users here, or what I think the editor should do.

Telling users to "use markdown" or whatever other hacks we include to make it faster is just not an option for a large part of the audience. I think the entire UI is focussed on (web) information workers right now, yet a lot of WordPress sites get their content by people that were just told by their boss to "get the content online". I expect that a lot of them would be completely overwhelmed by the current experience, no matter how many keyboard shortcuts you hide beneath the surface.

There are other tickets that already discuss how close or how far the editing is to what text editing is expected to be (patterns that people have learned for decades). Please don't let this ticket devolve into another collection, and discuss the merits of providing an editing experience not optimized for layout modification in addition to what we have now.

The change I suggest is not an alternative interface, and doesn't need big changes. Everything that is needed is already there. It just provides a stepping stone between old visual editor and new layout builder.

@schlessera
Copy link
Member Author

schlessera commented Feb 27, 2018

Also, related to the "improving existing functionality instead of adding another one"...

AFAIK, the current way of how blocks behave (which goes against how a line-based editor deals with paragraphs) is a design decision and meant to be that way. And I even agree with the reasoning behind that. The simple fact is: layout editing is not text editing (or block-based editing is not line-based editing). Trying to cram everything together just ensures we end up with a mediocre end result. Why not just properly account for both use cases with separate optimizations?

@robin-scott
Copy link
Contributor

I am all for an easier writing experience, however I don’t think a somewhat extra mode with all the content in one block should be the answer.

Not sure that a solution was proposed, or if this was it?

If Gutenberg makes it as easy as possible to write "simple content" for those who wish to do so, this is a Good Thing?

In any case, putting "hoorays" and "boos" to one side, this idea, for me, has merit and is worth thinking about. An optional, "I only want to write simple text" (am aware this is a simplification, and I hope am not hijacking/changing what @schlessera was driving at!) mechanism. Of some kind.

"I like Gutenberg" isn't really a reason to not make something that allows for the above?

@bph
Copy link
Contributor

bph commented Feb 27, 2018

"block-based editing is not line-based editing"

Once in while, I get tripped up in between my writing tasks when I just want to change a line but I am changing the whole block.
I just want to change one line to italic but not the whole block, or I just want to make this one line a sub-header but not the whole paragraph. I want to use this line as a quote but not the whole paragraph. Is that what you are experiencing, too? @schlessera ?

only examples trying to understand. I am not saying this is happening with Gutenberg

@felixarntz
Copy link
Member

I still think the problem hasn’t been clearly defined yet. Which parts of the regular writing experience in particular are slow in Gutenberg, and why were they faster in the old/current editor?

@brianhogg
Copy link

Personally I can't stand the fact that by default, hitting enter creates a new paragraph "block" when I'm just drafting out some content. It should create a content block then, when the user choses to for whatever reason, let them create another content or other block underneath it. Editing an existing old post where the content is within a single content block works great and IMO should be the default.

@planetahuevo
Copy link

Love this Idea.
I just completed a project where I though I was going to use "Select your builder" and I end up using the classic editor for the content of the custom posts.
Sometimes we want to complicate things that are not that complicated.

@rosswintle
Copy link
Contributor

I'd join in support of this. My thoughts already written up at https://rosswintle.uk/2018/01/wordpress-gutenberg-user/

I did, eventually, find the "Fix toolbar to top" setting, which improved matters, but that option is not easily discoverable. I too would like the block editing UI to just get out of the way when I'm just writing.

I totally agree that if I'm building a complex page with different elements then Gutenberg will be great, and unifying that experience across sites by having it in core will be amazing, but if I want to just write, Gutenberg gets in the way.

@danieltj27
Copy link
Contributor

Agree with @rosswintle here. I've had very mixed feelings with Gutenberg and I've found myself leaning more towards the pre-Gutenberg side but trying to writing standard, no-frills text content is difficult at times. There needs to be a way to simplify the way text blocks are done.

My opinion is that paragraphs should be split into separate text blocks so you can move them around easily. From my previous experience using Gutenberg, I wanted to press enter to create a new text block and it didn't do that. I'd like to feel like I'm using something at least similar to Medium and their editor when using Gutenberg considering that's one of the flagship reasons for the whole project and inspiration.

I'm all on board with Gutenberg, I just think the kinks need to be worked out for those that really do want a stripped back writing experience for text and code. It's super obvious when you know, but I was expecting a 'code' block, not a 'preformatted' block which at first confused me although technically correct usage of the name/term.

@mtias
Copy link
Member

mtias commented Mar 6, 2018

This is why I suggest building a simplified experience that puts the page content into one single block (using the Classic Editor block). In this simplified experience, we can do away with the block insertion, the drag&drop handles, etc... It will be one single block, just like the Classic Editor before was one single block.

@schlessera I think this is valid and should be easy to do with the defaultBlock setting—but also probably something to leave for a plugin, as in my experience testing, when a user finds themselves in the Classic block they can't tell they are in a different mode and miss not having arrows, etc, to reorganize. (See motivation for #4948 ).

I can totally see a plugin setting up Classic block as the default block if that's what you prefer.

@brianhogg
Copy link

This is not only for a better UX but also for accessibility, #179 gives a lot of interactions that are a huge pain to do with the keyboard when hitting Enter creates an entirely new block. Of the testing I've seen paragraph re-organization was not very useful or needed.

I'd vote the classic block should be the defaultBlock with a filter to change if plugins wish.

@mtias
Copy link
Member

mtias commented Mar 6, 2018

Why does it matter that it creates a new block?

@brianhogg
Copy link

#179 gives a good point-by-point of the exact mouse/keyboard interactions that are broken when new paragraph blocks are created, but essentially it breaks the writing flow when you can't select text between paragraphs and the previous paragraph is covered up by the toolbar. It "gets in the way" when I'm just trying to draft my ideas and write content.

@mcsf
Copy link
Contributor

mcsf commented Mar 11, 2018

I'd like to add a bit of my perspective, one I believe to be shared by a good bunch of the most frequent contributors to the project. I'm seeing the term layout used frequently throughout this discussion, and notably layout editing. However, in essence, Gutenberg and its blocks are not about layout, but about meaning: x can be text or an image, but now our content can have more specific meaning depending on what we are writing: x can be a quote or a captioned image.

If I'm blogging, the above is already a welcome help: these semantic blocks give me a number of things for free: styling (block-type-specific and block-instance-specific CSS), dedicated options (e.g. quote attribution), and perhaps some welcome containment, structure. If I blog about specific things, maybe I'll look for plugins that provide more specific blocks for my domain: for instance, assume I'm a hobbyist film critic, and my blogging needs include displaying and distinguishing film posters from actor portraits—these are both ultimately images, but with Gutenberg WordPress is aware of their semantic differences.

Layout, in my scenario, is irrelevant. I may want to move things around once I'm done writing, but layout tooling should never get in the way of linear content creation.

Now, the point of this comment is, by no means, to claim that Gutenberg offers the perfect experience. Instead, the goal is twofold: 1) to reassure that there is widespread consensus in developers that just writing should very much be privileged, and 2) to make the case for block-based editing even when one isn't interested in layout (aside from improving user experience, the heightened document semantics means a greater potential for reader-facing (not just editor-facing) accessibility improvements, styling, SEO, and opens the door for third-party plugins to do fancy things with this knowledge).

This is why I don't believe that a separate mode for linear text is a good solution, nor defaulting to the Classic block (though, as Matías said, I could see that default offered as a plugin). And, as unexciting as it sounds, I believe the way forward is indeed through yet more refinement of editing flows. I too share some frustrations when editing text in Gutenberg, but none seems unsolvable.

@mcsf
Copy link
Contributor

mcsf commented Mar 11, 2018

Things like not having cross-paragraph text selection are, I agree, surprising. There have been explorations to solve it, but from a design perspective there are more things to consider. For what it's worth, here is a detailed comment from @jasmussen that weighs different factors: #3629 (comment). To me, a way to minimize the need for cross-paragraph selection could be to make sure merging and splitting lines is smooth and predictable across the board.

@karmatosed
Copy link
Member

As we focus on phase one this is something for now not being explored. I will add we can always reopen any issue if needed, but focusing is also important.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Writing Flow Block selection, navigation, splitting, merging, deletion...
Projects
None yet
Development

No branches or pull requests