I’m excited to announce I’m giving a keynote address at php[tek] 2013. It’s a fantastic PHP conference put on by the folks behind php|architect. “The premier professional PHP conference with a community flair,” #tek13 has a rockstar speaker line-up, four tracks of content, and a day of training. I’m thrilled to be attending the conference — I also attended #tek11 — let alone speaking.
Last night I tested a few ideas at the DC PHP meetup and got some great feedback from the attendees. Some early reviews:
I’m continuing to conduct a lot of research for this talk. There’s a lot WordPress has learned over the years, so I’ve been searching through the codebase and old commit messages, as well as compiling a ton of data and statistics. If you have anything you think might help, please contact me. Here’s the full talk description:
WordPress is Everywhere: Extreme Portability as a Double-Edged Sword
WordPress has tens of millions of users worldwide and powers over a fifth of new sites. But such a large and diverse user base presents unique challenges, and as it approaches its tenth birthday, the WordPress codebase is showing its age. So why is it so ubiquitous?
The answer lies not in its UI, UX, ecosystem, or community, though those are certainly among its strengths. The answer lies instead in a core philosophy that holds the user above all else.
This user-centric design starts not with the interface, but rather with the code itself. Developers should approach software development with an unwavering promise they will deal with the nonsense instead of passing it off to the user.
Some WordPress positions might seem draconian and inflexible. Backwards compatibility is almost never broken. The technical requirements appeal to lowest common denominators. But because the project maintainers deal with all the pain — technical debt, difficulties with PHP, working on as many server configurations (and misconfigurations) as possible — its users don’t have to. Thanks to the WordPress project’s portability efforts, you can pick a web host or a PHP configuration at random and WordPress will run on it. Because of this, adoption has soared.
The way WordPress operates is not for everyone. But whether your projects are used by 10 users, or 10 million, it may help you to see your code in an entirely new light.
A month of very long days working on WordPress 3.5 has made growing my Movember beard easy. But it’s also meant no time to raise any donations. Help fight prostate and testicular cancer with a small donation? In return, free copies of WordPress 3.5 for everyone.
“If I were a teacher who had spent the last pennies of his or her budget buying new iPads for students a few months ago, I don’t know if I’d be too happy waking up and finding out that there’s a new iPad with a completely different connector cable now.”
“If you’re operating in a classroom that has iPads, now if you want to upgrade or replace a device, you’re going to have to maintain multiple chargers.”
So let me get this straight: They use their budget on iPads, and then find more money to later upgrade the devices, and their concern is the connector cables?
Sorry, but why the hell wouldn’t they be happy? They have iPads. Teachers want them because they are incredible educational tools. Do you really think teachers are going to complain about a few connector cables? 1 Someone needs to explain to him the right cable comes with the iPad when you buy it. Do you really think teachers are going to complain when they have iPads to begin with? They don’t care what generation the iPad is. 2 They just want tools that can make a difference. And what a difference an iPad can make in so many fields, especially the sciences and mathematics.
My high school in Connecticut issued laptops to every student. (It was a magnet school with a focus on technology and international studies.) Each grade, 6 through 12, had a different model, which was replaced every few years. That means different power cords, batteries, and spare parts. This is not something to complain about. I’m grateful I had this much access to technology growing up, and I’m ecstatic that my one-day children will be immersed even more. From 1999 – 2006, I went through four laptops. You know how many textbooks — McGraw Hill or otherwise — I was able to access on them? None. That is something to complain about.
We should hardly be surprised that a textbook company is trying to temper Apple’s influence with this kind of drama. Many phone companies have lost some control of their domain to Apple. Textbook companies are next.
And aside from that, who hasn’t juggled multiple chargers? Phones only began to gravitate to micro USB a few years ago. Then there’s cables for portable hard drives, bluetooth devices… I have a bag of old BlackBerry chargers I’ll never be able to use. Man, that was silly — I should have stayed with my BlackBerry Bold and saved myself the trouble.
It’s also not like Apple is going to change their connector again anytime soon. The 30-pin connectors long overstayed their welcome and Lightning is clearly built to last. ↩
My friend Andrew Spittle said this post reminded him of Harry Marks quoting a few tech writers throwing a tantrum over their third-generation iPad being out of date. Read to the end. ↩
In WordPress 3.4, themes can now place page templates inside a subdirectory of their theme.
I’ve spent much of the 3.4 development cycle working on a new API called WP_Theme. But it’s not something you’ll find in the release announcement.
That’s because the vast majority of plugin and theme developers will never use it, nor should they. It’s an under-the-hood enhancement that was aimed at strengthening our internals, and it enabled us to improve quite a bit. For example, we were able to find huge performance improvements in both memory and speed. And it enhances the ability to localize themes. (More on these changes when I start working on the 3.4 field guide.)
It feels nice to be working with a modern, well-written API, even if I’m the only one using it. That’s okay, because look how easy it was to add support for page templates in a subdirectory. This is just the beginning.
Child themes can override these templates the same as before — the child theme will just need to create the same directory structure to do it. (So, /page-templates/one-column.php needs to be overridden with /page-templates/one-column.php, not /one-column.php.) And yes, we’re only looking one level down.
Updated… Caution: Renaming a page template — and that includes moving all of top-level page templates into a directory — will unassign that page template for all pages currently using it. This is a new tool in your toolbox, but use it wisely.
The U.S. House Committee on Oversight and Government Reform launched a new site on WordPress today. This is really cool for a few reasons. Rep. Darrell Issa tweeted about it this morning, saying WordPress is “rare” for government and said it was “to support fast improvements in response to your feedback.”
Government moves at a pace best described as glacially, so for them to recognize that WordPress can help them react quicker, that’s just huge. I’ve learned in D.C. that ease of use and speed of development are very rare things for .gov sites, even those built on open source. Not to mention cost-effectiveness in an age where federal government IT procurement is being upended. Look, they even created cheesy WordPress-in-government infomercial:
The video takes a shot at bad government websites, and while the new site isn’t the prettiest thing in the world, I like the point they’re getting across: Government can excel on the web using the same free publishing software as many of their constituents. It won’t be rare for long.