There is a saying that goes like this, “Beauty is in the eye of the beholder”. It’s true. How many times have you bought something that you loved and shown it to a partner/friend/colleague etc and not gotten the response or reaction that you had expected?
If you’re anything like me, it happens often.
Well the same is true in software. Don’t worry, we’re not going to go in to the ins and outs of beautiful user interfaces. What I am actually talking about here is slightly different and that is…
Software is really only beneficial to someone who has a problem that the software can solve.
Would you agree?
So by releasing software, your goal as a creator is to get it in to the hands of people who have a problem or challenge that your software obliterates.
What problem is the WordPress REST API attempting to solve and for who?
Let’s examine the WordPress REST API. There has been a lot of chatter recently on blogs and Twitter about the pros and cons of building out a full API spec supporting all of the WordPress features verse iteratively releasing the API as it is being developed.
Until recently, I was firmly in the camp of iteratively releasing the API, but the more I think about it, the more unconvinced I become. Let me explain.
Like a proverbial half built house, while it’s possible that someone could move in and live there, it’d be rather uncomfortable. The WP REST API has come a very long way and is an extremely important piece of WordPress functionality. In fact it’s as big as the addition of custom post types in version 3.
Because it’s that big, it needs to be done right. Doing it right obviously has little to do with doing iterative releases or one big single release. However, doing it right does mean more than just releasing an API that works in certain contexts.
Doing it right means releasing something in a package that would satisfy the needs of the intended audience. Like we mentioned above, solving a real life problem.
Many people in the WordPress space (and potentially you too) feel that the intended audience of the WordPress REST API is developers. And if that were the case then I would agree, release the API in it’s current form and iterate. But as I will try convince you below, while developers are an important piece of this puzzle, there is much more to the WordPress REST API than an API for developers to play with.
So, who is the WordPress REST API really serving?
The big winner at the end of the day is not initially going to be the end user i.e. bloggers.
Yes, they’ll benefit eventually once the experience improves because we’re building a platform on top of bleeding edge technologies. But that will happen over time. Can you think of a single piece of WordPress functionality that our users are missing out on because we don’t have a REST API?
There is a reason why there is only 20 something plugins using the REST API in the repository currently. That’s not the audience who will benefit the most.
In my mind, the WordPress REST API is going to initially serve 2 clear stakeholders…
The first is the much smaller stakeholder. Developers. Why? Because as developers we can stay relevant in the web development space by adopting new modern development frameworks. Because we can now use WordPress for more applications than just a blog or CMS. Because we can now offer much better mobile application experiences to our audiences. Because now more businesses will consider WordPress as a platform as it can integrate with existing systems easily.
And right there is the second stakeholder and the largest by far; business!
The WordPress REST API is going to mostly serve the needs of business. Businesses will now start taking WordPress as a platform a lot more seriously. Where before there was a narrow path for business to integrate in to WordPress, we’ve now got a 5 lane highway.
Why the WordPress REST API is going to be used mostly by businesses
The key area where I see the REST API being used almost exclusively is not really for next generation publishing platforms, but for integration with existing platforms.
Good businesses care about connecting with their customers to keep them happy and coming back for more. They also care about reaching potential new customers to grow margins. What better way to do this than by integrating with 25% of the web? Savvy businesses have already seen this opportunity and are moving swiftly.
WordPress will become way more than just a blogging or internal intranet platform to businesses now. It suddenly can be integrated in to existing CRM systems for instance, with little hassle. They can now import their existing content in to WordPress much more easily. What about their mobile experiences? Yep, WordPress can be the backend to those.
Existing social and publishing businesses can now easily start pushing their platforms on top of WordPress. Think of a completely unrelated example of Twitter data showing in a Slack feed. Well now you can easily have those kind of integrations pushing data in to WordPress.
WordPress also becomes a viable option for quickly putting out a MVP or proof of concept application with a fully fledged REST API. Got a development community, let them play around with it!
We’re going to see companies build products on top of WordPress like never before. There’s so much more opportunity opened up to business by simply providing them with an easy gateway in to the WordPress platform via a REST API.
The challenge the WordPress REST API team faces
So here is the challenge that we currently face. I’m putting it to you that business is who the WordPress API is being built for but business wants a polished product. They don’t want something half finished with the promise of more. Business really tends to look at things in black and white. To bring back our running metaphor, business doesn’t want an office without a roof.
And because I believe that at the end of the day, business is really who the WordPress REST API should be serving, I believe that the right path here is to give them something that is polished. Something they can pick up and start using immediately. We don’t have that just yet.
We will soon enough, the team working on it is doing an excellent job of making solid progress each week. Once the API supports every feature of current WordPress, then for me personally, I will then feel that it is ready for business.
Of course for the more forward thinking businesses, they can use the plugin in the interim, knowing that when it is merged in to core, they’ll be ahead of the game somewhat.
If at the end of the day, we serve the intended audience of the WordPress REST API and we agreed that business should be that benefactor then we’re on the right path.
If not, we’re making a mistake and we’ll learn from it. Either way, we’re walking a path in to somewhat unchartered territory and we’re going to make mistakes and bump our heads. That’s how we learn. That’s how we move forward.
So where to from here?
Clearly, there are a lot of different opinions being thrown out and we need to be aware of those and rather than tear them down let’s be really be supportive of each other. Don’t dismiss something that you don’t agree with, try to look at it from another perspective.
Most importably, we all need to be respectful to the team doing the hard work on the ground. Not everyone is going to agree on the best way forward but let’s continue to discuss the issues at hand and “iteratively” 😉 work on it.