Tunnel Vision: WordPress as Application Framework
Matt Mullenweg seems to see a version of WordPress that’s always 2-3 years away, and rightly so. And, as he—or someone else of note in the WordPress community—introduces ideas, the blogging community of developers usually engages in long-form argumentation (blog ‘posts’) about the merits of these ideas. Many times, this argumentation is in-depth and informative; sometimes we get off track and shortchange the idea.
This past year brought us plenty of discussion on WordPress as an application framework, and the conversation is continuing on into the new year (thanks in no small part to Matt’s interview at LeWeb 2012). Smart, established developers are talking about the utility of this mindset, what needs to change to make it happen, and what the current limits are.
But, even very smart people (read: all people) are prone to a social phenomenon known as attitude polarization. Once we’ve established a viewpoint, publicly or privately, we tend to see incoming data as support for our argument. We gather at the extreme, opposite ends of the debate and set up camp, making it more and more difficult to engage in helpful discourse. We also tend to get locked into our singular perspective and leave any relevant empathy behind.
Utility of WordPress
Certainly, we developers are the ones who are building the applications. However, many (most?) times, we’re building for a person or business. Be they public or internal apps, we’re creating new functionality to solve someone else’s problem.
If you’re only building something for yourself, use whatever you think is best! But, to assert that reasoning alone when deciding how to develop an app for a client is to your and their detriment. Our goal is to create the most value, both short-term and long-term, for everyone involved.
One of the key values of WordPress as an application framework is that it can be integrated with an existing installation. Being able to integrate that app into, for instance, the backend of WordPress helps prevent fragmentation for the client, even if it is small. No new login URL. No different username and password. No new interface to get used to.
A WordPress core that is designed to run (some or all of) your application is one that allows you to build a more seamless experience for your client.
Is WordPress a blogging platform? Yes.
Is WordPress a CMS? Yes.
Is WordPress an application framework? Yes.
Will WordPress get “radically simplified” soon? Apparently.
All of these working together: that is the beauty. Certainly, focusing on one of these aspects would make WordPress better, but something entirely different is possible if these four phases can work together. I’ll be the first to admit that there’s a lot of work to be done to make this a reality. And, like plenty of other folks, I pine for a more customizable admin area that’ll make this sort of feature convergence graceful. But, we can’t get to where we’re going without remembering where we’re going and why.
It’s much less a battle of developer skill-level (“Beginners can code apps easier in WordPress”) or a naive move away from the base (“WordPress should stick to blogging”), and much more an opportunity for developers to meet our clients’ needs and build a better experience for them.
Will WordPress be a viable application framework for every developer? Absolutely not. This idea is bigger than that. To get that bigger vision, we have to remember to look at it from the perspective of everyone involved—lest we exchange a valuable prospect for an argument over preferences.