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

Vision and Philosophy #472

Open
adamziel opened this issue May 30, 2023 · 2 comments
Open

Vision and Philosophy #472

adamziel opened this issue May 30, 2023 · 2 comments

Comments

@adamziel
Copy link
Collaborator

adamziel commented May 30, 2023

WordPress Playground Vision and Philosophy


 Mindmap of everything Playground can enable 

Vision

Bring WordPress to Everyone

Playground exists to bring WordPress to everyone—regardless of their skill level, platform, device, and internet speed.

WordPress should be instantly accessible to users, learners, extenders, and contributors with a single click. No pre-requisites, no installation wizards, no tricky errors.

For WordPress as we know it today, it means:

  • Learning via with a guided, interactive WordPress that's embedded right in the tutorial
  • Finding a beautiful WordPress site in a gallery and starting it with a click
  • Writing your first plugin in a code editor directly on wordpress.org
  • Installing a local WordPress with a single click – assuming you even need to install it
  • Sharing your WordPress plugins, themes, and dev sites with a simple link and no hosting
  • Contributing to any documentation should be as easy as clicking "Edit page in Playground"
  • Reading your RSS feeds in WordPress

However, that's just the beginning. Playground can enable so much more.

With Data Liberation, WordPress will become your central content hub for everything from personal notes, to ebooks, to social posts—all stored locally and synced across your devices. With Playground's portability, it will always be a single click away, whether you're using a web browser, a native mobile app, or your favorite code editor running on a remote server. The goal is not to build such applications, but to build a solid platform that empowers the community to build them.

Key features include synchronizing data, WASI build, and mobile apps devtools.

Project philosophy

Focused Framework over Alluring Add-ons

Playground focuses on the minimum work required to fulfill its vision. Therefore, new features are evaluated based on the following question: Does it bring the project closer to its vision in the long run?

Every new feature, no matter how great, makes the codebase a little bit more difficult to approach and adds a little extra time to weekly maintenance. Saying yes to an appealing feature is tempting, but it means saying no to something else. Saying no is difficult, but it makes space for what's indispensable.

Therefore, Playground makes the difficult decision and chooses to focus on its vision – even when that means saying no.

Diligent Design over Quick Quirkiness

Let the long-term success of the project lead the solutions. Some changes can be done quickly, other require more time. Move as fast as the problem allows, but no faster. Move as slow as the problem requires, but not slower.

  • Playground changes affect diverse browser, server, and desktop applications. This project therefore applies more caution when considering the impact a given pull request might have on the various downstream applications using the library.
  • Framework features tend to be difficult to remove. This project therefore delays introducing new features until it's clear there's no existing way to accomplish some goal.
  • Feedback is the single best way to make better software and better decisions. Therefore, even if you have doubts about whether a feature belongs, please share your requests so that your needs can help shape the project.

Developers are under all sorts of time pressures so let's be kind to our future selves. An hour of diligence today saves ten hours of maintenance tomorrow.

Modular Minimalism over Coupled Complexity

WordPress Playground follows the Unix philosophy:

  • Each unit of code should perform one task well. To perform a new task, build afresh rather than adding more features.
  • Expect the output of every function to become the input to another, as yet unknown, function. Only return what's necessary and avoid extraneous information.
  • Field-test new code early and only make it a public API if it stands. Don't hesitate to throw away the clumsy parts and rebuild them.
  • Favor small, focused tools over large libraries, even if it means building them from scratch. Only integrate those libraries that are absolutely necessary.

As Antoine de Saint-Exupéry said, "Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away." Let's aim for this kind of perfection.

@adamziel adamziel pinned this issue May 30, 2023
@adamziel adamziel changed the title WordPress Playground Vision WordPress Playground Vision and philosophy May 30, 2023
@adamziel adamziel changed the title WordPress Playground Vision and philosophy WordPress Playground Vision and Philosophy May 30, 2023
adamziel added a commit that referenced this issue May 31, 2023
… in a dedicated space. See #473. (#475)

## What?

Removes the interactive-code-block project from the main WordPress
playground repository so it can live in a dedicated space.

As outlined in #473, WordPress Playground is re-focusing on [the
vision](#472)
and separating the framework from the applications.

Once `interactive-code-block` is committed into a separate repo, a link
will be added to this PR.
adamziel added a commit that referenced this issue May 31, 2023
… dedicated space. See #473. (#476)

## What?

Removes the VS Code extension from the main WordPress playground
repository so it can live in a dedicated space.

As outlined in #473, WordPress Playground is re-focusing on [the
vision](#472)
and separating the framework from the applications.

Once the code removed by this PR is committed to a separate repo, a link
will be added to this PR.
adamziel added a commit to WordPress/playground-tools that referenced this issue May 31, 2023
Previous changes to wp-now directory can be browsed at https://github.com/WordPress/wordpress-playground/tree/trunk/packages/wp-now

Previous changes to bin directory can be browsed at https://github.com/WordPress/wordpress-playground/tree/trunk/bin

## What?

Moves `wp-now` from the main WordPress playground repository to a dedicated space.

As outlined in WordPress/wordpress-playground#473, WordPress Playground is re-focusing on WordPress/wordpress-playground#472 and separating the framework from the applications.
adamziel added a commit to WordPress/playground-tools that referenced this issue May 31, 2023
Previous changes to wp-now directory can be browsed at https://github.com/WordPress/wordpress-playground/tree/trunk/packages/wp-now

Previous changes to bin directory can be browsed at https://github.com/WordPress/wordpress-playground/tree/trunk/bin

Moves `wp-now` from the main WordPress playground repository to a dedicated space.

As outlined in WordPress/wordpress-playground#473, WordPress Playground is re-focusing on WordPress/wordpress-playground#472 and separating the framework from the applications.
adamziel added a commit that referenced this issue May 31, 2023
…space. See #473. (#477)

## What?

Removes `wp-now` from the main WordPress playground repository so it can
live in a dedicated space. This PR also removes VS Code extension –
merge #476 first.

As outlined in #473, WordPress Playground is re-focusing on [the
vision](#472)
and separating the framework from the applications.

Once the code removed by this PR is committed to a separate repo, a link
will be added to this PR.
@adamziel adamziel mentioned this issue Jun 5, 2023
@adamziel adamziel changed the title WordPress Playground Vision and Philosophy Vision and Philosophy Jun 5, 2023
Pookie717 added a commit to Pookie717/wordpress-playground that referenced this issue Oct 1, 2023
… in a dedicated space. See #473. (#475)

## What?

Removes the interactive-code-block project from the main WordPress
playground repository so it can live in a dedicated space.

As outlined in #473, WordPress Playground is re-focusing on [the
vision](WordPress/wordpress-playground#472)
and separating the framework from the applications.

Once `interactive-code-block` is committed into a separate repo, a link
will be added to this PR.
Pookie717 added a commit to Pookie717/wordpress-playground that referenced this issue Oct 1, 2023
… dedicated space. See #473. (#476)

## What?

Removes the VS Code extension from the main WordPress playground
repository so it can live in a dedicated space.

As outlined in #473, WordPress Playground is re-focusing on [the
vision](WordPress/wordpress-playground#472)
and separating the framework from the applications.

Once the code removed by this PR is committed to a separate repo, a link
will be added to this PR.
Pookie717 added a commit to Pookie717/wordpress-playground that referenced this issue Oct 1, 2023
…space. See #473. (#477)

## What?

Removes `wp-now` from the main WordPress playground repository so it can
live in a dedicated space. This PR also removes VS Code extension –
merge WordPress/wordpress-playground#476 first.

As outlined in #473, WordPress Playground is re-focusing on [the
vision](WordPress/wordpress-playground#472)
and separating the framework from the applications.

Once the code removed by this PR is committed to a separate repo, a link
will be added to this PR.
@flexseth
Copy link
Collaborator

@adamziel adding this to the docs info

@adamziel
Copy link
Collaborator Author

adamziel commented Nov 19, 2024

I've updated the description with a Mindmap of everything Playground can enable. I've also updated the project vision.

I also plan to update the vision – the 10 year horizon is so much more than what that text currently says. We can have distributed, offline-first, synchronized, open source WordPress-based apps on all devices and building them can be as easy as creating a WordPress plugin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

2 participants