Uncategorized

Debugging _addChildViewController:performHierarchyCheck:notifyWillMove:

Introduction I’ve recently been working on a UISplitViewController-esque view controller based around the requirements of my app (more on what’s wrong with UISplitViewController in a later post).  Because we support Adaptive Layout, I’m adding a behavior where when the view controller gets too narrow, it merges the master and detail navigation controllers into master, and…… Continue reading Debugging _addChildViewController:performHierarchyCheck:notifyWillMove:

Programming

Thought of the day: get rid of AppDelegate.h

We’ve all seen them (or written them).  App delegates that have their hands in everything, paired with hundreds of code snippets like [[AppDelegate sharedInstance].viewController pushViewController:[AppDelegate sharedInstance].loginViewController]. This kind of high coupling, low cohesion “design” is the enemy of stable, manageable code. Once its there, it is a real pain to get rid of.  So why…… Continue reading Thought of the day: get rid of AppDelegate.h

Programming

Why you should develop vanilla HTML first and CSS, JavaScript, Flash, et al last

Imagine you own an concert hall.  The year is 2005 and you’re finally getting into the online ticketing game.  You want to let users pick their seats off a map of the concert hall so you use Flash.  You create a slick seat picker that does asynchronous calls to get the available seats and prices,…… Continue reading Why you should develop vanilla HTML first and CSS, JavaScript, Flash, et al last

Programming

Reversi Revisited (HTML5 canvas on Chome, FireFox, IE9, iOS Safari)

Back in September I posted a HTML5 Reversi game taking advantage of the element.  At the time, I only targeted Chrome so I thought I would follow back up and add Firefox 4 and Internet Explorer 9 support.  In just a couple of hours work, I have a fully functioning Firefox version of the game and a mostly complete version…… Continue reading Reversi Revisited (HTML5 canvas on Chome, FireFox, IE9, iOS Safari)