Essays draft
This is a work in progress and is not officially published yet.

series: Login Bingo ➤

by Matthew Lyon

Type Through a Straw

It’s time to log in to the system to do the thing. You’re doing this on an input-constrained device such as a TV streaming box, video game system, or printer. Maybe you’re trying to watch a show, maybe you’re trying to get your washing machine to send you a push notification when it’s done. But it wants you to enter your full login credentials on the potato quality built-in input: the remote control, the up/down buttons, the rotary dial.

You resolve to one day live in a cabin on a mountain, far away from anything involving computers or the internet.


Whatever the excuse, trying to input login credentials on a device not meant for textual input is among the most frustrating login experiences possible, especially as it’s often paired with Context-Ignorant Visibility.

There are better alternatives, most notably device code flow — which requires backend support, though it’s a popular target for phishing, at least for Microsoft 365 accounts, which for some reason allow this authentication method to ask for broad permissions. I am not going to propose ways to defend against this, but it strikes me that at the very least the code flow link should provide some geo ip location about where the request originated from.

On the Apple TV hardware at least, there is the possibility of delegating complex input to a nearby iPhone signed into the same AppleID account. This is still modestly frustrating as in my experience it doesn’t seem to be compatible with paste or autofill; in this case I’ve had to lookup the credentials that need entering on another device and enter them on the iPhone, all while a) not letting my iPhone go to sleep, and b) not letting it get too far away from the Apple TV hardware. Compared to using an on-screen keyboard with the much-maligned remote, it’s not much better.

We have a modestly old laser printer, and connecting it to the wireless network involves typing in a password by pressing up/down buttons to choose a character, and forward/backward buttons to advance or backspace the cursor. The last time I changed our wireless network credentials, I gave up and moved the printer to a location where it was more convenient to connect to the network via cable. This is a terrible inputting experience, but it’s a printer, what did we expect.

We have a robot vacuum that connects to the wireless network through a special mode that provides its own wireless network that exposes through the network login portal an interface to choose and log in to other wireless networks. While this is much better, it’s still somewhat fiddly, because we have to juggle network connections on another device.

Maybe the best experience we’ve had for connecting a device to our network is for the device to have a mode which makes itself available over bluetooth, which then an app uses to input credentials for the wireless network, and while this could get into Use the App d territory, the home devices which are not printers we have are ones we primarily interact with through our phones anyway.

If people need to authenticate something with your system on an input-constrained device, or you are creating an input-constrained device, please invest some effort into providing a less-frustrating experience of authenticating.

Keep in touch

Newsletter RSS Email

Here

Search Home About

Elsewhere

Fediverse BlueSky Instagram Codeberg GitHub Itch

Music

Bandcamp Apple Music Spotify Deezer Tidal

2025 Matthew Lyon