Announcing Tide 1.0.0-beta

At WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US last December we introduced Tide.  Tide was our reaction to what we, and many other in the WordPress community, believe is critical to the future of the Open Web.  A future where the standard of code in WordPress is high and its users can be confident in its performance, security, reliability, and accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility).  Tide is a very practical solution to achieving this, ultimately improving the quality of code across the web.  The WordCamp US announcement represented the proof of concept stage for Tide and helped highlight ways in which updating WordPress plugins and themes based on WordPress Coding Standards could make the open web more performant, secure, reliable, and accessible.  Since then, we’ve been spending time reviewing feedback from WCUS, meeting weekly with the community, and enhancing Tide based on what we’ve learned.

Tide’s vision is inspired by the proverb “A rising tide lifts all boats”, when we lower the barrier of entry to writing and choosing quality code for enough people, it will lift the quality of code across the whole WordPress ecosystem.  Tide helps to make it easier to improve the quality of code throughout the WordPress ecosystem and help WordPress site owners make better choices about plugins and themes.

As of today, we’re excited to announce Tide 1.0.0-betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process., now available on GitHub and at wptide.org.  This version adds Google Cloud Platform (“GCP”) and local-only infrastructure support, integrates Lighthouse performance analysis, and provides documentation for the entire platform to help onboard contributors and developers looking to improve their own code.  Please update any forked repositories or local instances of the previous version of Tide as it will be deprecated later this month.

GCP migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.

The prototype version of Tide from WordCamp US was based on Amazon Web Services (“AWS”), but with the releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. of Tide 1.0.0-beta we’ve migrated to GCP and have rewritten the Tide services in the Go programming language.  This helps to provide a better integration point with WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ as the GCP environment and Go services are more performant and cost effective.  This is the first step towards WordPress.org integration.

You can find the code for Tide on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ at https://github.com/wptide/wptide.

Local-only option

In order to minimize the needs for developers or contributors to setup GCP or AWS infrastructure to use Tide, we’re providing a local-only option.  This way you can run all the Tide services locally on your computer and not need to rely upon or pay for anything additional.  Note that for now we’ve only fully tested on MacOS, so non-MacOS setup and usage will vary a bit until we can test across non-MacOS platforms and provide resolutions to any issues there.  In order to run Tide locally, you’ll need Composer, Docker, Go, and Glide; additionally for Windows you’ll need Make installed based on our testing so far.  Full setup instructions are available in the Tide documentation (see below).

Lighthouse integration

Along with the WordPress Coding Standards and PHP Compatibility results for plugins and themes in the Tide APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways., we’ve also added support for Google’s Lighthouse auditing to include performance, accessibility, and other results for themes in the Tide API.

Documentation

The prototype version of Tide from WordCamp US was built as a proof-of-concept and had limited documentation; what did exist then was mainly within the README file for setup instructions on AWS.  For 1.0.0-beta, we’ve significantly extended the documentation to include installation instructions for GCP and the local-only option, details on the various Tide services (API, Sync Server, PHPCS Server, Lighthouse Server), working examples of the Tide API, as well as how to contribute to better utilize and improve Tide.

The documentation site is available at https://www.wptide.org (including a searchable demo of the Tide API search).  The source for the documentation is available at https://github.com/wptide/docs.

Roadmap

The next step on the Tide roadmap is working with the WordPress.org systems team to integrate the PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. Compatibility results from the Tide API into the WordPress.org repository database so that it can be displayed on pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and theme pages.  You can follow along via the roadmap we’re establishing at https://github.com/wptide/wptide/wiki/Roadmap.  Note that we’re using ZenHub to manage Tide’s product development process and that you may need to install the ZenHub Browser Extension to see all the details within the Tide roadmap.

This plan represents what will take Tide from concept to practical application for the WordPress community.  If you have feedback for the WordPress.org integration, then please comment in GitHub or ZenHub.  If you have ideas or feedback on future Tide roadmap ideas, then please add those as GitHub Issues at https://github.com/wptide/tide-issues/.

Contributions

Thank you to everyone who contributed to Tide 1.0.0-beta:

Alberto Medina, Bart Makoś, Brendan Woods, Daniel Louw, David Cramer, David Lonjon, Derek Herman, Jeffrey Paul, Justin Kopepasah, Jonathan Wold, Joshua Wold, Leo Postovoit, Lubos Kmetko, Luke Carbis, Maxim Siebert, Miina Sikk, Mike Crantea, Rheinard Korf, Rob Stinson, Sayed Taqui, Tammie Lister, Utkarsh Patel.

Please join us for our weekly meeting on Tuesday’s at 21:00 UTC in the #tide channel in WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..  See you then!

#1-0-0, #gcp, #lighthouse, #roadmap, #tide

Tide Chat Summary: December 12th

This post summarizes the Tide chat meeting from December 12th in the #tide SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel (Slack archive).

Tide focus

  • Current focus/priority/goal is integrating PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. Compatibility data from Tide into WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/
  • Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus/priority/goal to provide the biggest impact to the community

Progress on code open sourcing

  • @valendesigns: we are working towards being 100% Open SourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. and having the APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. back online (with re-audit) no later than December 20th, likely sooner. The transition to Open Source is not a straight forward task and has been pretty much been the teams singular focus since last week. We are rebuilding the local dev environment to make it easier to contribute. We can't open the sources without exposing sensitive data so all the repos are being rebuilt.
  • @valendesigns @rheinardkorf @danlouw @jbpaul17 from XWP are working on Tide
  • Tide API will include WPCS and PHPCompatibility output, scoring will no longer exist
  • wptide.org site from WCUS was a client to demo what COULD be done, it wasn’t meant to be what WILL be done on actual Tide integration to WordPress.org
  • Demo from WCUS wasn't 100% functional, some things may have worked better than others
  • After code is available as open source, we'll need lots of testing to help ensure results are faultless
  • @sergey has done work on some PHP-related tickets, would be good to have him gloss over the PHP compat part of the code when released
  • @williampatton able to assist with docs if there is guidance on what's needed
  • @barry to handle WP.org integration, @otto42 waiting until API is ready to query against

UXUX UX is an acronym for User Experience - the way the user uses the UI. Think ‘what they are doing’ and less about how they do it. for integration of PHP Compat from Tide into WordPress.org

  • @joshuawold is the design lead at XWP managing UX for how PHP Compatibility could be integrated into WordPress.org, working with @maximsiebert on UX options
  • We'll want input from someone on the MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. and Design teams as feasible to review the UX/design
  • @obenland can cover Design from Make/Plugins
  • #40934 is prior work covering UX around not being able to install a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party when your PHP version is not compatible, @joshuawold to review this and as input on PHP Compat UX for WP.org
  • @joshuawold to review UX with @mapk who was the original designer for the plugin directory
  • Updates on UX/design to be shared in #tide as they're available

Next week’s meeting

The next meeting will take place on December 19, 2017 at 22:00 UTC / December 19, 2017 at 22:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.

#summary, #tide-chat

New Home

Welcome to the new website for the Tide project!

Tide already has a private code repository and an issue tracker, which will be made public in the next few weeks. Subscribe to this blog for updates when it becomes public, or join us in the #tide channel on Slack.

The mission of Tide is to raise the code quality of all the plugins and themes in the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ directories. Tide’s name reflects this mission, derived from the proverb “a rising tide lifts all boats”.

#tide