A dishwasher on the Internet

Connecting your software to the web is not just another step.

In 2007, Miele introduced a machine to disinfect medical products and laboratory equipment, which featured an Internet connection. Ten years later, a security researcher found that that particular series of machines was remotely accessible by anyone. These machines are similar to dishwashers, which caused several sharp comments in media publications.

"This is fucking hilarious. A dishwasher on the internet."

— Dan Tentler (source)

How can it be that the programmers of Miele made such an error? They are experienced people, aren’t they? They’ve been writing software for years. And their company has money to pay them.

The thing is, they’ve been writing dish cleaning software. They know how to interface with switches, relays and sensors. But they don’t know how to connect to the network.

I’ve seen scientists write programs for DOS. I’ve seen them learn IDEs and make fancy GUIs for Windows. I’ve seen them learn Matlab and R. In a connected world, the Internet, and the web, can look like the obvious next step.

But it is no small step. It involves several technologies, like HTTP, HTML, CSS, JavaScript, and it’s not just names, it has fundamentally different aspects. For example, it’s asynchronous, meaning that the browser mustn’t freeze while calculations are in progress. I’m not going into details about that. And of course it must be secure. This is a whole another thing. It’s not like installing a new IDE or interpreter and learn its language.