A TechCrunch headline recently caught my eye. The headline is a reference to Matt Mullenweg describing WordPress as an Operating System for the Web.
I wrote about the idea of WordPress as an Operating System earlier this year in a piece on Ecosystem Plugins. I’ve been thinking about it more since then and with my talk on the subject this morning at WordCamp US it seemed like a good time to put my thoughts into writing.
Let’s take the idea of WordPress as an Operating System for the Open Web and look at each part of it.
The Open Web
What is the “Web”? I think of it as a digital network of connections. The Internet connects people with other people, with ideas, with products and services, with organizations, and causes.
I met my spouse through the Internet. I’ve developed close friendships around the world. I discovered WordPress, built a business, contributed to causes, and been presented with countless opportunities to express creativity.
And that’s only a glimpse of my own story. We each have our own story about what we’ve done on the Web.
What, then, is the “Open” Web?
I suggest that the Open Web is an ideal state. It’s not a thing, but rather what we have the opportunity to work towards.
I suggest that there are two key characteristics of an Open Web:
- Accessibility – An Open Web is one that anyone, anywhere can access, regardless of location, language, or technical capability. It’s not about being able to access everything on the Web, but rather access to the Web itself, to be able to connect to the network of connections and reach those who want to be connected with.
This isn’t a work that can be “finished”. The point here is continual progress towards a Web that is becoming more accessible to all, not less.
- Creatability – An Open Web is one where anyone can create, where you can build a space for yourself and what you care about and make it what you want it to be.
An Open Web is accessible to all and empowers creativity.
Now, let’s consider the opposite. What does it mean for a web to be “Closed”?
If we consider the opposite characteristics of an Open Web, then a Closed Web would be one with:
- Limited accessibility – A Closed Web is one where access to the Web is restricted by hardware capability, Internet speed, and government or corporate policy. A Closed Web ignores consideration of the wide range of users who make use of assistive technologies.
- Limited creatibility – A Closed Web is one where source code is inaccessible, where proprietary platforms are the most widely used, where what you can create is limited to someone else’s imagination.
You’re standing in someone else’s walled garden, building within their sandbox if they let you or just sitting on the sidelines and watching.
As much as I genuinely applaud Facebook for their work in facilitating connection (which is what the Web was created for), I don’t want a future where Facebook is the Web to the majority of folks using it and they become limited by their ability to access it and create on it.
The Web exists and it’s amazing. It’s up to us to decide whether we want it to be Open or Closed.
What is an Operating System? A system for operating something.
The operating systems we’re most familiar with power our smart phones (iOS and Android), our computers (MacOS, Windows, and Linux), our televisions (Android TV and tvOS), our cars (Android Auto, CarPlay, Linux for Tesla), watches, smart home devices, you get the idea.
I think of an Operating System as being made up of three key components:
- Audience – Who the Operating System is designed for.
- Capability – What the Operating System is capable of.
- Interface – How the Operating System is access and interacted with.
An Operating System is designed for an audience and provides an interface to access that Operating System’s capability.
With that definition in mind, let’s take a look at WordPress.
I suggest there are three aspects of WordPress to consider:
- The Project – This includes WordPress itself, its mission to “democratize publishing”, its nature as an open source project, its history, etc.
- The Community – This is all of us who use WordPress, including the small percentage of volunteers who make WordPress and all those who organize and attend events.
- The Ecosystem – This includes all the products and services built on and connected to WordPress.
Let’s start with the Project.
WordPress was created with a focus on bloggers and provided them with the capability of starting a blog and an interface for managing it.
From the beginning, though, you could look past blogging to see the mission – democratizing the creation of content on the Open Web.
Blogging was simply an initial focus.
WordPress’ nature as an open source project, built on the “four freedoms“, gave early adopters the confidence to adopt it and a sense of personal ownership that lead to their investment in the Project.
I believe that the focus on empowering non-technical creators has been a key to WordPress’ success. From the beginning, WordPress was built for creators.
The Community came out of the Project and created the Ecosystem that we have today.
(For more on the history of WordPress, I highly recommend Milestones: The Story of WordPress.)
WordPress and the Open Web
If we believe that “Open” is the ideal state of the Web then it should have an affect on the choices we make and the work we do.
I suggest that WordPress, with its focus from the beginning on being accessible and empowering creativity, is well aligned with the characteristics of an Open Web.
Has it arrived? Is it as accessible and empowering as it could be? No. We’re making progress, though, and WordPress is further along than many of the alternatives.
I see WordPress as an indicator of the health of the Open Web. The more accessible WordPress becomes and the more it empowers creativity on the Web, the more hope I believe there is for the Web to become more Open.
That’s where this idea of WordPress as an Operating System comes in.
I see this idea as an important lens through which we can look at the Project, the Community, and the Ecosystem.
That audience of creators (the majority of whom are non-technical), the capability of creating on the Web, and the interface WordPress provides for doing so, are what make it an Operating System.
Alright, so that makes enough sense. Now what? Why does any of this matter?
Let’s take a look now at each of the three aspects of WordPress through this lens and consider some of the implications.
WordPress: The Project
If we think of WordPress the Project through the lens of being an Operating System for the Open Web, what can we see?
Let’s start with the audience.
WordPress’ primary audience is non-technical creators. And, since it’s built for creating on the Open Web it needs to be accessible and empower creativity.
Here are few areas of the Project where being clear on audience might affect what we do:
- Onboarding – As strange as it may seem to those of who’ve been using WordPress for a long time, there are people every day trying WordPress for the first time. What is that experience like? How can we make it more accessible to them, more empowering? What if we look at WordPress through the eyes of our children? What’s it like for a child growing up on touch screen devices and voice commands to use WordPress?
- Contribution – If WordPress is for non-technical creators, how do we make it easier for more non-technical folks to contribute to WordPress? How do we empower more diversity of experience, interest, and capability to the mission of the project?
- Messaging – How do we talk about WordPress? How do we tell its story and explain it? If someone non-technical finds their way to a highly technical aspect of the project, how do we help them navigate it?
- Advocacy – How do we advocate for those who use WordPress and for an Open Web? Where are decisions being made that affect the future of the Web and what work can we do to represent the mission of WordPress and influence those decisions?
Now, what about capability? If the mission of WordPress is democratizing creativity on the Open Web, are we continuously expanding on its capabilities for doing so?
Let’s consider a few areas where being clear on capability might affect what we do:
- Technology Adoption – As new technologies for creating are made, what can we do in WordPress to encourage safe experimentation and adoption of those technologies? How can we make it easier for technology creators that don’t know WordPress to make their work available in WordPress?
- Extensibility – How can we continue to make it easier to add new capabilities to WordPress? And, as we make it easier, how can we help ensure that the capabilities being introduced work well with each other?
- Integration – How can we make it easier for products and systems to integrate with WordPress? Consider that the folks doing the integration work may not have experience with WordPress. How do we guide them through the process? What examples do we point them to? How do we support them along the way?
Here are a few recent examples of technologies I’m excited about:
- GraphQL – The WPGraphQL project is working to bring the power of GraphQL to WordPress. In my early experiments with it I re-experienced that sense of empowerment I felt when I first started creating in WordPress. I see a lot of potential for GraphQL to open up new possibilities.
- AMP – The AMP Project is focused on democratizing great user experiences. There are valuable lessons we can learn and apply to WordPress from the work being done on the AMP Project and I’m excited to see more of AMP in WordPress.
- Gatsby – Gatsby is an open source framework for creating web applications, built for speed. I’ve been excited to see their embrace of WordPress and I think there is a lot of potential for new capabilities in the world of plugins and themes for WordPress.
- Tide – Tide is a new component of the WordPress project, focused on providing automated scans of plugins and themes. I think there is a lot of potential to use Tide to make development best practices more accessible and to improve guidance for end users.
The interface to WordPress, which we commonly refer to as the WordPress Admin, is what enables its audience to access its capability.
Here are a few areas where thinking of WordPress as an Operating System for the Open Web might influence work we do on the interface:
- Accessibility – While acknowledging that accessibility is a work that can’t be “finished”, are we making continual progress in ensuring that as many people as possible can use WordPress?
- Choices – Our philosophy in WordPress includes the idea of Decisions, not Options. How can we extend that to the many choices WordPress users have to make? How can we make it easier to choose the right plugins, themes, and blocks? What can we do to improve the experience searching for, evaluating, and trying new capabilities in WordPress?
WordPress: The Community
How might this idea of WordPress as an Operating System affect how we think about the Community?
The WordPress Community includes all those who use WordPress and contribute to WordPress.
Let’s consider some of the most common points of interaction with the Community:
- In-person conversations – Many people hear about WordPress the first time through a friend, a co-worker, or someone they just met.
- WordPress events – Meetups and WordCamps have become a key way for members of the Community to interact. Many event attendees are completely new to the Community.
- Web presence – Support forums, Slack, blog comments, and social media all facilitate interaction with the Community.
- Service providers – Many people interact with the Community through a service provider helping them build on the Web.
As we think about the Community through the lens of WordPress as an Operating System, that can help us stay focused on the audience (primarily non-technical) and capability (creating on the Open Web).
Here are a few ways that focus might affect us as a Community:
- Improving how we talk about WordPress – We can use language and examples that make WordPress more accessible and more empowering. We can consider the level of experience and interest of our audience and adapt the way we talk about WordPress accordingly.
- Keeping events primarily non-technical – We can look at our events through the lens of first time attendees and minimize our assumptions about their level of technical experience and capability. While there is always room for technical focuses (highly experienced and technically capable individuals also use WordPress!), I suggest that we keep the primary focus non-technical.
- Improving Web interaction experiences – Imagine a new WordPress user joining Slack for the first time. How do we help them navigate that experience? When users ask questions in support forums and social media, what can we do to continuously improve the experiences we create?
Here are a few Community efforts I’m excited about:
- KidsCamp – I love the work being done on welcoming children into the WordPress community. KidsCamp is a great example of this and I’m excited at the possibilities to make WordPress more accessible to the next generations. What if we take this further and bring WordPress to more schools?
- Empowering volunteers – There is a lot of great work happening in Make WordPress. Potential volunteers get a chance to observe and find areas they can contribute to and are given increasingly clearer guidance for doing so.
- 5% for the Future – Awhile back, Matt introduced the idea of 5% for the Future. I’m excited about the work being done to expand on those ideas, encourage more participation, and find ways to acknowledge those who do.
WordPress: The Ecosystem
How might this idea of WordPress as an Operating System impact the way we think about the WordPress Ecosystem?
The Ecosystem is made up of all the products and services built on and connected to WordPress.
There is a lot available already and more becoming available every day.
Let’s look at some common examples of participants in the ecosystem:
- Plugin creators – From plugins that introduce tiny pieces of functionality to Ecosystem Plugins that introduce entirely new categories of capabilities.
- Theme creators – From basic designs to complex web applications.
- Freelancers – From assemblers with basic technical capabilities to highly technical specialists.
- Agencies – From small business focused to enterprise.
- Marketplaces – From plugins, to themes, to services.
- Hosting providers – From small providers focused on specialized markets to major players, serving large percentages of the Web.
- SaaS providers – From small specialized software creators to the largest in the world.
Each one of these Ecosystem participants can look at WordPress through the lens of an Operating System and focus on the audience and capability.
Here are a few ways participants might do so:
- Integration Strategy – How does a product or service best work with WordPress? From a technical perspective, does it follow integration guidelines and best practices? From a user experience level, does it feel like a “native” experience within the Operating System?
- Positioning – How does a participant position their offering relative to WordPress? Imagine introducing an offering as an app on a mobile operating system, what would that look like? How might you apply similar thinking to WordPress?
- Investment – Organizations set aside budgets to invest in the operating systems used by those they serve. What budgets are being set aside to serve customers using on WordPress? What is being invested in the long-term success of the Project and in the Open Web?
Here are a few examples of newer participants I’m excited about:
- Google – Google’s efforts on the AMP for WordPress Project and Site Kit are great examples of bringing the power of technology to WordPress. They’ve also been actively involved in contributing to WordPress and advocating for it within their spheres of influence.
- BigCommerce – BigCommerce is working on bringing their experience and capabilities as an ecommerce platform to WordPress. The BigCommerce for WordPress plugin is a great step in that direction.
- HubSpot – HubSpot is working on bringing their experience and capabilities as a marketing platform to WordPress. Their HubSpot All-in-One Marketing plugin and partnerships with other Ecosystem participants are great examples.
- Block Lab – The team at Block Lab is working hard on empowering non-technical users to create blocks in the new WordPress Editor. Block Lab is a great, free plugin with a growing ecosystem of its own and I hope to see more plugins like it.
I suggest that success in the WordPress Ecosystem is dependent on the ability of a participant to acknowledge the audience of primarily non-technical users, to empower creativity on the Open Web, and to work well with the interface.
(Earlier this year I created OpenRank as the start of a tool to make it easier for SaaS providers to create good integrations with WordPress. I’d love to see an expansion of that effort and more efforts like it.)
Those are my thoughts so far. My hope is that this lens of WordPress as an Operating System provides a helpful way of thinking about WordPress today and its future. It has for me and I look forward to continuing to discuss and explore the topic. Have comments or questions? Contact me.