Wednesday, March 30, 2005

On the beauty of the CommonDialog

Recently, a discussion at Nexave led to the question if it is good if there are lots of functions integrated into an OS. Of course, most Palm OS adventists said no, have the developers implement what they want.
My answer is-not always.
Having been a Visual Basic programmer for quite some time before getting Palm addicted, I can tell you that OS features are really nice to have every now and then. Lets take the Common Dialog as an example. This object provides standard dialogs that every Windows user knows for sure-the Open File and Save File dialog are good examples. If a developer needs such a dialog, he uses the OS component. Thus, all programs have the same interface, which leads to higher satisfaction at the user's end. Compare this to the Palm OS world-each program has a different kind of dialog. The one lets you use the 5way nav, the other doesn't-and the other is stupid enough to not even use HiRes+.
But user satisfaction isn't the only reason why a core component is good-it also leads to smaler program sizes. My Palm handheld contains at least 6 different forms, etc for selecting files-so this is about 6 times the data that we would need if the dialog would be part of the OS.
The last advantage is faster time to market. Creating a file selection dialog takes a lot of time-if there is an object, you can save the time needed for writing and debugging.
Now, some people will say that it is too late for Palmsource to integrate this into their OS-as downward compatibility always was very important for a Palm OS system. This also mustn't be IMHO. A library could contain all of these forms-offer it for free over at and see how users will go for it once developers start to use this library. The approach worked well with MathLib and ZLIB-so why won't it work here?


Anonymous Bryan said...

Tam your other articles are good but this one made me fall asleep zzzzzz sorry Tam.

4:14 PM  
Blogger Tam Hanna said...

Hi bryan,
everybody likes and dislikes other stuff. I don't like everything that other people write, and they don't like everything I write.
The reason why TamsPalm exists is the transfer of different oppinions-feel like making your own voice heard? Email me at and get "associated"
Best regards
Tam Hanna

4:30 PM  
Anonymous SiEd said...

PalmOS could benefit hugely from a higher-level set of libraries: file dialogs, non-modal popups (think tool-tips etc), abstraction layers for simplifying VFS access etc.

It's an interesting idea, in fact. Maybe I'll split out some of the functionality from SiEd into a library.

4:54 PM  
Blogger Tam Hanna said...

Hi Sied,
ever looked at MorePalmOS?
You could maybe do something together!
One last note-I killed the port comment and the other one about writing on the backboard. Too much trolling here!
Best regards
Tam Hanna

7:26 PM  
Anonymous Steven Fisher said...

Sometimes I wonder if anyone looks at MorePalmOS. Oh well. At least it's useful to me!

11:19 PM  
Anonymous Steven Fisher said...

Unfortunately, there is a reason. It has to do with the difference between MathLib/ZLIB and CommonDialogs.

MathLib and ZLIB are each mature libraries available for other platforms. They do everything they should, and if they don't do things quite correctly it is at least hidden from the user and doesn't cause a crash. It rarely matters, for instance, exactly what order a compress library scans bytes in.

CommonDialogs is a different kettle of fish, though, since it deals with something much more important to many programmers: user experience. Programmers care if the wording in a form is ugly. Developers care how much of the screen it uses. Developers care about the layout and size of buttons.

The LGPL is not going to work well for a CommonForms library. If developers don't like a layout, they will go in and change it and post their own CommonForms. They won't bother fixing an obscure crashing bug in one of the other forms which their application doesn't call... but another application already installed on the Palm does.

For something like CommonForms to work, it either needs to be embedded in a library that is compiled into the application (ike MorePalmOS or provided by the vendor and unable to be changed.

It worked for Microsoft because CommonDialogs was part of the operating system. For Palm developers, it's a noble goal but probably not acheivable.

4:47 AM  
Blogger Tam Hanna said...

Hi Steven,
yes, here is one who looks at MorePalmOS. I mant that the Common duialog should be added to the OS, and as library should be made available to users of older machines for compatibility.
Best regards
Tam Hanna

3:56 PM  
Blogger Steven Fisher said...

Oh. As a closed source library? Yeah, that would work, even though it irritates me on some levels. :)

7:56 PM  
Blogger Tam Hanna said...

I would prefer opensource too. But one can't have everything(but why does all of this work so well with Linux then?)...
Best regards
Tam Hanna

11:21 PM  
Blogger Steven Fisher said...

Different communities. Everything is open source there.

1:22 PM  
Blogger Mert said...

Hi all,

Considering it has been two years since this conversation was held and PalmOS is obliterated by now, it feels a bite late to leave this comment. However, I have a few points to make about what has been spoken above.

Around 2004, I needed to do heavy text editing on my Palm, therefore searched for a freeware, possibly open-source text editor, which has a decent VFS and PalmDoc support. I found a few; all are of extremely, mind-bogglingly low quality. Although I have been away from the Palm community, I know there are now at least several good ones. One is SiEd by Ben Roe (i see his entry above), and CardTXT at first hand.

Anyway, I developed TexT 1.0 for my personal use and shared it freely under the GPL. TexT comes with a shared library UniForm (also free and GPLed), which was designed for handling save and open dialogs in a standardized manner. (analogous to common dialogs)

I tried to manifest for including other developers into UniForm project, but this never happened, due to my lack of time. (and possible due to poor communication means PalmOS provides developers with) The good point with the shared library idea is, once an API is settled, other teams can come up with different implementations which are completely compatible. This is totally possible because it is very clear what an API needs to include for this simple purpose. But the point is the API must be somehow "officialized" or supported by Palm. I have been in the Palm world since 2004, yet it is the first time I hear about MorePalmOS. I'm sure you do the same about UniForm. Palm not only didn't provide necessary libraries, but also didn't support the quality software and good developers.

I would like to join in the MorePalmOS project or offer you to join UniForm project to contribute to the standardization of PalmOS, instead of writing this bitter words, if Palm cared about the community and developers properly. One of Palm's many failures is the partnership with Palmgear which seems to be praising the most crappy software in its search listings. Mostly, it does not even look at your search keyword, but provides you with the same low-quality software, possibly because they have bought search rank.

Anyways Palm was fated to doom, and I'm very happy ACCESS got in charge. I think very positively about ALP and believe that it will be the future of mobile mobile computing. I predict and profoundly hope that ACCESS will cut of the partnership with Pocketgear as soon as possible.

4:15 AM  
Blogger Junda Xu said...

20151028 junda®
coach factory outlet
nfl jerseys
Gucci Outlet Online Sale
Abercrombie T-Shirts
hollister clothing store
ugg boots
michael kors outlet
Michael Kors Outlet Handbags Factory Price
ugg boots
toms outlet
mont blanc
michael kors outlet
michael kors outlet
Coach Outlet Store Online Shop
canada goose outlet
michael kors outlet
Abercrombie and Fitch Outlet Sale
Louis Vuitton Bags Outlet Store
michael kors bags
Wholesale Authentic Designer Handbags
ugg outlet store
air max 95,nike golf,nike janoski,air max 1,nike canada,nike plus,nike shox,nike factory store
michael kors handbag
Louis Vuitton Handbags For Cheap
cheap ugg boots
Christian Louis Vuitton Red Bottoms
coach outlet store online
true religion outlet
canada goose jackets

4:57 AM  

Post a Comment

<< Home