FPUIL: Frog-Parrot User Interface Library

I’ve finished my little library of UI utilities, which you can download here: FPUIL.tar.gz or FPUIL.zip.

Just unzip the directory, placing the WidgetCanvas folder in the apps folder of the WTK, and you can open it as a project.

This set of classes is intended to help with a “managing fragmentation” strategy of type “DERIVE-MULTI > SELECTIVE” (see Device Fragmentation of Mobile Applications for the theory).  As explained on TomSoft, this is a good strategy for one-shot projects, and it’s the strategy I’ll be discussing at Jazoon.

Here are some notes on using this little library:

* The per-handset customization is done entirely by swapping out the data files (properties and images) under the res directory.  This initial example is customized only for the WTK.  Naturally, in keeping with the strategy of DERIVE-MULTI > SELECTIVE, you would write a corresponding Ant build file that automatically generates all of the different binaries.  I’m planning to post more details on this, but for the moment you can look at my earlier post on building a Java ME project with Ant.

* All of the utility classes are in the package net.frog_parrot.ui.*.  The other package (net.frog_parrot.midlet.*) is just a sample MIDlet to show the basics of how to use the library.  The sample MIDlet does not illustrate an optimal use of the libraries for customization:  Even if you replaced the resources with corresponding resources for another handset, the sample MIDlet still wouldn’t be right for certain handsets (mostly because I hard-coded some values in the code just to get a quick-and-dirty example done).

*  You may notice that I’ve set it up so that you can drop in a class that implements a custom font (but I haven’t written a custom font class).  If I have time, I’ll write one and post it — it’s fairly straight-forward to do it.  On that note, I’d just as soon have this library be officially “open source” if there’s interest, but I don’t know much about setting up an open source project.

* So far this library is only compatible with MIDP 2 handsets, but I may expand it to cover MIDP 1 and 3.

* If you look at the sample MIDlet, your first reaction will probably be “Wow, that is one butt-ugly MIDlet!!!”  But keep in mind that this is a demo to illustrate coding and building, not graphic design principles.  As usual, I just drew some graphics by hand in the gimp, but in a real application you’d obviously be following the specs provided by a graphic designer (if you don’t happen to be one yourself).  Maybe if we’re lucky Amy Hoy will swing by and fix up the design. 😉

Note, however, this illustrates the main (intentional) feature of this library:  You can make your MIDlet look however you like.  This framework isn’t going to hold your hand and draw/place your widgets for you because I’ve found in practice that on small screens you may be required to follow very precise (practically per-pixel) instructions on how the screen should look.  Again, it would be possible to add a layout utility to this library if you find yourself using the same layout code over and over, but if you need 100% control over the look, you’ve got it.


1 comment so far

  1. […] FPUIL: Frog-Parrot User Interface Library […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: