These are my notes and observations from tonight’s WP Leeds meet-up.
Open Source – The story of Herbert
Jason Agnew gave a insightful and inspiring talk about his experiences building Herbert, an open source WordPress plugin development framework. I’ve spent the last 10 months working a major open source project myself so I took a lot away from it.
- Put some of your own personality into any open source project you create: whether this be the name, branding etc.
- A bad developer environment can make a good developer feel like he/she has the dreaded imposter syndrome. Always strive to improve the environment!
- Building something open source is an opportunity to reignite your passion for coding, especially if you’re feeling low or frustrated with other projects.
- Work with no constraints from the very beginning. Eventually you’ll need to add rules and/or refactor as it matures but it’s important to just start building it.
- Recognition makes you feel validated and helps vanquish imposter syndrome.
- Fixing what you’ve built when it breaks/doesn’t work as advertised shouldn’t be seen as a negative: it’s an opportunity to learn and grow as a developer.
- Set yourself a strict time frame for building it, and stick to it
- Spend time writing documentation and building the brand before you release
- Get someone else to review the code, and let the project breathe for a few weeks before you release it to the masses.
- Open source isn’t limited to GitHub or code for that matter: it’s a mindset.
- Creating open source projects leads to increased credibility which is useful when you’re trying to bring in new business/win contracts.
- Criticism will ultimately help you improve the way you do things whether you’re a solo freelancer or a team within an agency.
- Team members who can create and contribute to open source projects are far more motivated than those who cannot. Freedom breeds motivation!
- Have no fear. Try something new, something risky, something that has already been done before. If it doesn’t work as you hoped then, so what? At least you actually built something. Time to move onto the next idea.
Is the wp-admin dead?
Next up was Tim Nash with another one of his thought provoking talks. This time the subject was taking the wp-admin out of the equation when building WordPress plugins and themes. I love watching Tim’s talks as he is always full of energy and ideas!
- Tim currently submits blog posts by pushing Git commits to his repo which then in turn trigger the WP-CLI via SSH. Interesting!
- WP-CLI and the REST API are the future…maybe.
- Think about plugins in terms of pure data: focus on building your data model first rather than how the settings are to be presented in an interface.
- It’s all about CRUD (Create, Read, Update, Delete)
- Building simple, lightweight/fast admin pages for administering plugin/theme settings is relatively easy using Backbone (used in core) and Underscores.
- HappyTables is a good example of how the administration interface can be completely and radically overhauled to improve the admin user experience.
- The REST API gives us access to the raw data we need, empowering us to use this data in new and exciting ways when giving users control over plugins/themes.
- One advantage of using the WP CLI and/or REST API is decreased reliance on the web-server. No more long running processes = better server performance and resource availability.
- Integration testing is an awful lot simpler due to there being a lot less code involved: a lot of which you haven’t written.
- You should seriously think about providing a command line interface for your plugin to save users the hassle of logging into wp-admin area to change settings.
- Think more about the capabilities of the user, rather than the location from which they will administer/edit the plugin or site e.g. don’t assume that the administrator should be logged into wp-admin to make a change.
- Using the WP CLI as part of the ‘user-less’ WordPress installation is viable and has a big security benefit due to the lack of opportunities to hack passwords!
- A lot of ‘normal’ users stand to benefit from providing alternatives to the traditional wp-admin interface: not just technical ones. People want multiple points of entry to WordPress now, regardless of their role/capability.