My vision for Branch
Yesterday I had a conversation with Jonathan Wold about Branch and the WordPress eco system in general. Jonathan asked me a few times what my vision was for Branch. How do I see this playing out? How do I envision the product in the future? The conversation sparked a lot of great questions for me to reflect on. The purpose of this blog post is to try to answer those questions.
Before answering the question “what is my vision for Branch?” I think it makes sense to understand why I’m working on Branch at all. Branch is a progression from my work on WP Pusher, a deployment tool for WordPress developers. WP Pusher is a great tool and it helps a large amount of WordPress developers on a daily basis. Some agencies use WP Pusher to deploy themes and plugins on 100s of WordPress sites. However, there are a few problems I can’t solve with WP Pusher, the main one being “continuous integration”. If you have tests, code compilation and Q/A that needs to run before a deployment, WP Pusher probably isn’t the right solution for you. In fact I don’t believe the so called right solution exists at this point, which is why I decided to build Branch. I want Branch to be the best possible continuous integration and deployment (CI / CD) tool for WordPress.
Based on this, you can probably tell that Branch was born from a bottom-up approach to product development, rather than a grand vision. Branch is an organically “grown” version of what I had already built with WP Pusher.
With those things out of the way, these 3 bullets summarise my vision for Branch:
- Offer the best build and deployment workflows for WordPress
- Educate and inspire WordPress developers to do better work
- Become a great company within the WordPress community
Only bullet number 1 refers specifically to the feature set of Branch. Bullet 2 and 3 are way more important. In fact, I’ll dedicate the rest of this post to reflect a bit more on those two. Bullet number 1 is dependent on me and Branch succeeding with 2 and 3.
To educate and inspire
I know that a big blocker for many WordPress developers to adopt a CI / CD workflow is lack of education and tooling. To get my thoughts on this, please read the manifesto on the Branch website.
To counter this I want Branch itself to be an educational tool. I envision a product where WordPress developers slowly start exploring and learning about CI / CD after signing up to Branch. I’m imagining a mental progression that looks like this: “I have an annoying problem in my workflow” → “Branch can solve this for me” → “Branch can solve all of these other problems that I didn’t even know I had” → “I’m a better WordPress developer writing better WordPress code“.
In addition to teaching developers how they can use CI / CD within their WordPress projects, Branch needs to drastically lower the barrier of entry to this world. I’m imaging a typical interaction with Branch to be something along the lines of: “Branch: Hey WP dev! Let me show you what integration tests are and how they work” → “Branch: Do you want me to sprinkle in a few default tests for you?” → “Dev: My code base is more solid and I’m inspired to start adding my own tests“.
A great WordPress company
I want Branch to be a great WordPress company, but what does that mean? To me this means that Branch is a company where people in the WordPress community are happy and proud to work and a company that supports the WordPress community through various projects. I’d love for Branch to be successful enough to allow all WordPress developers to use it on their open source contributions without paying. This is one of the greatest contributions to the WordPress community I can imagine doing.
Do you want to try Branch?
Branch is currently in private beta and I’m looking for WordPress developers interested in exploring CI / CD. You don’t need any experience with any of these things, you just need to be eager to learn and experiment. If you want to try Branch, shoot me an email to let me know.