Mobile UI design in J2MELyteMobile development has pushed us into exploring mobile UI design beyond functional and usable interfaces. The first thing that will strike you is the J2ME does not have a robust and complete UI library like swing. Simple things like setting the background color needs you to use a low level component called the canvas. Which is like a whiteboard where you have to draw and render every little thing from pictures to text and then handle user input your self. This is a great concept to maintain portability across mobile platforms but a major pain for development. Specially due to the fact that todays mobile devices are far more powerful since the days of J2ME specs, ask for any fancy UI feature and you're on your own. J2ME has decided to leave you high an dry.
Then next thing we did was check various third party libraries and only 2 are worth any mention. J2ME Polish and kuix. Both provde customizable UI components right from the theme to maintaining portability. But before you go ahead and jump into these toolkits, check their licensing terms. They are priced ridiculously, especially when you consider selling your J2ME apps for a few dollars, and add to that their 'strait jacket' style licensing terms for commercial use and you would be better off not using it, unless you're building a GPL product.
Rub us on the wrong side and we get all worked up. So we decided to build our own J2ME UI layer.
Introducing kAOSkAOS is an answer to the lack of customizable UI components in J2ME. The toolkit comes with familiar swing style components like KList, KTable and KTree. All of them are completely customizable to the extent of calling it skinnable. Mobile devices being very pesonal gadgets, on of the first things that a user likes to see in a mobile application is visual appeal, and Kaos provides that bang for your application. kAOS will soon be available as a product but witout the ridiculous licensing terms and prices of other UI toolkits.
Meanwhile you can enjoy using LyteMobile which will soon be kAOS powered. Here are a couple of screens, the first 2 on the left are default J2ME look and feel and the two on the right are rendered using kAOS.



