Considering freelancing? Check out the contract positions from Toughbyte.

State Machines and Managing Complex User Interactions

Great user experience is about abstracting away all complexity from the user and providing the most relevant choices with a clean and simple UI. Often times we compromise this, fearing of the technical complexity.

We have found a way to manage this complexity with state machines. I will present several ideas of using state machines in very different contexts: building a meditation player app, bluetooth connectivity interactions, and email scheduling logic.