Quick Habit: My First Mobile App
I have long been interested in mobile app development and this year, I decided to achieve this goal by releasing several iOS apps. The first app idea I had was a habit tracker. While there are many similar apps available, my background as a software engineer inspired me to create my own version. I took a lot of inspiration from apps that already exist. For instance, a notable feature is the GitHub-style heatmap, which shows how well you stick to your daily habits. Calendar at the top of the screen is an excellent way to navigate between days. I also came up with a couple of my own ideas, which I'll discuss in more detail below.
Features
The app categorizes habits into two types: Good and Bad, each tracked differently. I'll start with common features before discussing specific ones for each habit type.
Common Features
Heatmap
This feature visually shows how consistently you practice a habit. For instance, if you miss one of two daily occurrences, the heatmap indicates your progress without suggesting that you've abandoned the habit, thus helping maintain motivation.
Current Streak
This displays the duration you have successfully maintained a habit, serving as a motivational tool.
Calendar
This allows you to review past days and track your monthly progress.
Visual Representation with Colors and Emojis
Allows for easy categorization and identification of habits using a combination of colors and emojis. This approach, using emojis, simplifies user interaction and offers a visually appealing experience.
Widgets
The initial release includes three Home Screen widgets. These widgets serve as a representation of in-app content, though they are not interactive due to current technical limitations on Apple's platform.
Good Habits
Good habits are the ones where you mark each successful day manually. For instance, you have a habit ”Read books” and you want to do this every day, you should open the app and check it.
Good habits also have useful feature called Reminders. You can set as many reminders as you want. It will remind you about activities you planned to do.
The repeat feature lets you do a habit on specific days. For example, if you plan to go to the gym three days a week (Monday, Wednsday, and Friday). Streak will be calculated based only on these days.
Bad Habits
A bad habit is when you only note the days you didn't succeed. If you don't meet your goal for the day, as set in the app, it counts as a failed day and your streak starts over. This way, I can measure a streak more precisely, showing even minutes and seconds. Good habits only track the days you succeed.
Premium
I do not think it's a good idea to limit features in such app to encourage users to purchase the premium version. The only limitation for the free version is that you can add only 3 habits and a small visual feature, which is changing the app icon to a premium one. I think this approach will help the app stay competitive with other habit trackers.
Plans
There are lots of plans for the app. I won’t disclose everything, I'll share a sneak peek. I understand the importance of having versions for WatchOS and iPadOS, as they offer more flexibility in using the app in various scenarios. Additionally, having notes with a rich text editor is crucial. Features like creating habits from presets and motivational elements such as quotes, reminders, and widgets are also part of the plan.
P.S. As I mentioned before it is the first production ready iOS app that I've made. Being primarily a web developer, I notice many similarities between web and Apple platforms. I hope this experience will help me improve my skills in Swift and creating user interfaces for Apple platforms.