Sunday Oct 11, 2009

Device Selector Poll

Java ME SDK 3.0 was released half a year ago. During this time you have got a lot of experience with this product and we would be happy if you could share it with us. It helps us to improve the product to satisfy your needs. Today we would like to know your opinion about Device Selector.
<script type="text/javascript" charset="utf-8" src=""></script>
Thank you for your vote. If you want to share more experience about Device Selector with us use Comments, please.

Friday Oct 09, 2009

Usability Study

Last week was very interesting for us. We spent two days in usability lab observing how people use Java ME SDK 3.0 and we collected a lot of useful information from this usability study.

We could see four usability study participants every day. Some of them were professional developers, some of them students with different level of Java ME knowledge. It was a really edifying experience to observe people with varied Java ME skills using a product which they haven't had seen before. Each participant got one and half hour to finish three tasks. The tasks were designed to cover general product functionality as well as specialized features, e.g. sensor emulation. Java ME SDK engineering team did a lot of notes and we are also looking forward to results from the user experience team who organized the study for us. We should get the results next week but we have already started to think how to improve the product usability.

Do you want to know how the usability lab looks like? It consists of two rooms, darkened and well-lid, separated by two-way mirror. It allows people in the darkened room to see into the lighted room but not vice versa. I'm sure you know this kind of room from criminal movies. In our case the rooms are equipped better than on police stations and usability study participants feel there more pleasantly than suspects in police interrogation room. We are also much more friendly than police officers :-)

The participant sits alone in the lighted room and working on usability study tasks. Participants are asked to think aloud to allow observers in the next room to follow their mind. User experience team is recording participant's voice, face and desktop to be able to analyze their work-flow later.

We'd like to thank to all participants for attending Java ME SDK usability study and to user experience team for organizing this study. It was very inspiring for us. Thank you!

Following pictures show participant and observers rooms.

This is what really didn't happen during the usability study ... at least not during our study :-))

Wednesday Sep 02, 2009

A Window Into History

Today I'm not going to write anything serious and even anything related to the mobile development. As every working day I came to the office, started to read emails and found one with a link to A Tribute to Sun Microsystems web page. It moved me back in time. Before I joined Java ME SDK team I was a member of NetBeans engineering team, working on different parts of NetBeans IDE. I spent eight years working on this great product and from this time are also pictures which want to show you. Trip to one cold February day eight years ago starts here :-)

Looking out from the window it seems that autumn weather came to Prague. Winter will be here in a few months and hopefully there will be good conditions for another snowball batlle, this time between Java ME SDK and JavaFX teams :-)

PS: I'm throwing the snowballs from the farther terrace.

NetBeans Snow Battle

Monday Aug 24, 2009

What's going on with Mac version?

That's a question we have got a lot of times. It was answered here and in different forums, describing why it take some time to release Mac version so I'm not going to write the reasons again. Today I'm going to show you something behind the scene. We are running Scrum process while developing Java ME SDK. Next two pictures were taken at the end of our latest sprint.

The first pictures shows our office board with table of stories and their tasks. As you can see we finished all tasks.


The second picture is more interesting. It shows burndown chart, which is a is graphical representation of work left to do versus time. The green line represents the ideal burndown. You can see that our progress was under the ideal line. It means that we worked faster and finished our tasks sooner than we expected when planning the sprint. Especially in the beginning the progress was quite rapid so in the middle of the sprint we added a few extra stories and we achieved all of them.

Burn down chart

That's what is happening in our team and hopefully answers the title question. Java ME SDK for Mac is in progress and it goes well ... stay tuned – coming soon to a computer near you!

Tuesday Jul 21, 2009

NetBeans 6.7 and Java ME SDK 3.0

Three weeks ago has been released NetBeans 6.7. This release integrates Java ME SDK 3.0 so mobile developers can now use all advantages of NetBeans Mobility and Java ME SDK 3.0 together for their development.

For more information visit NetBeans 6.7 release information page.

Three months old today!

Today they are three months we started our team blog (and it is also my grandmother name day :-) ) Here is a map of you, our readers.

Map of visitors

Monday Jul 13, 2009

1 update found

Have you started Java ME SDK 3.0 and see a small icon in the bottom right corner?

Update Notification

It appeared there about a month ago and some of you maybe asked what it means. The icon notifies you about available updates for Java ME SDK. This is a new feature in 3.0 release and allows delivery of updates faster than regular releases.

It is very easy and simple to install new updates, just click on the icon and follow instructions.

This first update contains updates of BD-J libraries from HDcookbook project and a few small fixes in Blu-ray development support. During the updating process you can see a message that plugins are signed but not trusted. You can trust them. This issue is also solved in the update and if you install the update this warning will not appear again in the future for next updates.

Friday Jun 26, 2009

M3DD Latin America - the best conference I've ever been to

I'm back from Java Mobile, Media & Embedded Developer Days - Latin America (M3DDLA) and I'm still full of impressions from this conference.

M3DDLA was hosted by Senac University, Faculdade de Tecnologia in Goiânia, Brazil and organized by GoJava, Java community of Goiás (state of Brazil). Java has a very big and very active community in Brazil and I could see it at the conference. A lot of people interested in mobile Java technologies registered and came to M3DDLA. Each session had a big audience and there were a lot of questions at the end of each presentation. It was very nice to see Brazilian passion for Java. I can't help myself I have to say that it was the best conference which I've ever been to!

The success of M3DDLA would not be possible without a great organization. I want to say here once more 'thank you' to Murilo, Raphael, Roger, Terrence, Mauricio, Flavia, Filipe, Marcos, Leonardo and all other who I don't know by their name and who worked hard to prepare this excellent conference. Also thanks to everyone who came to visit it because without your audience M3DDLA would have never succeed!

My special thanks go to Jose Luiz Uzeda de Oliveira, manager of Address West Side Hotel Residence where all conference speakers stayed. He and his team did the best for us to feel there as at home and we really enjoyed it.

Four days in Goiânia wasn't just a conference. It was also learning about Brazil. Now I know much more about Brazil than I knew one week ago. Great part of this learning was tasting Brazilian food and drinks. I still remember the taste of tucunaré, feijoada, brunch, cupuaçu, Guaraná Antarctica, caipirinha :-), etc. I can't also forget the trip to Pirenópolis which our new friends organized for us. It was a really nice day ended by swimming under waterfall. It was my first time in Brazil and I hope not last time because this visit still comes back to my mind. Thank you Murilo, Heloisa, small cute Lara, Raphael, Alice, Filipe, Marcos, Leonardo, Igor for spending your free time with us and making our Brazilian experience!

Muito obrigado!

Tuesday Jun 23, 2009

Java ME wireless on-device debugging

There is a geeky alternative to the common on device debugging process. You usually take a cable, connect your device to the computer and wait until Active Sync connects your device and your computer. After it your device appears in the Device Selector in the GUI and in the emulator -Xquery command output.
There is an other (a bit unusual and untested ;) ) way, that requires no cable, no Active Sync. You just needs a Windows Mobile device that supports Wi-Fi and that a Wi-Fi enabled computer or a wireless router. Here is a simple HOWTO.
  1. Install a Java(TM) ME runtime on your device. You can find it in the on-device/winmobile-arm subdirectory of your Java ME SDK 3.0 installation directory. More info about this in the previous blogpost.
  2. Make sure that your computer is running and somehow accessible via Wi-Fi. There is no difference between plugging it into Wi-Fi enabled router and starting an ad-hoc network on the computer.
  3. Turn the WiFi on your device on, write down it's IP address. (This can be different for different vendors and models a good point to start your search is START -> Settings -> Connections -> WLAN Settings -> Connection Status. Otherwise you should check documentation shipped with your device.)
  4. Check, that the phone is accessible from the computer. Run ping <IP_OF_THE_DEVICE> or tracert <IP_OF_THE_DEVICE>.
  5. Run the Sun Java CLDC Emulator runtime, that you have installed on device.
  6. Go to the bin subdirectory of SDK installation. Run device-address.exe add ip <IP_OF_THE_DEVICE> command here.
  7. Wait a few seconds, check that emulator.exe -Xquery output contains a newly connected device. (Or run the GUI shipped with the SDK and have a look at the Device Selector)
  8. Now you are done, the device should work as any other device or emulator. You can for example run emulator.exe -Xdescriptor:../apps/FPDemo/dist/FPDemo.jad -Xdevice:<NAME_OF_THE_DEVICE_FROM_XQUERY> that installs an example midlet on the device. For debbuging you can use NetBeans Mobility or run emulator.exe -Xjam:install=<YOUR_JAD> -Xdevice:<NAME_OF_THE_DEVICE_FROM_XQUERY> -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=12345,suspend=n and connect any debugger to the port 12345

And some smaller tips at the end:

  • if you use a wireless router, you probably can configure it's DHCP server to provide all the time the same IP to your device. In such a situation, you don't need to run the device-address command every time. Your device is detected and connected every time, it appears in the wireless network.
  • it is possible to connect multiple phones to the computer at the same time. It is great for debugging on several different devices.

Monday Jun 15, 2009

M3DD Latin America

JavaOne is over and next Java conference is coming. This time in Goiânia, Brazil. I'd like to invite everybody who is interested in Java ME to Java Mobile, Media & Embedded Developer Days - Latin America. We will be there and will present Java ME SDK 3.0. Come to meet us and see what is new. For more information about the conference visit its home page.

Java Mobile, Media & Embedded Developer Days - Latin America
Goiânia, Goiás, Brazil
June 20, 2009
Senac Goiás Technology University Auditorium

A Closer Look at Java™ ME Platform SDK 3.0 presentation starts at 11:00am.

Sunday Jun 07, 2009

Prototype of Java ME SDK on Mac and Linux

If you have missed Java ONE, you can see a short screencast showing something, that Tomas presented: Java Platform Micro Edition Software Development Kit Prototype running on Mac OS X. (direct link to a HD .mov video, 22.8 MB, 3 minutes)

Java ME SDK prototype running on linux

Java ME SDK prototype running on Mac OS X

Friday May 29, 2009

Creating new emulator instances

Each emulator has 2 instances by default in Java ME SDK. For example DefaultCldcPhone has 2 instances DefaultCldcPhone1 and DefaultCldcPhone2. Developers ussualy don't need to run more than 2 instances simultaneously, but if it's necessary you can easily add new instances.

  1. go to toolkit-lib/process/device-manager/device-adapter/DefaultCldcPhone and copy file 2.bean into 3.bean, 4.bean etc.
  2. edit new bean to contain name of DefaultCldcPhone3 and link to
  3. go to toolkit-lib/process/device-manager/conf and copy into
  4. stop device-manager and remove <userhome>/javame-sdk/3.0/work
  5. start again device-manager
Now you should have more instance of the same emulator. 



Thursday May 28, 2009

JavaOne presentation getting ready

JavaOne starts in few days and we are getting ready our demos for java me sdk session on thursday June 4th 9.30 am. It is exciting and I hope it will be exciting for audience as well. This time we will concentrate on working with real handsets. How to deploy applications, do debugging or device profiling directly on the phone with (almost) only one mouse click. There will be also a small bonus for Mac and Linux users. 

Sunday May 24, 2009

VisualVM understands Java ME Profiler Snapshot

Java ME SDK 3.0 supports offline profiling. Data is collected during the emulation session. After you close the emulator a profiler data snapshot is written to a .prof file which you can load and view in the SDK.

Since last Friday it is possible to load and view Java ME SDK profiler file also in VisualVM 1.1. VisualVM is a tool to monitor and troubleshoot Java applications. For more information about VisualVM visit its homepage.

How to view Java ME SDK profiler file in VisualVM? It's easy. Everything you have to do is to install Java ME Profiler Snapshot Viewer module from VisualVM update center.

  1. Start VisualVM.
  2. Open Plugins manager from Tools->Plugins menu.

    Tools->Plugins menu

  3. In Available Plugins tab select Java ME Profiler Snapshot Viewer and click Install button.

    VisualVM Update Center

When the module is installed, new action Import Java ME SDK Snapshot... is added to the application File menu.

Import Java ME SDK Snapshot...

Java ME SDK profiler file can be opened and shown in VisualVM by this action. Default location of Java ME SDK profiler file is <user_home>/javame-sdk/3.0/work/<device_number>/

Tuesday May 05, 2009

PhoneME Feature MR4 plugin

We've made a plugin for phoneME developers which helps to integrate their custom builds into Java ME SDK. PhoneME plugin is available on sdk autoupdate. A short notice will popup automatically when sdk is started or go to Tools -> Plugins and look for Java ME SDK 3 binding to PhoneME MR4. Choose to install plugin if you are phoneME developer and you're building your own virtual machine (VM). The plugin itself doesn't contain phoneME VM it's expected that developer will install the one which he build himself. Instructions are provided with the plugin. Here they are summarized with some more details added:

First, install phoneME plugin from autoupdate. Two additional emulator instances named DefaultPhoneMEPhone1 and DefaultPhoneMEPhone2 will be created in sdk. They are bound to new runtime which can be found in SDK_INSTALL_DIR/runtimes/phoneME Although if you look there the runtime is almost empty. Emulator can't run with default phoneME runtime you will need to use latest phoneME Feature release MR4 and modify your build in order to use jmesdk-odt.jar library delivered in plugin. Following are instructions how to update your phoneME makefile:

  1. Add variable: SDK_INSTALL_DIR=<path-to-javame-sdk-install-dir>
  2. Set following switches for midp component: PRECOMPILED_ODD=true and ODD_JAR=$(SDK_INSTALL_DIR)/runtimes/phoneME/jmesdk-odt.jar
  3. Add install rule which will install phoneME runtime into sdk:  cp -r $(BUILD_OUTPUT_DIR)/midp/SDK/runtimes/cldc-hi/\* $(SDK_INSTALL_DIR)/runtimes/phoneME

Now phoneME emulator can be launched with your customized phoneME runtime. Congratulations ;) It can be used from a command line or from Java ME SDK User Interface (UI). If you use UI both phoneME emulators appear in the device selector under a node named Phone ME Feature. If you prefer a command line, a device name must be specified through an option: -Xdevice:

Here is an example:

emulator.exe -Xdescriptor:../apps/Demos/dist/Demos.jad -Xdevice:DefaultPhoneMEPhone1

Here is also basic troubleshooting:

  1. Stop device manager
  2. Delete work directory in Java ME SDK users directory <windows-userhome>/javame-sdk/3.0/work
  3. Start <javame_sdk_install_dir>/bin/device-manager.exe. New work directory will be recreated.

Java ME Platform SDK is a toolbox for developing mobile applications. Java ME SDK Download


« July 2016