What went behind building HackerBlocks 2.0 ?
Unlike any other system design requirements, working on a complete UX revamp of a product that has been in existence since the last 2 years was a refreshing experience. We were not building something from scratch. We had a perfectly running software which was serving our purpose.
The first question which would probably come to your mind is the why. Why to revamp a product experience ? Answer to it is simple, but manifold. You want your users to have a delightful experience while using your product. You have seen its shortcomings, you have seen its strong points and you know that it needs a revamp. The more important question which should come to your mind is when to do it ? The answer is more complex than it might seem. In a startup, you’ve tons of new ideas to work on, thousands of pending bug fixes/improvements, other jobs which might not fall under your KRA but you have to do it because no one else has the time or the resources, so how do you decide to leave all of them and start working on the revamp of an old product.
HackerBlocks was one of the most used products by Coding Blocks back in 2017. Well, it was kind of the only usable product. Kind of. In May 2018, we came up with a revamped version of Online Coding Blocks, our course consumption platform. Within the initial few days we saw an increase in the course sales by almost 100% and positive user feedback. Online Coding Blocks then left behind HackerBlocks and became one of the most used products.
This was a big win for us since the tool which made us money was on the rise and was performing better than the rest. The question still remains, why did we decide to do a revamp and a rewrite of the product that was:
1. Free to use,
2. Was being used by more than 30k developers across the world,
3. Was helping us create awareness about programming in tier-2 & tier-3 cities of India,
4. Was responsible for evaluation of assignments being submitted by students (Classroom and Online)
Answer is, all the above points along with tech-debt.
HackerBlocks was written way back in 2015-2016 as a hackathon project and all the features were being implemented on top of that. That meant a lot of tech-debt, so much so that any new feature that we decided to build, took 2x amount of time it would have taken otherwise because of the bad conditions we had to write the code in.
Hence, we decided to give it a revamp along with a complete rewrite. At, Coding Blocks we have multiple varied products in our bouquet to offer which also work as different services for our service oriented architecture. We have Online Coding Blocks and HackerBlocks, as mentioned earlier. We have dukaan, accounts, IDE, discussion forum, boss and many others.
Focus on what users do, but never lose sight of what users say. Deliver on needs, but build for aspirations.
In mid 2018, one of the major issues being reported by our users was that they used to get lost between the different products because of the redirection strategies that we had. Our support had to dictate the URLs that our users had to go in order to get the work done. For example, we’d tell them if they want to update their profile, they've to go to account.codingblocks.com. If they want to attempt contests then go to hack.codingblocks.com. This was a cumbersome process, not only for the users but also for our support team as well.
A similar feedback from our rest of the users brought us to the realization that as a startup of young software developers with 1-2 years experience, we were designing these tools as a software developer would. But, hey, what's wrong with that ?
Be aware of your privilege. You and your user have very little in common.
The people for whom we were developing these softwares for, were not the same as us. Once we understood this paradigm, we were introduced to a whole new world of behavioural science and its application in designing products.
So, we knew that HackerBlocks needed a revamp and we also knew that we somehow had to provide a unified experience for the different products that we have. We were a team of super talented software developers with some awesome interns around us and we could practically complete all the requirements within record time. Even after that we could always feel that something was missing and customers were not as happy as we’d expect them to be.
Before working with Coding Blocks, I used to work with Practo and one of my favorite mentors at Practo once told me that, “In a startup, you don’t have positions, you have people.” Which basically meant that you’re responsible for the growth of the company as a whole rather than just justifying your own position when you’re working with a startup.
I had taken up psychology as a personal project in 2017 in which I got introduced to behavioural science and I’ve been also leading the tech team at Coding Blocks. Someone who knew the technical side of the products and how they can be connected with each other to provide a wholesome experience for our customers. This was my motivation to make a jump from being a software guy to a product guy.
What makes a good product great?
We had lots of interactions going for us in our old tool, every month around 5k users would take part in our contests in some form or another. We wanted to improve their experience.
We started with a feedback from our Mentors and Teaching assistants as they were the people who either created those contests or attempted similar contests at other platforms. One of the key lessons that I’ve got after working as a leader, is that you don’t always have to be right, you have to get it right. You’ve to work with smart people who help you steer in the right direction. You’ve to insist people to tell you when you’re wrong.
We received some amazing insights but most of them concentrated on what someone else was doing in a better way than us. As a startup, we’ve always focussed on first principle thinking, so the next question which came naturally was why people like those features.
After a drill down we could classify the feature sets that people had liked, into 5 motivators given by self determination theory.
1. Competence (Ability to do something efficiently)
2. Mastery (Desire to get better)
3. Purpose (Yearning to be a part of something larger than ourselves)
4. Progress (Desire to see results associated with mastery and purpose)
5. Social Interaction (Need to connect with others)
These 5 motivators are also at the core of gamification mechanics. As human beings, we are hardwired to be satiated by the fulfilment of these motivators. We revisited the features, with a new mindset this time and came up with some new features of our own.
To understand the context better, let’s visit some of the new features that we’ve added to our platform along with their descriptions and the motivators they’re linked to.
One of the key highlights of this release was a super smooth user experience. On an average a users have an attention span of 5-8 seconds. Immediate feedback or response to a user after he/she performs an action on our platform gives him/her a sense of Progress.
Transparency in terms of LeaderBoards
We’ve integrated 6 different classes of leaderboards where our users can quickly analyse where do they stand as compared to others quickly and easily. They can also click and go to someone’s profile page and see their actions on the platform too. This helps us to create a community of software developers who can interact with one another to create a healthy competitive environment.
User can now earn and display evidence of their accomplishments which others can see
-Mastery, progress, purpose, social interaction
DCB (Short term goal)
HackerBlocks has a feature named DCB, Daily Code Byte, where in a user is given a problem to solve on a daily basis. Doing a complete assignment might seem like a big task but one problem a day can make you do over 300 problems in a year to help you become the master of programming. This helps our users in defining a purpose and track progress in real time. What more ? If you solve a DCB for 7 days straight, you get a Streak Master badge. Sounds cool ? Give it a try now !
On-boarding – Dashboard experience
As soon as a user enters our platform, he/she gets to see a dashboard. On this dashboard, we’ve provided user some of the analytics like:
- All time best ranking
- Current ranking
- Performance from last month
We’ve also added CTAs to other important features, like DCB, Competitions etc to give the user a choice according to which he/she can decide how he/she would want to spend the time on our platform. They can quickly and easily in an engaging, compelling way.
Competition – Contests
We’ve introduced different categories of contests and competitions on our platform.
CodSule which is a year long competition and has monthly editions.
4 categories of contests namely, hiring, course, colleges and admissions. User can see how well they are performing against others and challenge them (directly or indirectly).
-Mastery, social interaction
Collaboration and community – Discuss integration
-We’ve incorporated discussion threads in our platform where our users can have discussions related to the problem that they’re trying to solve. This helps to create a community where people help others to achieve their goals.
-Purpose, social interaction
That’s not it, throughout the whole product lifecycle starting from understanding the why’s to figuring out the how’s, there were n-number of opportunities to gamify the experience and making the product more engaging and rewarding for our customers. Keeping the element of surprise, we urge you to try the platform yourself. Months of coding can't be justified in one article and your curiosity can't be quenched in a 5 minute read. So, go ahead and try out our new platform to get a wholesome experience.
We’re a team of extremely talented Software Developers and Product Designers and HackerBlocks is our way of giving back to the society where we came from and are still a part of, we’re here to add value in the life of our students and users. By giving timely rewards, and utilising the gamification mechanics efficiently, we’ll be able to build a more loyal customer base who’d actually want to use our other products and services instead of relying on discounts and other such false promises.
Check it out now at https://hackerblocks.com