Wednesday, September 9, 2009

New Stuff In LWUIT - Heading To 1.3

I recently committed some code signifying the direction LWUIT is now taking towards our 1.3 release and hopefully towards a more organized development plan that would include more official releases with predefined features. Some of the major changes going into 1.3 are already beginning to appear and some of the other architectural changes are already drawn in the sand.
One major change is that we now removed the compatibility mode for the old style syntax, to migrate into 1.3 you would need to update your code to use the new approach to styles. Normally we would keep compatibility indefinitely however since LWUIT needs to be packaged into your application on the mobile device the size issue becomes very relevant and we think removing features such as these is essential for trimming the application sizes. LWUIT grew noticeably over the past few years which is naturally inevitable however we intend to keep it trim and fit for devices despite newer features.

Other than that the current JWS version of the LWUIT designer finally allows adding SVG files to resources, LWUIT will show them as standard PNG's however if you use LWUIT's SVG Implementation factory and your device supports SVG you will get the full benefit of SVG support within LWUIT! Our goal is to provide seamless migration allowing developers to shift their code to SVG while keeping 100% compatibility with existing device and a single binary! Ambitious but so far it seems that it works...

Another major feature making its way into LWUIT is the table component, this will be an elaborate component from which you can pick and choose functionality as you go along. The first portion of the Table is already committed and its the table layout class. Its pretty much what it sounds allowing you to layout components as you would a table with support for the spanning of rows/columns using table constraints. I tried to make it simpler than Gridbag, I hope I was successful in that but its indeed a complex component...

We have some more things up our sleeve for LWUIT I will try to keep you posted on all of these changes as they occur.


  1. Looks interesting.
    Heard about SVG conference? (at Google campus, Oct. 2-4)

  2. Looks interesting and promising indeed. The SVG support sounds good, I hope it will extend to themes as well, such that for example I can set an SVG image for a Form's background.

    The main reason why we moved to LWUIT though, is that SVG support on phones is rather tricky (or buggy). Our experience is that using SVG for Forms and Dialogs is not feasible. You get the scalability, but not the functionality. The use of LWUIT is taking care of this big time. Unfortunately this means that we're using two types of Display in our code, LWUIT's and the normal LCDUI's. I realize that I might be doing something sub-optimal, but still.


  3. On topic of the new components, are you also planning to further enhance the designer to:

    - Allow for clicking on the preview to select the Component and property you want to style. Instead of having to select the component and property and hope it is what you meant.

    - Really allow for using your own MIDlet to preview your theme.

    - Have undo available after saving the resource file. Now the undo works only between saves.