Tuesday, August 25, 2009

New Stuff In LWUIT

Due to the update on Java.net and various updates going around some news got lost a bit in the past couple of days. Most importantly, we just released LWUIT 1.2.1 which is a bug fix release that addresses some of the issues in the current drop mostly in the Ant task which we have no other way of delivering (since it isn't yet open source).
Another thing that was probably lost is a release of our internal BlackBerry port of LWUIT, based on many fixes from Thorsten Schemm it is still not as mature as his LWUIT-incubator port neither in terms of usage or in terms of stability/functionality. We are working to converge the best approaches from both ports and create a single functional port in the long run.

We will now set our attention towards 1.3, we already have some features planned and we are considering some other ideas. I would personally like to remove some deprecated and no longer supported API's to reduce the size of LWUIT, I already started a bit in that direction and got approximately 15kb less.

Sunday, August 16, 2009

Renderers vs. Factories Moving Ahead

Chen & myself have had a rather engaging debate this past week about moving forward with elaborate components in LWUIT vs. the way components were implemented in Swing and LWUIT in the past.
Both LWUIT and Swing have two types of components those who use renders and those that don't. In Swing all components have a model regardless of whether they have a renderer, however in LWUIT we don't have models for most components due to size constraints (JAR size mostly).

Both of us are generally happy with the design of the current List component, its use of renderers allows us to do amazing things. However, looking at future components built on top of LWUIT we need to decide whether renderers are justified for them or should we limit this approach only for List.

E.g. the tree component from a recent post was built without a renderer but still had a model to produce the data. To determine the appearance of individual nodes a factory method pattern was used. There are several advantages for such an approach as well as several disadvantages which is part of the reason why we are soliciting feedback from you guys who have experience using LWUIT and would like to indicate one way or the other.

Thursday, August 13, 2009

Unique LWUIT Quran Application

Fahad from Guided Ways wrote to us and the mailing list with some images and screenshots of the Quran reading application displayed to the right (don't be confused by the Java FX logo, this is a LWUIT application).
The user interface and feature set of the application is truly unique and shows just how deeply LWUIT can be customized. Fahad has also signed the LWUIT SCA document and intends to contribute some of his changes to LWUIT back to the community. I have no idea if changes would make it back to LWUIT itself but even if they don't they would be published for people to improve on and use.

I have seen quite a few applications of this type and have to admit that my expectations were pretty low for the UI. However, Fahad has been very successful in creating a truly unique and immersive look for the application that should inspire people of all faiths.

Friday, August 7, 2009

MajiPlayer 2.x The Best Just Got Frigging Insane

The majimob applications are demos we often use to show off how far LWUIT can go on everyday devices, media applications such as MajiPlayer are always great demos even when they are badly done... However, in this case I think majimob didn't just outdo itself but rather outdid anything I ever saw even in dedicated media devices. Just check out the demo video to your right and try it for yourself on devices by going to http://majimob.com/mob/ with your device!

I tried it on our S40 2mb device and it worked GREAT! REALLY fast!
It crashed in 3D mode when entering the "all" song categories on that device but as the guys from majimob say, there is a limited amount of what can be done with that amount of RAM...

I also tried it on touch devices and the feel is superior to every player I ever tried except for maybe that one... But when you add up features like OTA seamless free synchronization etc. you end up with a pretty compelling piece of software.