Some stats about my stats app
In the spirit of John Siracusa's posts about his OS X reviews, here are some stats. They don't account for auto generated, 3rd party files, or media management scripts written to support the app:
- 45 .swift files
- 48 .xib files (Interface Builder documents)
- 41,419 total lines in Swift files (including comments)
- 10,924 lines in the largest Swift file
- 54 purchases of the Stats Plus upgrade (which has cost up to $10 but is now on sale for just $1!)
- Apps used: Xcode, Sublime Text 3, Pixelmator, git, VSCode
Small but quick updates VS bigger, less frequent updates
After getting back from my honeymoon I pushed a flurry of updates, averaging about one per week – from 1.1 through 1.9. I really enjoyed that! It was fun knowing that on any given week I could come up with an idea, bring it into reality, and push it to the apps' users.
However, I noticed a few things: first (and most importantly for my app) the process of updating was (itself) somewhat disruptive to my power users.
Second: I found myself going primarily for low-hanging-fruit-type features because I knew I didn't have the length of time necessary to do something super cool and new.
Finally, despite getting a ton of features pushed — no individual update stood out as particularly outstanding. This meant that none of those updates created buzz like the app had on launch day. Fun fact: no bloggers or journalists have written about the app.
All of this to say: with 2.0, I tried something new: a longer release cycle – where I could really reach with my code. Not only did that mean I got to ship very difficult-to-build things – but it meant I had time to experiment with extra deep-dive things that could yield results further down the road.
I think the sweet spot for releases is somewhere in the 4 to 8 weeks range. The caveat to this is of course, the inevitable fixing-issues updates, which will hopefully not be frequently needed.
What's next? I have already round-tripped (got the proof of concept working for) the key tech in three of the next update's headlining features. I'll share more about what the upcoming changes are a couple weeks ahead of launching, on Twitter.