After having worked at a startup where we “move fast and break stuff”, sometimes the quickly evolving app has resulted in an app architecture that has become difficult to work with at times. There were a few things that – in hindsight – could or should have been asked at the beginning of a project.
Startups are constantly in danger of cowboy programming – code first, ask design questions later.
So I thought I’d just write down my thoughts for later reference. Things to ask / keep in mind *at the beginning*
– for iPhone, iPad, or both? Universal or different targets?
– Auto-rotation required?
– Fat client or thin client (i.e. create the illusion of success? or mostly GET requests with occasional PUT/POST that can be waited for completion? )
– Do we need Tutorial / Help screen functionality by View Controller ?
– Modal View Controllers or another variation of this – Popup Controllers? (Think Toast’s popup controller, or ASDepthModal on github)
– Table Cells – always plan and tell designer to create selected states
– Custom fonts throughout ? (think FontReplacer tool)
– Think about Open Source replacements (WCAlertView, ASDepthModal, RNBlurModalView,etc)
– Logging – think about abstracting this out and therefore not typing NSLog everywhere (At least DLog(…) ALog(…) )
– Beta Distribution – Xcode schemes, multiple targets, TestFlight/Hockey
For any readers out there, this was really for me, but it’s not like it’s a deeply personal diary, so if you get any use out of this, great!