While working on formulas in BakersCalc there have been a handful of times where I’ve finished a recipe only to realize I had forgotten an ingredient. No problem, I’ll just add it at the end! Except this is a problem, because my OCD won’t stop flicking the back of my head until I add it in the correct order. The way I use BakersCalc is pretty linear – the order of ingredients is the order I’m adding them to my mixer. Usually this meant either deleting items and adding the missing link, or adding one at the bottom and shifting everything around. Before the last update this issue was the definition of a bad user experience.
What is user experience (UX), anyways? The Wikipedia definition is “…a person’s emotions and attitudes about using a particular product, system or service”. Basically it’s how you, the user feels when using someone’s product. It may seem straight forward, but a large amount of research and development goes into getting things just right. If a transition animation takes too long, the user gets impatient, so that’s a negative experience. Alternatively if the animation is quick and fluid, the perceived notion is that the application itself is quick and responsive. And sometimes, it all comes down to differences as minuscule as hundredths of a second.
This issue with BakersCalc got me thinking about how this was approached in the past, and how much we take for granted today. Such a small feature is a great example of how UX standards have progressed with the advancement of technology, ten years ago you’d rarely see web apps with such features. Best case scenario each item would have an individual input field for it’s position and reordering would require interfacing with each one, and refreshing the entire page. While this does work, it isn’t necessarily pretty both visually and programmatically, especially when your data gets larger. Now, we have simple touch gestures that make such tasks seem effortless, and we’ve come to expect it from our applications. But it wasn’t always like this – it took the explosion of the smartphone industry to make us rethink how we interface with our devices. The combination of rapid hardware and software development has brought a plethora of ways to improve how we program. Logic that once was reserved for the backend could now be done on the frontend quicker, and for less bandwidth.
I’ve come to notice and appreciate how over time culture has adapted it’s perception on how we should use technology, and how that in and of itself has an impact on how we determine a positive user experience. Any phone without pinch, zoom, or swipe would be considered a failure by today’s standards, no matter how powerful it’s processor or GPU may be. If one thing is for certain, technology never sleeps.