On this page
Today, I will talk about how to ship an app rapidly.
Before, I would have spent 6 months working on projects without shipping them to users or making promotions.
Now, I ditch all distractions and follow a simple constraint: ship an iOS app in one week, no matter what.
But then, how is it possible to ship 4 apps in 1 month?
Next week, I will discuss the lessons learned from the challenge. I am currently focusing on improving my first app, ZapCardz, using the knowledge I gained during the last month. I also started developing a product to benefit people who want to launch their apps quickly.
Next week, I will be at many site events such as the CocoHeads, Go Entrepreneur, and a weekend with entrepreneurs friends. If you attend one of those events, don't hesitate to say hi!
Shipping an MVP
The first thing is to change the mindset. I am not shipping something finished. A good indication is the frustration of shipping something unfinished and imperfect.
I am looking for user feedback and app market fit to see if the idea has users. If not, I can quickly move on to another project without spending too much time on development.
The 1 app/week challenge is more to experiment with that mindset. If customers pay for the app, it is an excellent signal.
Minimum Design Product
I am not a designer but a developer. Instead of designing, I code. SwiftUI offers the possibility of creating an interface fast. Therefore, designing something on another platform is counterproductive. Instead, design in code.
I spend most of my design time creating the system in the code, which I use for components, texts, and screens.
Iterate With knowledge
I don't wholly start with a blank default app when starting a new project. Instead, I already have code produced from previous projects.
It would be a shame not to reuse it and re-write everything from scratch. Here, time is critical to being fast and efficient.
The interfaces cannot be reused identically, but they can bring some inspiration for the next one.
However, things like App Store Review, haptic feedback, and sounds can be easily re-used in other apps.
Learn Something New
When I develop an app, I try to learn something new. A new way of organizing the code, a framework, or something else. It keeps the adventure fun and insightful.
For example, I developed Bubly using SwiftData, the new framework for handling Core Data operations. Knowing the tools to develop and the different limitations I may encounter is helpful for the following apps.
Build-in-public
Having a lot of things to develop makes it easy to share. The content's subject is to develop something. Rather than sharing a finished product with fancy animation and interfaces, sharing the progress and the journey is worth it.
During the first two weeks of the app/week challenge, I could not implement the habit of sharing my work daily. Instead, I write here with an updated snippet of the app's "finished" MVP. I find it quite challenging to show something unfinished or even unstarted.
However, it is something to implement to build an audience and even have early feedback.