Decree
An iOS app to help maintain your daily routine.
Decree is unlike any other app that I have made; in its simplicity, but also in the way that I passively use it all-day, every day. Without earlier versions of Decree, I don’t think I would have built the more substantial version of the app you can download today.
But before I dive into what the app actually does (it’s very simple), I think it’s important to talk about how and why it was built.
At my last company, I worked with my friend John to create a better task manager, General Task. As part of this work, we were thinking a lot about productivity, how to increase it, and how to incorporate new productivity tools into our lives. As a result, we were playing around with a lot of different prototypes.
One of the prototypes John started working on was deemed the Chatbot. It was a Facebook Messenger bot that would relay the steps of your daily routine to you. At a set time every morning, it would kick off the routine, and it would message you the first step. You would say next, and it would move onto the next step, until you were done with the routine.
This is obviously an extremely simple idea (effectively just a list hidden behind a Messenger interface), but the results it had were incredible. I saw John’s productivity skyrocket, and he was suddenly able to take on many more responsibilities. We began to think, why was this idea so effective?
We realized that it’s very easy to sit and state your long term goals. It’s also very easy to think of daily steps you could take to get closer to your goals. You can even figure out where each of these steps might fit in your day, with your work and your existing routine. All of this is relatively trivial to do.
The tough part is actually sticking to the new routine.
And having a third party, even if it is of your own creation, prodding you along to navigate your routine helps a lot.
I tried the bot myself, and found that it helped my productivity too. But I began to notice some problems with the implementation; ones that prevented me from getting the full effect:
- It was pretty tough to change your routine and add or move a step. It required a pull request, as well as an additional deploy to a Heroku server.
- The app’s backend was hosted on a server. It was nice for cross-platform use, but not having your routine when offline was pretty terrible. Not to mention the server fees.
- Messenger as a front end was far from ideal. Having the message as a notification was pretty useful, but when that notification got dismissed (either because you unlock the phone, or clear it otherwise), the reminder was gone. I hadn’t hardwired myself to always return to this chatbot, and so it was tough to always do my routine exactly as I had imagined.
There needed to be a better way.
I started work on a native iOS app to try to get this idea into people’s hands more effectively. I had few priorities.
I wanted to make it easy to pick up and form a habit of using. I needed a powerful system to remind the user not only of the step that they were currently on, but also of the routine itself. In order to best do this, instead of traditional notifications, I opted to use Live Activities. Live Activities enable a persistent, large notification, that takes precedence over the rest of the notifications and is always near the center of the screen. This means that you are always able to see exactly what you should be doing at a glance. And if you get distracted, and start towards your phone, you will be immediately reminded on the lock screen to get back on task.
I wanted it to be local to the phone. This means a few things for the end-user. It means that your routine lives only on your phone, with no communication of any sort to any servers. This also means that as long as you have your phone, no matter the state of the cell network, you can always view, navigate, and edit your routine. Finally, it means that I can offer Decree for free! There are no recurring server costs, which means I don’t have to worry about paying more for servers as downloads of the app increase.
I wanted to keep the app extremely simple. I knew that I wanted the experience to be extremely focused. In order to do that, when you boot it up in the morning, you will see only the first step of your routine. You then press either Done or Skip, and that will navigate you to the next step. That is the core of the main experience. It is remarkably simple, and yet, I have found it to be remarkably powerful.
Anyways, I use this app a lot, and it has made me a lot more productive day-to-day. I will keep working on it, adding new features while keeping the overall simplicity of the app intact.
I understand it might be a tough sell to some people to have their daily routine dictated by an app on the phone. It certainly seemed like a foreign concept to me when I first tried it. But if it sounds like something you might get some utility from, give it a shot and let me know what you think. It’s currently available for free on the App Store.