All New WordPress.com

Almost 2 years ago, I wrote about how the future of WordPress needed to be a REST-based API, with a JavaScript client on top of that. There were even public rumors that, gasp, we were thinking about porting WordPress to Node.js. Well, while that’s not exactly true, it’s closer to the truth than a lot of people probably realized.

We are in fact using Node.js to power part of WordPress.com now. If you go to https://wordpress.com while logged in, your request is handled by a Node.js server, and the entire UI is written in JavaScript, although the majority of it is actually React.js. Unless you end up back in wp-admin, your admin/editing/posting/dashboard experience on WordPress.com is now handled entirely (well, almost; we’re still working on some pieces still) with JavaScript.

The UI is fully responsive (optimized for multiple screensizes, and flexible in between). Data updates are live (combination of polling and websockets, moving more to sockets over time). No full-page refreshes (it’s a single-page app). All API-driven (which means we can, and are, using the same APIs to power portions of the native mobile apps). Speaking of apps, we’re able to bundle our single-page, JavaScript application as a native app, so we did (OSX for now, Linux and Windows coming very soon). Leveraging our infrastructure, and the power of Jetpack, we can provide self-hosted users with the same experience as those we host directly (with more Jetpack-specific functionality coming soon as well).

This is a lot of change. But it goes deeper than just the entire technology stack we’re working on now. This was a complete culture-shift for Automattic, a now-400-person company traditionally made up of approximately 100% PHP developers. To get here, we at Automattic took a step back and asked ourselves;

What would WordPress.com look like if we were to start building it today?

As part of answering that question, we made a lot of changes internally:

  • Cross-trained all of our PHP developers (and some of our mobile developers!) into modern, performant JavaScript developers.
  • Switched to a completely GitHub-based workflow.
  • Every commit is now peer-reviewed.
  • Shifted to a very component-minded architecture.
  • Moved our WordPress codebase to be entirely API-driven. New features are now only launched as a new/modified API endpoint + data layer + UI layer.
  • Change in thinking from being very “plugin-oriented” (similar to WP-core) to a much more integrated and cohesive way of thinking of things across the web and mobile apps.

So today, in keeping with the DNA of Automattic, which shares the DNA of WordPress, we’re releasing what we’ve been working on as open source. It’s code-named “Calypso” (long story), and we’re extremely proud of what we’ve built over the last ~18 months. I truly hope that this can help guide or influence WordPress.org‘s future.

I wrote this post in the Calypso/WordPress.com Desktop app, and published it via Jetpack. That feels pretty darned good.

One Less Plugin, Thanks Jetpack

As a developer, I’m a huge fan of “red changesets”; when you get to delete more code than you add. Less code means less maintenance, less potential for bugs, security problems, etc. Today I got to “red changeset” the plugins powering this website because I realized I could just go ahead and delete the plugin I was using for update notifications.

I’ve been running a plugin here for a while now that emails me when I have updates available for plugins, themes or core on my WordPress installation. With the latest version of Jetpack though, I get that notification via a simple little indicator on WordPress.com (and I’m there every day already). In addition to the notification, I’ve enabled the auto-update feature for all plugins on all sites connected via Jetpack, so now I don’t even have to think about keeping my plugins up to date.

There’s a lot more cool stuff coming in this Jetpack/WordPress.com integration, and I’m really excited to see (and work on) what we can do to help make life easier for self-hosted users while leveraging the power of WordPress.com.

The Year Without Pants

Today is kind of exciting, although it’s been a long time coming so it’s not much of a surprise for me 🙂 Today Scott Berkun, the author of books such as The Myths of Innovation, and Confessions of a Public Speaker, releases his latest book, The Year Without Pants: WordPress.com and the Future of Work.

The book gives an inside look at what it’s like to work at Automattic, and to work on something like WordPress.com. Scott was my direct team lead (of the team that I now lead) while he was at Automattic, so the book contains a lot of personal interaction with yours truly. It also happens to be a fun read with a bunch of interesting insights into distributed teams, management, and the open-source-based culture we have at Automattic, and which may well be the future of many more companies.

I’ve read versions all the way back to some of the first drafts, and am right now reading the “final” version which I received in hard copy. You should go get it and read it as well.

Jetpack

For the past few months, my team at Automattic (Team Social FTW!) has been working on a super-secret project. Today, almost perfectly synchronized with the NASA space shuttle landing (total fluke, but awesome regardless) we launched Jetpack!

Jetpack is a new plugin that delivers a bunch of popular features from WordPress.com (the hosted site, which Automattic runs) to self-hosted installs of WordPress (such as the one that runs Dented Reality). Once you install Jetpack, you get some of the cooler things available on WordPress.com, automatically enabled on your own WordPress site. The modules you get today are just the beginning though, there are a lot more planned for future releases. We’re going to be targeting some of the biggest features that are easier for us to do on our massive grid/cloud infrastructure, but harder for folks to do on their own shared-hosting accounts.

We also managed to partner with a bunch of leading web hosts, so if you’re doing a one-click install on BluehostDreamHostGo DaddyHostGatorMedia Temple, or Network Solutions, you’ll get Jetpack as part of your install. This is huge for people installing their own WordPress.

This has been the coolest thing I’ve worked on at Automattic so far, and it’s been awesome to be involved in a project that has seen so many contributions internally (over 40 people were involved in everything from UX to design to internationalization to testing and debugging) and so many iterations since its inception. I’m really proud of what we’ve created, and hope that it sets a new bar for the design of WordPress plugins (I really think Jetpack is beautiful, amazing work Joen, Hugo and MT!).

So – check out Jetpack if you’re running WordPress on your own server, and let us know what you think!

Which features would you most like to see in Jetpack? Let me know in the comments and I’ll see what I can do 😉

PS: This post proudly proof-read by After The Deadline, as delivered via Jetpack 😉