As founder of Axosoft, there is nothing that excites me more than major new releases of our software, especially updates that affect the productivity of all of our users! On occasion, we also make meaningful pricing changes that make our software more accessible to a greater number of developers worldwide.
Today, we are doing both of these things, which is why I’m doubly excited! We have:
- The release of GitKraken v6.0
- New GitKraken pricing plans
Each is a major milestone, so, let’s jump right in…
GitKraken v6.0: Perf, Perf, Perf… and Tabs!
If it isn’t obvious from the headline, the big focus of GitKraken v6.0 is on performance. With hundreds of feature requests in the GitKraken backlog, it can be hard to stop the entire development team from working on any new features, and instead, focus on rewriting existing functionality to be faster. No new features means our sales team doesn’t get any of the things prospective customers have been asking for. It also means we can’t checkoff any features on customers’ lists of requirements.
When we released GitKraken v5.0 with new functionality like GPG commit signing and interactive rebase, it meant we could go back to customers who had been asking for these features and say, “We did it! Here are the things you asked for.” But no one has been directly asking us to rewrite stuff the product already has.
Why Focus on Perf?
So what was the reason to stop working on new features and focus an entire release on just performance improvements? To understand our motivation behind v6.0, it’s helpful to know Axosoft’s purpose for existing.
We have a company Glo Board that we use to onboard new employees—it also provides useful information about company benefits and policies that every team member has access to. This board starts with defining the two most important aspects of why Axosoft exists: the ‘Why’ and ‘What.’
Axosoft’s purpose since we started the company has always been about making developers more productive so they can ship software on time. This guiding principle has driven Axosoft for more than 17 years; first, in creating the Scrum Project Management tools under the Axosoft brand, and most recently, in the creation of the GitKraken product line. Helping software developers be more productive is the underlying reason for Axosoft’s success.
Since the launch of GitKraken v1.0 in 2016, more than 1.4 million software developers around the world have discovered GitKraken. For hundreds of thousands of them, GitKraken has become a game changer for how they develop software every day because of the productivity gains.
See how the GitKraken Git GUI fits into the DevOps lifecycle.
Improving Developer Productivity Benefits the World 🌎
If we improve the productivity of those who discover GitKraken by just 1%, given the GitKraken user base, it’s as if we have added 14,000 new programmers to the world’s software development workforce. If we can move the productivity needle by 10%, that’s the equivalent of 140,000 new developers worldwide.
And those numbers will keep increasing as the GitKraken user base grows. Because we believe software is making a positive difference in the world, having our work be equivalent to adding tens of thousands of software developers to the global workforce is an extremely motivating goal!
With that driving principle to guide us, it makes sense why we wanted to make GitKraken even faster in every possible way. Faster at starting up, faster at opening repos, faster at committing, faster at refreshing the graph and everything else in between. If GitKraken is helping make developers more productive, a faster version of GitKraken will help developers be even more productive!
We started to look at performance as a feature—a feature that affects 100% of our users! And from there, It. Was. On. The new goal of GitKraken v6.0 was set: it was going to be all about performance improvements.
The GitKraken v6.0 Journey
As we set out on our v6.0 journey, it was important to have some systems in place to provide us with benchmarks.
We spent the first few weeks building the scaffolding that helped us measure everything. We set up canary machines that would automatically test every new build and spit out the performance metrics that we wanted to improve: What was the startup time? Was it on Mac, Linux, and Windows? How many milliseconds did it take to open a repo? What about switching repos? We wanted to make sure we didn’t miss any opportunities for improvement, so, we made perf improvements the mission of the entire team. Every developer had to start thinking about ways to improve speed.
Once we had our benchmarks and canary machines in place, the hard work could begin. Rewrite after rewrite, shaving milliseconds off of each operation, the team was hyper-focused on performance—paying attention to every little detail. Slow JavaScript code that took 100ms to execute was re-written in C++ so it could run in 10ms; operations that were redundant were eliminated; and major parts of GitKraken were re-worked to make it faster.
Rebuilding from the Inside Out
At first, it felt like chaos. It was like we were doing knee surgery and brain surgery while also performing a heart transplant. We were taking out the guts of GitKraken, and with every surgical removal, we were putting in new untested parts.
Like most large software projects, sometimes you have to embrace the chaos and the lack of visibility, pushing forward every day. Even though we couldn’t see the results at first, we knew we were headed in the right direction. Each part was being replaced with a faster, shinier version.
Over and over again, part by part, the replacements were happening at a feverish pace. Finally, after months of work, GitKraken was being put together again, and the light at the end of the tunnel started to emerge.
We were finally at a point where all the pieces were coming back together—we had a build! When we opened GitKraken for the first time after surgery, our familiar spinning Kraken mascot, Keif, started his dance, but then after just two spins, he abruptly stopped. Damn! I thought to myself, as I sat there wondering what had gone wrong. Keif normally does his dance for six full spins. After months of work, the last thing I was expecting was for the application to crash on open. But within a fraction of a second, the beautiful guitar-hero-like commit graph emerged. “Wait, what just happened?” I asked the team. “Was GitKraken already running on this machine? Surely this could not have been a fresh load of the product!”
GitKraken was not already running. The team informed me this was a fresh load! These were in fact the startling results of months of intensive surgery. GitKraken was whole again, and the results were fantastic. It wasn’t just opening faster, everything was faster!
Here is a chart showing the improved times of GitKraken v6 compared to v5:
While we were excited about these results, we also realized that these improvements came at a cost. Our beloved dancing Keif was being cut off after just two spins. Like many of you, I was going to miss our little guy’s dance moves. Two spins wasn’t going to be enough for me. Each time I opened GitKraken, a smile would come to my face as I watched Keif dance around my screen.
Fortunately, our marketing team had a solution for me. I can now visit the Keif Gallery anytime I want to see Keif dance!
And Then There Were Tabs…
As we continued to measure and improve GitKraken’s performance for virtually every operation, something occurred to our team during one of our review meetings: what if we used these perf improvements to allow rapid switching of repos, in the form of tabs?
The idea of tabs was nothing new, but because GitKraken has a relatively large footprint and can be a little memory-hungry due to its visual nature, opening lots of repos at the same time could get very costly. However, with all the perf improvements, the idea was to implement tabs in a highly efficient way.
Instead of loading all the goodness of GitKraken–including its graph and all of the underlying infrastructure–we thought, ‘what if we provide a fast means of switching between repos that provides all the benefits of tabs, but with little overhead?’ If we could rapidly load a new repo and show the graph, there would be no need to keep everything in memory – we could cache the important stuff and rebuild the rest quickly.
The idea of having a handful of frequently used repos accessible in the form of tabs was super exciting. So while most of our developers were continuing to finish out the performance improvements of GitKraken v6.0, we put a couple of team members on testing out a prototype of tabs— just to see if people would like it.
It turned out everyone loved tabs! Once people started using tabs, nobody wanted to give them up.
Some felt that between the perf improvements and tabs, tabs was the bigger deal in v6.0. As a result, tabs became the major unplanned feature of the release. Go figure. We didn’t set out with the intent of having any new features in v6.0, and by doing so, the perf improvements enabled what could be one of the most important features that will affect every user’s workflow: tabs!
v6.0: A Faster Git Client
Get the latest version of the GitKraken Git Client:
GitKraken Pricing Changes
With the release of v6.0, we also wanted to improve GitKraken’s pricing plans.
Our intent has always been to offer GitKraken free of charge for students and those working on open-source projects. Since the inception of the product, we’ve always had a free version that has been described as “free for non-commercial use.” However, this terminology was a little vague and sometimes lead to confusion. Does “free for non-commercial use” mean you can use it at a government organization for free? What about for personal use on projects you’re getting paid for? The questions were endless.
Free Git Client for Public Repos
So we decided to eliminate the confusion in this way:
- The free version of GitKraken can only open public repos
- For anything else, you need a paid version
This allows GitKraken’s free version to be used for open-source projects. It also allows the free version to be used commercially—as long as it’s on public repos.
Additionally, students get GitKraken Pro free as part of the GitHub Student Developer Pack. Therefore, this new pricing strategy addresses our original intent in a much less ambiguous way.
Git Client Pricing for Individuals
However, we also recognize that there are a lot of GitKraken users that want to use our product for their own side projects—many of whom have private repos. For these individual users, who may cash strapped, we wanted to lower the pricing barrier so that it’s a non-issue.
At $49 per user per year, GitKraken Pro is already the least expensive Git client on the market, but for individual users, we are reducing the barrier even further. Which is why we’ve introduced a new plan that’s only $29 per year for individuals! And we’re sweetening the deal by throwing in the Merge Conflict Editor.
So for less than $2.42 per month, anyone can purchase GitKraken and use it however they want: for personal use, for commercial use, for non-profit work… whatever! Just do good with it.
What about Glo Boards?
Up until now, our Glo Boards task and issue tracker has been free only for non-commercial use. As of today, we are changing that: Glo is now free for commercial or non-commercial use!
But as we continue to build more features into Glo Boards, we are providing new, additional functionality for Glo users in each of the GitKraken paid plans. For example, in the new GitKraken Individual plan, you also get access to the new custom board backgrounds feature!
What about GitKraken Pro Users?
If you are a GitKraken Pro user, don’t worry, as the Pro subscription is still the best GitKraken subscription to have. There are features that are exclusive to Pro users.
For instance, multiple GitKraken profiles, which have been enhanced to remember your tabs, are only found in GitKraken Pro. When you switch profiles, say between Work and Home projects, GitKraken will reconfigure your tabs exactly the way you left it when you were in that profile. The ability to access self-hosted installations of GitHub, GitLab, and Bitbucket are also features exclusively available to GitKraken Pro customers. Additionally, the ability to manage an organization, its GitKraken users (and their licenses), as well as the ability to define and use the teams functionality in Glo Boards, are all features that require a Pro subscription.
In short, if any of the Pro-only features appeal to you, or if you are purchasing more than one license, you’ll still need GitKraken Pro.
GitKraken Pricing Comparison
To summarize, this is what the new GitKraken pricing plans look like:
There are more than 30 million Git users worldwide. We believe all of these users deserve to be more productive by using GitKraken, and think our new pricing plans help put our tools in reach for more software developers worldwide. We hope you’ll join us on our journey to reach 10 million GitKraken users and beyond!