PDA

View Full Version : Palm programming book recommendation?


MikeLang
01-29-2003, 12:21 PM
Hi all,

Could anyone recommend a good Palm Programming book (that covers OS5, ARM , Palm & Sony's Hires)? I'm an embedded software engineer (VME/pci, Unix, vxWorks etc...) fluent in C and real-time embedded systems but have never done anything on Palm so I like to learn it just for fun.

Thank you for any info.

-Mike-

MikeLang
01-29-2003, 01:18 PM
HI all,

I just found out that I can buy Code Warrior for Palm version 9 for the academic price of $149. Is this a good price? Is this all I need (beside the free Palm/Sony SDK)? I would assume that this is the same as the $399 version?
Thanks again.

-Mike-

jackson
01-29-2003, 09:42 PM
Originally posted by MikeLang
Hi all,

Could anyone recommend a good Palm Programming book (that covers OS5, ARM , Palm & Sony's Hires)? I'm an embedded software engineer (VME/pci, Unix, vxWorks etc...) fluent in C and real-time embedded systems but have never done anything on Palm so I like to learn it just for fun.
Thank you for any info.
-Mike-
The book I like at the moment is "Palm OS Programming Bible" by Lonnon R. Foster - Second Edition - WileyPublishing, Inc. - ISBN #0-7645-4961-8 but I'm only a couple of chapters into it.

I looked at "Instant Palm OS Applications" by Kris Jamsa, Osborne Publishing - ISBN 0-07-21933-1. Have read 3 chapters. I kind of like the Palm OS Bible better at this point.

I'm going to look at "Palm Database Programming: The Complete Developer's Guide Book by Eric Giguere next.

Jackson

MikeLang
01-30-2003, 11:12 AM
Thanks, Jackson. Does Palm OS Prog Bible cover OS5, ARM, Sony's HiRes etc...?
I really like to get just one book if I can.
Thanks.
-Mike-

nevarDeath
01-30-2003, 11:16 AM
I have the PalmOS3.5 edition of the PalmOS programmers bible, and it rocks! I've heard they have another edition out for OS5, but don't know more than that; however the edition I have covers EVERYthing (high-res wasn't out at the time...it came out right after the Vx or IIIc was released, I'm not sure which was last) but it tells how to make conduits and everything

Eric S
01-30-2003, 11:55 AM
I've got both editions of the Bible. I'll follow up from home tonight with book in hand (it's in my bookbag, which I normally take to work with me, but left home today, and the new edition doesn't come with the book in PDF format, otherwise I'd have it available at work).

I seem to remember it briefly touches on those areas, but not in great depth.

The PalmOS documentation weighs in at:

2426 pages for the Reference (pure details about PalmOS, the structures, constants, and system calls available to the programmer with very little explanation of how to use any of it).
672 pages for the Programmer's Guide (closer to a tutorial but not quite there)
176 pages for the UI Guidelines (must reading, they tell you not to copy all of the UI of the builtin software, because even it didn't get it all right)
20 pages of programming ARMlets (since you can't call the OS from them, only 68k code , there's not that much to say on the subject, and that's mostly endian issues)
9 pages on the 5 Way Navigator
44 pages on the Zen of Palm. Definite must-read material.
674 pages misc stuff that I don't consider essential reading, but which may apply to other programmers.

Sony has a shorter list, since they're only going into extensions to PalmOS:

290 pages for the Sony ver 3.0 SDK, which covers devices up to the NR and SL series (it doesn't discuss the SJ series, but I don't think that the SJ series need to be treated differently if you're programming properly).
161 pages for the Sony ver 5.0 SDK, Covering the NZ. Yes, much shorter. There's entire chapters from the 3.0 SDK that were dropped, I suspect because Sony is depreciating those features and hasn't documented the replacements yet.

You're just not going to fit all of that in any one book, and this doesn't include the seperate documentation on developing web content for the Palm web browser or more esoteric areas of programming. At the very least you'll want the full PalmOS Reference and Companion, because the 3rd party books don't detail the entire programmer's API, and you might find use for what they skip. Fortunately, they're all available for free in PDF format. Yes, I've got them all printed out, two pages up, double sided.

Given that these are all free, and you will want them around if just to refer to them, why would you want the Bible as well? Some people won't need the Bible, as they'll find the tutorials and examples in the SDK quite complete and explanatory. For other people, they just won't get the tutorials until they understand better the Zen of PalmOS. (Oops, forgot to include that doc in the above list, definitely required reading, but I can't find my PDF of it. O.K., downloaded and listed above now). Remember, the SDK was written for programmers by programmers, so it doesn't do the level of handholding that 3rd party books tend to do.

I'd say that the first step should be to download all the PDFs. Read the Programmer's Companion to find out if you need more than that, and if you do, buy the Bible. You might want to buy the bible anyway, it's a reasonable tutorial.

I usually refer to the SDK first, and go to the Bible if I feel that I'm not getting the concept.

Eric S
01-30-2003, 12:27 PM
Oh, and if you're used to embedded systems, you will like PalmOS. Most of the people that say that the OS stinks do so because they want an OS that takes care of all the problems for them, that will lay out their forms once they've said what is on the forms, etc. Working with memory isn't as easy on PalmOS as it is in other environments, and you do have to lay out forms by hand (for some definition of "by hand"), but those are the biggest issues.

And yes, when I get on a roll, I do make rather long posts :)

Eric S
01-30-2003, 12:30 PM
Oh, as for the CodeWarrior question (missed it at first), that's a good price, though if you're familiar with Unix and makefiles, the GNU toolchain can also be used, and is even a little more flexible in places. No (free) IDE though, and that is CodeWarrior's strongpoint.

MikeLang
01-30-2003, 12:37 PM
Hi Eric,
I appreciate your long posts and they are definitely more than welcome :-)
I'll probably start from what you recommended. I did browse some sample Palm OS source codes and I need to find out what all those APIs do, beside the basic structure of a Palm app, components, relationships etc...

Should I buy Code Warrior or could I just stick to Cigwin GNU? I'm familiar with Gnu command line and makefile that kind of things but having some kind of GUI to create Palm forms will be great.
Thanks again.
-Mike-

nevarDeath
01-30-2003, 12:39 PM
Yes I should have mentioned the zen of palm...that is a must read!

Eric S
01-30-2003, 12:59 PM
Mike, you're welcome. There are GUI form designers available for much less than $150, and I'm pretty sure that there's at least one free one. Hmmm... SourceForge is suffering from high load. Well, I'll try to remember to look that up at lunch or at home tonight.

MikeLang
01-30-2003, 01:04 PM
Thanks again,Eric. I appreciate your help.
I'm just wondering if Code Warrior has everything I need then I might just bite the bullet and buy a copy. Since my official employer is a University so I can purchase it thru the academic program for personal use. However, since I'm learning it as hobby so I might just get all public domain tools...
What do you use?
-Mike-

foghead
01-30-2003, 01:44 PM
I use CodeWarrior so I haven't spent much time with other IDEs but here are a couple of front ends for the PRC tools that have been updated recently.

VFDIDE (http://www.palmgear.com/software/showsoftware.cfm?sid=62269020021230190416&prodID=40655)

PilotMAG (http://www.palmgear.com/software/showsoftware.cfm?sid=62269020021230190416&prodID=2174)

Let us know if either of them are any good.

Eric S
01-30-2003, 02:05 PM
Found it (open source GUI form builder). http://sourceforge.net/projects/pibuilder/. Looks like it hasn't been updated in about a year, though.

For the record, VFDIDE and PilotMAG are both shareware, not freeware.

Personally, I find PilRC easy enough to use that I'd rather not try to lay things out in a GUI manner. I can evenly and accurately space out gadgets far easier by setting the top of gadget B to be at the same position as the bottom of gadget A (automatically computed by PilRC unless I override it) + 2 pixels than I can trying to drag things around.

The only way I could see PilRC being any easier to use would be to let me specify something like PREV*, but with any arbitrary gadget, not the previously defined one.

Then again, I'm a dinosaur.

jackson
01-30-2003, 06:49 PM
Originally posted by MikeLang
Thanks again,Eric. I appreciate your help.
I'm just wondering if Code Warrior has everything I need then I might just bite the bullet and buy a copy. Since my official employer is a University so I can purchase it thru the academic program for personal use. However, since I'm learning it as hobby so I might just get all public domain tools...
What do you use?
-Mike- Mike:

You said the magic words "work for a university". I would go for an Academic price, by talking directly w/ Metrowerks staff by email. I work at a college myself.

I think (but I could be wrong) that it is possible for students taking a course to purchase it for $89 ?? If so, and you send email to their educational representative, you might work out some kind of deal? The second option is to get all the info, and have your bookstore get you a quote on their price for you. Our bookstore sells Microsoft Visual C++ Ver 6 Academic compiler for $49 and Professional for $95 or $99 ($300 list).

I also have Mobile Studio, at Eric Johnston's recommendation (the author of Full Screen) for $30, which seems pretty good. Has an IDE, etc. But, I bought CodeWarrior now and am learning it, and skipped Mobile Studio for now.

Anyone else working in Mobile Studio?

Jackson

thack
01-30-2003, 07:21 PM
Academic Universe has CodeWarrior 9 for PalmOS for $108.95 + free shipping.

http://www.academicuniverse.com/market/marketdisp.html?PartNo=612603&nav_id=&cat_name=&Platform=&qk_srch=codewarrior&

That's the best price I've seen for it. There's a 9.1 update download out today and probably not available in the box yet.

jackson
01-31-2003, 10:22 AM
Originally posted by thack
That's the best price I've seen for it. There's a 9.1 update download out today and probably not available in the box yet.

I'm thinking that may not be for Codewarrior for Palm OS Version 9.

It doesn't show up on Metrowerks web site as updating the Palm complier?

Jackson

Eric S
01-31-2003, 11:26 AM
O.K., I haven't read the entire book yet, but so far it looks like these are the answers to an earlier question in this thread pertaining to what the PalmOS Bible covers in regards to advanced topics:

ARMlets: Just over a page total, not enough to get you started, just enough to let you know it exists. The Palm docs are much better on this topic. Not that there's much to know. You've got one syscall to invoke ARM code from a68K space, and you're only allowed one syscall from ARM space, and that is to invoke a68K code. Beware endian issues.

High-Density: About 4 pages, enough to give you the basics, EXCEPT for explaining how to do high-density bitmaps. BTW, this is one area where Palm definitely did better than Sony. You create one bitmap that has a standard density image (set) and zero or more alternate density images. You then place the bitmap in a form or use a syscall to draw it, and the OS will pick which bitmap to use, depending on the density of the destination. If a matching density isn't found, it will scale the appropriate lower-density bitmap to the correct density. For example, bitmap A hasn't been updated for HiDensity. When it draws to a double density display buffer, the OS will see that there isn't a double density (yes, they define several different densities, but double is the only one implemented) definition for that bitmap, so it will double all the pixels both horizonally and vertically. Bitmap B has both a high-density and standard-density bitmap definition, so the appropriate definition is used.

The downside to this method is if you actually want bitmaps to be half the size (visually) on 320x320 devices, you have to handle that yourself, but I think that's the less common situation.

High Density is a very simple concept, and you really don't need much more than the SDK in my opinion.

HiRes and HiRes+: The only Sony-specific stuff I can find is all related to the jogwheel/jogassist. Too bad, while it isn't much harder to use than High Density, it isn't as intuitive.

MikeLang
01-31-2003, 06:47 PM
Originally posted by jackson
Mike:

You said the magic words "work for a university". I would go for an Academic price, by talking directly w/ Metrowerks staff by email. I work at a college myself.

I think (but I could be wrong) that it is possible for students taking a course to purchase it for $89 ?? If so, and you send email to their educational representative, you might work out some kind of deal? The second option is to get all the info, and have your bookstore get you a quote on their price for you. Our bookstore sells Microsoft Visual C++ Ver 6 Academic compiler for $49 and Professional for $95 or $99 ($300 list).

I also have Mobile Studio, at Eric Johnston's recommendation (the author of Full Screen) for $30, which seems pretty good. Has an IDE, etc. But, I bought CodeWarrior now and am learning it, and skipped Mobile Studio for now.

Anyone else working in Mobile Studio?

Jackson

HI Jackson,
The price of $149 is thru my University's bookstore and it's also listed as $149 on Metrowerks' website under the academic pricing.
Is this all I need as far as tools (compilers, IDE, GUI form builder etc...?) I can just d/l the SDK and I'm set?
Thanks.
-Mike-

MikeLang
01-31-2003, 06:52 PM
Originally posted by thack
Academic Universe has CodeWarrior 9 for PalmOS for $108.95 + free shipping.

http://www.academicuniverse.com/market/marketdisp.html?PartNo=612603&nav_id=&cat_name=&Platform=&qk_srch=codewarrior&

That's the best price I've seen for it. There's a 9.1 update download out today and probably not available in the box yet.

Thack, thanks for the pointer. I'll check it out! (I wonder why there are 2 different academic prices? Metrowerks listed it for $149)

-Mike-

thack
02-01-2003, 03:41 AM
The $149 is list price and the $109 is "street". JourneyEd has it for $119 + (expensive) shipping.

The 9.1 update is here and appears to be for Palm:

http://www.metrowerks.com/mw/support/download/default.htm?did=322

jackson
02-01-2003, 12:26 PM
Originally posted by thack
The 9.1 update is here and appears to be for Palm:
http://www.metrowerks.com/mw/support/download/default.htm?did=322
Thanks for the link.
---------- begin info -------------
The CodeWarrior Development Studio for Palm OS Platform v9.1 Update is a maintenance release for Version 9 of the tool set. This update address two key issuesreported by users and includes an:

* Updated PilRC Resource Designer and
* Update API Help File

Release notes can be found here: ftp://ftp.metrowerks.com/pub/updates/CWPP9/palm9RN.txt

This archive was submitted on 1/22/2003 and occupies 4.9 MB of disk space.

ftp://ftp.metrowerks.com/pub/updates/CWPP9/CW_PalmOS_V9.1_Update.exe

---------- end info ---------

Jackson[

Unregistered
10-09-2003, 11:28 AM
I know this isnt wery right but ....

If anyone would send me pdf version of any book for Palm Programing i would apriciate it.

I'm from Serbia & Montenegro, I cant find any book anywhere !
And as you know, this is, kinda retro country, and i dont have credit card to order it from internet .....

Please help ! I need this ASAP since i got a job offer wich is ~ 300 Euros / month. And that is A LOT here, especialy for the student.

My e-mail is johndoeyu@yahoo.com