Really interesting discussion on the process here. This is the result of the product manager and UI designer working closely in a working
session rather than remotely via email and phone calls.
One way is to work on most of the UI, code it all up, then try to make it look good afterward. Another common way is to do somewhat of the opposite… start with a fairly vague idea of the UI, refine both the way the app functions and the way it looks in one big step, then implement it all in code.
I tend to design in this process, especially I’m designing more application style websites. Start with a UI that intentionally looks crappy with the basic functionality then, through hundreds of tiny iterations, it gradually develops into something sweet.