Please note that this project was solely for educational purposes.
Roles: Research, UX, Prototyping, Visual Design
Project Length: 4 weeks
Any.do is a productivity app that helps users organize their tasks, create to-do lists, and reminds users to complete these.
I've been using Any.do for more than a year, and was frustrated with the manual work it took to adjust my tasks. Turns out, others feel the same way.
This got me thinking, how might Any.do help people using its iOS mobile app be more productive, and spend less time manually adjusting task details?
First, I needed to see existing feedback to identify possible areas of improvement. I also wanted to see if others experienced similar challenges with creating tasks while using the app. Research was conducted by reading and watching online reviews, along with testing out competitor apps.
Findings from Reviews
I looked across several review sources including Capterra, G2 Crowd, the Apple App Store, and PCMag. Specifically, this PCMag review highlighted the lack of natural language as a con and cited competitors that had a similar feature.
“You also can't type natural language for due dates or anything else. In Todoist, Wunderlist, and TickTick, you can type "today" or "tomorrow" next to your task, and the apps understand to assign the appropriate due date. These apps also let you add tags or labels by typing as well; Any.do doesn't.”
Since Any.do might have made product updates since a user wrote their review, I sorted all reviews by date and went through one by one stopping at January 2019. Specifically, I looked for reviews mentioning a user's experience on creating a task and natural language features.
“Any.do would also be much greater if it could automatically detect date and time in the typed text on a task and regard it as reminder time.”
January 18, 2020
In addition to reading and watching comparison reviews, I downloaded the iOS mobile apps for the top 6 competitors mentioned consistently across review sites to test these out. While testing competitor apps, I focused on creating a task and seeing how they handled natural language, if offered at all.
With a better understanding of how similar apps approached natural language, I started mapping out this new feature through low fidelity wireframes. I used screenshots from the original app to help guide me in styling decisions, and used these as references of where the new feature might be able to fit into the existing app structure.
Below are several drafts of the natural language feature suggesting recommendations based on the user's inputs. These types of inputs (Call or assigning a reminder date) were the most frequently mentioned ones in user reviews which is why I decided to use them as examples.
Another challenge that came up around recognizing ambigious language was with setting the task for a future date. For example, the query "next week" could mean multiple things and it is unclear when exactly the task should be set.
One of the challenges I ran into was around how the feature would interpret ambiguous language. For example, there could be multiple contacts with the first name "John" so there should be a way for the user to select which "John" for this task.
After thinking of ways to better blend the feature into the app and match aesthetics, I landed on these high fidelity wireframes.
An interesting point from research was that in 2013, The Verge reported Any.do to be one of the main inspirations behind Jony Ive's iOS 7 redesign. This influenced the styling of my hi-fi wireframes to closely match the iOS appearance.
“Omer Perchik, co-founder of Any.Do, a to-do list app with a similar user interface design to iOS 7, said he was actually "humbled" by the similarities. In fact, he believes the overlap will help his apps in the future because they already "look and feel like native applications" for the new operating system, without requiring a redesign.”
Please note that participants clicked through the prototype, but users will tap their mobile screen in final use.
Using the wireframes above, I created a high fidelity prototype that was tested with 3 participants. The majority of feedback was related to the placement of buttons for creating/saving tasks, which is a part the original app and not the added natural language feature. Still, all the participants successfully completed these tasks and mentioned these were not big problems.
Creating and Saving a task - All users completed these successfully as shown by the heat maps pictured on the right. The left images are screenshots from the original app and do not include the new feature I was designing for.
As for feedback related to the app itself, one user mentioned that adding some sort of automatic shortcut from the reminder to the action would make it more streamlined. Based on this feedback, I added a final page to show what happens when the user taps the reminder prompt.
After finalizing iterations and the high fidelity wireframes, I gathered all the UI elements for the new feature. These include the Colors, Typeface, Buttons, Indicators, and Icons.
Overall, this project was a fun way to dive deep into an app that I use everyday. I also got to learn more about designing for mobile, iOS standards, and how to blend something new into an existing interface.
As a frequent user, I'm looking forward to seeing how Any.do approaches natural language through their "Smart Type" feature. Who knows? Maybe there will be some similarities in how we approached the problem.