This personal project was born from the idea that getting a reminder based on time is sometimes not enough. Time reminders work fine when you need to be reminded of things at specific times – like a meeting at 16:00 or taking a pill at 11:00 – but what if you want to remember to stop by a certain store next time you’re in the area, or remember to stop by the supermarket on your way home from work? You could try and predict when those things will happen but, more often that not, the reminder will pop up at the wrong time.
Why not make reminders a bit smarter?
Right from the beginning, I had a couple requirements in mind:
1. Adding reminders should be as effortless and frictionless as possible
The less friction there is for a user to create a reminder, the higher the chances that the process will become a habit and, for an app like this, making the process into a habit is paramount to both the app’s success and the user benefiting from the app
2. The interface needs to be intuitive
Users should be able to figure out how everything works just by looking at the different elements. This involved a few different things. Firstly, things should be where users expect them to be. For example, users familiar with the Android ecosystem understand that you can usually long-press a list item to perform an action to it. At the same time I wanted to have as few features as possible ‘hidden’ behind gestures and panels.
3. Follow the Android design guidelines
I also wanted the app to follow Google’s Material design guidelines but at the same time have a unique touch that would allow it to stand out from the competition.
With the above requirements at hand, I started working on the app. Here are some of the features that the Reminders currently has:
Location reminders are a first class citizen in the app. Users can select a location (or area) and the app will show a reminder when they’re near that location. Users can select whether they want to be reminded once, or everytime they’re in the area.
A lot of tasks are better served by a time reminder so the app also supports those but has a couple extra features to make time reminders a bit more helpful. Users can choose to set time reminders as repeating. Some of the options include specific days of the week and every x days/weeks/months/years.
The app has a calendar view which serves two purposes. Firstly, it provides the user with an overview for the month. The calendar shows which days have reminders set and which don’t. Secondly it allows the user to navigate to specific dates in the future (or past) to see what their schedule looks like or see past completed tasks.
Task backup and synchronization between devices
For people that have more than one device, the app offers backup and synchronization between devices. Using Google Cloud Messaging and a custom backend (written in Ruby on Rails) the app instantly synchronizes changes between all devices the user has logged in on. By keeping all devices up to date, users don’t have to worry about entering or dismissing tasks in more than one devices.
I believe user feedback is extremely important for any product owner. Users can not only report any issues they have but also suggest any features they might need to make their lives easier. With that in mind, I created a simple feedback form which stores users’ feedback to the backend. The backend also has a simple website that I can access to view and respond to feedback.
Reminders currently has a 4.3 star overall rating on the Play store.