While usability testing the users requested extra features and I decided to add those features in the design because I thought more features mean more fun.
I expanded the scope without thoroughly evaluating and optimizing the UX for the core features.
An argument can be made here; A working application on user devices can represent the user experience more accurately than testing on makeshift prototypes.
Testing on a user device is more feasible now thanks to developer tools like SwiftUI! Which lets you code real apps quick and early in the development cycle.
Having said that, adding more features was proven to be a big mistake when an MVP was distributed via test-flight. I found the core of the UX has flaws which needs addressing. All the extra features were confusing the user.
[[Your browser does not support the video tag]] See online
Looking back at your mistakes is the worst and the best part about being a user experience designer / developer. This is when I found Danial Gauthier’s blog.
Dan said what I needed to hear
- Cut the scope ruthlessly and focus on the minimum.
- Build your core interaction loop and tune it before anything else.
I wish I stumbled on this advice a few months earlier which would have saved time.
The silver lining here is that design is an iterative process. I remember reading one of Tuhin Kumar’s blog on great designs in which I read
“Great designs are usually the result of a lot of trial and error, missteps and blind alleys, and hard work and deep thinking… No one gets it right the first time.”
Now that I made something which doesn’t work, Tuhin’s blog is starting to make more sense. Now is the time to look back and understand the user feedback to identify and fix mistakes.
To be honest, I have no idea if I am going will be successful in finishing the project in time or at all, but I know where I made the mistakes and where the design needs to improve.
For example, here is the feedback collected from the users which I am going to work with next
- What happens if I spend more than 2hours on an activity?
- What if I want to work on something for 1 hour or maybe less?
- What if I want to take a break and pause the activity for a bit?
- What if I am not working on an activity that I planned and would like to reschedule?
- What if I want to customize the time and work on something between let’s say 11 and 1?
- What if I go to sleep later than the app thinks I will and have 6 hours of sleep?
- I didn’t know if I was supposed to swipe the cards at first glance.
- There weren’t enough reports about consistency or positive feedback loop.
- I don’t understand the 2hour sprints… why two hours?
Here are the major points I will consider in the next iteration
- Rescheduling/deleting an upcoming task.
- Allow breaks and no activities.
- Consistency reports and recommendations.
- Adding another sprint after the last sprint.
- Scheduling something between odd timings.
- Taking pauses in the sprint.
- Removing the countdown timer.
- Create a sprint as you’re working on it.
- Create a sprint while taking a break.
- Explain the two-hour rule.
I agree on the fact that I didn’t go as far in the initial discovery phase as I shoud have. After the interviews and initial ideation a prolonged diary study with different type of people would have helped in answering most of the questions I got from users who tested the prototype.
However, it was still a fun, learning journey and I am looking forward to shifting the user experience to reach out to a wider audience, who are interested in “finding a way to track and manage the demands of all the parallel threads of their life, particularly aspirational goals like learning a new language”, instead of finding two hours to focus on one thing. Which again is maybe important, but only in the right context.
Thanks to poodleface and many others for their interesting insights on the topic.
I’d love to hear your feedback. Send me your thoughts, criticisms, and ideas in a direct message on Twitter. If you have nothing to say just yet, you can always follow me 🐦 OR subscribe 💌 to my mailing list and get the latest updates.