At few days ago at work, my coworkers and I realized how powerful UI driven architecture can be. We had back end code (partially) written, but once we started designing the UI, we discovered that a lot of it had to be changed. That cost us a lot of time. It's really hard to design a system unless you know precisely how it will be used. Designing the back end first can create all sorts of problems when moving on to the UI work. Sometimes you find that the back end doesn't interact with the UI in a clean way. Instead, you should design the UI first (even if it's just a prototype), and let that inform the back end development. This is essentially an argument for top-down, user interface driven design. This seems to be especially important if your UI has a lot of workflow based interaction. Thinking about validation can also save a lot of time. You have to make sure your API can handle whatever the UI wants to do in a natural way. It's certainly an interesting approach to designing software, and I think I'll be doing it in the future.
In other news, I am really excited for ARTS 304. There is going to be a lot of learning going on in the next few weeks. I don't think anyone in our team has ever done mobile development before. This should be fun. :)
I also just finished my first sprint at work. Exciting stuff! I am really enjoying my time at Karos. The software we're working on is super cool, and the people are hilarious. Good times to be had all around.