Tuesday Aug 31, 2010

NetBeans Mobility at JavaOne and Oracle World 2010

This year we are going to show how to use Java ME Location API to build application to track and share current users position. During our HOL participants create a mobile application which uses the Java ME Location API to track a user's friends and display them on a map. Additionally, this mobile application allows the user to exchange status with friends and shows them on a map along with their photos and names. This HOL is aimed at developers who would like to learn how to bind application content with the current position of an application user.

Participants will learn:

  • How to use Java ME Location API
  • How to use maps web services in a Java ME application
  • How to use Java ME Generic Connection Framework
  • How to use visual tools to design the flow and UI of the application
  • This application can be used with Yahoo Maps (which we are going to use during HOL) or Google Maps (license restrictions).

    Details about HOL:

    Thursday: 3:30PM
    Where My Friends Are: Java ME Location API in Practice
    Stream(s): JAVAONE
    Track(s): Java ME and Mobile
    • S314126
    • [HOL]
    • Hilton San Francisco/Plaza A

    Tuesday Mar 30, 2010

    Netbeans Mobility 6.9 for MAC OS X

    Some time ago I blogged about Early Access of Java ME SDK 3.0 for Mac OS X (which is successor of Wireless Toolkit). Currently Java ME SDK 3.0 is stable and developers who use Mac OS X can use it with Netbeans 6.8. In this case it's necessary to separately download Netbeans 6.8, Java ME SDK 3.0 and use Netbeans Update Center to get rest of the Mobility plugins. In release 6.9 we are going to bundle Netbeans Mobility with Java ME SDK 3.0 and officially support Mac OS X as a platform for Java ME developers. If somebody would like to try Netbeans Mobility 6.9 for Mac OS X today then Development build (means not stable!) is available here:


    Note: There is a one major difference between Java ME SDK for Windows and Mac OS X - Mac version doesn't support Java ME CDC - only CLDC/MIDP. So if you'd like to write Java ME app for CDC you still have to use Windows.

    Wednesday Feb 24, 2010

    Microemulator Netbeans Mobility Support has been approved and published on Java.net

    + +

    Yesterday I received an email from Mobile & Embedded Community Governance Board that my project Microemulator Netbeans Mobility Support has been approved and published on Java.net. I'm moving all information about it from plugins.netbeans.org to java.net. New official home page of this project is: http://microemulatorplugin.dev.java.net. You can still download binary version of plugin from plugins.netbeans.org and search for "microemulator support" .

    Thursday Jan 21, 2010

    Kindle Development Kit is Java ME CDC based?

    It looks like Amazon going to release SDK for Kindle and it should be available for Windows, Linux and Mac. As far I know Kindle has implementation of Java ME CDC so hopefully this Kindle Development Kit is Java based. If this information is true and SDK uses Java platform I should be able to write some kind of plugin/spport which allows to use KDK with Netbeans Mobility. According to this web page we can expect beta release next month.

    Thursday Oct 29, 2009

    Java ME SDK 3.0 Early Access for MAC OSX available

    If someone would like to try Java ME SDK 3.0 Early Access for MAC OSX now it is possible. It's available here:


    Don't forget to test Netbeans Mobility 6.7/6.8 with new Java ME SDK for MAC OSX and let me know if it works with Snow Leopard.


    Lukas posted article how to download and install Java ME SDK for MAC using Netbeans update center (6.8 beta).


    Thanks Lukas!

    Wednesday Jun 17, 2009

    Java ME SDK 3.0 and NB Mobility 6.7 running on Mac OS X

    Few days ago I had a chance to play with Java ME SDK 3.0 for Mac OSX. I have to admit it looks very promising. It supports all JSR's I need and Mobility 6.7 recognizes SDK 3.0 "out of the box". I've tried few applications and everything works smooth. Actually I had to slightly change one of the classes in SVG Rich Components Framework but part from that everything seems to be OK. I'm not 100% sure about current availability of SDK for MAC OS X but I'm afraid we have to wait some time for some public release.

    Additional JSR's available in tested version:

    • Advanced Multilmedia Supplements API 1.0
    • File Connection and PIM Optional Package 1.0
    • J2ME Web Services 1.0
    • Mobile Media 1.1
    • SVG API 1.0

    Screen shoot: Netbeans Mobility 6.7 + Java ME SDK 3.0 - SVG based application running on touch screen device

    Screen shoot: Netbeans Java ME Project Properties with Java ME SDK 3.0 platform

    Update: Netbeans Mobility is not officially supported on Mac OS X but it works pretty well on this OS :)

    Monday May 04, 2009

    Netbeans Mobility at JavaOne 2009

    JavaOne 2009 Registration

    If you are going to visit JavaOne this year and you'd like to learn more about NetBeans Mobility and meet the Mobility team we are hosting two hands-on labs and one technical session:

    Technical Session

    TS-5117 - Touch Our Application! Building a Rich Touch-Enabled SVG UI for Java™ Platform, Micro Edition

    Speaker: Karol Harezlak (Me)

    Hands-on Lab

    LAB-5502 - Your First Mobile Game

    Speakers: Andrew Korostelev, Ivan Sidorkin

    LAB-5539 - Touch Your Application! Building Slick, Touch-Enabled UIs for Java™ Platform, Micro Edition

    Speakers: Brad Schmidt, Lukas Hasik, Karol Harezlak (Me again)

    Don't forget to visit the Mobility team in the NetBeans booth!

    See you there!

    Sunday Jan 18, 2009

    Developer.com Product of the Year 2009 - Netbeans Mobility CDC

    For the third time in row (if I'm not mistaken) Netbeans Mobility won Developer.com Product of the Year 2009 !! This year Mobility for CDC is the best product in category Wireless/Mobile and Netbeans IDE won Java Tool category! I hope we'll also reach finals in Developer.com Product of the Year 2010 :)

    Link to the page with full list of winners: Developer.com Awards 2009

    Tuesday Oct 21, 2008

    NetBeans 10th Birthday Greetings on Netbeans.TV!

    If you'd like to see how some of the members of Netbeans team look like play video below. Mobility team is represented by Brad (baseball cap and sun glasses, acting funny :D ) and me (white t-shirt). Video is about 6 minutes long.
    <script type="text/javascript" src="http://www.netbeans.tv/js/swfobject.js"></script> <script type="text/javascript"> </script>

    Thursday Oct 16, 2008

    Visual Databinding in Netbeans Mobility 6.5

    We just have reached code freeze in Netbeans organization, it means no more P3's bug fixes for this release. I think it's a good time to present next new feature of Netbeans Mobility 6.5 which is Visual Databinding. You should be familiar with idea of data binding but just to refresh your memory... - idea behind this technology is to "bind" any kind of data source (Data Base, Web Service, etc ...) to the data receiver which is very often UI elements. Basically it helps to create program which (for example) can automatically update state of UI based on changes in data source or/and vice versa. The Visual Designer in version 6.5 has ability to bind MIDP UI components with data source of any kind, it can be Web Service like in the example listed below or something else like UI component. It's very flexible. Screen below shows places in Visual Designer where you can find tools to help you create application using data binding technology.

    Major part of this feature is Mobility Databinding library as well new set of custom components: DataSet and IndexableDataSet (components in the Moblity Palette marks with red square in the screen shot). Those components are providing layer of communication between source and data receiver (MIDP UI). Most of the parameters are editable using Visual Designer through new Property Editors and Screen Designer.

    Binding is very easy, using property editor user chooses one of the available DataSets and provides basic information like Expression Language query. You can find more information about this feature in the specification also there is tutorial coming up soon. Another thing is to implement logic in the source code of DataSet or IndexableDataSet component. Particular implementation depends of the type of data source. One of the DataSets components in the Visual Designer has logic already implemented, name of this component is ComponentsDataSet. This component provides easy to implement communication between MIDP UI widgets and database of contacts on mobile device. If you want to try Visual Databinding use latest build of Netbeans 6.5 (with Mobility included).

    Example below shows weather status based on the City and Country. Both examples utilize public Weather Web Service. In this application DataSet component suites as a layer between Web Service client and MIDP UI. Web Service Client has been created using Mobility End to End technology. Author of those two examples is Andrei Chistiakov. Below you can see screenshot of this application running on Nokia S40.

    Currently Visual Designer doesn't support Visual Databinding for SVG Rich Components but I'm showing this as a example of the Rich SVG Components in action. In future releases we also add support for Visual Databinding to the Rich SVG Components.


    Download Global Weather with MIDP UI and Visual Databinding

    Download Global Weather with Rich SVG Components (no databinding)

    Thursday Oct 09, 2008

    Upgrade for Netbeans Mobility Microemulator Plugin - Solaris, Mac OS, Linux

    + +

    Finally I've had some time to take care of Microemulator Plugin Support. Previous version of this plugin does not work with the Netbeans Mobilty 6.5 and I've promised to fix it as soon as 6.5 is in the stable state. Unfortunately I was not able to do it until now because I was busy with new features and bug fixing for new NB release. New version of Microemulator plugin is not very well tested (yet) so please report problems on the home page of plugin (listed on the end of this entry). Information about plugin and Microemaultor below.

    List of technologies implemented in the Microemualtor 2.0.2 and what is supported (or not supported) by Netbeans Microemultor plugin 1.0.1:

    • Works with all wersion of Netbeans 6.x
    • Operation Systems supported: Solaris, Mac OSX and Linux
    • CLDC 1.0/1.1 (JSR 30/139) - no reported issues
    • MIDP 2.0 (JSR 118) - large parts of CustomItem are not implemented
    • Bluetooth API (JSR 82)-1.0 - requires lib/microemu-jsr-82.jar, this is stub API definition used only during compilation process, for runtime integration with BlueCove (http://code.google.com/p/bluecove/) is needed (in this version of plugin bluetooth is supported only during compilation)
    • FileConnection API (JSR 75)-1.0 - requires lib/microemu-jsr-75.jar and additional command line parameter: --impl org.microemu.cldc.file.FileSystem (in this version of plugin bluetooth is supported only during compilation)
    • Mobile Media API (JSR 135)-1.1 - requires lib/microemu-jsr-135.jar, this JSR is only partially implemented
    • Wireless Messaging API (JSR 120)-1.0 - requires lib/microemu-jsr-120.jar, this is stub API definition used only during compilation process
    • Nokia UI API-1.0 - requires lib/microemu-nokiaui.jar
    • Siemens API-1.0 - requires lib/microemu-siemensapi.jar
    • Location API (JSR 179) - possible integration with OpenLAPI (http://thinktankmaths.com/technologies/openlapi/)


    NB Microemulator plugin home page + tutorial how to use it: http://plugins.netbeans.org/

    search keyword: Microemulator

    Microemulator home page: http://www.microemu.org/

    Tuesday Oct 07, 2008

    New Nokia S60 Touch Enabled Emulator

    Few days ago Nokia has released new version of Symbian S60 emulator. It has many improvements but what is really important touch screen support is one of it. We should see first device from Nokia based on this OS soon (Nokia 5800) but before it is aviliable on the market everyone can try it by installing S60 Platform SDKs for Symbian OS. This platform has implementation of Java ME and it was really interesting to see how Nokia deals with touch enabled MIDP components. I have to say I'm positively surprised. All MIDP components are "touch-enabled" and what is very important easy to use. Also I really like Look and Feel of these components. I've made a few test and it looks like all components are big enough to operate them using fingers so no need for stylus :). First screenshoot shows MIDP UI in Landscape mode. All changeable/editable elements of this UI can be operate using touch screen.


    Second screenshot shows same UI in "normal" mode.

    Application based on Canvas in landscape mode.

    One annoying thing about this platforms is strange keypad in applications which use Canvas. I understand that most of the current Java ME apps based on canvas does not support touch screen but on the other hand it is very ugly and breaks composition of the UI. I hope it is possible to switch this keypad off somehow if support for touch screen is available in particular application. If you'd like to try this new cool platform with Netbeans Mobility all you have to do is to add it to the list of Java Platforms in Netbeans using "Tools > Java Platforms > Java ME MIDP" then point folder with installed S60 Platform SDK and you ready to go.

    More information about new S60 Symbian platform

    Thursday Oct 02, 2008

    Playing with SVG Rich Components in Netbeans Mobility 6.5

    This time I'd like to show new feature of Netbeans Mobility 6.5 - SVG Rich Components support. The SVG Rich Components simplifies process of creation of Java ME SVG user interfaces. First part of this support is the SVG Composer which is part of Netbeans Mobility 6.5. Using this tool users are able and drag and drop SVG Components from palette to the SVG image. It's similar to building Swing/AWT UI using Netbeans GUI Builder but instead of using Java Swing/AWT components developers using special SVG Components. Users can chose from predefined components available in the Palette in section "Form Components". Screenshot below shows SVG Composer with few SVG Rich Components already added to the form (SVG image).

    If you are interested in details of this technology you can find more information on netbeans wiki page:

    SVG Rich Components Support in Netbeans Mobility 6.5

    If you want to try this feature on your NB 6.5 installation - create new Java ME project then create SVG image (File > New > Other > SVG Image) and don't forget to "Unlock" SVG Image every time you are starting editing image in the SVG Composer (Right click on SVG image then click "Unlock" action).

    When SVG UI image is ready and saved, users can use it in the Visual Midlet applications. New custom component "SVG Form" in the Visual Mobile Designer acts as a container for SVG UI images (You can find it in "SVG Components" Palette section). Simplest way to add SVG UI image to the Visual Midlet is to drag and drop SVG UI image file on SVG Form component in the Flow view or Screen Designer (Screen view) of the Visual Mobile Designer. Jave source code and necessary components should be generated automatically right after SVG UI image is drooped on SVG Form component. Screenshot below shows Flow of the Jave ME application with SVG Components including SVG Form. You can download this application at the end of this entry.

    It is also possible to look up SVG UI image preview in the Visual Midlet Screen Designer.

    Finally two screen shots of SVG Rich Components application running on WTK 2.5.2 and Nokia S40.

    WTK 2.5.2

    Nokia S40

    You can download sample application here:

    SVG Rich Components Sample

    but you need to use recent build of Netbeans Mobility 6.5 to run it. Recommended version of Netbeans is "Java" because it contains GlassFish which is necessary to run this example.

    Download Dev build of Netbeans

    Saturday Sep 13, 2008

    Going To JavaZone in Oslo, Norway

    I and Lukas Hasik going to JavaZone conference in Norway next week. We have BOF (Birds of a Feather) session which ia about new Java ME SDK Early Access 3.0, new features in Netbeans Mobility 6.5 and other new technologies in Java Mobile world. So if you interested in any of this subjects come and see our lecture in room: Lab 4, timeslot: 17.09.08 19:30. You can find more details about it here:

    Future and Present of Java ME development – Netbeans Mobility IDE

    Homepage of JavaZome conference:

    JavaZone 2008

    See you there!

    Thursday Sep 11, 2008

    T-Mobile App Store including Java by the end of the year

    It looks like that T-Mobile going to open app store for mobile devices and what is important Java applications are on the list. The developers should be be able to set the price of the application and baseline for the developer’s initial cut is 50 percent (it may increase to 70 percent). T-Mobile will also help deal developers with device fragmentation by providing devices to test applications on and a virtual lab. According to T-Mobile this loaner program for the devices is free! (I think you need to cover S&H) Good job T-Mobile! I have to admin that because Apple App store things are changing for better in Java Mobile world. I'm looking forward to see this store online and waiting for other operators to follow T-Mobile. If your are interested in details look here:



    Stuff about Java ME, NetBeans Mobility, mobile devices and more...

    Karol Harezlak is the Netbeans Visual Mobile Designer lead at Sun Microsystems


    « May 2016