One of my first open source contributions was the hideShowPassword plugin for jQuery. (And Zepto! Remember Zepto?) It was inspired by the password experience Luke Wroblewski documented in Polar, which allowed you to toggle its visibility at any point. The detail I was most proud of was that the inset toggle control would not cause the password field to lose focus, so you could continue typing without interruption.
According to npm-stat, the plugin has been downloaded more than 380,000 times since it was first published to that registry. I’ve organically come across it myself in many login forms over the years, which always makes me smile (especially when they stick with my toggle icons).
But, we haven’t released an update since 2019, and we no longer use the plugin in our own projects. What changed?
Browsers did! The trick we used to retain password focus on toggle stopped working in mobile Safari in iOS 12.1.2 and later. A proposed new
input-security CSS property was abandoned, concluding that the functionality should be handled by the browser. And as autofill and password managers became more powerful and commonplace, it became more cumbersome to prevent certain conflicts.
You’d think it’d be a bummer to see a tool you wrote slip into obsolescence, but I don’t feel that way. The history of the web is full of stepping stones I fondly remember (sliding doors, sIFR and cufón, Flash). It’s always an honor to set a pebble or two along that path.