Almost everything on computers is perceptually slower than it was in 1983 (2017)
I thought this was going to be a rant about how slow modern keyboards are with long debounce cycles and waiting for the USB poll interval.  Or if not that, how every change to the screen is buffered and waits until the next vertical sync before being drawn.  Those things are quite noticeable once you start looking for them (you can thank me later!)<p>But instead it&#x27;s &quot;when I write an email to someone, the software looks through every person I&#x27;ve ever corresponded with and suggests an email from that list&quot;.  The 1983 version of that was waiting 5 minutes for a bounce because you typo&#x27;d the address.  Now it&#x27;s taken care of for you in a few hundred milliseconds.  Not that bad.<p>As for autocomplete being slow... there isn&#x27;t really a good reason for this.  I&#x27;ve seen PHP apps that add a solid 100ms to every request because they are built in the one-process-per-request model, and the framework does a lot of setup and teardown for every request regardless of whether or not the request uses those resources.  Obviously, don&#x27;t do that.  There is no intrinsic reason that &quot;AJAX&quot; apps need to be slow -- you can do a database roundtrip in less than 10ms.  Websockets and HTTP&#x2F;2 eliminate TCP setup&#x2F;teardown overhead.<p>Things could be faster, for sure.  How much extra would you pay?  Most customers wouldn&#x27;t pay extra for a faster app, so apps aren&#x27;t faster.<p>As for why people make mouse-based apps instead of TUIs... it&#x27;s because the average person has to interact with tens or hundreds of pieces of software on a daily basis these days.  If they all work differently, people will never use them.  They ask for and prefer fast to learn but slow to use.  So developers build on a common set of idioms, even if they are slow in the long run.  You&#x27;ll note that &quot;power user&quot; software is often hard to learn (think Emacs, Vim, Blender, Solidworks) but quite efficient once the user has been trained.  People aren&#x27;t interested in doing that much work these days.<p>Finally, business processes account for a lot of this stuff.  I&#x27;ve been to stores that use a nice efficient TUI for their in-store pickup.  But my question is: why is software with a UI even involved?  You should scan my order number barcode, scan my driver&#x27;s license barcode, and then hand me my merchandise.  (Why even scan my driver&#x27;s license.  Just eat the fraud and save me 5 seconds!  That&#x27;s a business decision, not a software implementation quirk.)  Having to navigate around to a bunch of fields and manually type that information in isn&#x27;t efficient.  The UI shouldn&#x27;t even exist.