My iOS debut: a weather app that doesn't suck
Five days ago, my weather app Shine hit the App Store. It was a big day for me. While I’ve designed a good deal of web sites, this was my first “real” coding project up for public consumption.
I began exploring iPhone development over a year ago. I created a “Hello World” app, watched a few WWDC tutorials, Googled up a storm, and got nowhere. I retried every few months without success. Shit just wouldn’t work. Delegates? View controllers? IBOutlets? I couldn’t make sense of it.
But a month ago, something clicked. Delegates shmelegates. MVC - nbd.
After experimenting with SimpleGeo’s python client, I decided I’d make a simple weather app. You know, just to see if I could get the current temperature to show up on my phone. Three weeks later, I submitted a polished product to the App Store. And just like that, AppThat was born.
In just five days, 10,000 people have downloaded Shine, making it the bestselling weather app on the App Store. At one point, Shine was listed as the #17 bestselling app overall after making headlines on DaringFireball, Gizmodo, Minimal Mac, MacStories, and The Brooks Review.
In creating Shine, I’ve learned a lot:
- Github is your best friend. If you’re unfamiliar with a platform, don’t start from scratch. Take a look at what others have built. Change things. See what breaks. Eventually, you’ll figure it out.
- Plan for failures: bad requests, slow internet connections, missing values, memory warnings, etc. To a user, there’s no excuse for a crash.
- Don’t settle for mediocrity. At one point, scrolling a UITableView became a bit jittery. It bothered me; I optimized. These things matter.
- Put your app in someone else’s hands. Before I decided to add extended forecasts, people were tapping and swiping when there was nothing to tap or swipe. But the user is rarely just “doing it wrong.” Remember: you’re building the app for them.
- Don’t underestimate international markets. I wish I had designed Shine with global support from day one.
- Balance perfectionism and pragmatism. Your app will never be perfect, but you can certainly release too soon. When you’re deciding where to draw the line, ask yourself this question: “Are you proud of your product?”
- Over 25,000 people in 30 countries have purchased Shine.
- The App Store named Shine the best of the iPhone Weather category for 2011.
- Shine has served over 3 million weather requests in 6 months.
I’ve removed Shine from the App Store due to SimpleGeo’s API shutdown. As the newest member of the Instagram team in San Francisco, I’m dedicating immense time, energy, and focus to the job so I won’t be transitioning to a new weather provider. The experience of shipping a loved and sucessful app to the App Store has been immensely rewarding. To all who supported Shine over the past nine months: thank you!