TamsPalm – the Palm OS / web OS Blog

Palm OS / web OS news and opinion source

May 31st, 2007

OnBoardC and the glue library – changing control attributes

Getting the glue library to work together decently with PODS is pretty easy. However, users of the OnBoardC suite were out of luck so far(and still are AFAIK).

However, OnBoardC users can need glue calls, too – and a bit of tinkering and searching brought along a simple concept for creating “replacement functions” for many of the glue calls that change specific object properties like the used font. The method behind it is simple – create it using dynamic UI, and simply remove&recreate it whenever you need to.

The code below is a “replacement” for CtlGlueSetFont – I used it to create a font selector for FontBucket in a soon-to-come project!


static void createDynaCmdFont(FormPtr* pForm,FontID font, char* fName)
{
CtlNewControl(pForm,DynaCmdFont,selectorTriggerCtl,fName,30,85,0,0,font,2,true);
FrmDrawForm(*pForm);
}

OnBoardC coders, please speak up! How do you handle PalmOSGlue?

May 31st, 2007

pnoJpegLib and PODS – the tutorial – Part 2

Welcome to part 2 of the TamsPalm pnoJpegLib tutorial – in case you missed part 1, it is right here!

Step 3: include JPEG resources
pilrc users can include JPEG resources via the data keyword – for us PODS users, this is a bit more difficult. First, create a subdirectory in the /rsc folder of your project. Then, open AppResources.xrd and add a resource. Uncheck the Show only common resources checkbox, and create a resource of any of the ” types. A window will pop up – you can enter a custom creator ID and the target file there(via Windows Open File dialog – choose All Files and click the JPEG file).

The PODS will then bind the file(it must be smaller than 64k) into the PRC at compile time!

For all resource HTML junkies, here is a sample of the resulting code. The HTML delimeters were replaced with () to make the post compatible with WordPress:

(RAW_RESOURCE RESOURCE_ID="1010")
(RES_TYPE) 'tmgn' (/RES_TYPE)
(DATA_FILE) "./jpegs/lvl10.jpg" (/DATA_FILE)
(/RAW_RESOURCE)

Step 4: move JPEG data to a PalmOS bitmap
Now that the raw JPEG data is waiting in a resource, its time to decompress it. This code shows how to do it – the work happens in the read call:

//Prepare JPG lib
BitmapPtr jpgData=NULL;
BitmapPtrV3 jpgV3;
if(jpgenable)
{
pnoJpeg2LoadFromHandle(jpgrefnum,jpgp,h);
pnoJpeg2SetGrayscale(jpgrefnum,jpgp,false);
pnoJpeg2SetScaleFactor(jpgrefnum,jpgp,1);
pnoJpeg2Read(jpgrefnum,jpgp,&jpgData);
pnoJpeg2Bmp2DoubleDensity(jpgrefnum,jpgData,&jpgV3); //For HiRes only

}

h is a handle to a resource which can easily be obtained with DmGetResource – don’t forget to free it after use. The Bmp2DoubleDensity code is needed only on HiRes handhelds – leaving it out/drawing the jpegData bitmap creates weird results. The pointer can then be reused with a different resource or can be left in memory for reuse when you need to decompress the image once again.

On my Treo 680, decompressing a small 320×320 image takes next to no time – excessive buffering probably wont pay out here. Also, your monitor’s display is no assessment of quality for setting the correct compression factor – use your handheld’s screen and an application like RescoViewer.

Step 5: draw the bitmap
Now, we’re basically done. You have your (V3) bitmap – so do what you want with it!

The steps outlined above took me quite some time to figure out – feel free to benefit from my experiences! If you have any comments, just post them here. Commenting on TamsPalm is free and anonymous!

May 30th, 2007

The Palm Foleo – Palm goes Laptop

After months of speculation and rumoring, the Palm clamshell has arrived a few minutes ago…nicknamed Foleo. To start the report off, here are a few pictures of the box:
1 The Palm Foleo   Palm goes Laptop
2 The Palm Foleo   Palm goes Laptop

Specifications are not available at this time – Palm’s web site gives a few pictures and a bit of blah-blah, but no real information as of now. Palm says that the machine’s color screen is 10 inches wide. The machine does NOT have a touchscreen – one of the images above shows a trackpoint and a cursor – things typical for non-touchscreened machines.

As for the OS; Palm has said that the Foleo runs on an “open Linux OS” that developers will be allowed and encouraged to program – the machine should be an “open platform”. However, as of now, the PluggedIn web site contains no SDK for the Foleo. Also, Palm has not given any information on compatibility with existent Palm OS apps…

Foleo’s reason-d-etre is “smartphone enhancement”. Palm repeatedly mentions the “one touch sync” capability of the Foleo, both screenshots show the Foleo’s email program. Palm’s web site also mentions that the machine should be well-suited for web surfing. Last but not least, DataViz provides an office suite for the machine – but there’s no word on multimedia capabilities as of now!

The machine will cost 500$ when it first hits the streets(with a 100$ mail-in rebate) this summer…

Here are a few links with further information:
Palm’s own Foleo web site
Palm’s press release
BusinessWire image gallery
DataViz announcement

Tune in soon for more information and an editorial on the machine’s potential!

May 30th, 2007

Palm reveals the secret third line: The Foleo

Today, Palm announced their long secret third line of devices!
The device, previously known as the Hawk (at least on 1src) is now officially known as the Foleo. It is a laptop sized device that is built to sync around your smartphone, giving you an easy way to compose mail, read attachments, etc.

The details on the Foleo can be found here.

More on the Foleo later!

(Thanks go to Alphasmart User for the headsup!)

May 30th, 2007

TreoWeather updated

GX5, the developer of TreoWeather(click for TamsPalm review), has just informed us that a new version of the program was released.

The latest version can show more than one city at a time in “mini view” – here’s a sample of what that means:
new TreoWeather updated

May 29th, 2007

pnoJpegLib and PODS – the tutorial – Part 1

Decompressing JPEG images on Palm OS handhelds is easy if you are a user – just get RescoViewer. Developers who want to benefit from JPEG compression(great for backgrounds in games,…) on the other hand need to fight pnoJpegLib. I now have a program working – here’s what I did:

Step 1: make pnoJpegLib compile
After downloading the library from its homepage and including it into your PODS project(move both into the projects path and refresh the project by right-clicking onto the file tree list and clicking refresh), include the header file into all files that need to access the pnoJpegLib. I use the code below, the library resides in a subdirectory:

#include "pnojpeglib/pnoJpeg.h"

Then, open pnoJpeg.c and pnoJpeg.h and remove the inline statements to make the function definitions look like this:

Err pnoJpeg_OpenLibrary(UInt16 *refNumP)

After that, the project should compile. In case it still doesn’t, my files will be at the bottom of the second part of this article!

Step 2: prepare pnoJpegLib
Now, in the app opening code, include the following:

if((err=pnoJpeg_OpenLibrary(&jpgrefnum))!=errNone)
{//die
FrmCustomAlert(AltNotification,"JPEG library not found. Please install it from the distribution file!\n","Background images disbled!","");
jpgenable=false;
return;
}
//Create JPEG ref
jpgenable=true;
pnoJpeg2Create(jpgrefnum,&jpgp);

jpgenable is a Boolean value that lets you determine if the library is installed onto the Palm OS device where your app currently runs. jpgrefnum is a global UInt16, and jpgp is a global pnoJpeg2Ptr.
!!!There is NO NEED to allocate memory – the library handles this on its own. All you need to do is define the pointer!!!

Closing the library is easy, too – use the code below:

if(jpgenable)
{
pnoJpeg2Free(jpgrefnum,&jpgp);
pnoJpeg_CloseLibrary(jpgrefnum);
}

pnoJpeg2Free must be used once for each pointer you define. You can have multiple pointers in your app. Such a “pointer” essentially stores source and conversion information about a jpeg image and can be passed to the reader in order to generate bitmap data!

Congratulations – we now have pnoJpegLibrary ready to convert images. The second part of this article will look at adding jpeg files to your project and drawing them…tune in soon!

May 28th, 2007

TreoWeather review – a weather forecast tool for your Treo

GX5 has recently released a few impressively-looking applications for Treos – for example, DialByPhoto, a good-looking replacement for the Treo’s built-in phone app(DialByPhoto review). Their latest spawn is TreoWeather, a weather forecast tool…can it stack up?

After installing the program onto the Treo, TreoWeather needs to download additional icons wirelessly. It also asks for permission to retrieve data from Yahoo over the wireless link, and shows a quick tutorial on adding new cities:
0a TreoWeather review   a weather forecast tool for your Treo 0b TreoWeather review   a weather forecast tool for your Treo 0c TreoWeather review   a weather forecast tool for your Treo

Adding a new city is done in the menu – you enter the name of the city, and the program then offers you a list of cities that match. I tried austrian postal codes too, but had no success:
1a TreoWeather review   a weather forecast tool for your Treo 1b TreoWeather review   a weather forecast tool for your Treo

Per default, the program shows one city at a time in ‘mini mode’(the blurs are due to GIF compression and are not visible on the handheld):
2a TreoWeather review   a weather forecast tool for your Treo 2b TreoWeather review   a weather forecast tool for your Treo

Tapping the ‘maximize’ toggle opens detail view, where additional information about cities is available:
3a TreoWeather review   a weather forecast tool for your Treo

A 5day prognosis is accessible from there, too – as is the manual upgrade button:
4a TreoWeather review   a weather forecast tool for your Treo 4b TreoWeather review   a weather forecast tool for your Treo

TreoWeather’s display can be customized like most other GX5 apps – you can add a background image and overlay of choice, choose fonts and display units:
5a TreoWeather review   a weather forecast tool for your Treo 5b TreoWeather review   a weather forecast tool for your Treo

This review looked at version 1.0.0.0 of TreoWeather on a Palm Treo 680. The program was stable and needs about 1.2MB – however, parts of the program can be moved to the external memory card.

Overall, TreoWeather is a very nice-looking weather forecast tool for your Treo. It can fetch a forecast and display it beautifully – but it can’t autoupdate itself as of now(said to be coming soon). The update button is pretty difficult to access, and there’s no plugins for other programs either. In the end, it all comes down to personal preference. If you want a cool-looking program, get TreoWeather by all means. On the other hand, if you need plugins, get 4cast(4cast review)… . Both products cost 10$…get an evaluation version of both and decide yourself!

Use the code DONTGETWET to get 20% off both 4cast and TreoWeather in the TamsShop

May 25th, 2007

Palm Treo 680 critical update – for AT&T/Cingular Treos only

According to the Palm blog, AT&T customers now have access to an upgrade improving the following:

  • Improved power management for better battery life;
  • Camera update for better battery life;
  • Help to correct distorted characters that can occur in the title bar of the Phone application;
  • Help to fix device freezing that may occur under certain conditions;
  • System Lockout improvement for increased security;
  • Support for the new Daylight Saving Time legislation;
  • Provides better support for networks unique to some Caribbean, Latin American, and Asian countries; and
  • Updates Cingular branding, replacing it with the new AT&T branding.

Of course, customers of other networks(or people who threw 400€ at Palm’s for an unlocked version) are left in the rain – all they get is the classic list of fixes we already know.

Anyways, if you have such a Treo 680, why not head over to the Patch download site and tell us how you fared!

May 25th, 2007

Software project secrets: why software projects fail – the review

Many (great) books were written on the topics of agile methodologies and classical project management. However, they all focused on their specific domain and didn’t present a birds-eye view of why some things work and others don’t. Software Project secrets wants to be a different kind of book – it intends to show where classic project management techniques fail and how agile methodologies can address the shortcomings. This sounds like a big goal – but can the book reach it?
front Software project secrets: why software projects fail   the review back Software project secrets: why software projects fail   the review

The first part of George Stepanek’s book looks at classic ‘project management assumptions’ in the PMBOK, which is an American standard manual of project management. It then contrasts those assumptions with the realities of the software development business to show how, where and when they fail. A case study of a small software project that failed ends the first part of the book.

The book then continues to present an overview of Crystal, Extreme Programming and the RUP – these are three pretty interesting and popular agile methodologies. The methodologies get described in good detail, their core assumptions are put side-to-side with the assumptions of the PMBOK shown before.

After that, Software Project Secrets looks at methods for budgeting agile projects and how to make sure that they stay on track. Another case study closes the second part of the book – this time, the project shown in Part 1 is successful because of the use of agile methodologies.

The third part of the book contains a big literature reference, a glossary and a copy of the agile manifesto…

APress did a great job on this book’s paper quality and binding. There was no blotting with my Parker 45, and the hardcover has a pretty sturdy appearance. This is a book that will definitely survive in your suitcase…for a pretty long time. The text is written very well – easy to read and understand – no problems here.

Overall, Software Project Secrets is a very interesting book for all those who like the software project management thematic. While a bloody beginner probably won’t benefit much from reading it, a person having read books like The Art of Project Management and the Extreme Programming Pocket Book will probably enjoy the text very much. Last but not least, the three most important agile methods are explained here in a compact form…the price of 35$ is slightly high, but justified…

May 24th, 2007

The Treo 680 review – the Treo 680’s camera

The Treo 600 was often ridiculed for its bad camera. And indeed, the 600’s VGA camera performed badly in low-light situations and generally was pretty insensitive and made blueish pictures. The Treo 680 still has a VGA camera – but the image quality is said to have been improved significantly…is this so?

When one turns the two Treos around, one immediately sees that the Treo 680 has a self-portrait mirror. Also, the camera was moved down to the middle of the device(bad idea IMHO – fingers obstruct it more easily):
DSC04838 The Treo 680 review   the Treo 680’s camera

Outdoors, the Treo 600 always performed decently. Nevertheless, the 680’s camera creates much sharper, although a bit pixelated images(680 on the left, click for unmodified versions):
0a The Treo 680 review   the Treo 680’s camera 0b The Treo 680 review   the Treo 680’s camera
0c The Treo 680 review   the Treo 680’s camera 0d The Treo 680 review   the Treo 680’s camera

The higher dynamic range of the Treo 680’s digital camera becomes evident when a window is in the image(680 on the left):
1a The Treo 680 review   the Treo 680’s camera 1b The Treo 680 review   the Treo 680’s camera

The Treo 680’s higher sensitivity in low-light situations is shown by the images below. The top row was shot in dim light, the bottom row in very dim light(680 on the left):
2a The Treo 680 review   the Treo 680’s camera 2b The Treo 680 review   the Treo 680’s camera
2c The Treo 680 review   the Treo 680’s camera 2d The Treo 680 review   the Treo 680’s camera

The Treo 680 has a 2x digital zoom. The pictures below were made out of a window, the one on the right has had digital zoom enabled:
3a The Treo 680 review   the Treo 680’s camera 3b The Treo 680 review   the Treo 680’s camera

Last but not least, here are a few photos of my girlfriend’s pot plant which couldn’t get away as I approached it with the Treos(approx. 30cm distance, 10cm distance):
4a The Treo 680 review   the Treo 680’s camera 4b The Treo 680 review   the Treo 680’s camera
4c The Treo 680 review   the Treo 680’s camera 4d The Treo 680 review   the Treo 680’s camera

Overall, the Palm Treo 680 still can’t replace a digital camera – but that’s not what its invented for. Other phones like a Nokia N71 deliver far better images, and my old Siemens SX1 was a bit better, too. Nevertheless, the Treo 680’s VGA camera delivers solid(although a bit pixelated) images for on-screen viewing in all lighting conditions – and thats all I need from a mobile phone. The amazing sensitivity more than compensates for the lack of a flash BTW – the 680 works really really well at low lights(much better than SX1).

May 23rd, 2007

Resco Explorer update out, new features coming along soon

TamsPalm users were the first to know about the new features in the latest version of Resco Explorer – and now, the new features are available for everyone in Resco Explorer 2007!

A silent voice in the back of my head tells me that this isn’t the last we’ve seen of Resco – my Windows Network shares have recently faced a strange new client called Tam Hanna T680…but more on that later!

May 23rd, 2007

News on the Treo 700p patch

Apparently, a bit of public ranting and honest reporting(did any other Palm site mention anything negative about the 700p story? I can’t recall anything) can move things around a bit. Apparently, this push even works for Palm(uh-oh)…anyways, Ben Combee just posted this to TamsPalm:

Hey, Tam… I’ve been testing internally different versions of the 700p patch since early February. It does improve a lot of things, but I can’t go into details until it’s out.

Ben has always been a person I trust very much and think highly of – so if he says that the patch improves a lot of things, it probably will…if it only gets out…

Thank you for talking back!

May 22nd, 2007

The Paul Loeffler masquerade contest

Palm’s Paul Loeffler recently said the following about the Treo 700p patch:

Timing for the 700p maintenance release hasn’t changed since we last posted to the blog (April 17th). At this time, we expect the software update to be available the week of May 28th. We will post an update if the timing moves.

Paul Loeffler

Now, dear readers, I whole-heartedly invite you participate in a masquerade contest. Create your own text passage, and post it as a comment below! The three funniest passages will be posted on TamsPalm, and will additionally receive one Tamoggemon product of choice for free!

Here’s a sample of what I mean:

Dear Fools who still cling onto the Treo 700p,

We expect you to update to a 755p soon – hey, you paid 500$ for that 700p…you can afford it. Just in case anyone of you comes up to us with a lawyer though…we will give you a basic patch to save out sorry hides. It wont really work – but it’ll be enough to keep lawyers away.

And now leave me alone!

And now, have fun! I look forward to hearing more from you!

May 22nd, 2007

Various little updates from Palm

Palm has recently released a few updates and “update announcements” recently – this post is a rollup of them:

Treo find vulnerability – official patch
Palm finally – after about 3 months – Palm has released a patch for the find vulnerability in most Treos(TamsPalm confirms Treo 600 is vulnerable, TamsPalm editorial on lack of patch). This patch fixes the vulnerability for Ttreo 650, 680p and 700p devices; Treo 600 owners are left standing in the rain.

Anyways, the patch can be downloaded here:
http://www.palm.com/us/support/downloads/

News on the never-ending Trep 700p patch story
Now that Palm’s real patch aka Treo 755p is out, Palm employee Paul Loeffler posted the following on the official Palm blog(aka concealed ad, thus no link):

Timing for the 700p maintenance release hasn’t changed since we last posted to the blog (April 17th). At this time, we expect the software update to be available the week of May 28th. We will post an update if the timing moves.

Paul Loeffler

After a quick run through my brain, this translates to:

Dear Fools who still cling onto the Treo 700p,

We expect you to update to a 755p soon – hey, you paid 500$ for that 700p…you can afford it. Just in case anyone of you comes up to us with a lawyer though…we will give you a basic patch to save out sorry hides. It wont really work – but it’ll be enough to keep lawyers away.

And now leave me alone!

Anyways, we will keep you posted on how the story goes on! Ah, and stay tuned for a little contest coming soon!