Is "mental model" an overloaded term? I've only heard it in connection with designing interfaces, which seems quite a bit different than what the article seems to be talking about.

The way I've heard it used in interfaces just means what the user knows (or thinks they know) about how your thing works.

A couple examples from Donald Norman's "The Psychology of Everyday Things" (which was renamed "The Design of Everyday Things" in later editions).

Consider a thermostat, which has a simple dial with an arrow painted on it, with a scale of temperatures printed around it. You can turn the dial to point the arrow at a temperature.

The way this thermostat actually works is that there is a bimetallic strip inside that bends as the temperature changes. When it gets cold enough it bends far enough to close a contact that turns the heater on. When the room warms up enough, the bending of the strip abates, opening the contact, and turning off the heater. Turning the dial modified the distance between the bimetallic strip and the contact. Turning the dial to a lower number moves them farther apart, so the strip has to bend more to close the contact, and so the room has to get colder before the heat turns on.

If you ask people how they think it works, some will know the above. Others will have other explanations.

Some people might think that it is just based on time. The system runs the heater for a variable time controlled by the dial, and then turns it off for a fixed time, and then repeats this cycle. Turning the dial to a lower number reduces that variable time.

There were, if I recall (it's been years since I read it) correctly, a few more explanations given, some quite wrong in the sense that no one would actually build a thermostat that way.

The interesting and important thing from a user interface point of view, though, was that all of them lead to the user doing the right thing when it comes to actually operating the thermostat. If the room is too hot, they move the dial to a lower number. If the room is too cold, they move the dial to a higher number.

The point was that users are going to have some kind of model for how your thing actually works. It is not important that the model they have is actually right--as long as their model leads them to the right control inputs that is fine. Be aware of what kind of models people are going to have, and design your interface to not encourage bad models.

An example of an interface design failure was a refrigerator/freezer Norman had. It had two sliders, labeled "Freezer" and "Fresh Food", both in the fridge compartment. The "Freezer" slider had settings A-E, and the "Fresh Food" slider had 0-9. The instructions said: "Normal settings C and 5", "Colder Fresh Food C and 6-7", "Coldest Fresh Food B and 8-9", "Colder Freezer D and 7-8", "Warmer Fresh Food C and 4-1", and "Off 0".

The labeling of the controls suggest or reinforces a model that leads to someone who wants to adjust the freezer temperature fiddling with just the freezer control, and someone who wants to adjust the fridge temperature fiddling the the other control. Probably something with thermostats in both compartments, each controlling a cooler unit for that compartment, with the sliders each controlling one of the thermostats.

The way that fridge actually worked is that there was a thermostat somewhere, controlling the cooling unit. The output of the cooling unit went through a valve that could direct part of it to the freezer and part of it to the fridge. One of the sliders controlled the thermostat, and one controlled the valve. Nothing really suggested which compartment had the thermostat (assuming that it is even in one of the compartments), or which control was for the thermostat and which was for the valve.

An average user of that fridge who, say, feels the fridge temperature us just right but would like the freezer to be a little warmer is in for a frustrating time of fiddling with the controls. Their model of how it works probably leads to different predictions of control response than the actual model. That way that fridge actually works is far enough away from the models the users are likely to have that the controls should have at the very least been labeled in a way that lets those user know that this fridge is difference.

Maybe label the slider that controls the cooling unit something like "Overall Cooling" and label the valve control something like "More to fridge/less to freezer <--> More to freezer/less to fridge". Still a pain to operate, but at least it is obvious it is going to be a pain. The user who wants a warmer freezer but is happy with the fridge temperature can tell from that labeling that they are going to have to decrease the overall cooling, and change the allocation toward "More to fridge/less to freezer" to keep the fridge temperature the same.