Hey hey 👋
The last few weeks have been quite busy for me, working around the clock to figure out how the new iOS 14 widgets work, and then creating some for the Focused Work 1.1 update!
Here's the Widgets promo pic I shared around, if you haven't seen it yet.
Here's what they do;
👉 Live focus session timers on your home screen
👉 Quickly start a favourite focus session
👉 See your productivity goal progress for today
I published the update over the weekend, so if you can't see Focused Work in your Widgets Gallery yet tap here to open the App Store and update.
I shared a quick video of the live timer earlier in the week in this Twitter thread, with a little insight behind their purpose. I hope you like them, and if you have any suggestions/questions feel free to hit reply!
The last two days I also managed to finish Part 2 of my new blog series Launching an Indie App, focusing on "Finding my niche".
It's a much longer read as i'm now gradually stepping through my journal, so i'd love to know your thoughts. Here's the link to check it out in the browser, but i'll attach it below if you're interested in reading on.
I hope you enjoy the read, and have a great week! 🙂
Launching an Indie App - Part 2: Focusing on a niche
It’s easy to start hacking away when you come up with a cool idea, but sometimes you need to take a step back and do some homework to see if it'll have legs.
For me, this involved weeks of researching, brain dumping, sketching and defining my action plan. In this part of my journey, I highlight each step I took before I allowed myself to write a line of code for Focused Work, and share the resources that fuelled my momentum to continue.
What exactly am I writing about?
I’ve read many juicy indie blogs, but none were overly transparent about the daily hustle. I feel sharing these type of insights is very important.
It gives context to the journey, allow us to pass on what we’ve learnt, how to deal with certain emotions and struggles (not just coding problems), and hopefully infectious enthusiasm & energy.
I’ll be writing about the above, and key areas such as product conception, brainstorming, design, development, creating an MVP, beta testing, marketing, and launching.
I’ll also be anchoring against events occurring at the time since I started Focused Work in the middle of a global pandemic. Unfortunately, it significantly changed my plans for this year, but fortunately, it somehow led me to share this article with you. I hope you enjoy following along!
If you’re not a developer, I promise to not bore you with iOS development stuff. But if you are, I also promise to keep you interested with non-iOS stuff! 🙏
Considering Focused Work launched after 186 days and I’ve already written part one, this should (at least) be a seven-part series if each article covers a month of progress. 🙂
How I found myself in the right spot
I’ve been creating mobile apps since my final year of university in 2014.
I started as a Junior Software Engineer building Android apps, and soon after landed an opportunity at an early-stage startup. When that didn’t work out, I worked as a sub-contractor with a mate helping him build apps.
After he quit freelancing I decided to run my own gig, which was my formal foray into iOS apps professionally.
Over time I realised when it comes to client work, you never have complete autonomy over the end product. This can be a good thing, but also demoralising watching months of hard work not propel people to higher places, because of decisions outside your control.
I hadn’t created my own “proper” app up until now, with the level of autonomy I desired. Weekend projects & soundboards don’t count. But I wanted to apply my knowledge and perspective on what I think makes a great mobile product.
I discovered the iOS Indie Community through pure luck. After publishing my first mobile marketing article and sharing it around, I was fortunate to have it featured in Week 322 of iOS Goodies run by Marius Constantinescu.
It attracted the most attention of something I had ever shared on the internet and was punching myself I didn’t do this years ago!
As I read through the newsletter, a fascinating article sitting below mine “Zero to App in One Month” had been published by an indie developer. I reached out on Twitter for a chat and follow, and because my account had been neglected for the last 8 years, my feed was instantly plastered with indie content!
What I didn't realise then, was that this person was the indie super ⭐️ Shihab - a.k.a JPEGuin!
From that day, I went down a rabbit hole replacing breakfast cereal with indie content. 🥣
Discovering a niche
Over my new breakfast, I learnt that it’s still possible to carve out your corner in the App Store, even 10 years after the gold rush. But you need to consider many areas for a fighting chance.
Luckily working for myself and with startups, I’ve experienced first hand what it’s like wearing many hats. I felt compelled to challenge this assumption, but then remembered I’m REALLY 💩 at coming up with great app ideas!
I’ve been working from home since March 2019, but I was at a coworking space for 3 years beforehand. I found myself in a focus group where we’d catch up once a week to talk about our businesses, and long story short - that didn’t work out, but some of us kept in contact.
We created a Discord server to hang out on video chat whilst we worked from home, to simulate sitting at the same table. We stumbled upon a rudimentary Pomodoro chatbot to help encourage us to do focused work.
If you’re a fan of Discord (or Slack - similar but less business-ey), you’d know chatbots are a big thing. We figured it’s worth setting it up to see if it’ll help keep us accountable, even though Pomodoro’s never worked for me in the past.
To operate the bot, we had to enter commands for starting a session and when to take breaks.
We soon realised it wasn’t really a Pomodoro bot, but a glorified notification bot that reminds you at certain times.
As time passed, it became a pain copy-pasting the same commands over and over. Then I realised… this is a real problem that I can solve for myself and my mate! Could this be the app idea I’ve been searching for? 🤔
This first thing I wanted to do was open Xcode and begin porting some of the chatbot functionality into an app, but the pragmatist inside me knew hacking on impulse wasn’t the way to go.
I’ve started many side projects as a result of a shower-thought, but they ran out of legs from no planning. Building great products is a marathon, not a sprint.
My instinct suggested I narrow my focus, and set my first goal investigating how popular Pomodoro apps are in the App Store.
The First Month, beginning March 7th
Week 1 - Research, Braindump, Sketching
I began downloading every Pomodoro-related app on the App Store, for a total of 15 apps.
Some offered great value, and others.. a little questionable. I love apps which do “one thing” really well, and some had nailed that!
I’d share notes on app/keyword analysis, but I couldn’t find them as of typing… 😕 I remember being convinced there was enough attention to explore further.
I needed to empty my brain next before I forgot my research. I’m a big Notion fan and use it as my second brain. It has a great search engine and I love its levels of content organisation.
Although I don’t have a picture of what it looked like then, here’s how my dashboard looks today.
I’m also a fan of Notability for sketching apps. After sorting out Notion I couldn’t resist a bit of drawing on my iPad Pro. This was my very first app sketch of the main screen!
The end product will always look different from your first sketch, so don’t feel ashamed to share it. 😀
Week 2 - CloudKit, Focus Group, SwiftUI
I intended to add friends/group collaboration early on to emulate being in the same Discord channel, as hinted in the sketch.
I’ve used Firebase before for a group collaboration feature but discovered there was an Apple alternative named CloudKit. If I was planning to create an iOS-only app, it made sense to understand and leverage the first-party tool.
I needed to decide on a name for the project next. I knew choosing a name based on popular App Store keywords would be a huge IQ play, but I didn’t need to make a final decision yet.
These were some names I came up with; PomodoroMate, PomodoroJam, On The Clock, GroupClock, Focus Group, Time Boxed, Two Halves, Productive Focus.
Most felt lame, but the app is about focusing with group integration, so Focus Group was my pick!
On my Indie Twitter feed, I saw a tweet about a 100 Days of SwiftUI course created by Paul Hudson. I was content with my ability to create apps with UIKit (the standard way of developing iOS apps for the last ~10 years) but felt there may be a chance to leverage SwiftUI at some point. 😎
I decided that until the course is completed, I’ll begin each day focusing on a few days of content to prime my brain, and help me build momentum.
Week 3 - Defining my process, More sketching, Paper Pomodoro’s
Over the weekend I felt I needed to make a clear plan for progressing from where I am, to launching on the App Store.
I organised my Notion braindump into a dashboard, with the following sections; Why am I doing this?, Habits, Name, Overview of Strong Competitors, Product Launch Process, Features & Requirements, Ecosystem Features, Monetisation, CloudKit, API’s.
I created another page to curate a list of features to address in the MVP, and I know this would begin with a Timer, Groups, and Statistics. This led me to sketch more Timer and Groups wireframes.
I then read the Apple Human Interface Guidelines to understand how I could apply its concepts to subsequent sketches.
During the week my mate asked to run a paper Pomodoro session, by using the Discord bot to mock the proposed app functionality and simulate the experience.
We ran a 1.5 hour session, split into two halves, and added distraction alerts. It was super effective and helped prevent us from reading our social media feeds and watching random videos when we were low on willpower.
Week 4 - Best In Class, Product Design, Habits, Launch Plan
It summarises how to design an excellent iOS app, from the perspective of platform features. I discovered a bunch of iOS features I never knew about and integrating VoiceOver and certain iPadOS behaviours/gestures really stood out!
I was then referred to Episode 65 of the (recently retired) Independence.fm podcast, which discusses app subscriptions.
It made me think about “how could somebody use my app, and get some value out of it, grow with it, and (hopefully) eventually want to pay for it?”
This was a word-for-word quote from Curtis Herbert during the episode, and it really helped influence my product design decisions. It always makes me think about how I can make a product that people can grow with over time.
You may have noticed I keep a similar quote at the top of my Notion dashboard, as a nice reminder.
I am all about building healthy habits, so this book instantly appealed to me. Hooked covers the Hook Model concept; a four-phase process companies use to form habits.
The idea is, as phrased in the book; “through consecutive hook cycles, successful products reach their ultimate goal of unprompted user engagement, bringing users back repeatedly, without depending on costly advertising or aggressive messaging”.
I began reading the Trigger section, and “Coupling External Triggers with Internal Triggers” stood out. It made me think about how I could leverage the user’s current situation, and send them encouraging alerts to use the app.
My main takeaway was how important it is to define a launch plan ahead of time and divide it into multiple phases. These can include Private Beta, Public Beta, Twitter hype, contacting the press, Pre-Order, Launch Day, and content writing.
Thankfully I had already briefly thought about some of this, and reading Charlie’s experience helped give context to those milestones, so I know what I’m doing and working towards.
Armed with a solid plan I finally created the Xcode project and made sure to share it on Twitter. 😄
This is it for Part 2, thanks for making it this far!
Feel free to hit reply and ask me any questions, or reach out to me on Twitter.
I look forward to sharing Part 3 with you soon. 🙂