For the past few weeks I got a bit stuck with one of my side project’s UI. I have had some vision of how that particular form should look like — which sections there were and how they were positioned, looked quite nice and it worked well so far — but now I’ve got to a point where I needed something else to fit in, and it won’t let me. And there I was stuck.

* * *

This weekend I have reset my laptop, and I had a good chunk of time to stare at progress bars between the “Next” buttons. One unexpected benefit that I got out of it though, is that it gave my brain a break. We’re moving to the new house now, and our days are quite consumptive. And the few hours of looking at scrolling logs and progress bars, gave my brain the time to digest and make some sense of its input.

Interestingly enough, one thought that came to me during that time was actually the solution to my stuckness. The essence was to just give up the groupings and sections I have had, put all the elements in one pile, and look at them afresh. In a way it’s like letting them tell me how and where they want to sit.

* * *

Although seemingly insignificant, this is one of those Big Concepts® that spans across domains, and I remember Kent Beck mentioning a similar trick in one of his “Test-driven development” screencast episodes. He said that when he gets to a point where his abstraction doesn’t seem to work, he inlines everything and starts over: exactly my idea regarding the UI, just applied to code.

* * *

Do I have a full solution now? No, but I have a plan and that’s good enough to keep me going.