Sunday, April 12, 2009

More detailed and technical QA about Classic

Following MotionApps' and Palm’s announcement of Classic last week, we have received tons of great feedback and words of support – and twice that much questions. Obviously, we are not able to answer all the questions on all the places where they appear, so here is the short list of most frequently asked questions about Classic - and stay tuned for more news and info.

Q: What is the main difference between Classic running on webOS hardware and “real” PalmOS?

A: Most important difference between the two is that the Classic is an application for webOS running in parallel with other webOS apps, while the PalmOS running on Treos and Centros is the operating system of those devices. This means that Classic cannot take the full and unlimited control of the hardware it is working on. This imposes certain rules of good behavior that Classic must comply with – for example, Classic cannot turn off the device or network which normally is a responsibility of an OS, simply because there may be some other webOS apps running outside of it that are using the same services at the same time. Unlike this, on “real” PalmOS devices, there can be nothing else running in parallel with the operating system, so in that case PalmOS can and should coordinate everything that is going on with the device.

Q: Which of the existing PalmOS devices are closest to Classic in terms of features?

A: During development of Classic we strived for compatibility with Palm Centro smartphones. Thus, certain features that may be available on other PalmOS handhelds are not supported in Classic (like screens larger than 320x320 pixels, DIA input API and some other rarely used APIs). Of course, this doesn’t mean that you will be limited only to applications that are designed specifically for Centro: majority of existing PalmOS apps are device-agnostic and will run on any PalmOS system, including Classic.

Q: I have PalmOS applications that I would like to continue using in Classic. Do I need to buy them again?

A: As far as Classic is concerned – you don’t. Classic will enable you to run existing PalmOS applications without any modifications or limitations. However, if you have commercial PalmOS applications you may need to check the licenses you received from their developers for using it on a different/new device.

Q: Can I run multiple Classic instances at the same time?

A: No, you cannot. The design of webOS is such that it allows only a single instance of a given application to be run at a time. If you try to launch Classic from the main webOS launcher while another Classic is running, the system will simply switch to (bring to focus) the existing Classic instance.

Q: Can Classic run the native ARM code (a.k.a. ARMlets, PNOlets…)?

A: Yes, it can. PalmOS applications containing both 68K and ARM code will work in Classic without modifications.

Q: Can PalmOS applications running in Classic access the SD card slot? What kind of access is supported?

A: Palm® Pre™ device does not have an SD card slot. However, Classic contains a full emulation of SD card related APIs. We have implemented this through a dedicated folder on device’s file system which mimics the SD card. PalmOS application can access files and folders in this virtual storage card using the standard PalmOS VFS API, without any restrictions. This means that PalmOS apps can create, read, modify or delete files and folders on the virtual SD card just as they did on real SD card on real PalmOS devices (it can even be formatted through standard PalmOS API). From the PalmOS application’s perspective, there is a fully functional SD card in Classic.

Q: Is there a HotSync support in Classic?

A: Unfortunately, not in the first release. HotSync and conduits are some of the most requested features we have received requests for so far and we are looking into various ways for solving this problem, but there are some serious technical and other obstacles for adding HotSync support to Classic.

Q: What is the “HotSync ID” icon that is present on some of the Classic screenshots?

A: It is a simple PalmOS application that we have bundled with Classic which enables you to define your HotSync ID. Since the only way for defining the HotSync ID on real PalmOS devices is by performing a HotSync operation – which is not supported on Classic – we have included this utility so that you can configure Classic to use the same HotSync ID you used on Treo/Centro. This application has nothing to do with actual HotSync – it just configures the ID that many applications require for registration purposes.

Q: Are the native PalmOS PIM databases (contacts, calendar, memos and tasks) supported in Classic?

A: Classic includes PalmOS Contacts, Calendar, Tasks and Memos apps and their databases so that the other apps relying on those databases can be used in Classic. Access to native webOS PIM databases is not supported at this time.

Q: Which screen resolutions are supported in Classic?

A: Classic supports 320x320 resolution, including 16-bit and 8-bit screen depths.

Q: Is direct screen access supported in Classic?

A: Yes, PalmOS applications can directly access the screen memory for faster rendering, just as they do on real PalmOS devices.

Q: Will Classic integrate into the webOS device hardware and to what extent?

A: The ability of Classic to integrate with underlying hardware is limited. This means that Classic will not be able to access Bluetooth, wireless modem (phone radio), GPS, light sensors or accelerometer (nor the IR port – because there isn’t any on Pre). One exception to this is the network access which is fully supported. Also, there are some other hardware integration points in Classic: for example a PalmOS application can obtain IMEI, IMSI, ESN and similar identifiers from the modem, device’s serial number and some other information that is typically used by many PalmOS applications for purposes of product registration and licensing. This is done through a standard PalmOS APIs, just like on real PalmOS hardware.

Q: Is there a network support in Classic?

A: Yes, there is. The PalmOS Network Library is fully supported in Classic. PalmOS applications running in Classic can access the Internet the same way they do on real PalmOS hardware. (Geek stuff: what is not possible from Classic is configuring the network routes or proxy servers – i.e. a PalmOS application cannot decide whether the request will go through cellular or WiFi networks – these details are handled by underlying TCP/IP implementation in webOS).

Q: Is the PalmOS web browser (Blazer) included in Classic?

A: No, it is not. webOS contains a significantly more powerful web browser. However, there are lots of PalmOS applications that rely on Blazer services for displaying on-line content. When such an application attempts to launch Blazer and navigate to a web page, Classic will open the default webOS browser and point it to the requested location.

Q: Can I install a third party PalmOS web browser or e-mail client in Classic?

A: Yes you can. Classic fully supports network access, so applications like web browsers, e-mail client, RSS readers, IMs or any other apps that are communicating with remote servers over the network will work with Classic.

Q: What other restrictions exist in Classic, comparing to real PalmOS devices?

A: In addition to limitations described above, following PalmOS features are not supported in Classic:
· Access to built-in camera
· Access to external hardware devices through Bluetooth, serial or USB ports however access to network peripherals is supported
· PalmOS development tools, like POSE, Gremlins, debuggers and similar
· Audio/video codecs – due to licensing limitations there are no built-in audio/video codecs in Classic (e.g. MP3, MP4, AMR and others available on Centro).


Anonymous said...

Guys, this is great. I'm still not clear on whether sound is supported at all in Classic. I understand that licensing currently precludes the inclusion of audio codecs such as MP3, but do you emulate Centro sound hardware?

This is so crucial for gaming on the Pre as Classic is the only way to play top games like Warfare Inc or Bike Or Die.

Benjamin Cory said...

I am sad that GPS is not functional in Classic. Or at the very least bluetooth. I was hoping to use Garmin Mobile for Palm until a version (If one does!?) comes out for webOS. I was hoping to use the maps with internal GPS, but thinking that GPS would likely be unusable, I was holding out for bluetoothing to the GPS dock/hands free. I guess I am stuck with Sprint Telenav, not that it is bad, I just like to have options.

cyou said...

1. what about the sound? can a calender event trigger the alarm inside Classic, and we could actually hear something from the Pre speaker?

2. what about the double-byte character? the support for CJKOS, which enables the capability to display Chinese, Japanese and Korean characters, is critical for Asian market

chapnick said...

Asking again... will shortcuts from webos to classic will be available? this would be a great way to open up applications directly limiting number of keypress/strokes made.

irelayer said...

Will Classic be able to run LJP (Little John Palm...A.K.A. the console emulator)?

Anonymous said...

Will Classic be able to receive text messages? Will it override the WebOS text messaging, or will both receive a copy of the message?

eric wedel said...

Thanks much for the info and product development. I look forward with great interest to further remarks on hotsync support. Without this I won't buy a WebOS device -- am still amazed Palm is seemingly walking away from it.

Anonymous said...

I did not see this question asked: Can webOS read/write from/to the Virtual SD Card as well as Classic?

Anonymous said...

Will webOS be able to read/write from/to the Virtual SD Card as well as Classic?

Anonymous said...

So does this mean we will not be able to use Slingbox?

Anonymous said...

Is the Palm HTTP Library implemented?

AJ said...

Will CALLREC Work to record phone calls?

Martin Tohill said...

Ok, I hear the sound with the car game but my main interest would be to let Datebook6 have access to the alarms. Thanks for the good work.

Mike said...

I have a rather expensive custom app that runs on OS 4.1.2 and doesn't run on 5 or later. Is there any chance it would run on Classic?

icefire said...

I just hope Bike or Die 2 and LJP are supported! MotionApps, can you confirm or deny that these are (or arent)?

Ka-Efka said...

First let me thank you for the great work so far!
As a comment from my side, it seems (from what I read on various places) that many people were asking for HotSync that initially didn't knew how to get their applications installed and registered under classic. I don't think many people will really need and use HotSync (I think I never HotSynced my Centro...). On the other hand, sound support is mandatory. People are just taking it for granted and will be very disappointed if it is not there. The situation for Bluetooth support is similar.
Anyhow, great work, and I'm looking forward using the pre/classic combo!

Colonel Kernel said...

What about multiple Cards instead of multiple Instances of Classic emulator itself? Allowing multiple cards is a strong feature of the email application.

I don't know how the emulated OS would feel with multiple apps accessing the "device" at the same time, but it should be able to be worked around.

MotionApps said...

Thank you all for great comments!
Here is the summary of the answers to questions asked so far:

1. Sound is supported in Classic (sound streaming API).
2. Unfortunately, creating shortcuts to Palm OS applications on webOS launcher will not be possible. Same goes for running multiple instances (cards) of Classic at the same time - there can be only one.
3. Classic will not be able to receive text messages and phone calls - they must be handled by webOS.
4. Virtual SD Card that Classic works with is just a folder in webOS, just like any other folder. So, webOS can read/write into this folder without any restrictions.
5. Palm HTTP library is fully implemented.
6. Will Classic be able to run application XYZ? Classic provides a very high level of compatibility with Palm OS, so many apps should be able to run without modifications. However, we are not in the position to claim that application XYZ will work with Classic - simply because a great part of that question should be answered by an application developers as they are the only ones who can do a proper testing and QA of their software on any platform.

Anonymous said...

Bluetooth is needed here as well to be able to use TomTom Navigator as long as there is no proper replacement.
As far as I unterstand TeleNav is basically an online application (you have to be online to use it).
If that's true Palm and whoever is trying to sell the pre in Germany is having a hard time selling the phone and the navigation software.

GaryE said...

Okay so your Q&A states that, "Classic includes PalmOS Contacts, Calendar, Tasks and Memos apps and their databases so that the other apps relying on those databases can be used in Classic"

However, you appear to be saying that there is no hardware (bluetooth, usb) support.

How then would I synchronize these PIM databases on the Pre with with PIM software on my PC?

Anonymous said...

Simple Question:
You stated that PalmOS contacts are supported with the MoitonApps emulator.. does this include the integration with the phone? Specifically, can I pick a contact as I do today to dial the phone right from the PalmOS contacts? Can I control the volume and MUTE as I do today on a Treo 700p/Other? When I receive a phone call while in MotionApps, will it show the phone number to the PalmOS d-base?

In general, do I get the same phone integration I have today on my 700p?

Anonymous said...

Oops. Deal killer! If Classic can't access external devices, I can't run Pocket Verifier because it won't access the credit card scanner/printer. I'll just have to hope for a webOS version.

Anonymous said...

how to put folders / files in virtual card it is not clear