Apr 10, 2013 · 7:00 PM
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.
About the speaker:
Andrew Nacin is a lead developer of WordPress, wrangling contributions, spearheading initiatives, advising new development, and squashing bugs. He led the last major release of WordPress, 3.5, which overhauled media handling. He is also a member of the core security team.
Just as many PHP core developers have with PHP, he and WordPress have a love-hate relationship. If he thought it was perfect, he would find another job. He feels strongly about the core philosophies of WordPress, among them "decisions, not options" — software should be opinionated in lieu of burdening the user with too many options.
He works for WordPress founder Matt Mullenweg at Audrey Capital, where he is primarily tasked with working on WordPress core and keeping the lights on at WordPress.org. He resides in downtown Washington, D.C., with his wife. You can follow him on Twitter at @nacin.