Last week we published a post discussing Parkinson’s disease with Claire Bale, Head of Research Communications and Engagement at Parkinson’s UK, in some detail. In this post, Claire provided some valuable insight into the symptoms associated with Parkinson’s, what treatments are available, and some of the future treatments currently in research.

We also touched on the assistive technologies for people living with the condition in development; a topic we’ll be delving into further in this post, with the help of Ben Gottemoller.

Ben is the developer behind SteadyMouse, a piece of software designed to reduce the effects of tremor (often associated with neurological conditions such as Parkinson’s) on the use of a computer mouse.

We got in touch with Ben to ask him some questions about his experiences working on the project, and also to get his take on the current landscape of assistive technologies for people with Parkinson’s disease, and what developments may come in the future.

His responses provided an insight into some of the challenges developing new assistive tech and software throws up; but also into some of the rewards and advancements that come with perseverance.

- SteadyMouse X product cover art (courtesy of SteadyMouse).

Finding a solution to a problem

As Ben explains, the project started in 2005, and originated when the symptoms of Parkinson’s began to affect his grandfather.

Around 2003 to 2004 my grandfather was diagnosed with Parkinson's disease. It seemed like a minor inconvenience initially, until the symptoms ramped up. Before long some tasks that had been second nature became rather difficult. One of these was using the computer, and in particular the mouse.’

‘Watching him work I could see the slight hand tremor getting into the cursor motion. Worse yet, it caused his fingers to repeatedly hit the right mouse button, bringing up the right-click menu.’

At the time, Ben remembers, there was little available in the way of assistive tech for people with tremor.

‘Searching for solutions back then was like exploring in a desert. There were a few promising but very expensive hardware solutions in the research phase, but nothing readily available for my grandfather.’

It was then that Ben set out to develop a solution of his own.

The hand tremor situation had the feel of a software problem and software development has been a labor of love since childhood for me. (In fact, my grandfather bears some responsibility for this, as he was the first in the family to purchase a computer - a 1982 Commodore 64 - which eventually was handed down to me as a child.)’

In the present, I had just finished up my Computer Engineering degree at the University of Illinois at Urbana-Champaign, and ‘code was life’ more so than ever. The sense that my grandfather's troubles could be solved in software led to some experiments, which led down a long road of learning, and eventually to something official to try: SteadyMouse 1.’

Family and colleagues, Ben remembers, were also on hand to provide assistance in finding solutions to obstacles.

My brother, Andrew Gottemoller, discovered a way to avoid the need for a device driver. My college friend, Scott Moeller, offered advice on the advanced mathematics side. In the end I had a prototype ready to go by 2005 and, to my great excitement, it worked! My grandfather was able to use his computer again without fighting with the mouse.

‘It only made sense to share the software after that. Online it went, which is how the old free version came to be available on the website.’

In 2014, Ben would come to undertake a massive redesign of the software with a further decade of experience under his belt. This led to the Steady Mouse company becoming incorporated in 2016, and the release of the new and improved Steady Mouse 2 in October that year.

- SteadyMouse desktop icon (image courtesy of SteadyMouse).

How does the technology work?

The intricacies of the software are complex, but there are two key features which Ben expands upon in lay terms:

‘Deep within the SteadyMouse processing engine is some advanced math that is able to tease out the intended mouse motion from the repetitive tremor motion. Throwing out the tremor component stabilises the cursor, so while the physical mouse may shake the user can effectively stop thinking about it. The cursor on the screen becomes stable which then kills what I call the ‘overcompensation feedback loop’.’

Consequently, Ben illustrates, this prevents the user from trying to compensate for tremor movements, and altering their direction even further.

Accidental click blocking is another key piece, which works by throwing out rapid clicks and letting through longer ones. It is common with hand tremors to not even realize clicking is occurring.

And it’s then easy for the user to end up somewhere they had no intention of being.

SteadyMouse blocks rapid clicks and lets through intentional clicks that are held just slightly longer.’ Ben explains. ‘With a little tuning it becomes second nature and the user just doesn't need to worry about it anymore.’

- SteadyMouse control window (image courtesy of SteadyMouse).

Adapting to updates and user feedback

Developing new, innovative tech often throws up unexpected challenges.

For instance, one aspect developing a piece of software is that it will need to go through an adjustment process when widely-used operating systems are updated, as Ben elaborates:

When you support a software project, starting with Windows 2000 and then journeying through the years all the way to Windows 10, you inevitably learn some things the hard way. The first few years after releasing SteadyMouse 1 were fairly smooth, with happy users and only the occasional bug report.

Then around the advent of Windows 7 I received a report (the first of many) mentioning a mouse cursor suddenly ‘flying off the screen’. As you can imagine, this puts the user in a bit of a pickle. Without a working mouse it is difficult to even exit the application causing the trouble! Making the matter worse, it was an extremely rare occurrence. It is one thing to investigate and fix a bug that shows up every time, and quite another to fix one that only happens every thousand hours.’

This particular issue was a key driver in the demand for SteadyMouse 2.’

Ben explains that each new release of Windows from Vista onwards contained small and subtle changes in algorithms that took care of pixel scaling; and the cumulative effect of these minor adjustments over time resulted in the issue described.

Needless to say there were some very late nights regarding this,’ Ben tells us. ‘It was an enormous relief to finally get this bug conquered for my users.’

Another aspect of developing a new piece of assistive software and then going on to manage it oneself, which Ben has encountered, is providing one-to-one user support. But Ben maintains that overall, the process is very much a rewarding one.

‘Outside of the engineering and research realm, I would say the next runner up for difficulty has been customer support.’ he explains. ‘When customers write in, they receive top-notch and personalised help. There are no decision trees or scripted messages. A single message very often will drive a direct improvement into the next software version, and it is not uncommon for several days of thought to go into addressing a customer query, with long term solutions being preferred to short term ones. Lots of energy is spent here, and it's worth it.’

As time has gone on, getting positive user feedback has proved to be one of Ben’s favourite parts of the project.

My experience in software over the years taught me that one is much more likely to get feedback when something is broken than when it is working. There is even the old saying that ‘No news is good news’ and so, in short, I did not take this journey with the expectation of getting much positive feedback. So with that in mind, it has been a pleasant surprise to receive heartfelt stories almost as often as bug reports and feature requests.

The most frequent feedback actually comes from children and grandchildren buying the software as a gift for an ailing parent or grandparent. When they observe the huge difference after installation, it seems often enough, to engender excitement and a desire to write in to describe the experience. These moments never fail to make my day, and sometimes my week.’

Ben has collected some of these reviews on his website.

Future development

Seeking out ways to make improvements is an integral part of the development process; and in some respects, work on a new piece of technology is never truly ‘finished’.

As Ben explains, his work on making yet further improvements to Steady Mouse continues.

‘Significant focus of late is on what I call the ‘last mile problem’. Users can gracefully get 99% of the way to their target, and still struggle with precision in the last 1%. I am really excited about an upcoming innovation in this area, especially for the boost it will give to the artists out there.’

‘Another major focus is cross-platform compatibility. MacOS and possibly Linux support is on the table at some point. Porting cross-platform is a major endeavor, with much more difficulty than initially anticipated. It will be a great day when support for the Mac is ready to go.’

What lies ahead for Parkinson's and assistive tech?

As we discussed last week, the development of new assistive technologies can take time. For instance, new devices used in care settings for conditions like Parkinson’s need to be researched and rigorously tested before they can be made more widely available.

Ben’s own account also demonstrates how much time and effort is needed to make even relatively smaller projects like his a success.

So are other developers, and particularly the larger companies, becoming more aware of Parkinson’s and the need for assistive technologies, and responding with projects of their own?

‘Well, it's certainly getting there.’ Ben thinks. ‘The Michael J. Fox Foundation has done a great job of bringing knowledge of Parkinson's into the mainstream. Other kinds of tremor still get less attention, however I am seeing more resources online all the time.’

‘Accessibility tech has thankfully received much more focus from the big tech companies in the last several years. Perhaps in part this is due to its own leaders aging and seeing the need first hand. We are beginning to see machine learning making inroads to areas that were quite difficult before. For example, I was really impressed with Microsoft's ‘SeeingAI’ project released earlier this year. Image classification to that degree is a real breakthrough for the blind and there will certainly be many more applications of machine learning to this field in times to come.’

But there are also some obstacles to navigate, Ben explains.

‘While the need for accessibility technology has become increasingly visible, actual implementation of these products has become harder. It may not be obvious at first, but the requirements for strong computer security compete directly against the freedom to augment our input devices.’

‘Gaming especially has suffered as the push for anti-cheat systems has conflicted with augmentation of user inputs for the disabled. Developers end up ‘threading the eye of the needle’ to make it work.’

‘Both security and accessibility are vitally important, and I am hopeful the years ahead will strike a proper balance. If not, there will be a real risk that only the big OS providers will be able to implement accessibility algorithms, and this would greatly limit innovation.’

In this respect, Ben opines that the development process needs to be open and inclusive.

‘The accessibility realm has so much room for creative minds, that I hope the developer base can be made as broad as possible. The mantra that ‘necessity is the mother of invention’ is correct, and so everyone with an ailing family member can be thinking about these ideas, and in fact have a first-hand advantage in their development. The ‘more the merrier’ as there are many people graciously waiting for a solution that meets them where they are.’

You can read more about Ben and Steady Mouse over on his website.