It feels unreal for me to say this, but later today I'll be releasing a major update of my app: Timelines 2.0. I have been working towards this day for a year and a half, and now it's finally here.
I have a proper marketing-oriented blog post ready, but I wanted to do a reflection on the process itself, and share some personal aspects of this story. I want to keep it as honest as possible, sharing both the good and bad, as well as lessons learned. Also: I don't have as much time, unfortunately, so I'm opting for a bullet-point list for most of this blog post (also, please excuse possible typos).
The goal for this update
Timelines is a time tracking app that aims to help people make the best use of their time. It was towards the end of 2018 when I transitioned from having a semi full-time freelancing gig to working mostly full-time on this 2.0 update. The goal was to have sync, an iPad version, and a couple of big features. Most notably: fully interactive bar chart, goals, import from Health, and perhaps even integration with calendars. At that time, I thought it shouldn't take longer than half a year. Oh, how naive I was.. 😅
This is a tale of hope, doubts, perseverance, struggle, and ultimately: acceptance.
The biggest struggles
- the deep gap between my expectations and what I was realistically able to get done in any given time period.
- Sync - I managed to get quite far with it, but seeing how much more work it will still need, I eventually came to make the difficult decision to postpone it to a future release.
- changing the business model. Timelines 2.0 will be moving to subscription. I was pondering this decision for years, but ultimately decided to go for it. Here, I’d like to acknowledge and thank to the many of the experienced people from our iOS community who weighed in with their opinions and experiences, and helped me come to this decision.
- just so much work. It felt overwhelming at times. Everything was turning out to be much harder than I thought it would be. I know that I should have expected this, but it still took me by surprise.
- massive imposter syndrome at times. I really felt like a pretender, and that everything is taking me way longer than it would have taken other people.
The positive highlights
- working on the interactive bar chart, and polishing the heck out of it. It had interesting technical problems, and I enjoyed figuring them out.
- finding the perseverance in myself. In spite of all the hardship and second-guessing that I did, I always knew that I will eventually finish it.
- learning Server-side Swift with Vapor. I’ve had such a great time doing that. I was a beginner again, and it reminded me how exciting it felt when I was starting out with iOS development many years ago. I ended up using this knowledge to build a simple web app for managing subscription lifecycle and App Store receipt validation.
- I’m really happy with how the update turned out. I didn’t cut any corners when it comes to quality and robustness/reliability of the features there. This was the most important thing for me: to not compromise on what I stand for. With how this update turned out, I can honestly look myself in the mirror and know that I achieved that.
- The brief periods of “pride” - feeling like I’m working on something that has the potential to make a meaningful difference in many people’s lives. And choosing to do this, instead of doing freelancing full-time, where I’d be much better off financially, but internally I would know that all the money would just be a metaphor for me selling out on what I believe in.
The biggest lessons
- the longer it kept dragging on, the higher the expectations of the launch day and the worry that it won’t live up to what I’d like it to be (this relates to the last section of this blog post)
- I was imagining this day for so long. I was putting so much pressure on myself that it was almost unbearable. Managing to take a step back is what allowed me to actually cut myself some slack.
- With the business model change - I’m taking a leap of faith here, and stepping into the unknown. I can’t know in advance whether this is the right decision or not, but I would never find that out unless I actually take this step and do it.
- Positive delusion - in my mind, at any given point in time in the last year and a half, I was actually never further than 6 months from the release. I feel like this is such an important aspect of it. If I knew in advance how difficult this will turn out to be, I don’t think I would have been able to do it.
- Choose your compromises. Otherwise, you compromise by default, through missed opportunities. When I was younger, I had this idea that I don’t want to do any compromises when it comes to working on products (apps). Changing this approach was a long process, but it really crystallized while working on this update - I realized that actually: if I don’t compromise on anything, then I’ll never actually finish this. That’s why I decided to cut some of the planned features, as well as postpone updating the website for the app.
- Tasks tend to take whatever time is allocated for them. I think part of my problem here was that I didn’t have any deadline set in stone. I was in the fortunate position of having some savings and some money coming in from the freelancing I was doing on the side, so I didn’t have the external pressure that I used to have before.
- Trying to separate myself and my sense of worth from this product. This is a big one. There are times when I manage to have this distance from it, and there are times when I really don’t. But what helped me reduce the pressure is realizing that this whole indie pursuit is just one part of my life, and I can’t expect it nor ask of it to compensate for other parts of my life.
Is the path forward acceptance?
When I was approaching the finish line, and I was mostly wrapping everything up, I was starting to have the sinking feeling that “this is it”, and that now I’ll be evaluated based on what I did. And the second-guessing started to seep in, hard. What if I’m delusional about the value that these new features bring to users? What if I suck as a developer, and I will be “found out”? What if I missed some big-picture element and it will all come crashing down when I switch to the new business model? It wasn’t until positive feedback from beta testers started coming in, and until I made solid progress with the new App Store screenshots showcasing all the new features, as well as working on other marketing materials, that I managed to kind of take a step back. Look at it from a different perspective. And I realized that in the grand scheme of things, the launch of this whole update actually isn’t that big of a deal. It doesn’t matter if it ends up not being covered by journalists. What matters to me is knowing that I managed to get it to this stage. Wrap it up. It’s been dragging on for so long, that at this point, I just want to get it over with. I want current users to be able to take advantage of the new features. And I want people to be able to try Timelines without having to pay for it right away. For me, releasing this is a closing of a big chapter. As if a huge weight has been lifted off my shoulders. And I feel ready and excited for whatever comes next.
Hopefully, there won’t be any major bugs. Hopefully, there won’t be any harsh complaints about the change of the payment model. And even if either of these things happen, I’ll deal with it. What’s important to me is that I did the best I could, and my heart was in the right place throughout this process. How it’s received by other people is secondary to that.
(But, don't take me wrong: if you happen to be using Timelines, I absolutely do hope you will enjoy this update! 😅)