<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://palmos.combee.net/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Combee on Palm OS</title>
<link>http://palmos.combee.net/</link>
<description>Ben Combee's writings about software development for Palm OS devices</description>
<language>en-us</language>
<copyright>Copyright (c) 2004, 2005 Ben Combee. All rights reserved.</copyright>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<managingEditor>combee@techwood.org</managingEditor>
<webMaster>combee@techwood.org</webMaster>
<generator>Fog Creek CityDesk v2.0</generator>


<item>
  <title>PDA Offers Relaunches</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/PDAOffersRelaunches.html</link>
  <guid>http://palmos.combee.net/blog/PDAOffersRelaunches.html</guid>
  <description><![CDATA[I didn't get to check out the relaunched <a href="http://www.pdaoffers.com/">PDA Offers</a> site until after the DevCon, but now that I've visited the site, it's something I can heartily endorse.&nbsp; The site has several RSS feeds that provide information about discounted applications for mobile devices, as well as a set of main pages that aggregate the offers by device type or application type.&nbsp; As a developer, you get to advertise your applications by providing discount opportunities for the PDA Offers readers.&nbsp; You get a page on the site for each offer giving more information about your program, showing a screen shot, and providing links for more information, downloads, and purchasing.&nbsp; You also specify how long your discount will remain active.&nbsp; It looks like a nice system; I've already added the Palm OS feed to my RSS reader.]]></description>
  <pubDate>Fri, 27 May 2005 17:37:34 -0600</pubDate>
  <dc:date>2005-05-27T17:37:34-06:00</dc:date>
</item>


<item>
  <title>PalmSource 2005: Day 2 and 3 Recap</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/PalmSource2005Day2and3Rec.html</link>
  <guid>http://palmos.combee.net/blog/PalmSource2005Day2and3Rec.html</guid>
  <description><![CDATA[<p>Life at the Developer Conference gives you little chance for reflection; you're rushing around, trying to meet with people, see talks, catch the exhibit floor, spend time in the labs, do some networking, and getting the occasional nap to keep your energy up.&nbsp; I'm writing this early on Friday morning at the gate for my flight back to Austin; this really has been my only break since my last posting.</p>
<p>Wednesday morning opened with a great keynote talk by author Don Norman.&nbsp; It was about the emotional aspects of design, how the shape, functionality, and aesthetics of products affect how we perceive them.&nbsp; He had customized his talk a but for the Palm OS world, using examples of good and bad PDAs and smartphones, and it was both entertaining and insightful.&nbsp; After Don's talk, Larry Slotnik, PalmSource CTO, talked about their OS roadmap, about what they'd done in the last year and what was coming.&nbsp; There are no big surprises; they are expecting an alpha-quality release of Palm OS for Linux to licensees this fall, with the 1.0 version coming in the first part of 2006.&nbsp; They had shipped Palm OS Cobalt 6.1.1 to licensees a few months ago, an update to the release last fall to fix stability and five-way navigation issues.</p>
<p>Mark Bercow from palmOne gave a talk later that morning, highlighting the current product line.&nbsp; He commented on the reports about palmOne losing market share, noting that a lot of the reports depend on how you define the PDA or smartphone spaces.&nbsp; It's good to note that we've had seven quarters of year-over-year sales growth, our margins are going up, and volume continues to increase.&nbsp; Also, about 70% of Zire purchasers are buying their first PDA, showing that there's still plenty of growth room in the entry-level market.</p>
<p>I had my talk on NVFS on Wednesday afternoon, right after Chris Dunphy's talk on the PalmSource Installer.&nbsp; I really like where the PSI format is going, and they've built some nice tools to prepare both over-the-air and desktop installer versions of your application.&nbsp; Chris really showed that it's easy to setup your XML files and configure the installation process, and the PSI system will generate all the HTML pages you need to automate installation of applications from your website.&nbsp; My talk went better than I expected; I'll be posting both my notes and the notes from the follow up lab session in a separate entry.</p>
<p>Wednesday night featured a loud and dark party, and bright and active developer labs.&nbsp; Some devs were busy getting their entries ready for the PalmHack VII contest, while others were just taking advantage of the many PalmSource and palmOne engineers that were hanging around.&nbsp; I was one of the hack judges, so in-between giving people CodeWarrior tips and diagnosing memory leaks, I got to see some interesting and completely wrong applications.&nbsp; The judges were up past 2:00AM debating which submissions should get which prizes and what jokes we were going to make onstage, but I think the late hours were worth it.</p>
<p>I missed the early presentations on Thursday; I slept in an extra hour and then was working the palmOne booth.&nbsp; However, I did get to catch David Fedor's excellent talk on going wireless.&nbsp; The main thing I took out of that talk was to try out the AppNetLib code that's on the conference CD; this is an HTTP library that PalmSource is providing in source form for all developers, and it makes it easy for your applications to ask a web server for information.</p>
<p>The conference closed with Michael Mace's keynote talk about the Palm OS market.&nbsp; He showed clips from several focus groups highlighting the three main markets for smartphones: communicators, information junkies, and entertainment users.&nbsp; Each type of customer related to their PDA or phone in different ways: communicators tended to have a more emotional relationship with their device, but while they spent a lot of time with it, they didn't use a lot of extra applications.&nbsp; The information junkies were most likely to use vertical applications and load their devices with data, but they viewed them more as tools and not something they used for fun.&nbsp; The entertainment market was younger and easily bored; they saw a PDA as a necessary tool, but also something that they could use to keep stimulated during the day.</p>
<p>After the keynote was announcements of various contests.&nbsp; I'm glad that my friend Scott Maxwell won the Aceeca virtual sheep shearing contest.&nbsp; For PalmHack, we gave our grand prizes to a "Crazy Clock" application for Palm OS Cobalt and a WiFi Theremin application on Palm OS Garnet that varied the sound playback based on the current WiFi network signal strength.&nbsp; A dishonorable mention was made of Scott Corley's "Sock Monkey Knife Fight" game which wowed the crowd with bloody puppets jumping around the LifeDrive's screen.&nbsp; Scott had left already, so I accepted his award doing my best rabid monkey impersonation.</p>]]></description>
  <pubDate>Fri, 27 May 2005 06:06:23 -0600</pubDate>
  <dc:date>2005-05-27T06:06:23-06:00</dc:date>
</item>


<item>
  <title>PalmSource 2005: Day 1 Recap</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/PalmSource2005Day1Recap.html</link>
  <guid>http://palmos.combee.net/blog/PalmSource2005Day1Recap.html</guid>
  <description><![CDATA[<p>The first full day of the conference brought a lot of news and some good sessions.&nbsp; The big deal was the announcement of palmOne's new license agreement for Palm OS, and their purchase of the name "Palm" from PalmSource.&nbsp; I don't have any details outside of the press release; it looks like palmOne will be changing its name back to Palm in the near future, and that PalmSource has a few years to rebrand itself and its OS.</p>
<p>Outside that note, this morning's keynote address wasn't very surprising.&nbsp; I caught a bit of the palmOne talk with new Senior VP Mark Bercow which mainly was about our product line strategy and how we rely on developers to produce interesting software.&nbsp; While working the palmOne booth on the exhibit floor, the most common questions were "can I play with a LifeDrive?" and "what's the difference between the different Treo 650s you're selling in the store?".</p>
<p>This evening was fun; I was one of the on-stage experts for the "Stump the Experts" panel.&nbsp; We didn't have a huge number of questions from the audience, but it was enough to fill the hour, and I got to pitch in on some NVFS and Sony questions.&nbsp; After that, I hung out at the hardware labs and mostly answered CodeWarrior questions.&nbsp; I also helped one of the PalmSource engineers get their PalmRC compiler plugin for CodeWarrior working better; this is one of the tools available as part of the PalmSource Inside Track program, and it's pretty nice for people who want to use the XRD format with the CW V9 tools.</p>]]></description>
  <pubDate>Wed, 25 May 2005 00:47:47 -0600</pubDate>
  <dc:date>2005-05-25T00:47:47-06:00</dc:date>
</item>


<item>
  <title>PalmSource 2005: The Swag Bag</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/PalmSource2005TheSwagBag.html</link>
  <guid>http://palmos.combee.net/blog/PalmSource2005TheSwagBag.html</guid>
  <description><![CDATA[<p>I've registered here at the PalmSource 2005 Developer Conference, and my first impressions are good.&nbsp; They are still getting a lot of the conference space setup, but attendence is high, and the talk schedule looks good.&nbsp; Of course, the most important first impression for a conference is what kind of free stuff you get as an attendee.&nbsp; The 2004 PalmSource conference bag was pretty sparse, but this year the contents are looking a lot better.</p>
<p>First, there's the bag itself.&nbsp; It's a black backpack with the "Palm Powered" and "PalmSource" logos on it, but no mention of the event.&nbsp; I guess that lets PalmSource reuse any leftovers.&nbsp; It has a rubberized bottom, two deep side pockets suitable for holding water bottles or laptop power adapters, a primary holding area with a laptop pouch, space for papers in the main flap, and&nbsp; a front pocket with a snap-off organizer.&nbsp; All of the zippers have zip pulls, and the back straps look to be well constructed with lots of stitching..&nbsp; I think it will be a useful addition to my collection of show bags, and I'll probably switch to it as my day-to-day laptop bag.</p>
<p>In the backpack was a variety of papers, gadgets, and software included:</p>
<ul>
<li>Don Norman - a trade paperback copy of his book "Emotional Design"</li>
<li>Motricity - notepad</li>
<li>Cingular - vinyl notepad and pen</li>
<li>palmOne - a Treo-labeled pen</li>
<li>Garmin - a CD with their latest iQue SDK</li>
<li>BlackBerry - a small four-port USB 1.1 hub in translucent blue</li>
<li>iambic - a DVD-case copy of their Agendus Professional application for both Palm OS and Windows</li>
<li>PalmGear - a non-slip pad for your car that grips to your dashboard</li>
<li>DataViz - a flyer for a free copy of their RoadSync over-the-air email sync program for talking with Microsoft Exchange 2003 servers</li>
<li>Audible.com - a card for a free month of membership in their audiobook store</li>
<li>Ultrasoft - flyer for free copy of Ultrasoft DataShield</li>
</ul>
<p>Tonight is the Palm OS Users Group meeting, and tomorrow morning is the opening keynote.&nbsp; It looks like David Nagel will still be delivering the talk, even though he resigned as CEO of PalmSource over the weekend.</p>]]></description>
  <pubDate>Mon, 23 May 2005 17:55:39 -0600</pubDate>
  <dc:date>2005-05-23T17:55:39-06:00</dc:date>
</item>


<item>
  <title>Opening Files on the LifeDrive and T5</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/OpeningFilesontheLifeDriv.html</link>
  <guid>http://palmos.combee.net/blog/OpeningFilesontheLifeDriv.html</guid>
  <description><![CDATA[<p>Both the Tungsten T5 and the new LifeDrive have an application on them called "Files".&nbsp; This is the file manager that lets you navigate the collection of files that's on your SD card or on the internal volume.&nbsp; To support opening files on external media, palmOne has extended the Exchange Manager by defining some new values.</p>
<p>Traditionally, an application registers for a file extension or MIME type and says that it will process items that match that registration when they are received via a beam or some other exchange library.&nbsp; This is done using the Exchange Manager function ExgRegisterDatatype along with one of the constants exgRegExtensionID or exgRegTypeID.&nbsp; In the palmOne SDK, the header file "common/libraries/filebrowser/FileBrowserLibCommon.h" defines these values:</p>
<pre>
#define exgRegEditCreatorID     0xff7b // creator ID registry
#define exgRegEditExtensionID   0xff7d // filename extension registry
#define exgRegEditTypeID        0xff7e // MIME type registry
</pre>
<p>These are new values you can pass to ExgRegisterDatatype to tell the system that your application 
can handle opening files on a VFS volume that match a particular creator ID, extension, or MIME type.  More details on registering to handle files on external media, how to register icons to go with those types, and what to do when the system tells you to open a file are in the palmOne Developer Guide in the "File Browser API" section.  On devices with this API, there's also several shared library calls that you can use to present "open file" and "save file" dialogs.</p>
<p>While the file browser APIs are palmOne-specific, the methods of registering with Exchange Manager and having a file browser application activate registered programs have been submitted back to PalmSource for standardization in their Palm OS APIs.  The scheme isn't too bad and fits in with the other uses of Exchange Manager, so I hope they accept it as an OS-wide standard.</p>
<p>[Note: if any of you are developers of software that have the ability to unzip files, adding support for this would be a very, very, very cool thing.  Hint, hint.]</p>]]></description>
  <pubDate>Thu, 19 May 2005 23:21:47 -0600</pubDate>
  <dc:date>2005-05-19T23:21:47-06:00</dc:date>
</item>


<item>
  <title>LifeDrive Offers New Application Opportunities</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/LifeDriveOffersNewApplica.html</link>
  <guid>http://palmos.combee.net/blog/LifeDriveOffersNewApplica.html</guid>
  <description><![CDATA[<p>You should have seen the palmOne announcement of our new LifeDrive mobile manager handheld this week.&nbsp; It's been in the rumor mill for a while, and I enjoyed reading the slightly inaccurant rantings from the Palm OS enthusiast community.&nbsp; The LifeDrive is new technology in the PDA space; it doesn't do everything you'd want it to do the speed isn't as good as I'd like, and I wish the hard drive was at least 20GB, but I already think it is really, really useful in its current configuration.</p>
<p>The LifeDrive works pretty well as an external hard drive for your laptop or desktop system.&nbsp; It's got a FAT32 file system and enough space to store a lot of documents.&nbsp; This tends to change the synchronization paradigm a lot; where before, you had conduits that reformatted or excerpted data between your PC and your device, now you can just have the data in one place -- on the LifeDrive -- and have your PC directly modify that data.&nbsp; This opens up some real opportunities in the application development space for the PDA.</p>
<p>In particular, I'd love to see more applications that can parse and manage data from desktop apps.&nbsp; I use Eudora for my email, and I think it would be really good to see an update to Eudora for Palm OS that works off VFS storage.&nbsp; Eudora already is very portable from PC to PC, and being able to keep the same mail store when I'm mobile would be really, really nice.&nbsp; I could see similar things for PC databases and vertical applications.</p>]]></description>
  <pubDate>Wed, 18 May 2005 16:40:52 -0600</pubDate>
  <dc:date>2005-05-18T16:40:52-06:00</dc:date>
</item>


<item>
  <title>Non-PalmSource POSE Update</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/Non-PalmSourcePOSEUpdate.html</link>
  <guid>http://palmos.combee.net/blog/Non-PalmSourcePOSEUpdate.html</guid>
  <description><![CDATA[<p>John Marshall just put out the notice on the emulator forum about a major update to the Palm OS Emulator source code to fix issues with building it with recent compilers and libraries.&nbsp; It doesn't update POSE to handle Palm OS 5 or ARM code, it's just a fix for "bitrot", as John puts it.&nbsp; Here's the text of his announcement:</p>

<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p>To: "Palm OS Emulator Forum"<br />
Subject: Patches for building with recent GCC and FLTK on Linux</p>

<p>There have been several threads over the last few months noting that
the current Emulator source code does not compile on modern Linux (or
other Unix variants).  That's because the last Emulator release was
three years ago :-(, we're all using tools (GCC, FLTK) that are much
more recent than that, and the Emulator code has bitrotted somewhat.</p>

<p>At&nbsp;<a href="http://sourceforge.net/projects/pose/">http://sourceforge.net/projects/pose/</a> you'll find a patch that fixes
all this bitrot.  With this patch, the Emulator should be compilable
with any GCC (2.95.x or later) and any 1.0.x or 1.1.x FLTK.  I've tested
it successfully with GCC 3.4.2 and 4.0.0 and with FLTK 1.0.7, 1.0.11,
1.1.0, the current 1.1.6 release, and current 1.1.x CVS.  I haven't
tested it with earlier versions of GCC, but I would not expect the
patch's changes to introduce any new problems with older GCCs.</p>

<p>When compiled with GCC 3.4.x or 4.0.x, this results in a working poser.
In particular, the miscompilation with GCC 3.3.x described in <a href="http://news.palmos.com/read/messages?id=153083">http://news.palmos.com/read/messages?id=153083</a>&nbsp;has gone away.  This may mean that this in fact was a bug in 3.3.x's
optimisation and I was wrong to point fingers at aliasing violations
in EmPoint.cpp :-), but it warrants further study.  If you are using
GCC 3.3.x, you will likely want to arrange for EmPoint.cpp to be
compiled with -fno-strict-aliasing in order to get a working poser.
Or use a more recent GCC.  See that thread for details.</p>

<p>The patch addresses the following main issues:</p>

<ul>
<li>Renaming of filename_ext() to fl_filename_ext() etc, in line with
the renaming in FLTK 1.1.x (trivial);

</li>
<li>Removal of spurious braces in struct initialisations, about which
  the compiler is more strict than it used to be (trivial);
  
</li>
<li>Various C++ obscurities about which the compiler is more strict than
  it used to be (decidedly non-trivial :-));
</li>
</ul>
<p>For obscure reasons involving the FLTK changes to configure.in and
  subverting automake, I've included a couple of build-related patches
  that I've had lying around for a few years.  The only interesting
  effect of this is that building in a separate directory (even more
  separate than BuildUnix) now works.</p>
<p>The patch is recent-gcc-fltk.diff in the patches area at	<a href="http://sourceforge.net/projects/pose/">http://sourceforge.net/projects/pose/</a>.</p>
<p>John</p>
</blockquote>]]></description>
  <pubDate>Sun, 8 May 2005 22:37:50 -0600</pubDate>
  <dc:date>2005-05-08T22:37:50-06:00</dc:date>
</item>


<item>
  <title>USB Debugging from gdb on Win32 and Linux</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/USBDebuggingfromgdbonWin3.html</link>
  <guid>http://palmos.combee.net/blog/USBDebuggingfromgdbonWin3.html</guid>
  <description><![CDATA[<p>Ton van Overbeek's done it again.&nbsp; The developer of the prc-tools patch for supporting debugging of multiple code sections now has developed a TCP/IP-to-USB bridge program for Linux and Cygwin, similar to the one that <a href="http://osx-palm-tools.sourceforge.net/">Florent Pillet did on Mac OS X</a>.&nbsp; This enables direct debugging USB-based devices on those systems, and it also bypasses PalmSource's USBPort.dll meaning it works around some bugs that prevent CodeWarrior or Palm OS Debugger from talking to some devices that don't identify their debug channels correctly.</p>
<p>I've quoted Ton's message about this below.&nbsp; If you're using those tools, I'd urge you to check it out and provide feedback to him.<!--StartFragment --></p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p>Subject: [ANN] tcpusb-0.1: USB debugging for m68k-palmos-gdb</p>
<p>Finally you can use m68k-palmos-gdb with USB devices.</p>
<p>I made a tcp-usb bridge (same idea as Florent Pillet's bridge for MacOS) which works both under Cygwin and Linux. For the impatient: the files are on <a href="http://www.v-overbeek.nl/tcpusb">http://www.v-overbeek.nl/tcpusb</a>.</p>
<p>Since I have no way to test all combinations of USB devices and Windows and Linux versions, I need your help to try this out. The best way to send comments is to post them on the PalmSource tools-forum (<a href="http://news.palmos.com/read/?forum=tools-forum">http://news.palmos.com/read/?forum=tools-forum</a>) and/or sent them to the
prc-tools-devel mailinglist at sourceforge (<a href="mailto:prc-tools-devel@lists.sourceforge.net">prc-tools-devel@lists.sourceforge.net</a>). When the code turns out to be usable with many devices I might integrate it directly into m68k-palmos-gdb, so you could say something like "target palmos usb:".</p><p>I have tried tcpusb 0.1 with a Tungsten T and T3 on WinXP/SP2, Win2K, Linux 2.4.27, 2.6.8 and 2.6.11. Also some limited testing with a Handspring Visor was done.</p>
<p>One caveat for Linux: The 2.6.11-rcx versions do not work due to a bug in the usbfs code. The major distribution affected by this is Knoppix 3.8.x which uses 2.6.11-rc3.</p>
<p>Enjoy.<br />
Ton van Overbeek</p>
</blockquote>]]></description>
  <pubDate>Mon, 2 May 2005 13:47:47 -0600</pubDate>
  <dc:date>2005-05-02T13:47:47-06:00</dc:date>
</item>


<item>
  <title>SXSW Database Musings</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/SXSWDatabaseMusiings.html</link>
  <guid>http://palmos.combee.net/blog/SXSWDatabaseMusiings.html</guid>
  <description><![CDATA[I've just put up a new article about how I setup my on-device data structures for the SXSW 2005 schedule application.&nbsp; I think it is a bit too long for a blog posting, but you can read it from the Articles link on the sidebar or by following <a href="http://palmos.combee.net/articles/SXSW2005DatabaseStructure.html">this direct link to the article</a>.]]></description>
  <pubDate>Wed, 27 April 2005 12:47:39 -0600</pubDate>
  <dc:date>2005-04-27T12:47:39-06:00</dc:date>
</item>


<item>
  <title>Simple Over-the-Air Updating</title>
  <author>combee@techwood.org</author>
  <link>http://palmos.combee.net/blog/SimpleOver-the-AirUpdatin.html</link>
  <guid>http://palmos.combee.net/blog/SimpleOver-the-AirUpdatin.html</guid>
  <description><![CDATA[<p>I support a "Update my Application" feature in my <a href="http://2005.sxsw.com/pda">SXSW 2005 schedule application</a>.&nbsp;&nbsp;I do this by setting up a series of URLs on my webserver, one for each version of the program that was released with the web update feature:</p>

<ul><li><code><a href="http://2005.sxsw.com/pda/includes/downloads/update_4.1.0.html">http://2005.sxsw.com/pda/includes/downloads/update_4.1.0.html</a></code>
</li>
<li><code><a href="http://2005.sxsw.com/pda/includes/downloads/update_4.2.0.html">http://2005.sxsw.com/pda/includes/downloads/update_4.2.0.html</a></code>
</li>
</ul>
<p>The application turns its own version string (retrieved from its 'tver' #1000 resource) into a URL using the format string
<code>"http://2005.sxsw.com/pda/includes/downloads/update_%s.html"</code> and then it uses that to launch the device's web browser using code derived from <a href="http://kb.palmsource.com/cgi-bin/palmsource.cfg/php/enduser/std_adp.php?p_faqid=731">the Web Browser Manager sample code</a> in the PalmSource KB.</p>

<p>A user with an current version of the application gets directed to a "you're using the latest version" message, while a user with an older version gets a link to the PRC download.  I could also have used HTML auto-refresh to just start the download automatically, using HTML code like
<code>&lt;meta http-equiv="Refresh" content="5; URL=http://2005.sxsw.com/pda/includes/downloads/sxsw_2005.prc" /&gt;</code> embedded in the <code>&lt;head&gt;</code> part of the update page.</p>]]></description>
  <pubDate>Wed, 27 April 2005 10:38:00 -0600</pubDate>
  <dc:date>2005-04-27T10:38:00-06:00</dc:date>
</item>



</channel>
</rss>