Desktop Applications via the WordPress REST API?

There are a lot of reasons that people are excited to have the WordPress REST API merged into core.

The WordPress REST API Plugin

I think some are excited because they won’t need to include the plugin dependency anymore; others, honestly speaking, I think are happy to see it merged for the sake of it. Whatever the case, having the entire infrastructure is core is neat, and I’m excited, but almost none of the client work I’m doing at the moment warrant it.

I believe that will change, though, as people learn what we can do with it. But until that time comes, one of the things I like to do is try to think broadly about what could the REST API offer that isn’t directly related to blogging.

And this leads me to a much broader question.

Desktop Apps Using the WordPress REST API

But before I get to that, I think it’s important to think through how some of our existing software works.

If You’re a Developer…

Think, for a moment, about the last piece of software you installed to help get your server stack up and running. That is, think about whatever tool or tools you use and what was required just to get a development environment going.

VVV requires Vagrant and VirtualBox.
For example, VVV requires Vagrant and VirtualBox.

I’m sure it included a web server, PHP, and a database server. Some may even include virtual machines, alternative servers, languages, and so on.

If You’re a Designer…

How much software is required to install your creative suite? That is, how many utilities are required when you install a particular program?

WordPress for Desktop Software

The point I’m trying to make is that there was once a day when we installed software and the compiled binaries (along with its other library files). Now, though, we’re installing programs that rely on other programs that rely on other programs and so on.

Whether or not that’s a good thing or not is irrelevant. As I mentioned at the outset of this post, thinking about WordPress, the REST API, and other potential projects lead me to the following question:

Is it unreasonable to expect a person to install a desktop app that will require a web server, a database server, support for a programming language, and WordPress to run an application?

There was once a time where I would’ve laughed at this, but now? I’m not so sure. I mean there is so much software that even the typical user installs that have significant dependencies.

On top of that, a lot of operating systems are shipping with some languages like PHP, Ruby, Python, and more already installed. Is it that far-reaching to assume that their machines don’t already include a portion of the software a WordPress-based application would require?

I Don’t Think So

The more I think about it, the less outlandish it seems. As long as the application solves a problem the user has, they don’t necessarily care (or know) what’s powering it.

I mean, the user interface is more-or-less the application to the user. How it works is secondary.

With all of that said, I get more excited about the potential of possibly building applications that can run on the desktop, that is powered by WordPress, and the user not knowing the difference.

6 Replies to “Desktop Applications via the WordPress REST API?”

  1. Is it true that REST API authentication still won’t be rolled into v4.7?

    This is the least trivial part IMO and may need a standardized / official decision in core before it will really gain traction?

  2. Tom, I have some use cases that may use WP on desktop. One on top of mind is using REST API on physical stores for, at least, sync physical POV and website sales, stock management, etc

    And, seems to me that Calypso for Mac OS is a good example of desktop app using WP Rest API.

    So, we can say that is not outlandish.

    Moving in this direction i guess Authentication angle (and all discussion about the authentication broker, data collection and privacy around it, etc) have a heavy weight in the future of WP for desktop apps.

    Best Regards

    PS: long time fan of your writings and tutorials. Thanks a bunch.

  3. @celos – We have been doing that for quite a while now, not with WordPress but other frameworks. POS software that can talk to web platforms is huge. I’ve written a lot of software in scripting languages that acts as middleware to desktop software.

    1. @Rob

      We’ve been looking in this use case with our ecommerce clients using Woocommerce right now and thinking about going “physical physical” (*). So far is just an idea, but we will probably tackle this challenge next years. Any tips or suggestions? Any pain points you could share with us?

      = read this like Olivia Newton-John singing her famous song

  4. I’ve actually thought about building a PHP equivalent to electron. Electron lets you develop desktop software with NodeJS. I have moved on from the idea, because I find JavaScript superior. However, if people would use it, I’m still interested in developing it.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.