Hibernating laptop a few mintues after lid is closed (and some comments on our ability to imagine required functionalities)
Update: actually, when I talk about 'hibernating the laptop' I mean 'putting it to sleep'. Some of the feedback on this post made me realise the mistake.
I want to describe a feature I'd like on my laptop. I also think there's a lesson here for software design.
My laptop is set to hibernate when the lid is closed. That's useful because it's easy to see a closed laptop and think that it's switched off, and risk it overheating by putting it in your bag. I've had that happen to me, and it fried the motherboard.
But what I'd actually like it to do when I close the lid -- but which unfortunately my laptop can't do -- is to hibernate after a few minutes. This might sound like a strange thing to want.
The reason is this. When i'm using my laptop while waiting for the ferry (or train), I have to close it in order to board and get a ticket, causing it to hibernate. But when I take a seat, I might want to use it again, without having to wait for it to finish going into hibernation and then coming back out of it.
If there was a delay on the hibernation, I could open the laptop again before it starts happening. If I decided not to use the laptop again, it would go into hibernation in a few minutes, before getting a chance to overheat.
The lesson for software design is that sometimes there's features that you'd never just think of by yourself - like this one. Rather, you have to be in a situation that motivates the feature, that suggests it to you.
And since you can't experience all of the different situations that people using the software will find themselves in, you have to admit that you can't know exactly how it would be most useful for it to behave for everyone.
I think people are too quick to think that if they can't see why a particular feature would be useful, then it mustn't be. That is, taking their personal perception as the reality.
What you would ideally provide is an open-ended flexibility so users can configure it to the needs of their situations.