Thursday, January 29, 2009

Telmaps Navigator Uses LWUIT

A while back guys from Telmap contacted us regarding the usage of LWUIT in their application, after extensive testing/back and forth with us they are finally getting ready to launch a rather impressive LWUIT application.

Chen and myself were very impressed with some of the visuals associated with their GIS application, they really used alpha blending/z-ordering to the maximum of their capacity on LWUIT. The widgets and animations are practically unrecognizable which is a strong testament to how customizable LWUIT is.
Sadly I could find no video or image that was made public with the press release, I will try to post such information on the blog when it becomes publically available. I'm sure many of you would be inspired with the type of things that are "doable" by tinkering a bit with LWUIT.

Friday, January 23, 2009

RIM BlackBerry Verification Errors

I've just spent a remarkable amount of time on some verification errors on the BlackBerry platform. Its just amazing how much misinformation exists on the subject on the internet and is being repeated constantly by blogs, I don't want to link to that misinformation since it would just promote it up in the search results...

As an example one of the often repeated "advice" options is to remove redundant import statements... Since the class file format doesn't have a notion for import and all is translated to fully qualified class names in the binary this change would do absolutely nothing, yet the advice is repeated just like any religion.

On getting a verification error you should do the following:

1. 9 our of 10 cases means you used an API that isn't available in the current device. If you are compiling on your own just make sure that you are compiling against the jars of the proper JDE version.
To check on your device go to the options -> about option to check the OS version compare it to the JDE version and make sure you are compiling against the proper version.

2. Check that you are using the preverifier from RIM, I'm not sure about this one though.

3. Make sure that you are using -target 1.1 in your compliation step! This was mentioned nowhere but that was the difference between success and failure for my build (failed on devices but worked in the simulator).
Notice that NetBeans doesn't let you configure that through GUI in mobility projects!

4. If all else fails use rapc for the compilation, this usually solves the verification issues mostly by getting the first 3 options right.


Eventually I went with the excellent BB ant tasks rather than use the approach suggested by NetBeans. The main reasons are the signing and JAD generation which works really smoothly and its much easier to use than copying the whole project into the JDE...

Monday, January 12, 2009

LWUIT On TV: The Video

Tamir and Ohad have been working on getting LWUIT onto HDTV for some time now, with Chen's help (and our graphics guy Martin) they developed one of the best looking LWUIT demos out there.
The effect of seeing this on a full screen HDTV and controlling this with the device remote control can't be properly replicated through youtube but at least you can see something...
Everything shown in the video is rendered by LWUIT while in the background a MediaComponent is playing a movie (this ability exists only in the TV version which guarantees that this will work, MIDP makes no such guarantee).
The demo shows a "program guide" application with various features such as built in games etc.
All the widgets shown are LWUIT widgets with background images used to customize them, the LWUIT port is running on top of PBP graphics.
During the demo a PacMan game is shown, this is a port of PacMan to AWT running embedded within LWUIT (demonstrating integration with existing components).

A thing to keep in mind that every frame on this TV needs to push 1920x1080 pixels to the screen... 2 million pixels!
And I still complain over having to push 76 thousand pixels on a typical phone...

More Than a Million Served

I keep wanting to post some more stuff about majimob and MajiPlayer but I'm still waiting for some of the upcoming new applications/features from the company to become public. The current news is that MajiPlayer has crossed the million downloads at getjar alone (the company is secretive about other sources).
This is really impressive for a 2 month old project and its quite impressive for getjar as a distribution medium. I think this sort of success shows off the demand for rich end user applications even at the expense of advertising and registration.

Tuesday, January 6, 2009

Preview Of LWUIT For CDC

We got allot of requests for the CDC port of LWUIT over the past few months and while this isn't quite complete yet we do have an initial binary offering which you can play with now available in the Java TV project here.

This is a version specifically optimized for the needs of the TV market based on PBP (personal basis profile) and so it has many assumptions related to the constraints of DTV. However, those of you who are aching for a CDC port of LWUIT now have an outlet for their fix.

Saturday, January 3, 2009

JavaTV Forum Is Now Open

Tamir has just started the new JavaTV forum dedicated to the CDC TV platform and LWUIT on TV. This is an ongoing project that will extend LWUITs reach into the DTV field, if you have any questions/comments submit them to the forum.
The cool part about the JavaTV platform is its CDC underpinnings which is much closer to Java SE allowing you to leverage features such as reflection and elaborate 2D graphics (anti-aliasing, affine transform, alpha composite, true type fonts etc.).