if there is a blinking caret in the field then show a keyboard. There is nothing more annoying than having to ‘repick’ the text field that is currently active, with the blinking caret
what are you thinking android? focus is something explicit, not implicit. You do not have to have an active control on a form at all times. that and the fact that the keyboard is very tough to get rid of when you want to.
It looks like all the built-in iPhone apps support ‘instant resume’ – which means that when you swap applications you get exactly where you were previously.
This is the palm ethos – kill the application when switching. It’s pretty efficient. Memory use is reduced because you can reclaim memory from the terminated applications.
On the original Palm platform, there was no memory protection – the processor didn’t support it. When the system migrated to the ARM processor, it was emulating the original m68k processor, but with added features like improved speed and optional hardware specific acceleration.
You were exhorted in the development guides for the palm platform to ensure that when a user returned to your application it was in exactly the same state as when you left it.
The problem seems to be that an awful lot of applications on the Apple platform do not implement this feature. As a result when you use applications you seem to get kicked to the start of your workflow when you restart it, which is really annoying.
Until applications can actually implement the palm ethos, then people will continue to cry for multi tasking.
Honestly, I think there is a place for push/pull based background tasks that would operate on a scheduled basis – that way you could run them all at a burst, consuming only a small amount of power for the entire set of jobs. This is something that is implemented in Windows 7 (see Extending battery life with energy efficient applications). By keeping the overall CPU utilization down energy consumption is kept down.
Scheduled tasks anyone?