Forgot your password?
typodupeerror
Portables Programming

Ask Slashdot: Where Can I Find Resources On Programming For Palm OS 5? 170

Posted by Unknown Lamer
from the civilized-pda-for-a-civilized-business-climate dept.
First time accepted submitter baka_toroi (1194359) writes I got a Tungsten E2 from a friend and I wanted to give it some life by programming for it a little bit. The main problem I'm bumping up against is that HP thought it would be awesome to just shut down every single thing related to Palm OS development. After Googling a lot I found out CodeWarrior was the de facto IDE for Palm OS development... but I was soon disappointed as I learned that Palm moved from the 68K architecture to ARM, and of course, CodeWarrior was just focused on Palm OS 4 development.

Now, I realize Palm OS 4 software can be run on Palm OS 5, but I'm looking to use some of the 'newer' APIs. Also, I have the Wi-fi add-on card so I wanted to create something that uses it. I thought what I needed was PODS (Palm OS Development Suite) but not only I can't find it anywhere but also it seems it was deprecated during Palm OS's lifetime. It really doesn't help the fact that I'm a beginner, but I really want to give this platform some life. Any general tip, book, working link or even anecdotes related to all this will be greatly appreciated.
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Where Can I Find Resources On Programming For Palm OS 5?

Comments Filter:
  • Not worth it (Score:5, Insightful)

    by Anonymous Coward on Monday July 28, 2014 @09:08PM (#47554639)

    Don't waste your time. Learn iOS, Android or some other platform that isn't dead.

    • Re:Not worth it (Score:5, Insightful)

      by cheesybagel (670288) on Monday July 28, 2014 @09:32PM (#47554757)

      Yes this. Especially Android. Since it is Java based you can use that knowledge to program server side apps as well.

      Programming for an OS without memory protection is a nightmare.

      • Re: Not worth it (Score:5, Informative)

        by maccodemonkey (1438585) on Tuesday July 29, 2014 @01:09AM (#47555425)

        Android Java knowledge is reusable for... Server side development?

        The biggest time suck for learning a new platform is the platform itself, not the language. If we're comparing platforms, Android is like programming on the moon, and server side development is like programming on Saturn. A new programming language should only take a week or two to learn. The platform takes years. Android doesn't have much in common with a web platform. Unless Tomcat got an API to do mobile UI and touch handling, and Android got an API for failover and distributed services, they don't really have much in common at all.

        If a developer is scared to cross to any platform because they don't want to be multi-lingual, they're doing it wrong. Java, Obj-C, Swift and C# are all pretty much the same thing, just with some syntax changes. Heck, there is even a family tree there. Java was based on Obj-C, and C# was based on Java. Swift is based on all of them.

        • If a developer is scared to cross to any platform because they don't want to be multi-lingual, they're doing it wrong.

          An application can be separated into logic and presentation, or model and view [wikipedia.org], however your framework prefers to describe them. A program may require separate presentation for each platform, but versions of a program for multiple platforms should ideally share the logic. But some platforms strongly recommend or even require use of certain languages. How can a programmer follow the rule of not repeating yourself [wikipedia.org] to share logic across languages? Say I developed a game in Java or Objective-C but I want to por

          • An application can be separated into logic and presentation, or model and view [wikipedia.org], however your framework prefers to describe them. A program may require separate presentation for each platform, but versions of a program for multiple platforms should ideally share the logic. But some platforms strongly recommend or even require use of certain languages. How can a programmer follow the rule of not repeating yourself [wikipedia.org] to share logic across languages? Say I developed a game in Java or Objective-C but I want to port it to a Microsoft platform that allows only C#. (In theory it allows any language that compiles to verifiably type-safe .NET Compact Framework bytecode, but in practice that means C#.) How would I go about making and maintaining that port so that fixes to defects in the logic of the version on the original platform propagate to the version on the Microsoft platform ?

            I don't think writing logic should be a gating factor that keeps a developer from using the right tool for the job, or keep a developer or a community locked in single language programming hell. There are edge cases (I've worked on an Android/iOS app that kept a bunch of code in JavaScript because it runs on both), but this doesn't even make the answer automatically "Java". I could very well say that developer should just go learn JavaScript because it runs on everything.

            But more to the point, I don't usual

            • by tepples (727027)

              I don't usually see server architectures and client architectures sharing too much in the way of logic code

              Input validation logic and any logic related to offline use needs to be the same (or at least provably identically behaving) on server and client.

              • I don't usually see server architectures and client architectures sharing too much in the way of logic code

                Input validation logic and any logic related to offline use needs to be the same (or at least provably identically behaving) on server and client.

                I don't buy that's a reasonable excuse to force the client and server to be the same language.

                First off, I don't buy that a client necessarily needs to do validation at all if the server is doing it. In fact, if you're doing complex validation on the client end, I think that is a Bad Thing (TM). What if your validation is wrong? Well you could just fix your server. But now your client's validation doesn't match, unless you're going to go around and force all your clients to update. Maybe at gunpoint or some

                • by tepples (727027)

                  But now your client's validation doesn't match, unless you're going to go around and force all your clients to update. Maybe at gunpoint or something. Who knows.

                  Online games won't play unless at the latest patch level, for example.

                  offline use

                  if you need to do complicated validation why the heck are you doing it on the client? Just send it to the server

                  Because the user is using the application during a 2-hour period of having no access to the Internet.

                  and then let the server return an error

                  So your suggested workflow is just to let the user enter grossly invalid data for two hours then have the server present pages of error messages once a connection is reestablished.

                  Again, if this is the metric we're working on, I could just take it up one level and say everyone should learn JavaScript instead of Java

                  Hence the growth of Node.

    • by Anonymous Coward on Monday July 28, 2014 @09:59PM (#47554835)

      Seriously agree 100%.

      Find an open source project that could use coders.

      Heck, I hear Linus is pretty upset about the kernel right about now.

      • by narcc (412956)

        This is Slashdot, right?

        This is the last thing I expected to find here.

        • by Matheus (586080)

          Every once in a while you can find good advice here... On first glance I agree with you but there's a tidbit at the end of TFS that led me to this place as well: "It really doesn't help the fact that I'm a beginner, but I really want to give this platform some life"

          He may be able to give some life to his gifted device but he's never gonna breath life into the "platform". It's dead Jim. I fully support a beginner wanting to play with interesting things that currently being the Palm device he was just gift

  • by ZorinLynx (31751) on Monday July 28, 2014 @09:09PM (#47554641) Homepage

    PalmOS is a rather antiquated system. No memory protection, no native multitasking, clunky APIs...

    Depending on your personality type and the coding experience you have, it's either going to be a TON of fun, or you're going to want to smash and break things on the very first night.

    Or maybe both. :) I don't have any pointers, but as a former Palm OS user, godspeed.

    (Palm IIIxe from 2000-2005, Palm Treo 650 from 2005 to 2009)

    • by armanox (826486)

      I remember my PalmIII fondly. And my Palm V that replaced it. And my Zire, that was the last one I had (although the V had some niceties the zire did not). Or maybe I'm just remembering them for what they were then, and not compared to iOS and Android. I bet if I booted the old PocketPC in my desk I'd go nuts (and not in a good way)(PocketPC 2003).

      • by pushing-robot (1037830) on Monday July 28, 2014 @09:37PM (#47554779)

        Palm had one thing going for it, at least in the early days: excellent battery life. With no wireless, no background serivces, and no traditional backlight, battery life was measured in days—or weeks—or months!

        While they don't hold a candle to modern devices in every other respect, I loved being able to tap away at the thing forever without ever worrying about finding a charger. And the EL backlight [wordpress.com] was pretty darn cool (though it made you really hate dimly lit rooms)...

        • by msobkow (48369)

          You've got to be kidding. My Palm III ate batteries like a fiend. I was lucky if they lasted a week, and I hardly used the thing. I'd guess I got about 6-7 hours of functionality out of a set of batteries. And I'm not talking rechargeables, but good quality alkalines.

          • In my experience the power consumption of the Palm III varied significantly. I think there was a switchmode power converter of some sort in it, and it could be good or very, very bad, depending on individual device. Probably related to the capacitor in it. That's how I vaguely remember it, anyway.

          • by jandrese (485)
            I had a Palm IIIe and the NiMH batteries I used in it lasted roughly a week or two depending on how heavily I used the backlight. But these were the old school NiMH that would be dead after a couple of weeks even when they weren't plugged into anything. Alkaline batteries lasted a crazy long time, like a month or more. I was a pretty heavy user of the device as well, using it to read e-books on the bus every day, playing games, and taking notes.
        • The 'conduit' synchronization concept was pretty good as well (in an environment where 'eh, it's a computer, just give it TCP/IP and call it a day.' was not yet practical). The actual sync client, at least for Windows, was a total piece of shit; but conceptually the 'conduits' model was about the nicest flavor of PDA synchronization available before the rise of handhelds with their own data connections. PalmOS never handled those particularly neatly.
        • by robinsc (84714)

          Also the UI was really good for getting things done quickly....
          it was an organizer first and foremost which today's multi-functional devices are not and hence they always suffer for some form of identity crisis.

    • by SumDog (466607)

      I had an old Handspring Visor, Palm Treo and Centro. I came here to say this.

      I had the IDE for a while. No multitasking (you could have timers that ran background tasks) and you could read/write directly into other programs' memory spaces. It was so easy to crash that OS. It's seriously only a few levels above MS/PC DOS with a really crappy C API. I'm really glad we're so far past those devices.

    • I used CodeWarrior at the time, for some time, and then switched to prc-tools. CW was pretty buggy.
    • Re:Try (Score:5, Funny)

      by sootman (158191) on Monday July 28, 2014 @09:46PM (#47554799) Homepage Journal

      SPUG: "The group is on hiatus."

      The most recent "previous meeting" mentioned was 12/5/2006, and there's a link at the bottom that says "Palm is hiring" if you want a hint of when that page was last updated.

      Even the link to the article about the death of Palm is two years old now. Seriously man, it has run down the curtain and joined the choir invisible.

  • Where Can I learn (Score:2, Insightful)

    by Anonymous Coward

    Where can I learn how to send smoke signals?

  • Why? (Score:4, Insightful)

    by pushing-robot (1037830) on Monday July 28, 2014 @09:22PM (#47554715)

    It's hideously slow and limited by today's standards, the standards are horribly out of date (802.11b anyone?) the ten year old battery is surely shot, and the platform is dead, dead, dead.

    If you're looking for a cheap hackable device, get a no-frills Android tablet. If you're looking to get into mobile development, get any decent smartphone.

    Still, if you really want to work on that old Palm, you should still be able to find the Garnet OS Development Suite.

    • Still, if you really want to work on that old Palm, you should still be able to find the Garnet OS Development Suite.

      I'm looking for it but can't find a working copy. Most of them point to www.accessdevnet.com which looks like just a Wordpress front end for some random posts.

  • prc-tools (Score:5, Informative)

    by Anonymous Coward on Monday July 28, 2014 @09:27PM (#47554735)

    Writing ARM-native code on Palm OS 5 was never easy. I used prc-tools and Peal to write pssh (which needed ARM-native code for fast crypto and terminal emulation).
    http://prc-tools.sourceforge.net
    http://sealiesoftware.com/peal/
    http://sealiesoftware.com/pssh/README.code

  • by sootman (158191) on Monday July 28, 2014 @09:36PM (#47554773) Homepage Journal

    My local libraries all have tons of outdated (5- to 15-year-old) books on a variety of computer subjects. You just might get lucky and find the one you need at yours.

    Or, check Amazon. Lots of people list lots of useless old books for basically nothing plus shipping. First hit for "palm os programming" is this [amazon.com] meaty tome, from 2002, for 30 cents plus $3.99 shipping. Bang, zoom, $4.29 later, you're set. Palm OS Programming for Dummies [amazon.com], 22 cents plus $3.99. Whatever version you need is out there somewhere.

    And they usually come with interactive CD-ROMs. Interactive, my friend. Check the descriptions on Amazon and make sure they're included.

  • From an old limerick:
    Latin is a dead language, dead as can be. ...

    Some previous posts mention other current platforms. Try those. Palm is dead.

    side note. a 2E that sill works? Mine died years ago.
  • archeology (Score:5, Funny)

    by PopeRatzo (965947) on Monday July 28, 2014 @10:20PM (#47554917) Homepage Journal

    Where Can I Find Resources On Programming For Palm OS 5?

    I'm pretty sure they were written in cuneiform on clay tablets, so you might want to learn the language of the Anunnaki

    I might be wrong. Maybe they were written in Middle Egyptian on papyrus.

    Either way, you could start by asking a very very old nerd. If you can find an old pay phone, wait for someone with long greasy grey hair to pick it up and start whistling into it. Make sure you have some jelly worms on hand, but not the green ones.

  • by jlv (5619) on Monday July 28, 2014 @10:24PM (#47554937) Homepage

    Come back in 10 years when it can be called a "classic" platform.

  • Good luck (Score:4, Interesting)

    by TheRealMindChild (743925) on Monday July 28, 2014 @10:28PM (#47554965) Homepage Journal
    I had the same happen with Codewarrior for Sharp Zaurus. Metrowerks was sold and Freescale erased all traces of it. Can't be found anywhere, legit or warez. I even contacted Freescale and they said they looked everywhere they could, but they said it was nowhere. Gone forever
  • by sandbagger (654585) on Monday July 28, 2014 @10:29PM (#47554971)

    If someone would code that for iOS i'd pay. It was the best to-do list application ever.

    Apple's Reminder's is so useless I can't imagine why any effort was expended coding it.

    • Yeah, me too. Currently using Todo.txt for Android, which is alright, while writing my own based on the Palm staple...

  • Reach out to me.

    Once my phone went off and an older man next to me began roaring with laughter when he heard the Treo ring tone. Ah well, it was great in its day.

  • It's free from http://windows.novellshareware... [novellshareware.com] . There are also other app-building tools out there. When I had a Palm, I used several programs from Tealpoint Software. Their web page is dead tonight, but the Google cache copy from yesterday shows dates from 2013. Perhaps your question provoked a huge run on Palm software and their server couldn't handle the load. https://webcache.googleusercon... [googleusercontent.com] Palm had the best calendar program (DateBk, not to be confused with DateBook) I've ever used on any platf
  • Sure (Score:5, Informative)

    by CODiNE (27417) on Monday July 28, 2014 @11:18PM (#47555123) Homepage

    Since you're a C guy, there's http://onboardc.sourceforge.net/ [sourceforge.net] that compiles right on the Palm Pilot. A bit tough by modern standards, if there's an API call you want that's not in the standard header file you have to find the ROM address for it and put it in yourself.

    Much easier but of course limited is http://smallbasic.sourceforge.net/ [sourceforge.net] which runs on Palm OS and has a lot of little games in the forums.

  • A quick search shows that, at one point at least, you could run linux [sourceforge.net] on it. Not very useful, but it's still mildly interesting.
    • by menkhaura (103150)

      I ran Linux (OE) on my Zire 72 back in the day. As you say, not quite useful; slow and with few utilities (and running X was a bit overkill on that platform). But I could say to my nerdy friends that I ran Linux even on my Zire. And now I can tell my nerdy son that I ran Linux on my Zire. And in time I will be able to tell my nerdy grandson that I ran Linux on my Zire.

  • by phrackthat (2602661) on Tuesday July 29, 2014 @01:03AM (#47555417)

    Check out Code Project - lots of great articles on Palm programming: http://www.codeproject.com/sea... [codeproject.com]

    Go to Sourceforge - it may take a while to pick through the weeds, but you should find some useful projects to examine the code:

    http://sourceforge.net/directory/os%3Apalmos/?q=palm&sort=update

    C programming for Palm: http://onboardc.sourceforge.ne... [sourceforge.net]

    http://www.vb-helper.com/review_palm_ides.html -- a review of Palm IDEs - may give you some ideas

    http://porganizer.sourceforge.net/ -- Palm Organizer has the essential files for creating a Palm program if you look at the bottom of the page

    Try the 1stSource forums, check out the menu on the left for various Palm models and you'll be sure to find some useful info:

    http://www.1src.com/forums/forumdisplay.php?f=156

    For some fun - and perhaps some code to review:

    http://sourceforge.net/projects/phoinix/ -- Gameboy emulator for Palm

    http://sourceforge.net/projects/palmapple/?source=recommended -- Apple II emulator for Palm

    More emulators to consider: http://the-gadgeteer.com/2004/... [the-gadgeteer.com]

    http://www.codejedi.com/shadowplan/castaway.html -- Atari ST emulator

    http://frodopalm.sourceforge.n... [sourceforge.net] -- commodore 64 emulator

    Good luck and have fun!

  • by ledow (319597) on Tuesday July 29, 2014 @01:58AM (#47555527) Homepage

    Take a look at some Palm code.

    If the hideous restrictions and limits there don't put you off, then find out what they recommend to compile.

    Flashy IDE's probably aren't going to be easy to find, there weren't many around in the first place and the majority of stuff I know is just command-line compilers which can plug into any IDE (if you're brave enough).

    All I remember of Palm coding was having to break C files into tiny parts, jam them together and hope the individual object files never went over a certain size because the linker had to play all kinds of tricks to load them.

    Take a look at something like this:

    http://www.chiark.greenend.org... [greenend.org.uk]

    The base code of which is generally easy to port (Simon Tatham's PORTABLE Puzzle Collection). That Palm version is quite a pain to compile even with the right tools.

  • by tlambert (566799) on Tuesday July 29, 2014 @02:22AM (#47555579)

    SDK available here:

    http://gl.access-company.com/p... [access-company.com]

    Perhaps next time you will read the acquisition history for the software you are trying to find in the Wikipedia article, and then go to the OpenSource/Downloads section of the company website for the current owner of the technology yourself?

    • by David Jao (2759)
      Following the link to the SDK gives a 404. Palm development tools were never readily available even when the platform was popular. Now they're almost impossible to find. Obstructing access to development tools is one sure-fire way to kill off a platform.
  • I found a copy of the Palm 5r3 SDK here:

    http://www.mediafire.com/downl... [mediafire.com]

    Didn't download this myself, so I don't know if the docs are in there too.
  • I wrote an app almost 10 years ago . Just looked through the code a bit. It says "Build with PRC-Tools 2.0 and Palm OS SDK 4.0 or better". Written all in C++. Most of my work I did in a simple text editor. Not in an IDE. And I used makefiles I wrote myself and a command-line to compile the lot. I remember compiling for the m68k mostly because that would cover all our potential customers. But there was already ARM support in the works... until we just dropped it. We had too few sales to warrant further devel

  • If you wanted to write code for a clumsy dead platform, why not the Apple Newton? Far cooler and more interesting. At least the Newton is the same CPU architecture.... just with a much better OS, 2 PCMCIA slots and a bigger screen.

    Hell, even the Atari 8-bit is more interesting than a piece of crap from Palm.

    Seriously, PalmOS sucks. I've written a couple things for it in the past and I wish I hadn't.

  • Lots of advice instead of actually answering his question.

What the world *really* needs is a good Automatic Bicycle Sharpener.

Working...