Since I got disconnected during our WordSesh session yesterday, I didn’t have a chance to properly explain my thoughts on the state of the WooCommerce ecosystem. Brent, Daniel, Patrick and Scott did an awesome job and it was a great session after all. I feel bad for not being able to share my thoughts though.
So I figured it was a good idea to share my thoughts about the WooCommerce ecosystem in a post on my blog. Here I have the freedom to take the time and explain everything properly, no need to make sure everything goes smooth in one take.
I was able to explain my thoughts on the first subject, but I’ll describe it here anyway to be thorough. Hopefully the session video will come online soon, so we can all have another look at this awesome WordSesh session.
Advice for a starting WooCommerce developer
There is only one advice that I can give a starting WooCommerce developer: Get involved with our community and simply let us know that you’re here. Your first stop should be the new Develop WooCommerce site. Here we share our notes, discussions and announcements, pretty much anything related to the development of the plugin.
Next there is our GitHub repository of course. We really appreciate any contributions, it doesn’t matter how small it is. The GitHub repository is always the place to be when you want to get familiar with the source code and see what’s changing on a daily basis.
My WooCommerce development flow
During the session, Brent explained his workflow and explicitly mentioned that he’s not using Vagrant. My workflow on the other hand is entirely based on Vagrant virtual machines. I have a couple virtual machines that run various PHP versions to make sure all my code works in PHP 5.2, 5.3 and 5.4 at least. PHP 5.5 hasn’t been set up yet, I should get to that soon. All the different PHP versions come in great hand when I’m auditing third party developed plugins, so I can check for PHP version compatibility there too.
When I’m doing development work on a bigger extension, I usually set up a new virtual machine for just that. I’ve got a great blueprint using Vagrant and Puppet to quickly set up a fresh virtual machine. This virtual machine contains at least two installations on the current stable and development version of WordPress. On both versions, I have a copy of the stable and development version of WooCommerce. This enables me to easily test my code on all common configurations.
My support best practice
In WooCommerce support, I often see people ending up with broken websites, which could easily have been avoided. My support best practice is to test every single change to your website, on a staging environment.
A staging environment is an exact copy of the live website, but then running on a different address. The whole point of having a testing environment, is that you can actually test any changes before you touch your live website. If there are any conflicts or other errors, you can solve them first before you upload your changes to the live website.
To make sure this experience is as smooth as possible, I highly recommend you use a version control system and possibly a deployment tool like Capistrano.
You can also set up a staging environment on a virtual machine, where you can use Puppet provisioning (for example) to further automate the setup of your staging environment. The less work it takes to set it up and keep it up to date, the more likely it is that you will actually use the staging environment.
Cool WooCommerce uses
This was one of the most fun subjects in our session. Specifically one of the WooCommerce uses that was highlighted: AppPresser. Even though this is not directly related to WooCommerce, one of the first apps this new service has set up, is also running WooCommerce. It’s a great new tool that allows you to create an iOS or Android app, without writing any of the platforms native code. The first beta will be released to people who signed up for next week, so I’m really looking forward to giving this a quick test run.
It’s no longer the biggest WooCommerce website that we know of, but the Soulbrother website always was my favourite use case. With well over 20.000 products and using a WooThemes theme, it was the live example of a bigger WooCommerce powered website and it’s very well performing. Kinder-book (a German child books selling website) is now the biggest WooCommerce site that I know, with around 60.000 products in a single store.
The future of WooCommerce
Besides all the futuristic ideas that we had while brainstorming the future of WooCommerce, one thing really stood out to me.
There has been chatter about doing a WooCommerce conference, very much like a WordCamp but then all about our eCommerce plugin. I was excited (yet not involved) to see a dedicated BuddyPress conference happen. It really showed how mature some plugins within the greater WordPress community. I think this can work for WooCommerce as well. Our community is big enough to see this work out, so I’m looking forward to finding out if this is really going to happen.
I think ideas like this prove how involved and growing our WooCommerce community really is. It makes me proud to be part of this exciting plugin project and am very much looking forward to finding out what the future will bring us.