I’ve been toiling away on LicenseKeeper development, struggling with a ton of various approaches to the user interface. No matter what I tried, things just didn’t feel right.
So yesterday, I ripped most of the interface out and completely reworked the CoreData model. Things are now starting to feel a bit better. This was a drastic step, but It turns out the reason I couldn’t get the user interface to feel right was because the underlying data model wasn’t right.
Coming from a traditional corporate development and consulting background, I attacked this project from the data model first. I looked at what data I wanted to track and then tried to apply a user interface on top.
As it turns out, my instinct was wrong. I should have worked on the interface first to get an idea of how a user would use the application. Then figure out how to store the data.
I should have known better. But I guess it’s easy to fall into old, bad habits. The overall feel of the application is more comfortable to me now, so hopefully things should progress nicely.
Now, the key is to keep it simple. I need to resist the temptation to add a lot of features on the first go around. I just need to try and work towards a solid first release with basic functionality.