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!

 
 

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: qdcZdescriptionQSxItE20allE20startedE20innocentlyE20enoughE2eE20TheE20notebookE20didnE27tE20fitE20inE20myE20pocketE2cE20andE20myE20N93E20wasE20alreadyE20thereE2eE20ItE92sE20beenE20aE20greatE20coupleE20ofE20weeksE2cE20butE20IE92mE20gladE20toE20beE20backE2eE20NareshE20E2cE20ToteE20andE20E52onE20haveE20alreadyE20commentedE20onE20theE20ChampionE20E44ayE2eE20IE20echoE20theirE20thoughtsE20thatE20itE20isE20wonderfulE20toE20meetE20inE203E44E2dlandE20thoseE20peopleE20whoE20IE20workE20withE20andE20workE20forE2cE20butE20rarelyE20actuallyE20seeE2eE20Ea0E20AfterE2eE2eE2eE20E45ventE2cE20GeneralE20IE92veE20beenE20workingE20onE20myE20ToE44oE20listE20thisE20weekE2eE20WellE2cE20workingE20mightE20beE20aE20stretchE2eE20ItE92sE20beeE2eE2eE2eX qdcZidentifierQSxhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomE2fblogE2ftastyE2dmultimediaE2djournalsE2dforumE2dnokiaE2dblogE2fgeneralX qdcZpublisherQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fc764fd1cE2d8b06E2d499aE2d9a6aE2d17c3903d5a65E2fforumE5fnokiaE5fcrawlerE5fagentX qdcZtitleQSxTastyE20MultimediaE20JournalE27sE20ForumE20NokiaE20BlogE20E7cE20GeneralX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZBlogContentQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qrssZdescriptionQSxItE20allE20startedE20innocentlyE20enoughE2eE20TheE20notebookE20didnE27tE20fitE20inE20myE20pocketE2cE20andE20myE20N93E20wasE20alreadyE20thereE2eE20ItE92sE20beenE20aE20greatE20coupleE20ofE20weeksE2cE20butE20IE92mE20gladE20toE20beE20backE2eE20NareshE20E2cE20ToteE20andE20E52onE20haveE20alreadyE20commentedE20onE20theE20ChampionE20E44ayE2eE20IE20echoE20theirE20thoughtsE20thatE20itE20isE20wonderfulE20toE20meetE20inE203E44E2dlandE20thoseE20peopleE20whoE20IE20workE20withE20andE20workE20forE2cE20butE20rarelyE20actuallyE20seeE2eE20Ea0E20AfterE2eE2eE2eE20E45ventE2cE20GeneralE20IE92veE20beenE20workingE20onE20myE20ToE44oE20listE20thisE20weekE2eE20WellE2cE20workingE20mightE20beE20aE20stretchE2eE20ItE92sE20beeE2eE2eE2eX qfnZdistributionQUxhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomE2fX qfnZtypeQUqfntypeZBlogContentQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZupdatedQDx2008E2d10E2d03X qmarsZdescriptionQSxItE20allE20startedE20innocentlyE20enoughE2eE20TheE20notebookE20didnE27tE20fitE20inE20myE20pocketE2cE20andE20myE20N93E20wasE20alreadyE20thereE2eE20ItE92sE20beenE20aE20greatE20coupleE20ofE20weeksE2cE20butE20IE92mE20gladE20toE20beE20backE2eE20NareshE20E2cE20ToteE20andE20E52onE20haveE20alreadyE20commentedE20onE20theE20ChampionE20E44ayE2eE20IE20echoE20theirE20thoughtsE20thatE20itE20isE20wonderfulE20toE20meetE20inE203E44E2dlandE20thoseE20peopleE20whoE20IE20workE20withE20andE20workE20forE2cE20butE20rarelyE20actuallyE20seeE2eE20Ea0E20AfterE2eE2eE2eE20E45ventE2cE20GeneralE20IE92veE20beenE20workingE20onE20myE20ToE44oE20listE20thisE20weekE2eE20WellE2cE20workingE20mightE20beE20aE20stretchE2eE20ItE92sE20beeE2eE2eE2eX qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZBlogContentQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ