HeroMode can also be used as a project management tool. For example, we have been using HeroMode to manage the software development process of HeroMode. It allows us to:
- Manage our tasks in a motivating way
- Prioritize what we need to do with sorting and quest locking
- Record notes and screenshots with Mementos
- Visualize progress with points stats and activity calendar
- Create milestones to celebrate all meaningful moments
When we started building HeroMode, we just wanted a little application that we can use to manage our daily tasks and to-do's, and, more importantly, motivate us to pursue our goals and aspirations.
It's a passion project. A little experiment to see if we can make doing stuff as fun as playing games. We know we'd have a ton of stuff to learn along the way -- both on the technical side and also on the science of motivation. We just wanted to try it out and see how far we can go.
And in a very meta fashion, HeroMode, the app, has been quite effective in motivating us to continuously work on and improve HeroMode, the product. There are issues and challenges basically on a daily basis. There are many times I struggle on a problem for hours or days, and at some point I was ready to give up, but then the thought of being able to swipe a quest as completed and get points boosted me to try just one more thing, and then, open sesame!
Here are some ways we have been using HeroMode to build HeroMode.
Task Management with Motivation: The HeroMode Adventure
As soon as we had a functional prototype of HeroMode back in May 2022, we created an adventure for the HeroMode software development, called "HeroMode Dev 🤖".
There's nothing significant about this step. This is equivalent to creating a "project" in a project management software. We are just calling it an "adventure" instead of a "project".
But psychologically, thinking about building HeroMode as an adventure has helped me to deal with all the issues and challenges we faced. An "adventure" is more open to unknowns, and more associated with exploring for viable paths. And such mindset has been helpful to reduce my frustration when dealing with issues. It feels less like "I can't implement functionality X", but more like "I don't know yet how to implement functionality X, but it's a really cool functionality, so we will figure it out".
Task Management with Motivation: Quest Points!
After creating the "HeroMode Dev 🤖" adventure, we then kept adding quests for any HeroMode-related tasks, like code development, feature implementation, backend updates, and bug fixes. It's just like using any other project management tools: you create a project, and then create tasks associated with that project.
With HeroMode though, you get points for completing quests! Most of the HeroMode quests are 1 pointers -- the default value. But some challenging implementations do deserve the max 3-point treatment. When I'm finally able to knock out the quest and mark it as completed, the little celebration of points is quite satisfying!
Above: Yay dopamine rush!!!
Stay Focused by Locking Lower-Priority Quests
There are so many things we still need to do for HeroMode development. Every quest we complete, more new ones pop up: bug fixes, UI improvements, and very often things we ourselves would like to have in HeroMode. Case in point, we currently have 17 open issues in our GitHub repository. Having this many open quests really clutters the quests list view.
Above: (Screenshot 1) An example quests list that's quite busy. It's difficult (and maybe unrealistic?) to focus on 10 different quests at the same time. (Screenshot 2) Quest Locking -- you can lock a quest to hide it from the quests list view, so that only the highest priority quests are in your focus.
To stay focused on the most immediate quests, I use quest locking a lot to hide those tasks that are important, but "not right now". There are three ways to lock a quest:
Lock a quest until another quest is completed. This is useful if there is a dependency between quests. For example, I can't do the quest "Test feature X" until "Implement feature X" is completed. So instead of having both quests competing for attention in the quests list view, I can lock "Test feature X" by dependency. Once "Implement feature X" is completed, the subsequent "Test feature X" will be automatically unlocked.
Lock a quest until later. This is useful if I need to punt a task into the future. For example, maybe I'm not ready for the "Implement feature X" quest just yet because I am busy with a different project. Then I can lock this quest, say, until next week when I have capacity again.
Lock a quest without condition. I do this very rarely. Such indecisiveness is only for quests that I feel should be done, but I'm not sure when. Locking a quest without condition means it doesn't get unlocked automatically, only when I manually unlock it.
Record Notes and Screenshots with Mementos
Within a quest, I can add Mementos -- they can be notes or photos. For HeroMode development, Mementos have been particularly helpful for logging bugs. Below is an example quest I created last month. Right after I implemented the activity calendar functionality, a test user reported that their activity calendar is not making any sense.
When the user reported this issue, I was not near my computer. But with the HeroMode app on my phone, I was able to create this quest to investigate the issue as soon as I can. I also added a memento with the troubling screenshot. It's very handy to have a place to keep track of these information.
Visualize Progress with Activity Calendar
Speaking of the activity calendar, which will be available soon with HeroMode V2, this is another useful functionality for the HeroMode development.
Activity calendar is a way for me to see our progress, and get a feeling of accomplishment as I see all the little efforts each day are adding up to something bigger.
Below, you can see our "HeroMode Dev 🤖" adventure activity calendar for the last few months. We started development in May 2022, and in June, we were particularly busy setting up the app for the July launch in the App Store. In August, development was still happening as we were adding the new V2 functionalities, but it was not as intense as June/July, when we also had to set up all the backend infrastructure, in addition to feature development.
Another functionality coming to HeroMode V2 is the Adventure milestones. Within an Adventure, I can see the milestones I have reached, and also add custom milestones meaningful to me along this adventure.
For "HeroMode Dev 🤖" adventure, I added the "V2 Launch" milestone. I hope we can reach it very soon!
See How I Spend My Time with Points
There are other adventures I manage within HeroMode, for example Ovisly-related tasks, and taking care of my dog. With HeroMode, I can see approximately how I spend my time. Moreover, I can see how this distribution changes over time on a daily or weekly basis.
Above: My points break-down by adventures -- this view is available in the Hero page. I can see that this week (Screenshot 1), I spend about 1/3 of my time on HeroMode development. However, if counting all my points, HeroMode development contributes to nearly half (Screenshot 2). This makes sense as we had a couple very busy development months in June and July, during which most of my time was spend working on HeroMode.
HeroMode for Project Management
Here is my of-course-somewhat-biased take on why I find HeroMode useful for managing a software development project:
- (Functional) Organize tasks -- list what needs to be done
- (Functional) Prioritize tasks -- sort tasks and hide low-priority tasks for later
- (Functional) Define task dependencies
- (Functional) Record notes and images associated with a task
- (Motivational) See progress and stats
- (Motivational) Define and record meaningful milestones
- (Informational) See how time is spent
We would love to hear a more unbiased take on if HeroMode is useful for your project, and why / why not. You can share with us your thoughts at firstname.lastname@example.org.