I don’t know how other people are, but I like to challenge myself and beat my own records. It’s something that motivates me, and when I’m working on a project, this helps me a lot. I like to see that today I debugged less code than yesterday, or that I had less interruptions than yesterday and I was more focused on my work. There are tools that do this and I will talk about two of them, Codealike and WakaTime.
I discovered Codealike more than a year go. It had a really cool feature that tells you if you’re “on fire” based on how much you’ve worked in that day. I really liked it, and seeing that badge at the end of the day was something that increased my motivation. Back in January, I started to hear about WakaTime and I saw that it’s pretty popular with my twitter friends, so I decided to try WakaTime in parallel with Codealike and see what’s the difference between them. I said that I will post an article, and here it is. I will break the comparison down into a few categories:
- Time tracking
At the moment of writing this article, WakaTime has plugins for 19 IDEs and text editors, and other 9 plugins are in development. Codealike has support for Visual Studio (2010, 2012 & 2013), Eclipse (Juno or above), and an extension for Google Chrome.
I think it’s safe to say that WakaTime is clearly a winner in this chapter, and this may be the reason for why its popularity is growing among the developer community. If you want more users, you have to support more of the tools used for writing code.
Both tools have some common features and I’ll discuss those, but just to be clear, when it comes down to the number of features, Codealike clearly wins.
I think that this feature is the most used one. Although both tools have it, it doesn’t work in the same way.
Codealike tracks the time that you’re active in the IDE. So if you read your code for 2 minutes, it won’t track that time, but if you write/debug/build code, it will track it.
WakaTime adds time as long as the IDE is opened, so you can read your code, browse the web, and it will still track your time. I noticed this using Visual Studio, on Eclipse it seems to track time only if I’m inside the IDE.
EDIT: Apparently, the VS extension had a bug and that’s why it wasn’t so accurate, but now it’s fixed, and I already tested it. WakaTime also tracks time only when you’re active in the IDE. To be honest, I would prefer a tool that tracks the time when I’m coding/building/debugging but also when I’m searching on Stack Overflow or thinking about the architecture of the app, but you can’t detect this from inside the IDE, so it sounds like a job for tools like RescueTime + Codealike/WakaTime. I’m saying this just to point out that a programmer does more than writing code in order to create a software product.
I originally said that I prefer Codealike for time tracking because it’s more accurate, but I also like the fact that it tells me how much time I spent outside the IDE and how much I wrote/build/debugged my code, so I’m sticking with Codealike for this one.
With both of them, you can see what your rank is. WakaTime is using only your tracked time for ranking, and I like the fact that it also shows your time and languages in the leaderboard, not only your name.
EDIT: I thought that Codealike also uses only the tracked time, but they actually use a more complicated formula.
Besides showing your name and ranking, they also show your avatar and how many places you’ve gone up or down.
Both tools have the concept of Dashboard. WakaTime has a simple interface, and I really like that. You can see how much you’ve worked and on what projects.
Codealike on the other hand, has a lot more features, so the interface is a bit crowded.
I don’t have the time to go through all of them so most of the time I just look to see if I’m “On Fire” and how much time I worked in that day, but they should find a way to group them or redesign the dashboard. I don’t like it if I have to scroll to see something, but it’s not a major issue, I like the fact that I can see all sorts of statistics and data.
I think that these tools should have two goals, the first is to report your time and the second is to make you motivated to work more. They both have a leaderboard which can make you more competitive if you want to be the first among others, but I also like to challenge myself and beat my own records, and here you have the “On Fire” badge from Codealike. I like to see that badge for a few days in a row, it really motivates me. Another thing that motivates me is to see the detailed metrics from Codealike. They have a lot of cool ways to show you how you spent your time coding or at what times you are most productive.
If you’re a Microsoft MVP, you can have Codealike for free if you contact them, and WakaTime can extend your premium trial if you share their product on Twitter or with your friends by email. I tried to get another week of premium by staring their Github repo but it didn’t work.
You can use WakaTime with all the features for $9/month, and Codealike for $10/month or 100$/year. There’s not a big difference in the price, but there’s a big difference in the number of features available, if this is important to you.
I tested WakaTime in Visual Studio 2013 and Eclipse Kepler. In VS, it has some issues with the amount of time tracked and I’m curious why it didn’t gave me the extra premium week.
I tested Codealike in the same environments as WakaTime. In Visual Studio, it works perfectly, but for some reason, it causes the Eclipse IDE to crash a few seconds after launch, so I had to uninstall it. To be honest, Eclipse was crashing on its own from time to time, I don’t know if other things were interfering with it, but still, I wish I could see how Codealike was tracking data from it compared to VS.
For Codealike, I wish they could make plugins for other editors, or at least make their API
public so we can build them ourselves. Also, I wish they could clean the dashboard a little and remove the scrolling.
For WakaTime, I would love to see some new features and better integration for IDEs.
I’m not writing this article to say which one of them you should use, because although they seem to do the same thing, they have similar features that work in a slightly different way. Comparing WakaTime with Codealike is not easy. The first one is available to more developers, and if you just want to track your time then it’s ok for you, but if you like to see more data about your work and you like the extra features, then I strongly recommend Codealike.