My goodness, what a year it’s been. 2018 was amazing, both for Gimkit and myself personally. I’ve learned so much — through all of the failures and the successes, I’ve had a great time working on Gimkit and seeing how it has impacted students and teachers.
Since we’re at the end of the year, and the beginning of a new one, I wanted to take some time to look back at 2018 and see how far Gimkit has come and what I’ve learned. Writing this post has been really helpful for me as I process an incredible year. I hope it will also be an interesting look into my head and experience for everyone who used and played Gimkit over the year
Because it was such a big year, I wrote a big post. I put together a month-by-month breakdown, which was really educational to write. But, if you don’t want to read it all, here are a few of the takeaways that impacted me most from working on Gimkit in 2018:
- Everything doesn’t have to be perfect — A few different times I announced that an update or new feature was coming, then I would miss the deadline I created for myself because I was perfecting something before releasing it. Once people started using it, it would break anyway or something unforeseen would come up and I would just have to fix it anyway. Plus, since some of the best pieces of Gimkit came from student and teacher feedback, it is more efficient and effective to be a little less protective of every detail and. Just. Ship.
- Gimkit is bigger than I thought — Not in the sense of being popular or a big deal. But in the sense that if even one teacher is using Gimkit with an engaged class, it’s having an impact on students and how they learn. A wealth inequality issue kept coming up when we spoke to teachers or received student feedback, and as I dissected the issue I realized what a big deal it was in terms of how students learned with Gimkit. If they didn’t feel like they could win, they didn’t care enough to try, which meant they weren’t learning. I was able to come up with a pretty good solution (see Team Mode in March below), but it was a difficult problem that showed me how complicated teaching and learning really are.
- Set release dates after the release is ready — A few times this year I publically announced a release date, only to come up against it way faster than I imagined. This created unnecessary stress and pressure, and, more importantly, led to rushed releases with lots of ugly bugs.
- You all are amazing — I mean, I knew that already, but this year really proved it to me. In 12 short months, Gimkit grew from a few thousand users to over 90,000 (that number doesn’t include all of the students who play Kits without usernames and logins). Every day when I wake up to new subscriptions (paid and free), a full email box, and Kits already running on the East Coast, I feel grateful. You all have not only used and shared Gimkit more than I ever imagined, but you and your students seem to be genuinely enjoying it. It’s amazing to think that teachers are seeing improved learning in their classrooms because of something I built as a school project!
Each month brought a different area of focus, which came with their own sets of unique challenges, solutions, failures, and learning.
January was all about creating a more consistent and cohesive design language for Gimkit. Here’s the thing: Josh in May 2017 was for some reason obsessed with gradients. Don’t ask me why...
Here’s what your dashboard looked like before January:
What was going on in my mind that made me think this looked good? I don’t know! January was about doing design research and figuring out which system would make the most sense for users to create, find, and discover content inside of Gimkit.
Creating a custom design framework requires a fair amount of work and resources which is why Gimkit bootstraps off Ant Design. Ant Design makes a fair amount of decisions such as layout, inputs, buttons, colors, navigation, and more. If you’re interested, I would highly recommend you learn more about Ant here: https://ant.design
In January, I spent time migrating Gimkit over to Ant, focusing first on the dashboard. The dashboard ended up pretty much looking like how you know it today:
Other parts of the application were migrated over to this new design language. Here are some more before and after screenshots:
I learned the importance of a strong, clean and consistent design. Design that allows natural flows through the application and encouragement towards creation.
This was a great month, partially because I discovered that it’s critical not to try to perfect everything. I originally wanted to create my own design system, with custom buttons, inputs, and elements. Bootstrapping off another design system, while less custom, allowed me to work on new things that would help students and educators alike.
February was all about adding new features to Gimkit. It was a busy month, with the realease of version 1.4 and 1.5. Here’s what I added:
Answer Check — you couldn’t even view the correct answer in Gimkit before Feb!
Text Input Questions — taking Gimkit beyond multiple choice questions
Image Questions — adding a visual component to questions
Reports — data surrounding where students are succeeding and struggling
Creating all of these features was a great learning experience on its own, but a lot of the learning came from interviews. My mentor Jeff taught me the importance of listening to teachers and students, finding out what they wanted, and including them in the creation process.
With his help, he and I conducted dozens and dozens of interviews to find out what people wanted out of Gimkit. A lot of my first few interviews were rough, but with his guidance, I learned how to ask the right questions and get the info I needed to make the interviewee feel heard.
March: Game Design
March saw the arrival of a brand new game mode in Gimkit: Team Mode!
Team Mode came from complaints that Gimkit’s game design led to wealth inequality. The students in the top leaderboard positions were miles ahead than the students on the bottom of the leaderboard. I wanted to make sure every student felt as if they had a chance to win. I had to answer some difficult questions: How could the game become more balanced? Fairer? Should it?
I bounced ideas that we see in politics when the issue of wealth inequality gets brought to the table: taxing the “rich” and providing extra assistance to the “poor”.
I had some interesting conversations on this topic with friends, teachers, students, my parents, and mentors. Here is one of them:
If we slow down the rich, we are discouraging those learners that are trying their best and giving it their all. Even if they’re very confident in the subject material, they still will have to try pretty hard to get to the top of the leaderboard.
If I were playing Gimkit, I wouldn’t want to be penalized for doing well.
And as for helping the poor…
Helping the poor seems like the more logical choice to me compared to slowing the rich, however I think it still has some major disadvantages.
I think we could run into the same issue. If we gave awards/bonuses to those not doing well, I might choose the strategy of not doing anything so I could get a bonus. In Mario Kart, I would sometimes wait for everybody to go so I would be in last place, get a good powerup and zoom ahead.
This was a really tough issue to work through, and no solution quite seemed to fit without opening a fair share of cons. Through conversations and research, the result became clear: wealth inequality was necessary. Without it, Gimkit wouldn’t be fun. The goal of getting more money than your classmates was a motivator and getting rid of that would remove a large enjoyment factor in the game.
The problem was that wealth inequality was coming at the expense of student motivation and engagement. So, we had to do more thinking and brainstorming to find a way to keep wealth inequality while increasing engagement.
The best solution we could find was to decrease the number of competitors. Being in last place against two other competitors is much more motivating than being in last against 30 others.
To decrease the number of competitors, thus leveling the playing field, I created team mode. In team mode, students share a balance with their teammates. Upgrades, however, are purchased individually. This means teammates have to communicate and strategize on the spot to make each teammate in the most ideal situation to contribute — from what I’ve heard from teachers, this makes for some very fun and interesting conversations. 😂
April: Gimkit 2.0 & Increased Usage
April saw the release of Gimkit 2.0, a brand new version of Gimkit focused on bringing Gimkit outside of the classroom.
Assignments was the highlight feature of 2.0, allowing teachers to assign Gimkit as homework. Our assignments feature was designed to fill in the cons of your traditional homework.
Most homework doesn’t have an instant feedback component. Students can spend 30 minutes to an hour working on an assignment only to find out two or three weeks later they were going in the wrong direction. Gimkit Assignments gives instant feedback so students aren’t steered off the right track.
Traditional homework assignments also don’t ensure mastery. For some, a 25 question worksheet might not be enough practice. For others, it might be too much. Assignments are considered complete once a student reaches a certain cash amount inside of Gimkit. Not after a certain amount of questions. This ensures every student gets the practice they need to become competent with the material.
I added a bunch of features in 2.0, including Preview Mode, Handicap, and an increased Kit limit for basic members. As these features were released, Gimkit started significantly increasing in popularity. Usage increased by almost 500% MoM in April compared to March.
A lot of my learning in April came from keeping Gimkit running smoothly from a technical perspective. The increased usage meant I had to make sure Gimkit was technically able to keep up. I spent May learning about server scalability, creating systems to identify bugs and get more information on them, creating tests to make sure bugs are less likely to appear — all the fun stuff. 😉
May: Foreign Language & 3.0 Interviews
May saw the addition of new features to help foreign languages. Teachers could now choose custom currencies and languages to use in Gimkit. Each of Gimkit’s in-game upgrades saw an increase to 10 levels instead of the previous 8. Team alerts were also added to alert teammates when their peers purchased upgrades.
I also spent a good chunk of May interviewing teachers, students, and classroom gamification experts to learn more about how I could improve and make Gimkit better for version 3.0, which I planned to work on over the summer. I also used Twitter to get some feedback from a larger chunk of the Gimkit community:
A large part of May was learning even more about game design. How can you expand gameplay, while making it more balanced and competitive, all without making it feel overcomplicated or overengineered? These were challenges I tackled while ideating the next version of Gimkit. I bounced all my ideas and thoughts off teachers and students to make sure it would be something they would want to see in Gimkit.
June: Gimkit becomes a company!
In June, Gimkit became an official company!
Funny enough, at the time of this writing (December 22nd, 2018), I still don’t own Gimkit! You have to be 18 to own a company which I will reach on the 7th of January. So, for now, my dad owns Gimkit. 😊
I also spent a large chunk of this month working on Gimkit 3.0, but I’ll explain that next.
July & August: Working on 3.0
I spent the summer building Gimkit 3.0. With 3.0, I completely rewrote the game. There were a few reasons why I did this:
- New Technologies — there were a lot of new technologies and frameworks I wanted to use inside Gimkit. Using these allow me to be more confident that Gimkit works correctly and without bugs. Some of the new technologies also make it easier for me to make changes to Gimkit. This was essential as I planned on adding new powerups as the year progressed.
- New Design — The current design of Gimkit wasn’t going to fit all the new stuff that was to be added in. Animations weren’t as smooth, the shop was limiting. Rewriting the game allowed me to better design the Gimkit playing experience.
- New Functionality — there were lots of new things I wanted to add into Gimkit with 3.0 and beyond. Things like themes, powerups, and KitCollab (more on those below). In many ways, it was much more seamless to write a new version of Gimkit designed for this new functionality than to squeeze it into the existing one.
In July and August, I learned a lot more about developing applications. Getting to work with a lot of new and updated technologies made me a better engineer. Plus, investing time and energy into writing more clean and maintainable code has made life a lot easier.
September: Back to School
September was still mainly focused on getting 3.0 complete, with some tiny product updates along the way.
Something I learned in September was how purchase orders work. Now that Gimkit was an official company, I could accept purchase orders to pay for Pro subscriptions. If you’re not familiar, schools will often use purchase orders to pay for school items. A purchase order is sent which is a promise of payment. On a later date, payment comes in.
Well, I had absolutely no idea how all of this worked. I remember the first time I got a purchase order emailed from a teacher. I replied back:
Hi there! Sorry, but I am unable to bring this to the bank as a valid form of payment.
They were nice enough to inform me a little more on how purchase orders work. I was still a bit confused, but I went along with it. After a few purchase orders, it all made a whole lot more sense.
September was not only figuring out how purchase orders work, but creating systems to manage them. I eventually figured out how to keeping track of orders and their statuses, the process if payment does not come in, the process if payment bounces, and as many edge cases as I could.
But of course, I spent much of September working on 3.0 which brings me to…
October: 3.0 Arrives!
After months and months of work, 3.0 finally launched! To share the new version, I held a live stream at the beginning of the month.
A video worked a whole lot better to show what was new than a traditional written post.
3.0 was jam-packed with new features including:
- Activity Feed
- 100+ Foreign Language
- Kit Search
If you’re interested in more details about the 3.0 additions, the video above does a decent job explaining them.
A big thing I learned in October was the importance of not rushing releases because the 3.0 release was messy, to say the least. At the time of the announcement, 3.0 wasn’t ready, even though I’d promised a release the following Saturday. I finally completed a working version two days before launch only giving myself and my friends two days to test.
The result was 3.0 was buggy at launch. Very buggy. It had some super strange and gross errors like this one, which looks like a fun hidden message but is actually just a mind-boggling bug:
All of you were extremely helpful and supportive during this time, and over the next week, most of the bugs were fixed (with your help!).
I definitely learned my lesson of thoroughly testing new releases and going through proper quality assurance, even if it means delaying the launch.
November: Seasons & New Powerups
There were six updates to Gimkit in November, including a brand new homepage and Gimkit sticker program. (You can find all of our changes in our changelog here: https://gimkit.crisp.help/en/article/changelog-cjt5q8/)
The biggest update came toward the end of November, with Gimkit Seasons.
Seasons takes Gimkit beyond a review tool by connecting multiple games. For the first time ever, students’ balances can be tracked over time, making for new types of competition. Teachers were already doing this manually by keeping track of each student’s totals from every game, so Seasons just made sense.
I didn’t mess with the original (classic?) single-game competition, where students try to earn as much money as they can for an individual game. But, with the arrival of Seasons, I added the option of a season-long competition. Using Seasons, Students have to try to beat their classmates over a set period of time, and classes can even compete with other classes. The competitors in a Season, and the amount of time it runs, is totally up to the teacher.
Here’s an explainer video for Seasons if you haven’t started one yet:
On top of Seasons, I was able to follow thru on my promise of new powerups in November. Part of the addition of powerups to 3.0 was to continually add new ones to keep the game feeling fresh. I added the Trick or Treat and Spider Web powerups for Halloween. And, for Thanksgiving, I added Pumpkin Pie, which quickly became a student favorite.
December: Winter Event
To end the year, I added a special winter event to Gimkit. This was pretty different from anything I’d done with Gimkit before and a bit of a risk, both technically and what the event asked of students.
While originally added to happen for every Gimkit player at the same time on the same day, this overloaded our servers, so a button was added for teachers to manually start the event. This meant they could also use the event for all of their classes.
The concept of events is another thing which I really look forward to doing more of. The goal of the event wasn’t only to change Gimkit (in this case for the holidays), but to help students learn problem-solving.
For December’s special event, students had to work together to complete a holiday tune. One mess up and they were back to the beginning. Students have to work together to decide who plays which note, and they have to self govern to make sure nobody is messing them up. The payoff when students complete the event is amazing:
Educator Tim Bedley did it with his students and tweeted after:
It was one of the most passion-filled, mind-blowing activities I’ve ever done with my class.
I’m super pumped on how the winter event went and I’m excited to do more events in the future!
December also saw the addition of four new powerups: Snowstorm, Jingle Bells, Naughty or Nice, and The Icer.
A Look Back
What a year it’s been for Gimkit. Writing this has even provided me with even more perspective into what we’ve done together with Gimkit. To think, it was just in January I was working to make the dashboard not look like this:
Now, I’m getting an amazing opportunity to build exciting new additions for students and powerful features for teachers. I’m beyond grateful for all the of the support you’ve given me. Your patience, kindness, and feedback have gotten Gimkit where it is today.
Areas to Improve
There are still a whole bunch of areas that I need to improve on, and these are the ones I would like to focus and work on in 2019:
- Separation — my mind is constantly on Gimkit 24/7. I can never stop thinking about it. This is fine most of the time, but other times not. When I try to relax and take a breather, I always have that little Gimkit buzz in the back of my mind. Heck, I’m even writing this post while on vacation for winter break. A proper obsession with Gimkit is what I’m looking for, but I would like to find a way to detach and take breaks when I need them.
- Better Relationship with Users — back before April when Gimkit was much smaller, I had a really great relationship with users. As Gimkit quickly grew, it became harder and harder to maintain these close relationships. In 2019, I would like to find ways to strengthen my relationships with users.
- Focus on Stability — as I’m sure many of you saw this year, I released a lot of new things when they weren’t ready. It’s exciting to build something new and quickly share it with everyone, but this has often come at the cost of a bad teacher & student experience. I want to focus more on making sure my changes are stable before releasing.
- More Building — a huge chunk of my time in November and December was maintaining Gimkit, mainly due to the user base almost doubling just in these two short months. This has given me less time to build new things for Gimkit. In 2019, I will focus on investing in resources that allow me more time to build and improve Gimkit.
Alright, well that’s all for 2018.
Thank you all again for such an amazing year and for supporting a student-built game. 2018 will be hard to beat, but I have high hopes that things will only get better in 2019. I also have some super exciting announcements to share very soon so stay tuned.
Here’s to this year and the next!
-Josh from Gimkit