After my article[ref]I refuse to call anything on this site a "post" anymore, mostly because that fails to adequately describe my goals with this site.[/ref] yesterday on fighting the post-conference high, I wanted to take a minute to dogfood my own advice. Here is the list of ideas I have bouncing around in my head after a fantastic WordCamp Phoenix. Please leave a comment or two asking questions and letting me know whether or not these are worth spending my time on:
WordPress Compatibility Scanner
One of the most remarkable things I learned chatting with other developers is how just about everyone is as lazy as I am. When I build a plugin, I usually test it against trunk, the latest stable WordPress, and (if I'm in a really good mood) one major version previous. As a result, many of my plugins are marked as being compatible only with the latest WordPress or, at most, one or two versions back.
In reality, they'll probably work several versions back, I'm just too lazy to verify it.
What would be great is a tool that scans my themes and plugins and documents the version of WordPress through which each core API function I use was introduced. Then I'll know for sure how far back things will be compatible.[ref]This still won't affect the "tested with" stats, but would let me know how better to answer the "Will this work with WordPress 3.0?" questions I get on occasion.[/ref]
PHP Compatibility Scanner
Much like the WordPress scanner above, I want a way to quickly check my code to make sure no PHP 5.3+ syntax has creeped in. I run at least PHP 5.4 on all of my servers, so it's easy to start using the newer syntax (like array dereferencing) when I'm working on newer boxes all day. But releasing such code in a plugin will cause serious headaches for my customers - and a support nightmare for me.
PHPStorm makes this easy for newer PHP versions as it will let me target a specific version and highlight potential syntax issues. Unfortunately, it doesn't go back as far as PHP 5.2 ...
Modifications to Grunt-Build
After Pippin's presentation on plugin releases, and a longer discussion with Paul Clark, I want to rejigger the build process I have built into grunt-wp-plugin. Right now, [cci]grunt build[/cci] will help pre-flight and package a plugin for delivery. I want to take this to the next step and have it:
- Auto-increment version slugs
- Auto-tag in version control
- (Optionally) Auto-commit to WordPress.org
Peer-to-Peer Push Notifications
At jQuery Portland I had the opportunity to learn a lot about real-time, peer-to-peer communications. Unfortunately, that post-conference high faded before I'd put any of that learning into practice. This time around, thanks to a random conference with a non-dev at a bar, I once again have some cool ideas for WordPress-bases p2p projects.
The first one I want to do is a secret.[ref]All I'll tell you is that I will be releasing something super cool in the next 3 months as a result. It's a secret because it's related to an under-the-radar client project. Just know it's really cool and I can't wait to show it off![/ref] The second would be somewhat related to existing push notifications (the cool alerts you get on your phone and desktop when something happens elsewhere). Imagine being able to alert your friends/followers in real-time that you've published a new article on your site! Or real-time, peer-to-peer comments/discussion on an article. The applications here are exciting.
WordPress Front-End Experience
A short time ago, one of my clients looked me in the eye and asked, "can you fix WordPress? I don't like it." He was comparing the editorial experience of WordPress to those of Tumblr, Facebook, Twitter, and Medium. Sites where the front-end of the site, to a logged-in user, also serves as the back-end of the site.
Actually, there is little to no back-end of the site.
I want to investigate making WordPress easier to navigate for editors - without doing anything on the back-end. I'm not sure what form this will take for now (probably wireframes and mockups), but I do want to devote some serious time to it.
These are just the top 5 ideas marinating in my brain right now. What did you take out of WordCamp you'd like me to hold you accountable to? Will you help hold me to the list above as well?