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