How it got started
The SteadyMouse project was started in 2005 after my grandfather, Dr. James Gottemoller, was diagnosed with Parkinson's Disease. Parkinsonian Tremor involving shaking of the hands while at rest, often goes along with Parkinson's and such was the case for him.
As you might expect, or have experienced personally, tremor makes using a traditional computer mouse quite difficult! A shaking hand sends the mouse cursor all over the place and it is all too easy to click the mouse buttons unintentionally and end up in "no man's land".
Technological solutions to this problem were rather limited, with the field only in its infancy. I believed I could engineer a solution in software to remove the tremor while leaving intended cursor motion intact.
After spending serious time learning digital signal processing, developing code, and bouncing ideas off of folks with Parkinsonism and Multiple Sclerosis, the fledgling version of SteadyMouse was born. It ended up helping my grandfather and others far more than I expected and it only made sense to share it after that.
Where things are today
SteadyMouse 1.3 would hold up for many years and be free software, as it still is today.
Fast forward to 2014. With almost a decade of customer feedback collected, years of time spent dwelling on the tremor problem, and now strong demand coming in for a major upgrade, the decision was made to undertake a massive, re-engineered, commercial version of the software.
The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time. Tom Cargill, Bell Labs
This would take nearly two years! The step change from "good enough" to "beautiful" is almost certainly an exponential function in terms of time, work, and resources! It's also a bit like reading a book. When it's a really good one, you are glad if there are thousands of pages left.
With the company formed, and with over a decade of research, development, and testing integrated, SteadyMouse 2 officially launched in October 2016. Since then it has hit a nice cadence of releases coming out every few months.
To give you an idea just how much has changed, the original SteadyMouse v1.3 installer from 2006 is only 1.7MB in size. The new version, at 16MB, is over nine times larger! For a C++ application, that is mostly code and very little artwork taking up space, this is enormous.
It is with significant excitement that SteadyMouse, LLC. offers this product and with much hope
that you have only smooth sailing in the days ahead.
Pax et bonum,
Founder, SteadyMouse, LLC.
Special thanks to a few friends who helped along the way
- Dr. James Gottemoller - Who graciously offered himself as a test candidate during SteadyMouse's early days. If not for his struggle with Parkinson's disease this would not exist.
- Andrew Gottemoller - For finding solutions to several very difficult issues, one of which allowed me to throw out the mouse device-driver based architecture that would have been ever so painful.
- Grant Farrand - For all the lessons in digital signal processing
- Scott Moeller - For more lessons in digital signal processing
- Hugh (I don't know his last name). On the now defunct forums at www.wemove.org. Hugh performed the original beta testing of v1.1 and provided tons of useful feedback.
Special mention to alternative technologies in the field:
Technical facts for the inquisitive
SteadyMouse is written in C++ using a C style to keep things simple. This language is very efficient and the code is "lean and mean" so that it won't waste your battery life or computer resources. You won't find any of this barbarianism.
The philosophy in play is a result of cutting my teeth on embedded automotive software for over a decade. I'm used to having a 64Mhz processor with less than 1MB of RAM.
Most of the code in SteadyMouse is very carefully constructed for performance and consequently could run well on the oldest hardware you can find. I'd bet a 100Mhz CPU and 128MB of RAM, running Windows XP, would be enough.
That's not to say the software isn't super advanced. It is pretty sweet under the hood, it's just that the resources it uses are respected and not wasted. Most folks don't care, but I do, and this info is for the other's out there that have a similar appreciation for the hidden side of software that goes unseen.