You Are Here:

Community: Blogs

Maximiliano Firtman's Forum Nokia Blog

The Future of Java ME II

firt | 23 October, 2006 06:26

 

Following my last post, I’m analyzing the Future of Java ME (J2ME).

Designing new UI with SVG

 

Standard Vector Graphics format, will be one of the revolutions in Java UI designs, using an SVG subset called Tiny SVG. Everyone who developed a Graphic User Interface using LCDUI Canvas (or FullCanvas in Nokia UI) knows how difficult is to design a cool UI interface; we have to do everything with Java code with a few shape methods (like fillRect), or loading heavies PNGs.

 

Many vendors, all of them in JCP (Java Community Process) are supporting the SVG API (JSR 226). Many SDKs and emulators are supporting it, and Nokia’s devices are supporting it from Series 40 3rd edition Feature Pack 1 and Series 60 3rd edition Feature Pack 1. You can find a great document from Forum Nokia about this API here

 

SVG has many advantages, as the following ones:

  • It’s a standard.
  • It’s XML based, so it is a text file, easy to store and transmit.
  • It allows to design vector graphics that scales automatically to fit the canvas size of the device.
  • It allows vector animations.
  • It allows to define hotspots over the image, to be navigated and selected by the user (yes, we can “listen” to this events).

 

So, from Java code we can capture when a user selects a hotspot, and we can also animate and modify the SVG elements structure dynamically. For example, we can change an object property (color, size, rotation, etc.), we can add new elements (like shapes, other SVG document) when we need it.

 

Using this technology, not only we are having greats advantages over using Canvas and Graphic classes, we can integrate graphic designers in our team easily. SVG is a format that every graphic designer can export from a vector tool (like Corel Draw or Adobe Illustrator), so we won’t need to convert designs into PNGs and Java code anymore.

 

And JCP team is working on a newer API that will extends this one: JSR 287 (SVG API 2.0). This API will work with SVG 1.2 format, that supports multimedia, audio and video, alpha transparency and gradients objects.

 

Other format waiting in Java ME community is CDF (Compound Document Format, JSR 290). But this is for other post...

Internationalization

 

For everyone who develops applications for a non-English market (as me), the ability to generate multiple versions for each language is a great feature. JCP (leader by Nokia in this case) worked in the Mobile Internationalization API (JSR-238). Using this API installed in the device, we can handle external resources files per language, and we can format dates, numbers and currency depending on the culture of the user’s country.

 

This API is currently supported in many IDEs for working in design mode. A great feature of some IDEs is the ability to generate many JAR packages, one per language or group of them.

 

Contactless

 

Contactless Communication API (JSR-257) allows mobile devices to read information available around in the environment, using many technologies, like visual tags (bar codes or similars), or RFID (Radio Frequency Identification). This will allow mobile phones to read URLs, number phones, semantic information, prices or other information from the “real world” to the Java ME application.

 

 

What’s next

 

In next posts I’ll talk about MIDP with CDC, Next Generation Mobile Platform, MIDP 3.0 and new tools and IDEs. 

 

See you on next post!

RSSComments

Re: The Future of Java ME II

ovjo12 | 25/10/2006, 11:19

Hi,
I wrote little about this in my blog: http://ovenordstrom.blogspot.com/2006/10/future-of-javame-is-also-about-new.html
Regards,
Ove

Re: The Future of Java ME II

firt | 26/10/2006, 00:25

firt Hi Ove, thanks for the link. I've read your post and I'm a bit confused about what you meant. Devices like Nokia 770 and UMPC (Microsoft's Ultra Mobile PC) are Internet Tablets or Mini Tablet PCs. That devices are using "desktop-like" operating systems, as Linux (in Nokia 770) and Windows XP / Vista in UMPC. So, Java SE wins the place in Java development for that devices. You can install a Java SE Virtual Machine. Personal Profile for Java ME is in the middle.

And I don't agree with your opinion that we already had a lot of APIs. Until last year, for example, we've only had devices with JTWI (Java Technology for the Wireless Industry) and some other APIs installed. But there was a lack of features we can use from Java ME. Now, with this new APIs to become a new "big standard" as MSA (Mobile Service Architecture), we'll have less fragmentation. And we need more... for example, we need to make background Java applications and now, we can't do this.

The lack of features in Java ME isn't a hardware problem. The hardware is there, sometimes we can't access it from Java APIs. A great example is the first version of Motorola RAZR v3... it has bluetooth, but it doesn't have the Bluetooth API !. Is it a hardware-lack problem?

For some API, like Location API, yes... we need more devices with some hardware, like a GPS.

Re: The Future of Java ME II

ovjo12 | 26/10/2006, 11:09

Hi,
I am not sure if devices like Nokia 770 and UMPC (Microsoft's Ultra Mobile PC) will run well if they only have support for JavaSE. I think JavaME/CDC1.1/PP1.1 is perfect for these small devices. The next problem is which company can supply a JVM for these devices? The PocketPC platform is a good example how difficult it has been to find a JVM for that kind of device.
Perhaps now when SUN Open Source JavaME it will help us?

I agree that JavaME/CLDC/MIDP is already available on many consumer cell phones.
No hardware problem here, only Java fragmentation problem
So I agree MSA for CLDC (JSR-248) is something really good for us developers!
I look forward when we have devices that support JSR-248 (MSA for CLDC) and JSR-249 (MSA for CDC). But again there are no devices that support it yet!
We will have devices soon that support JSR-248, but for JSR-249 it will takes some time I believe, I hope it will be a faster process to agree about this JSR-249!

But it is different for JavaME/CDC/PP, I think JavaME/CDC has not yet hit its mark with smartphones and PDAs.
For JavaME/CDC/PP there are nearly no devices you can buy, for example how many Nokia devices have support for JavaME/CDC1.0/PP1.0? , not many phone and for JavaME/CDC1.1/PP1.1 there is no phone.

I also think that the JavaME/CDC1.0/PP1.0 implementation has not been so well so far.
You can often find frustrated developer telling you:
Why are CDC implementations always so buggy, read more here:
http://developer.sonyericsson.com/thread.jspa?threadID=30628&tstart=15

But I think there will be a change during 2007, with more devices supporting JavaME/CDC1.1. But it look like the next generation GUI on wireless handsets is not settled yet (AGU or eSWT), read more here:
http://ovenordstrom.blogspot.com/2006/09/aguijsr-209-is-finished-but-dont.html

Because of that I think we will have devices during 2007 supporting Java ME/CDC1.1/FP 1.1 profile with eSWT and other devices supporting Java ME/CDC1.1/Personal Profile 1.1 with AGUI (like the SavaJe phone) and Java fragmentation problem again for the JavaME/CDC platform.

Regards,
Ove

Re: The Future of Java ME II

suresh20044 | 30/10/2006, 16:21

"But it is different for JavaME/CDC/PP, I think JavaME/CDC has not yet hit its mark with smartphones and PDAs.
For JavaME/CDC/PP there are nearly no devices you can buy, for example how many Nokia devices have support for JavaME/CDC1.0/PP1.0? , not many phone and for JavaME/CDC1.1/PP1.1 there is no phone"

Hello,

Mr.Ove Nordström,

All Nokia Phones' Support's MIDP1.0/CLDC1.0 .

Vinny.

Re: The Future of Java ME II

firt | 31/10/2006, 23:02

firt That's right, there isn't CDC/PP phones yet. It's also right that MIDP 1.0 / CLDC 1.0 is still alive. In some worldwide regions, like Latin America, there is still a big MIDP 1 market, like Nokia Serie 40 First Edition. And there are yet TDMA Java-less phones!. This is changing, because people with older phones, are looking for new color devices with camera or MP3 player. In 12 or 18 months, a great percentage of people are changing their mobile phones to a newer generation.

Today we don't have CDC phones, what will happen in two/three years? It's like Flash Lite platform, we don't have enough flash enabled devices right now. That means that we don't need to analyze and start to work in this platform? I don't think so. Time runs too fast...

Re: The Future of Java ME II

jose.cornado | 18/11/2006, 09:57

This comment may be off topic but I have not been able to find the answer anywhere else.

Does Nokia support awt.Robot in its CDC platform?

We have a gui/unit testing tool that is device independent (i.e does not rely on capture-and-replay or Windows) that can run in CDC devices.

Thanks a lot in advance!!!

Jose Cornado

http://efekctive.com/blogging
You must login to post comments. Login
 

Rate This

 
 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomE2findeE78E2ephpE3fopE3dViewArticleE26blogIdE3d15055E26articleIdE3d691X qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZBlogContentQ qdcZtypeQUqfntypeZBlogE45ntryQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtopicQUqfnTopicZjavaQ qfnZtopicQUqfnTopicZseriesE5f40Q qfnZtopicQUqfnTopicZseriesE5f60Q qfnZtypeQUqfntypeZBlogContentQ qfnZtypeQUqfntypeZBlogE45ntryQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZuserE5ftagQSxjavaX qfnZuserE5ftagQSxs60X qfnZuserE5ftagQSxseriesE2d40X qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZBlogContentQ qrdfZtypeQUqfntypeZBlogE45ntryQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ