Programming Calculators and When to Show Your Work
More than a decade after my last high school teacher gave up on me, I am finally learning to show my work.
The problem is that in doing so, I am grappling with providing a friendly user experience - learning when not to show your work.
The Background
One of my pet projects right now is a site which includes a number of calculators for knitters. Knitting is math, and that’s part of the fun, but sometimes you just want to move your hands. At the request of a friend, I volunteered to add a buttonhole calculator on a site I am building (in part because it was less complex than the other I had planned.)
The first step would be to make sure I understand how to calculate buttonholes myself. That’s easy enough. What has been challenging me is how to translate that into something that (one hopes) everyone else would not only understand, but enjoy using.
The First Attempt, and a Realization.
To make the most user-friendly calculator, my first thought was to take in information one piece at a time- most likely using HTMX.
For example:
Are we counting rows or stitches between buttonholes?
With that answer and the magic of HTMX, we would be able to have a later question appear as:
How many stitches should be skipped for the buttonhole?
Rather than
How many rows/stitches should be skipped for the buttonhole?
This led me to think about loading associated with reloads. Since I was planning on a very lightweight site, loading times should not, in theory, be an issue. But all of us have personal experience waiting for a page to load. So I was determined to minimize the number of reloads to make sure the site was at its best.
I began arranging and rearranging all the questions that needed answering, looking for the most optimal path between provided answers, questions clarified or omitted through HTMX partial reloads… And soon came to what (I think is) a Very Important Question
What about Advanced Users?
I am fully aware of the frustrations of being hand-held when I just want something done. It didn’t take me long to realize that is how this style of calculator would feel to many users- especially as those users who are likely to be changing buttonholes are advanced users to start with, as most beginners would simply trust a pattern, in my experience.
Where I’m At
So now the question becomes: which should be the default? Is a step-through calculator with a tucked-aside “just gimme the fields” option the answer, or should all fields be displayed by default, with a “baby’s first” walkthrough clearly available?
I’m still deciding.
UX is definitely a field of constant refinement; this has not even gotten into the considerations of graphics, of accessibility, of internationalization or clarifying information or the challenges of styling radio buttons.
In the meantime, I’ll be knitting.