Writing Apps From The Bottom Up

I’m having a great time writing code. I wrote most of the code in the early days of Infinity Softworks, from 1997 to 2000. In 2000 we added employees and had a development team so spent my time managing the company, focusing on business development and marketing. In 2007, though, when the company got small again, I started writing code again.

I wrote code first for the BlackBerry then for iOS. That first year or two writing code was a slog, just trying to figure out my way. powerOne still has much of this early code and, frankly, it’s quite ugly internally. The design of the app changed substantially from version 1 to version 2, and then was hacked again to support the iPad.

But now, with the new project, I get to start from scratch. It is hugely liberating. We ended up needing iOS 6 for the project so we don’t have to worry about legacy OS versions. We designed the product before we coded it so we aren’t making massive UI changes that we have to hack in. In fact, we wrote big chunks of code in side projects to test stuff out first. While doing this I also went back and studied a lot of sample projects that others wrote, read a lot of documentation and a couple of iOS programming books.

Once we started with the final project I had a much clearer idea of not only how it would look but also how I wanted the code to be structured internally. We started with the database models, saving records and settings. Then we wrote all the sync code and the server back-end stuff. Then we shifted to the front-end. Before I’d write one  module to completion then add in others. This time I said forget the final graphics and instead make all the screen animations function. And instead of starting on iPhone-sized screens, we instead started on iPad believing the shift to the smaller screen will be simpler. From there we got the basic app functioning, saving real records, and editing those records. Next comes more functional integration and then final graphics. This order feels more natural then the UI-down approach we took with powerOne.

I’ve still had too many meetings lately and my time to program has been limited. But it still feels like progress in being made and much quicker then in the past. I can’t wait to get the first rev into your hands.