Write, re-write, re-write once more, and then ship
I've been working on TimeTag for a couple of months now, which spans the iPhone, iPad and the Mac. When I had wrapped up the iOS update, I knew that I wanted to tackle the Mac next.
The Mac version (as I've written about) required a total gutting of the app and building it back up. Everything in it was just a mess--it wasn't purposeful, it's just that I wrote the app years ago and have been simply maintaining it.
Well, the cost of maintaining it was too high in comparison to just re-writing it, so I re-wrote it--and the results are awesome. It's fast, looks great, and seems incredibly stable as compared to the current version.
What's funny is that in the process of having the Mac app "catch up" to the iOS version is that its engine got even better than the iOS version. I had built a new records controller that is now way more streamlined and works so much better than the one that I had written a year or so ago on iOS. And again, it's written in Swift and is super easy to read.
So...I decided to go ahead and re-write the iOS side of things (just the records screen) to use this new engine, and the results are great. I'm really excited to wrap everything up this week and ship everything before the App Store holiday shutdown.
A couple of things will be removed last minute but I will follow-up with updates post-holiday to get them back in there as fast as I can. This is just the nature of having a ship date. I always imagine it as a helicopter that's low on fuel and needs to drop weight. You just have to start pushing things out, even if you hate the idea. I'm a firm believer though in the power of shipping and iterating over perfecting in the lab and never shipping.