I had exactly the same issue when I first got mine - someone here told me my thermostat was dead, and they were dead right.
If your thermostat is working, then from when you start the engine the temperature should rise steadily, and in 10 minutes the needle should be vertical (90 degrees I think). It should then stay there, however you drive.
If yours is like mine was, then the needle hardly ever rises above nothing, except if you're driving it hard at fairly low speed (less wind chill), when it gets a bit warmer. This is because the thermostat is flat-out cooling the engine constantly.
It's a fair job to do, but DIYable. You need to drain the radiator to do it, and need lots of jubilee clips to replace the crimp-on factory fitted ones.
You'll also find the engine sounds nicer once it gets hot - the rattly noise goes away, and you'll also get better MPG. And the heater will work.