I wanted to make calzones for dinner last night. It was getting late, but in my mind I could already see the ricotta and broccoli filling and smell the melted cheese. I usually buy a blob of dough from one of the local pizza places, but this time I was going to start from scratch. The yeast, though, gave me pause: would it rise?
In baking, there’s a concept of proofing the yeast. A baker is never certain that the yeast is still active, and it’s a sad day to anticipate and work on bread only to find a small hard lump of unrisen dough at the bottom of the bowl. So before kneading in flour, the yeast is mixed with water and sugar. If bubbles form, it’s working and you carry on; if it stays flat, you toss it out and avoid heartbreak.
My yeast did foam, but so slowly that I would have been eating my calzones somewhere around midnight. So instead I shifted gears and made soft buttery pretzels, which don’t need to rise for so long, and they were delicious.
What’s the connection to software development? App ideas need planning and proofing, too. There’s little worse than spending large amounts of time and money creating a beautifully finished product only to watch it lie unused. That expenditure might be avoided with development’s form of sugar and water: requirements, design, prototyping, and a minimum viable product. (more…)
Bootstrap is a CSS framework that serves as a starting point for your website or web-application’s user interface styling. It has become very popular now, being the #1 trending repository on Github.com as of August 20, 2013. It is definitely a great asset, but should we be turning to it so quickly?
Photo by Gunther Wegner, http://www.flickr.com/photos/gwegner/8157955351
When implementing view state preservation in an iOS app, it’s important to handle the case of restoring state after an app upgrade. The iOS state preservation APIs automatically encode the restoration IDs of view controllers in order to recreate those controllers after an app restart.
However, if in the normal course of developing a new version of the app those restoration IDs are changed or removed, your users will be greeted with multiple app crashes on startup after upgrading. The console log will show an error message like:
‘NSInvalidArgumentException’, reason: ‘Storyboard doesn’t contain a view controller with identifier ‘SomeController’
The state restoration APIs were not written to quietly ignore errors, but at least – after a few crashes in a row – iOS will delete the stored state and allow the app a fresh start.
To help visualize the difference (and similarity) of layouts, regions, composites, collections, and item views, I’ve created helpful diagrams to visually demonstrate how the pieces of the puzzle fit together. (more…)
My plan for this blog post was to introduce my preferred “front-end framework”, Zurb Foundation. But then the folks over at Zurb saw fit to sabotage my effort by releasing a new version of Foundation. Can you believe the nerve? So instead I’ll just give a quick rundown of why I like Foundation better than that “other framework”, and then show off what’s new in Foundation 4.