The ThinkPad TrackPoint tried to build a better mouse (2020)
I posted this earlier about Ted Selker&#x27;s &quot;Joy Button&quot; (I&#x27;ve updated the link to the video of Mr. Lossoff&#x27;s Distinguished Buttons, who has in fact the most extensive button collection in all the world):<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21757484" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21757484</a><p>DonHopkins on Dec 10, 2019 | parent | context | favorite | on: ZedRipper: A 16-core Z80 laptop<p>Ted Selker, who developed the Trackpoint at IBM Almaden Research Lab, always calls it the &quot;Joy Button&quot;, but IBM just wouldn&#x27;t go with that. But at least they made it red (thanks to industrial designer Richard Sapper)!<p>TrackPoint (2011) (microsoft.com) [Buxton Collection]:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9437780" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9437780</a><p><a href="https:&#x2F;&#x2F;www.microsoft.com&#x2F;buxtoncollection&#x2F;detail.aspx?id=60" rel="nofollow">https:&#x2F;&#x2F;www.microsoft.com&#x2F;buxtoncollection&#x2F;detail.aspx?id=60</a><p>Some stuff I wrote about the Trackpoint and relative input devices in general:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18340403" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18340403</a><p>&gt;Input devices should allow users to configure a velocity mapping curve (which could be negative to reverse the motion). X-Widows had a crude threshold-based mouse acceleration scheme, but it&#x27;s better to have an arbitrary curve, like the TrackPoint uses, that can be optimized for the particular user, input device, screen size, and scrolling or pointing task at hand.<p>&gt;<a href="https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;Mouse_acceleration" rel="nofollow">https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;Mouse_acceleration</a><p>&gt;One of the patented (but probably expired by now) aspects of the Trackpoint is that it has a very highly refined pressure=&gt;cursor speed transfer function, that has a couple of plateaus in it that map a wide range of pressures to one slow or fast but constant speed. The slow speed notch is good for precise predictable fine positioning, and the fast speed notch is tuned to be just below eye tracking speed, so you don&#x27;t lose sight of the cursor. But you can push even harder than the fast plateau to go above the eye tracking plateau and flick the cursor really fast if you want, or push even lighter than the slow plateau, for super fine positioning. (The TrackPoint sensor is outrageously more sensitive than it needs to be, so it can sense very soft touches, or even your breath blowing on it.)<p>Ted Selker demonstrated an early version of the &quot;pointing stick&quot; in 1991:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=6hhnlaUxsL8">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=6hhnlaUxsL8</a><p>Ted always reminds me of another distinguished &quot;Button Man&quot;: Mr. Lossoff from Nero Wolfe&#x27;s &quot;Mother Hunt&quot;. Those Button Men can be pretty intense!<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=h-QgWOSVKm4&amp;t=12m5s">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=h-QgWOSVKm4&amp;t=12m5s</a><p>microcolonel on Dec 10, 2019 | next [–]<p>&gt; it&#x27;s better to have an arbitrary curve, like the TrackPoint uses, that can be optimized for the particular user<p>Maybe you could even learn the curve by counting pointing error (measure the overshoot before clicking), and maybe make it two dimensional (i.e. the sensitivity and acceleration are different based on the direction).<p>I use a program called BrightML to do automatic screen brightness control. It&#x27;s innovative in that it accounts not only for time of day, location, and ALS if you have it; but also considers which application is focused when you set the brightness. If there is an application which you always turn down the brightness for when it&#x27;s focused, it&#x27;ll turn it down in anticipation.<p>A similar thing could probably be done for the TrackPoint acceleration.<p>DonHopkins on Dec 10, 2019 | parent | next [–]<p>That&#x27;s a great idea, especially since the ideal profile would differ between different apps (or different parts of the same app, like drawing area -vs- toolbar -vs- text editor).<p>Ted wrote some amazing stuff about adaptive curves and other cool ideas he tried, at the end of his whirlwind exposition to Bill Buxton:<p><a href="https:&#x2F;&#x2F;www.microsoft.com&#x2F;buxtoncollection&#x2F;detail.aspx?id=60" rel="nofollow">https:&#x2F;&#x2F;www.microsoft.com&#x2F;buxtoncollection&#x2F;detail.aspx?id=60</a><p>&gt;The ones that got away are more poignant. I designed adaptive algorithms we were exploring- we were able to raise the tracking plateau by 50% for some people, and if we had had the go ahead we could have made that stable and increased performance tremendously. It seems some people used tendon flex to improve pointing- we found this looked like overshoot and we had trouble making the adaptive algorithms stable in the time box we gave it. We made a special application that was a game people played to improve their pointing –as their game play improved the transfer function improved too! We made a surgical tool that used a Trackpoint to allow tremor-free use of a camera from a laparoscope. We made a selector for the FAA to do ground traffic control that saved a multihundred million dollar contract for IBM with the government. I would have loved the product to change cursor movement approach for form filling, text editing and graphical applications; again that could probably double performance. Yes, I s till want to do it NOW. We built a gesture language into the Trackpoint that can be accessed in the firmware; the only aspect the driver exposes is Press to Magnify or Press to Select. We created probably two dozen haptic feedback Trackpoint designs. They improved novice performance and were loved by the special needs community. I did a preliminary study that showed how novices selected faster with it; the product group saw no need to spend the money for that. We made a science experimental test bed to teach physics that never shipped; we made many versions of multi-Trackpoint keyboards that never shipped. We made many other things too- a versatile pointing device for the table called Russian tea mouse allowed for full hand, thumb, finger, or in-the-palm use. We made pen like stalks that allowed selection without taking hands off the keyboard. We made devices that used one set of sensors to run two input devices. We made an electormechanical design used by one special user. We found that brushing the top instead of pressing it could give amazing dynamic range, at the expense of having to cycle the finger for long selections. The joystick for this had no deadband, it had an exquisite sensitivity and control … we never made an in-keyboard device that shipped with this alternative set of algorithms and scenario. I designed better grippy top ideas that never made it; also better sensitivity solutions that never made it too. And I hate to say it but there are many other improvements that I made or would like to make that I could elaborate further on but will stop here…..