There’s something special about releasing a piece of software into the world. It invokes a certain level of excitement and requires a level of vulnerability which is unlike anything else I have experienced. Seeing your dreams and your hard work come to life in the form of an application or “app” is something else. For many software developers or designers, the feelings associated with creating something out of nothing is a major motivator. In this article, I will discuss two of the mental challenges associated with shipping an app as an independent app developer.
There are two categories of emotions involved in this scenario. In the first category, there is tremendous excitement. The moment you receive the notification that your app is now “in review” is unlike any other. Your heart begins to race! Knowing that after numerous hours of toil working on the app and several moments of frustration, your app is inching ever-closer to being public. All of the time and effort is about to become something real to the outside world. This thing you have worked on will now be available for others to download.
On the other hand there is this fear. There is fear it won’t be good enough. You start asking yourself questions like, “will anyone download the app?” If your app is a true first version, then it probably lacks some level of polish or functionality you desire in your application in an effort to publish the first version. First versions vary greatly in the amount of features or polish they contain. Many first versions, or 1.0, serve as a proof of concept. Applications for corporations or organizations tend to have a longer initial development cycle when compared to personal or independent projects.
The application purpose often dictates the amount of features which go into the first version. If the application is for an employer, then most likely the app is built according to a project specification which was created by a team of people. If this version is for your own personal project, then you have more control as to what goes into the first version. This is where I found myself when releasing Pure Trivia. I was the one creating the specifications and I was the one implementing the specifications.
What it takes to build something great is a bit of an acquired set of skills. It is knowing when to ship the first version. Knowing what the product needs to prove the concept to your audience. It is recognizing what is truly important for your project and letting that guide your decisions. It is deciding to ship something “good enough to move on” (Craig Groeschel) versus not shipping something at all because it is not “perfect.” It is overcoming the internal battle of vulnerability so your product can be seen. It is knowing that no matter the level of polish, others will find things to criticize.
I’ll be the first to say that this article is probably not the roadmap to greatness which you desired when you tapped or clicked on it. I do hope that it will shed some light on the psychology or mental challenges involved in shipping great software. I hope it encourages others to be vulnerable and share their creation with the world. I hope that it educates the general public on what exactly goes into building the apps they download each and every day.