-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Proposal: Document defining Gutenberg Principles #30963
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
Changes from 1 commit
3b4d8ce
1512b67
0c8847f
d6db504
5e8d288
219f0af
5e744d9
1a648ba
f8a44af
e7b3960
f53db28
b8e217f
9b4eade
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,3 @@ | ||
|
|
||
|
|
||
| # Gutenberg Principles | ||
|
|
||
| This document has been written so that those contributing to the Gutenberg project can have some understanding of what guides decisions around what is included in the project (or not). | ||
|
|
@@ -11,35 +9,26 @@ When applied, sometimes these principles build on each other much like the idea | |
|
|
||
| ## A canvas for expression. | ||
|
|
||
| _“Optimize for the user” (Matias - [Gutenberg or the Ship of Theseus](https://matiasventura.com/post/gutenberg-or-the-ship-of-theseus/))_ | ||
| _“Optimize for the user” (Matías - [Gutenberg or the Ship of Theseus](https://matiasventura.com/post/gutenberg-or-the-ship-of-theseus/))_ | ||
|
|
||
| The block canvas is the primary interface and brings about the expectation of *direct* manipulation. Blocks can define multiple states, variations, and can mutate. The canvas of the block should: | ||
|
|
||
| ### Guide users around interacting with the content. | ||
|
|
||
| For this, the interface needs to welcome exploration and to be able to teach its affordances intuitively. It should result in experiences producing "aha!" moments when users create their content (see [here for an example](https://twitter.com/colemank83/status/1371846826664591364)). | ||
| For this, the interface needs to welcome exploration and to be able to teach its affordances intuitively. It should result in experiences producing empowering "aha!" moments when users interact with it (see [here for an example](https://twitter.com/colemank83/status/1371846826664591364)). | ||
|
|
||
| Interactive tools should be contextual when needed, and focus on supporting the user in creating their content - present when needed and getting out of the way when not. | ||
|
|
||
| ### Uniformity within diversity | ||
|
|
||
| Learning the ingredients of the interface happens once, but scales to hundreds of blocks. Users should be able to *rely on muscle memory and learned patterns* as they become more familiar with the interface. | ||
|
|
||
|
|
||
| ### Accessible | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This one feels a bit odd as it's more of a general principle of WordPress at wide and not specific to Gutenberg. If anything, it should build upon the two other axis of "canvas for expression" and "uniform yet diverse" to embrace the fact users interacting with the software have distinct characteristics and preferences for how to use said software.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There's also something important missing here which is how the software can help users build better websites that are semantic and more accessible. That is, respect for the viewers as well as the creators.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This is definitely something that isn't capture well in the current iteration that should be included ❤️
While I agree it's a general principle of WordPress, I also think it's important to call out the distinctive nature of accessibility in the context of Gutenberg. I like how you reflect on describing this as software accommodating users with "distinct characteristics and preferences for how to use said software". An example of this is reflected in the numerous entry points people have to insert a block. Is there some specific concern here around the use of the word "accessible" itself here?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See f8a44af. |
||
|
|
||
| Being accessible is a holistic principle that embraces not only the desire that _everyone can work with Gutenberg interfaces no matter their ability_ but also that the improvements made are _equitable_ and improve the experience for _every_ user. This is a lofty challenge and definitely hard balance to get right - but already there is fruit being born in the improvements that have been made to the user interface over the last few years. | ||
|
|
||
| Modern web application development brings its own set of accessibility problems around standards and consistent application between browsers which often requires some unique solutions that might not be apparent on the first attempt. So we acknowledge that accessibility is not something that can be implemented statically but instead is an ongoing part of the interface creation and refinement. | ||
|
|
||
|
|
||
| ### Empowering | ||
|
|
||
| With delightful, consistent, and accessible interfaces we are aiming for empowering users to try and do things that they assumed were beyond their capabilities and reach before. We strive for those “Aha” moments of surprise and wonder as folks discover how they can unleash their creativity. | ||
|
|
||
| Example: https://twitter.com/colemank83/status/1371846826664591364 | ||
|
|
||
|
|
||
| ## Curated Extensibility | ||
|
|
||
| The use of the word _curated_ expressly refers to implementing extensibility in a way that prioritizes those _using Gutenberg interfaces to create their content_ over developers integrating with the system. As a result, every extensibility interface request is filtered through the question of how it impacts creator workflows. | ||
|
||
|
|
@@ -57,7 +46,7 @@ Extensibility interfaces in Gutenberg favor: | |
|
|
||
| ## Progressive Complexity | ||
|
||
|
|
||
| _“On the Layers of the Onion”_ (Matias - Gutenberg or the Ship of Theseus) | ||
| _“On the Layers of the Onion”_ (Matías - [Gutenberg or the Ship of Theseus](https://matiasventura.com/post/gutenberg-or-the-ship-of-theseus/)) | ||
|
|
||
| There are two perspectives for this principle: | ||
|
|
||
|
|
@@ -88,11 +77,11 @@ This also embraces the promise of the Web where content is replicable in multipl | |
|
|
||
| Imagine a world where content created by Gutenberg can be consumed and read _anywhere_. This is largely why at the heart of the block structure, the format is largely an enhancement on top of HTML. | ||
|
|
||
| “Ultimately, choosing HTML means that — as with a painting or a sculpture — the editor’s final artefact is the canonical format of the content, not a byproduct thereof.” (The Language of Gutenberg - Miguel). | ||
| “Ultimately, choosing HTML means that — as with a painting or a sculpture — the editor’s final artefact is the canonical format of the content, not a byproduct thereof.” (The Language of Gutenberg](https://lamda.blog/2018/04/22/the-language-of-gutenberg/) - Miguel). | ||
|
|
||
| This manifests in letting machines do what machines are good for, and preserve content in a format that is readable to users. | ||
|
|
||
| Finally, the principle of ubiquitous and safe adoption is found in the way Gutenberg is being developed _incrementally_. WordPress powers over 40% of the Web and the changes that GB brings cannot happen overnight (Gutenberg or the ship of Theseus - Matías) | ||
| Finally, the principle of ubiquitous and safe adoption is found in the way Gutenberg is being developed _incrementally_. WordPress powers over 40% of the Web and the changes that GB brings cannot happen overnight (Matías - [Gutenberg or the Ship of Theseus](https://matiasventura.com/post/gutenberg-or-the-ship-of-theseus/)) | ||
|
|
||
|
|
||
| ## Resources | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think "Guiding Principles" would be better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See 1a648ba.