TamsPalm - the Palm OS Blog

Palm OS news and opinion source

December 31st, 2004

Happy 2005 from a TamsPalm point of View

I am proud to welcome you all to the last TamsPalm post of this year. All of you shall have a nice Sylvester party without computer crashes, hard resets, palms drowning in alcohol, etc… .
While most other news portals are currently discussing important events, this blog handled that at Christmas. So, now it is time for a little roadmap! Many things have been changed/improved and many more will change in the next few weeks. Treat this as a shortcut over all the upcoming events:

Things that already happened

  • TamsPalm’s date settings were changed to match Viennese time. Now you know at what time data was posted!

Things that shall happen soon

  • The counter provider shall be swapped for one last time. The new service will allow more efficient tracking of referrer sites, an thus effective controlling of advertising effects
  • A shoutbox from NVNCBL(when they let me log on) or another provider will soon appear in the sidebar. Feel free to leave short posts behind there. To all who are new with the concept: A shoutbox is like a slow chat, where you can see posts that were there before you logged on.
  • When all problems with random HTML tags appearing in the Atom XML feed, a universal feed shall be made available to both RSS and Atom reader systems. The necessary technology is already here-its only Blogger that needs to fix up the Atom system! Meanwhile, take a look at the stage of the procedures at http://tamspalm.blogspot.com/atom.xml
  • Obtaining the so-called permalink of an article(so that you can always access it directly) shall be simplified->just click the post title and get the link in a few weeks
  • A template change is planned(more PalmOS-related)
  • Maybe, the ads will move to the top of the page as the template gets changed

Things that might happen

  • TamsPalm may get a forum for more comfortable discussion(maybe in cooperation with one of the big portals)
  • Category list-find posts by category
  • Google Search-search the Web and the blog directly from TamsPalm
  • Link list-find Palm OS links and resources on the internet
  • Image gallery(dependant on cheap web host and PHP skills)

What don’t you like here. What do you have to suggest? I am looking forward to comments and opinions! Thanks to all of you who keep visiting my blog! Lets see each other again in 2005.

December 29th, 2004

PODS and variables or standards vs. comfort

I recently ported a small, but working OnboardC project over to PODS 1.0 to benefit from the comfort of the large screen standing on my desktop. According to friendly advice gathered from the developer newsgroup, getting sources and XRD files to the PC was a painless process. After having faced a few minor difficulties at the Windows 2000 command prompt, everything was set. I now expected a painless build cycle - but the app didn’t even survive the parser. Parse errors at almost every variable definition. An Update to the latest and greatest version didn’t help. Treat this as an example:

switch(var)
{
//Useless code
case foo:
int bar;
//More useless code
}

A parse error occurs immediately when the code above is compiled-and the variable is not accepted. A short post at the user group brought enlightment to the coder-ANSI C requires that variable definitions must be the first code in a block-and this requirement isn’t met above.
While some compilers(at least OnBoardC) accept variable definitions anywhere, the PODS(Ben Combee says that this is GCC’s fault, as we all known PODS is based on GCC) is picky.
However, ANSI C has a comfortable way of combating this problem-the creating of instruction blocks. Many C programmers treat the {} as a fixed part of the syntax-but actually they only group instructions together. Each block gets its own stack space-and can thus have lots of local variables. So, just put your code into a block-and alas, the PODS accepts it. The corrected example would look like this:

switch(var)
{
//Useless code
case foo:
{
int bar;
}
//More useless code
}

A possible second way is to change the C file into a C++ file by changing its filename to .cpp and then reinserting the file into the project-C++ does not impose this limitation.

Although it is difficult to call this ‘pedantry’ shortcoming or even bug, it can still pull nerves and cause headaches.
Feel free to comment!

P.S.This article isn’t published to bash Palmsource. It should just save developer’s time. PODS is a cool product in general, but knowing possible traps is always good.
Full disclosure: This article was sent to Ben Combee for correcting before it was published here!

December 28th, 2004

Protect your stylus-it saves your screen

Most of you want to keep their screen scratch-free. Some purchase adhesive screen protectors, others use overhead foils, and others put trust into hard cases. However, most users do not quite understand the importance of caring about their stylus. They chew on its front and back, ignoring that it also touches the screen.
Let’s look at two different styli:

Both are stock PalmOne T1/T3 styli. However, one of the two was dropped twice and gnawed on for many, many times.
Soon, the overhead foil used with the “damaged” stylus began to get scratchy, and needed to be exchanged once a week. Accidentally, the stylus was exchanged against another one-and all problems were finished.
So, today’s advice from Tam: Don’t ever remove the stylus from its silo when you don’t want to use it immediately. This reduces damage to screen protectors and screen. Gnawing/scratching/drumming may be nice for the nerves, but a bad screen….
Tell me your stylus/screen protection strategies!

December 26th, 2004

Acer vs. PalmSource-a phyrrus victory

Recently, PalmSource announced their quarterly balances which were positive. In addition, a long-waged legal battle(vs. Acer) was won. Everything seems to be perfect-but the Wall Street does not share this view. PalmSource stocks plummeted down seriously, see the chart below for details:

My colleague at 1src accused the traders to hinder business. However, now lets take a look at their balance. The profit wasn’t that bad(2.1 million), and a special income of 2.6 Million USD appears. Without this “donation” from Acer, PalmSource would actually be negative(-0.4 Milion). While Palmsource performed worse last year(-9.1 Milion $), Handheld unit shippings also declined seriously, from 1.3 Million to 1.2 Million units. David Nagel himself announced that he wasn’t too happy with the outcome, and that break-even shall be approximately reached this quarter.
In addition, Acer once was a Palm OS licensee. Few people know that Acer once produced Palm OS handhelds-here are a few handhirn pages about their devices:
http://www.handhirn.de/en/search.php?show=manufacturer&manufacturer=Acer
Now, let’s have that sink in. Palmsource fought one of its licensees-as if they could breed licences like they breed turtles in Singapore. They may be positive now, but stock exchanges live off expectations and predictions. And when a licensee gets sued, he isn’t all that likely to produce another device with the OS of the suer. Sony already left the ship, now Acer will follow suite. Handspring and Handera are dead-and the remaining companies products aren’t that popular. It looks like PalmSource gets more and more PalmOnes pet-but why did the companies split up in the first place then?
What do you think about this topic?

I took my Information from a German source-Find a few english analyst reports here:
http://www.iii.co.uk/

December 24th, 2004

The palmary christmas speech

Well, it is Christmas now. The announced promotions will soon end, and everything will be back to normal soon. There is-however-one last item waiting to be grabbed: Handango gives away free software each week(its MobileDB currently, looks like open-source databases/Mobile Access finally get better). In addition, there are a few promotions floating around the different boards and forums-if you still need presents, StylusCentral is said to have this nifty 20% price drop… .
Now, thats enough said about promotions. This re was full of movement and change for the Palm community-CEOs quit, Palm.net died, a WIFI card, Tapwave, Sonys retreat, OLED screens, another m505-like “runt”, native Powerpoint and more. Only one thing stayed the same-Palm1s customer care. This article is written on a T3 that was repaired three times now-and came back with the wrong display type(no more stage lights, dim is just perfect for bad eyes in Palmones oppinion).
I wish all my readers a merry christmas-TamsPalm will of course be updated regularly in the vacation weeks.
There’s only one more question waiting to be answered: Will Mike Cane dare to write his prognosis this year?
All best!!!….

December 23rd, 2004

Sarcasm: The Tungsten T5 Stylus or applied Zire72 methodology

Recently, different users report their T5 styli becoming blue or black where touched after a short time. See the different userboards for photos and discussions!
PalmOne’s customer care does not seem to care about the problem-like with my comrade’s Tungsten T. The paint was falling off, but service was only offered on grace. Palm’s limited warranty explicitly excludes the physical appearance-so no chance unless fuzz is generated.
Now, lets take a look from another side: the Zire 72 view. The blue plastic was falling off, and what happened? A special version of the handheld was released, that simply wasn’t painted. Think of it-it isn’t a bug, its a feature. When the stylus accepts fingerprints, it has a special intrusion protection feature. You can immediately find out who used your handheld. This sarcastic thoughts motivated me to the following comic:

Multifunctionality everywhere, God save the PalmOne.
BTW, feel free to comment. How do you like the comic, what can be improved?

December 21st, 2004

(Christmas) promotion/giveaway-handle with care

Its Christmas time. We all love it for its promotions and shopping opportunities. Developers offer huge discounts and sometimes even free applications. Everything is fine in palmieland…
However, there is no such thing as a free lunch. Everybody wants to make money, and nobody has anything to give away! I already urged developers to participate in giveaways a few weeks back, and it looks like quite a few companies had the same ideas. Lets take Astraware as an example:
They have given away a few old programs for free and paired it with hefty discounts. Users had to visit the Astraware store to reclaim the freebies. Thus, many users will visit the page and get the free programs. As they navigate through the different views, many will also take one or another of the discounted programs… .
This fictional approach may not be 100% what AstraWare thought, but it should get pretty close. When you look at the programs that they give away, it is pretty clear that there is no loss involved. Nobody would buy them anyway, so give them away for free and generate sales…..
So, to cut the story short: A discount is not necessarily a loss. Give away some junk and get rich at it…
Come on, tell me what you think about/how you handle sales!

December 18th, 2004

Thoughts about buying a new mobile phone

It cannot be believed-good ole T68i-using Tam got himself a new phone. Actually, it was my mobile phone provider and my father jinxing me into accepting a free phone upgrade - and so I went today, ending up having a long talk with my T-Mobile store clerk(he is an expert on mobile phones and handhelds) and buying a Sony Erricson T630.
Well, then following points seemed noteworthy to me:
1) Question-Which phone should I get that works with my Palm?
The answer of the clerk immediately was-get anything Sony Erricson and be on the safe side. I do not know why this company has such a high reputation for being compatible, maybe it was because of the CLIEs. I really don’t know.
2)Question-Where have the TREOs gone to
The clerk said that he didn’t know why T-Mobile does not run any Palm powered smartphone, although they had them on offer a few years ago. Its all blackberry and MDA there. However, the following sentence was issued: “They were always very difficult when it came to exchanges”. I can actually understand T-Mobile here, I am currently at Exchange number ten or so with my Tungsten T3.

After having opened my T630, thought struck me. The phone was full of images, sounds and games-and most important of all, most of it was T-Mobile branded in one sort or the other. The battery even was charged to 50%. Basically, immediately after switching the device on, you have an enormous WOW-Factor. Now compare this to a stock Palm. Turn it on, and nothing… Maybe a few boring images of a mountain and a bridge-but no stuff that really gives bang. Most of the cool stuff hides in the CD, only to be seen after purchasing the device..

I now wonder why licensees can’t put all the stuff in the ROM of their devices instead of cramming it on a CD. This would really increase the impressiveness of the handheld… . even Microsoft took this up by now, fixly bundling two pretty addictive games with the OS-Jawbreaker and Solitaire. I wonder why PalmSource can’t integrate games into the OS too-they needn’t be big or difficult. Impressive visuals and bang-that’s all what counts.
BTW, if PalmSource needs a game programmed, contact me. I will try my best!

Your comments are appreciated…

December 16th, 2004

Update wisely-and be loved(Part 2)

Welcome back, fellow readers for the second part of the updating article. In case you missed out on the first piece, find it at http://tamspalm.tamoggemon.com/2004/12/14/update-wisely-and-be-lovedpart-1/
Force users to update-they will hate you for it
This example comes from Agendus, where the version 8.006 does not work well on Tungsten T5 and Treo 650 handhelds. However, version 9.0 works well. Now, at the first look, this is perfectly o.k. Version 8 got discontinued-and version nine came out. But why did users make a terrible fuzz here? Well, I see two reasons here:
The first reason was the short time between the versions, where each was about half a year from each other. Even huge companies like Microsoft leave at least one year of development between the versions-according to 1), users feel more of the development this way. The second problem with Agendus is that a more-less buggy product was abandoned, so users felt forced to update in order to be able to use what they already bought. Of course, this will not be accepted….
Increase version numbers fast and keep your updates expensive
Now we are in the king’s class of annoying users. Documents to Go version 7 is an excellent program(I tested it on a comrade’s T3 and loved it). However, most users were pretty unhappy about the update. The reason was simple-the update was way too dear. When a program costs x, let the update be about x/4. Prices can of course vary a bit, depending on how much cash your users have.
Regardless of how much your program costs, the update must be significantly cheaper to keep buyers happy. lf you want to be a nice developer, give away a free update to those users who bought your program-say-30 days before the new version came out. In addition, have your CustomerCare offer a few grace days to reduce bickering…

BTW, a companion in a German forum thought about releasing an update once a day to stay in the Toplist at the portal-I can only say: check out GravityBall, dude..

Well, that’s it about updates for now-come back for more Palm stuff regularly! And-don’t forget to comment…

December 14th, 2004

Update wisely-and be loved(Part 1)

Users all over the world tend to see iambic as an ill-mannered company. Documents To Go 7-an uproar about why this product wasn’t called v6.012. GravityBall-german users unhappy because of too many, daily updates.
-different reports and quotes from german boards and the vienniese PUG

All the cases above represent unhappy users-users unhappy with updates of the software they once bought cheerfully. An unhappy user generates fuzz-more than 100 happy users. And many unhappy users get you a place on this blog-as counterexample. To prevent you from being the next example, you will now find a short description of why each of the three products mentioned above failed and a few other hints too. It is not my intent to point fingers at anyone-I just want to save other developers from making the same mistakes.
Over-updating kills your user base (GravityBall)
Young developers-usually-are eager. They like to code and enjoy supplying their fellow users with the latest features and levels straight from the compiler. Not every release works well though. Thus a bugfix follows each release, usually followed by another release with even more features as an apology to users. Alas, a circulum vituosum starts off… While fast update cycles are ok in a CVS, they tend to annoy users. Keep in mind that the user has to visit his portal or launch his email app, download the program,… .
Many game developers think that they help their users by releasing a new level once a day. However, think of a game with 100 levels. When the developer updates once a day, game value increases by approx. 1% each time. Nobody will really feel that. When the developer updates once a week though, that’s 7%. And that will be felt, believe me! So, don’t update too often-users will not feel the improvements that much and will get annoyed in the process.
Tune in on Friday for the rest-look forward to the following don’ts:

  • Force users to update-they will love you for it
  • Increase version numbers fast and keep your updates expensive

Until then, feel free to discuss your software updating processes.

December 13th, 2004

Oh no-my Palm doesn’t run anti-virus software

Recently, my password manager got richer by one entry-the login data for 1src’s forum. One of the hottest topics discussed anti-virus software for the Palm OS. Many different programs were suggested-some free and some hilariously expensive. However, nobody was there to tell the poor souls the truth about the problem: they were making a huge fuzz about nothing…..
Practically, 4 virii are currently known on Palm OS handhelds-and none of them is easily available(not even in the underground, believe me as I am there-more about this some other day). After downloading a few hundred programs from different sources, the virii still didn’t pop up. Even the zillions of spam mails hitting the inbox never bore one of these elusive files in their womb.
A short google search brought up interesting lists of details about the malwares.
To save you the effort of reading: the damage caused by these programs is local-you loose all of your data in the worst case. That is, if you synchronize the infected handheld(usually you will notice the virus pretty fast). However, the virus doesn’t spread itself via email or working programs-once infected, the programs transform into copies of the virus. If the program works on the other handheld, it can be beamed/sent around safely.

So, to cut a long story short: Virii for Palm powered handhelds do exist in theory-but practically nobody finds them. No average palm user needs an antivirus program on his handheld-and discussions or advertising people should maybe just be given a link to this page.
Tell me what you think(if you manage to find one of the virii-please mail it to me).

December 11th, 2004

5way nav et al-fighting the button-o-rama

Recently, more and more licences start to integrate the five-way navigators that were introduced with OS5. In addition, the licensees always could introduce their own hardware buttons. While users enjoy the flexibility of the extra knobs, developers have to wrestle with different key codes that can only be obtained in the licensee’s SDKs. It’s the usual thing in Palmieland-the tech is here, but where is the standard/who implements it?
This article will present you with a few hints to “improve your odds” when hardware buttons are concerned!
1)Harness the switch, dude
Most developers know switch as universal solution to problems where multiple choices need to be handled. Less developers know that the break; following the end of each case statement can be omitted-the program will compile o.k. However, the switch block will not be exited. The code of the cases below will get executed until the block ends or a break; is found. Now, lets say that one licensee defines a buttons keycode as 1101, the other as 1102. The following switch(its pseudo code) would handle both the same:
switch(keycode)
{
case 1101:
case 1102:
HandleButton();
break;
//Other buttons
}
2)Let the user select the buttons
Some developers have found a really innovative solution for the problem. Since keycodes stay the same for the whole lifetime of a device, they can be stored as application preferences. When the app starts for the first time, a special form pops up requesting the user to press the hardware button he wants to assign(and a cancel button if he “runs out” of buttons). The form’s event handler traps and handles the keydownevents and stores the keycodes in the preferences(see the Palm OS documentation/the datebook sample for details).
Then, when a real keydownevent is encountered, the input is compared with the stored values. However, if must be used for the comparison, as switch expects constants.

Tell me how you solve your button-related events. I am looking forward to a lively discussion!

December 9th, 2004

Palm OS and Linux

There are new and crazy news-PalmOS and Linux gang up some way or the other! PalmSource today issued the following open letter to the Linux Community:
http://www.palminfocenter.com/view_story.asp?ID=7383
Now, what should that bring? Wasn’t OS6’s kernel totally rewritten just a few months ago? Lets face it-there is quite a lot of Linux/Unix applications that can now be ported easier, while still not needing the fat X11 implementation and a window manager for dispaying graphics. PalmOS will be a layer on the top of Linux, maybe replacing the X11 and other Linux GUI parts.

In my opinion, the main reason for this port is different, however. The Linux Kernel runs on x86, MIPS,RISC, SPARC,…. CPUs, while the PalmOS is bound to ARM CPU platforms only and will be difficult to port. Now, licensees can use their existing handheld hardware and snatch a Linux kernel for it-and alas, it is Cobalt compatible! The PalmOS layer still contains PACE though, so most 68k applications will work without porting. Native Cobalt apps will need to be recompiled for the Linux PalmOS version, but will then run too!

So, maybe we shall soon experience the PalmOS running on different mobile phones and handhelds-even if they do not support ARM CPU’s. I personally think that Cobalt isn’t widely accepted because it is pretty complicated to design a hardware that can work with it! However, Linux runs everywhere-and so, soon Cobalt shall be there too…

I am as always-looking forward to comments!

December 8th, 2004

Low-Res isn’t dead

Recently, more and more software titles get released that don’t support grayscale or lowres displays anymore, e.g. Bejeweled 2 from Astraware. Users wanting to play the game should upgrade their handhelds. It is simply too much effort to create a low-res port……

When you think about this at first it makes perfect reason. All new handhelds have a High-Res Screen, and the Zires are dead anyway. Nobody wil ever buy an app for a 99$ handheld….
However, this definitely isn’t true. Four best-selling PalmOne Handhelds have either a LowRES or a greyscale display(Zire, Zire 21, Zire 31, Treo 600), and in addition, there is a huge user base with older handhelds too! Stripping off features from the all-new graphics engine is definitely painful, seeing all the visual eye-candy going down the drain! You invested hours and hours into pixel FX and shadows, only to cut them out now. A developers heart will break th the thought of it.
But, don’t cry too much! The stripped-down version will consume much less power than the old one(less calculations), and will also be attractive to an entirely different user base! The high-end-Palmers will still use their optimized version, but the low-end boys can buy your product too. And that leads to more revenue, which is always good!

I am-as always-looking forward to comments!