Task switching ============== Warning: This post was written some years ago. I decided to publish it as is (without reading it). The first computers can run just single task (or program) at once. Even DOS-based IBM PC computers were able to run only one program without possibility to switch to another one (well, there were resident programs and various extensions but still, there was no general possibility to run several programs at once a to switch between them). This problem no longer exist as any modern OS allows multitasking and real-time task switching (even in the text console of modern unix-like systems). But what about mobile OSes? On the old good Palm OS there was only one program running. When you selected another program then the first one saved it's data and was closed. When it was reopened then it resumed with the previous data and thus it simulated multi-tasking. Such approach was necessary because of limited computing power of Palms and because of needs to save battery life (do you remember that the Palm devices can survive up to one month on a pair of AAA batteries?). Well, we are not in late 1990s and one can expect that a device which is thousands times faster than an on-board computer of a space ship [1] is also able to do proper multitasking. And yes, even the CDC 6600 supercomputer [2] (it computed parameters of Soyuz-Apollo flight, for example) is way slower than your average mobile phone, and the Argon-16 that used to drive the Souyz spacecrafts until 2008 is much, much less powerful. On the desktop I usually have several applications on my screen: a text editor, a dictionary program, sometimes a music player, and often also a calculator (a GNU Octave, for example) and/or a plotting program like the Gnuplot. And some stuff on other desktops (a WWW browser, usually a some FEA package which is doing some computing and so). On the PDA or phone I usually expect similar behavior: when writing text I usually need to use a dictionary, viewing notes or searching for stuff (and links) on the WWW. Ideally, I wish to have the dictionary and the text editor at once. It's almost impossible (it can be done on the Ubuntu Touch in the Desktop mode, for example). In practice it would be nice to have at leas some Alt+Tab simulation to switch the programs quickly: - on the Sharp Zaurus, there is Shift+Home which is almost perfect - on the Ubuntu Touch, there is Alt+Tab which works as expected - but only if a hardware keyboard is attached (thus it is useless for the phone for the most of time), a finger swipe from the right must be used to open the Task switcher and then the app can be selected: it' s acceptable but not really comfortable - on the Android a button on the bottom must be pressed to see the Task Switcher (is there a better way?) - it' not better than the approach ot the UT - on the Maemo there is a nice button to open the task switcher (but for some reason it behaves differently in differen OS revisions), - the old Palm required to press the button or icon of the application (and for a non-default applications to open icon screen and to select the ocon of the wanted application), - well, on the Ben NanoNote there are virtual consoles so Alt+F! to Alf+F7 works here and Alt+Arrow works, too. At least some apps on modern devices (on the Ubuntu Touch/Android) can actually run in parallel but not all. It is obvious but not ideal some times. So, in my opinion the Zaurus is still a clear winner here, sorry. A real pocket UNIX (well, unix-like) workstation: there is a real multitasking, an easy task switching, great (if not excellent) keyboard, quite nice POSIX compliance (but usually no X11 compatibility as it runs Qt on a bare framebuffer) and still a great battery life. I'm able to run the most of stuff that I need (even a LaTeX) in a manner that is close to my expectations (there can be a text editor, a dictionary, the Gnuplot, some elements of FEA packages and tons of custom stuff because there is available a full C/C++ compiler). Unfortunately, the Zaurus is more than 10 year old (and thus obsolete in the terms of processing power, memory/storage sizes, connectivity or external display availability) and no one makes an adequate replacement... References: [1] gopher://gopherpedia.com/0/Soyuz%20%28spacecraft%29 [2] gopher://gopherpedia.com/0/CDC%20660