Hi Bob!
I very much agree with you on this, including the fact that Palm OS (including Cobalt) still hasn't really done anything to address the issue.
Dealing with multiple concurrent activities on these devices, at the user level, is something that we think is going to be one of the key things that needs to be dealt on the devices that are now starting to appear. In fact, phones are already starting to run into the complexity it causes, and in my opinion for the most part punting on it. As 3G gets more widespread, we think this is simply something that will have to be addressed in order for the average person to use the new features it makes available.
For PalmSource, Cobalt was basically the necessary first step needed to get the OS infrastructure in place to deal with this stuff, but very little was done in the UI. In fact, the slips in Cobalt are one of the very early UI efforts we did to start dealing with it -- the basic concept of the slip being a little mini-application that can run independently of the main application flow. However, I would really say as it stands they only barely start to help.
I have a few specific replies to your comments:
Quote:
Originally Posted by BobR
And it sounds like with PalmOS for Linux, some of the thread and context limitations from the OS may be lifted also. I suppose that the future of Linux kernel, improvements in the Linux kernel, and better hardware CPU support will allow this to become even more robust.
|
For the most part, I think the meat of the issue is in the way the UI works: Cobalt, Windows, Linux, and Symbian all have the basic kernel and system support to be able to do what is required. The real challenge is in figuring out how these features are exposed to both the user in the UI they experience and to application developers in how they write their applications.
Quote:
Originally Posted by BobR
For example, on my (delightful!) Treo650, if I put an mp3 on pause from RealPlayer and switch to another application, then when I come back my track starts at the beginning again. It remembers my track, but not my position in the track when I paused it.
|
As it happens, the Cobalt media player will remember your track -- and in fact, if you switch to another application while playing a song, it will continue playing in the background without a hiccup. The media system accomplishes this by running the media playback functionality in our background process. The media player app itself is really just a remote control for the media playback thread that is left running. You can, of course, also structure your application so that it runs all of its UI from the background process and "switching" to it just involves telling your background thread to bring up its UI. This is probably the way you would want to do things like web browsers.
Btw, the same MediaPlayer behavior applies to watching videos as well listening to audio, except I believe the media player will normally pause a video while it is not running as the main app.
Quote:
Originally Posted by BobR
Another example of how the UI can be a bit of a nuisance is when, for example, I'm happily reading something in iSilo. Then I remember something that I need to do. One of the great things about a pda is that when you remember something you can record it right on the spot and forget about it. So I go to the Tasks application to enter my todo item. So far so good. But on PPC, I can then go back to iSilo easily. Not so much because it's still running, but because there's a drop down menu that has it still listed assuming I didn't do something special to force it to close.
|
I don't know if this exactly addresses your need, but on Cobalt if you hold down on the Launcher/Home icon in the status bar, you will get a pop-up menu of the recent applications you have run, allowing you to switch back to one without going through the Launcher. I don't think the overall UI is all that great (it is not at all obvious you can do this, and having to press and drag as the only way to access this functionality kind-of sucks), but it's a start.