Designing for the Unknown


I've worked on several projects for hardware that was still being built and operating systems that were not finalized. The concept and design had to be completed before the hardware launched so we would have a software ready when the product was ready to ship. Designing for so many unknowns was easily the most challenging project I've ever tackled. 

We needed to create a seamless experience without knowing how the clerk would be entering Perka or even what data would be available to us.

I think of it like building a house of cards. Just one misaligned element and your house crumbles. The challenge for me was building that house with a simple but strong central structure that would remain unaffected when half of my cards were removed. This is an MVP product and not terribly demanding in complexity. Our challenge was building something that was basic enough that it could easily be disassembled and tweaked.

Perka's integration with the Clover platform needed to solve the problem of validating a transaction regardless of if the customer was paying cash or credit from a non-clover register. The complexity lies with how much data our system would have to work with. Because we couldn’t know if our system would have any knowledge of the transaction from the point of sale terminal we had to plan for the worse and trim back whatever would not be needed.

Using swim lanes allowed us to plot the two possible paths for cash and credit against the customers interactions with the app, the verbal interactions between clerk and customer, and the clerks interactions with the point of sale terminal.

An early task flow with an adaptive experience depending on whether or not the validator would have knowledge of the order total, inventory, etc.

UI Examples