We like to get functional prototypes to stakeholders as early as possible in the development process. Prototypes help frame the discussion by putting features in context, helping teams make better design decisions and uncovering edge cases.
In this excellent piece on story-centered design, Braden Kowitz describes an approach that moves that kind of discussion back into the design process:
Designers present every sentence the customer reads, every action they take, and every screen that system generates in response. The designs follow a customer from an initial trigger all the way through completing a goal, and they show how the design supports every step in that flow.
Combining a design process like this with functional prototypes creates partnership between design and development teams that can lead to faster feature cycles, fewer bugs, and less rework by all involved.
I find myself doing more and more dynamic UI layout in iOS apps these days. When elements of a UI need to resize to fit their contents, or move to accommodate other elements, the layout code can get complex and verbose. We’ve developed a set of
Blocks are an incredibly powerful addition to Objective-C, introduced in iOS 4. However, their syntax can be maddeningly difficult to remember. Matt Gallagher has an excellent post that 
This always felt like a strange pattern to me. And as Ole Begemann recently pointed out, 
I previously posted