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.

    Wednesday Nov 18, 2009

    How NASA going to use Netbeans Platform

    It's not Java ME/JavaFX related subject but I just saw cool article on Javalobby about how NASA going to use Netbeans Platform. Link below:

    NASA Adopts the NetBeans Platform

    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

    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!

    Saturday Jun 07, 2008

    Microemulator Support on Netbeans Plugin Portal

    Recently I was able to fix and update Microemulator Support plugin for Netbeans Mobility. It has new home page on the Netbeans Plugin Portal. Microemulator Support plugin supports three operation systems: Solaris(OpenSolaris), Mac OS and Linux. Plugin's page also contains tutorial how to use it with Netbeans Mobility 6.1.

    Netbeans Mobility Microemualtor Support

    Monday Jun 02, 2008

    NetBeans Mobility on Solaris

    Some time ago Sun released OpenSolaris. It is simply the x86 version of Solaris 10 made open source. It is available as Live CD with very cool installer (Similar to Ubuntu Linux). The Netbeans Mobility Pack was unusable on this OS because of lack of the Java ME SDK for this platform. Major problem with JavaME/MIDP emulators for Solaris was missing preverifiers. Most of the them are native applications which comes with Java ME platforms for Windows or Linux like Wireless Toolkit or MPowerPlayer for Mac OS X and they are not available for Solaris. Fortunately since version 4.0 ProGuard comes with preverifier. The ProGuard is set of tools 100% written in Java so it also runs on Solaris. I was able to combined ProGuard and Microemualtor and now it is possible to write, run and debug MIDP application on my favorite OS. This feature is not yet part of the Mobility 6.5 but most likely will be in the final version of incoming relase. If you are using Solaris x86 or Mac OS X and you'd like to try this new feature you can download "preview" version of plugins from Netbeans wiki page:

    Mobility Support for Solaris and Mac OSX

    Microemulator is available here:

    Microemulator project home page

    Micoremulator, Mobility and OpenSolaris in action:

    Monday May 12, 2008

    Overview of the Visual Designer Components

    In Netbeans Mobility 6 we have introduced new components like File Browser, SMS Composer or new SVG Components. They all well documented in the tutorials and documentation but I've noticed that MIDP related components don't have any overview or description in Mobility documentation (which could be a problem for less experienced Java ME developers). Thats why I've created simply overview of the Mobility Visual Designer components which is available here:

    Mobility Components Overview

    We also have few old (NetBeans Mobility 5.x) tutorials which are still valid for version 6. If you try to run examples from this tutorials please change Java ME platform from WTK 2.2 to WTK 2.5.2 and also screen shots show old version of Mobility but most important thing which is components API is unchanged.

    Wait Screen Component Tutorial

    Splash Screen Component Tutorial

    Table Item Component Tutorial


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

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


    « June 2016