Oracle's dislike of MIDP 3.0
Posted on Aug 31, 2010
One may quickly assume that it is because the world has moved on and Android is the future representative of the Java language on mobile phones. Hence the lack of attention from Oracle about MIDP. Although, it is true that the attention of the Java world is upon Android and not on MIDP. I believe the reason is not simply about lack of attention.
The licensing terms of MIDP3 is what really troubles Oracle. MIDP 3.0 TCK is licensed under Apache License (APL) v2.0, but there is a catch. In order to gain access to MIDP 3.0 TCK, a letter agreement must be signed and accepted by the JSR lead Aplix. So what is in this letter agreement? If you do not license and JSR TCKs yourself the terms of the agreement does not affect you at all and you get access to the TCK under APL terms for free. If you do license JSR TCKs, which is the case with Oracle, then a set of conditions apply. These conditions are listed by Brian Deuser (MIDP 3.0 specification lead) on the JSR 271 final vote as follows:
- No per unit royalties payments are required.
- No more restrictions (or less) will be offered to Aplix.
- Payment for each TCK shall not exceed $50,000/yr.
- No more than usual & customary terms for the TCK are given.
- No extra conditions are placed on an Independent Implementation by using the TCK outside the scope of the Specification License terms for Independent Implementations
These terms is mostly about Aplix trying to ensure a better deal for the TCKs licensed especially by Oracle. By just looking at the Oracle comments on the final approval ballot, you can see that Oracle strongly refuses the licensing terms of MIDP 3.0 TCK. As a result, Oracle, which controls the Java ME SDK and NetBeans IDE (which is open source right?), try to ignore MIDP 3.0.
Improved Opportunities for JavaME developers
Posted on Jun 24, 2010
On an earlier post, I had tried to explain the signing and testing criteria for JavaME applications on Nokia's Ovi store. In short, applications have two choices, the first one is to sign the application with a content signing certificate and submitting to Ovi store for testing. The second choice is submitting a Java Verified approved application which gets published without the Ovi store testing.
The first announcement of the week is about a cheaper and lighter testing for Java Verified approval. Applications that fulfill the new "Simple App" criteria can get approved for as little 75 euros. I think this is a wonderful step from Java Verified, kudos to them. As far as I can see from the tone of the FAQ and announcements, Java Verified is working on different angles to ease the approval process. Although, I am pleased with the steps that Java Verified is taking, I am not fully satisfied. I think the definition of "Simple App" should be more precise. For example the definition could just list a set of JavaME permissions that does not require full testing.
The second announcement came from Ovi store, Ovi store started accepting individuals as publishers. Earlier developers had to be associated with a company to become a publisher. This will make it much more convenient for individual developers and hobbyists to introduce the long tail applications that seems to be missing from Ovi store at this time.
The costs for getting a simple app to the store is still not within the range I would like to see. Good news is this fact is well understood by the Ovi store people as well. The steps to reduce the costs for Symbian and Qt apps are already in place. JavaME though presents complex challenge with all different parties involved that will take more time to resolve.
A Numberic Retrospective of Pulsar Galielo release
Posted on Jun 19, 2010
If you are not familiar with the download statistics of Eclipse, these numbers represent the downloads that went through the Eclipse.org infrastructure. That means, if you have downloaded Pulsar directly from a mirror site without the mirror redirection from eclipse.org, your download is not counted in these numbers. Unfortunately, these numbers do not include the p2 installs and updates either, because Pulsar did not enable p2 download statistics on Galileo release. This is something we are fixing on Helios.
Here is some notes about the Pulsar. Eclipse's mobile development packaging is called Pulsar. On Galielo release it provided mainly the tools for MIDP development. So it is safe to assume that these download numbers reflect mostly an audience of MIDP developers. Eclipse Mobile Tools for Java (MTJ) is the project that produces the development tools for JavaME development. Although the main distribution of MTJ is through Pulsar, MTJ also produces downloads that are independent from Pulsar. The downloads for MTJ’s direct downloads are not part of this report and the MTJ 1.0.1 release did receive an additional download of 18927 to date.
As you can see from the above numbers win32 is by far the most popular development platform for Pulsar. It is probably even more so than other Eclipse packages because the platforms supported by the mobile emulators are still limited. Also you will notice a drop on the number of downloads between SR1 and SR2 release. I guess, without any evidence, this is because many of the SR1 users updated through P2.
A look at the top 10 countries for the downloads reveals that a huge majority of the Pulsar users are from China. I was expecting to see China as the top country but the gap between China and other countries really surprised me.
The overall numbers indicate that despite all the excitement around the Android, iPhone application development, MIDP still has one of the largest mobile developer community on earth.
Pulsar's first year reach performance seems to be quite satisfactory. I expect a slightly better reach with the Helios release because Pulsar is better known by developers this year. I do not expect a big jump though because Pulsar does not yet provide a well integrated solution for mobile development other than MIDP.
No OSGi on your phone
Posted on May 28, 2010
OSGi was initially created for mobile and embedded world. I think it is the dream of an every OSGi geek dream to develop applications. for a cool OSGi engine that is bolted together with the operating system of your phone. An OSGi phone that would provide access to everything your phone can do together with all the goodness that comes from OSGi. A dream phone that would allow you to bring in your OSGi service that integrates with your cloud service, over the air when declared as dependency. Although, OSGI had a few attempts to really break into mobile phone world it is unfortunate that OSGi phone will remain a dreams for foreseeable future.
Nokia did work on an OSGi based Java environment for Symbian phones. Nokia even went to the trouble to create a JSR for it. It established a pretty ambitious R&D program around OSGi. It was actually these ambitious goals that eventually caused it to fail. The R&D program was ambitious because it not only promised to provide OSGi but it also tried to get Midlets to work together with the OSGi engine. However, OSGi aware midlets model especially the MIDP security did not fit to OSGi and the R&D effort was never able to deliver a solution that was acceptable. In my personal opinion the main flaw was on the effort was treating OSGi as another runtime on the device rather than the main engine.
Most of the effort did not get wasted on Nokia's effort though. On the older MIDP environment all the pieces of the Java environment (all JSR implementation etc..) was compiled into a single binary together with the VM and was loaded together with it. OSGi model required a flexible architecture so almost all the pieces of the Java environment was re-designed for it so that they would be separate libraries consisting of a jar and possibly a native dll. These pieces are compiled separately and are loaded on demand by VM. This architecture later converted into MIDP environment as well. The Java environment of S60 3.2 and later devices and the Java environment currently available as part of the Open source Symbian foundation code carries this architecture. A few advanced APIs such as eSWT was also created in this era.
A second opportunity was when Google started working on Android. The goals of the Android was almost a perfect match with OSGi. And this time OSGi would be the engine that runs all the services and applications of the phone which lacked on the earlier Nokia attempt. It is also known that there were members of the Android team who did know well about OSGi. It is hard to know as an outsider what really went but Android did not use OSGi and build its own version of concepts to provide similar functionality.
Although there were later attempts like the Sprint Titan platform to bring OSGi to mobile phones, they also failed when the smartphone market changed rapidly to different directions. Unfortunately, in the current climate it looks very unlikely that anyone will bother to spend the time and energy to make OSGi part of mobile phones.
Mobile phone is the new browser
Posted on May 19, 2010
Internet, on the other hand, did not remain constant, continued to be part of our work and leisure life. When we moved into the cloud computing era, a mindset change of how we think about computing also accompanied it. Our interaction with Internet evolved to be two way, creating content, taking part in the social networks became the normal interaction. Using cloud services for all sorts of computing needs started to be the primary choice.
The new Internet experience and cloud services, to enable their full potential, require a new browser. A browser that is not made only for consuming content but also for creating it. One that can be an almost natural part of our daily life. Our current browsers do provide a limited way to participate on the web mostly in a textual manner, It is a better than nothing interim solution. They fail completely on becoming a natural part of our life. I believe, the new browser is the mobile phone, and I do not mean just the mobile browser that comes with your phone.
I think it is easier to understand why we need a new tool for easier content creation. Active contribution has been central to Web 2.0, the concept that has been shaping the web for the last decade. We are at a point, that we expect to be able to contribute to web applications that we use. Most mobile phones already include great content creation tools on board. Camera, video, GPS capabilities already provides opportunities for content creation. Web sites like CNN's iReport do benefit from these capabilities. A quick visit to Flickr's camera finder reveals that at least one of the top five cameras on the Flickr community is a cameraphone. GPS is also another mobile phone built-in feature that is having an impact on content creation. Panaromio, is a good example of how geotagging the content, in this case photos, innovates what can be considered a legacy content. An excellent example of how mobile phones can serve our needs for content creation in new and innovative ways is the Ocarina app. for iPhone. An application that allows you to create music using the sensors of the phone and then share your creation. Applications like Ocarina is a precursor of how our new browser can innovate our latest addiction.
Of course, a mobile phone because it is mobile and with us all the time is already part of our life. However, its communication capabilities is what makes mobile phones eligible to be the browser of our life. Broadband 3G and WLAN is crucial for communicating with the cloud services. Besides its various built-in sensors, its further communication technologies, such as bluetooth and NFC, allows mobile phones to act as a gateway for all kinds of remote sensors. What do I really mean by browsing your life and how it relates to sensors, let me try to explain by some examples. An already widely used example of such applications is the Nike+ products where the data collected by sensors during sports activity is uploaded to a service using a mobile device, in this case iPod. Another similar service that I enjoy using is the sports tracker, where data is collected for outdoor sports through GPS and optionally a heart rate monitor by a mobile phone and uploaded to a cloud service. This technology can easily stretch beyond sports. Another product that consists of a wearable monitor for collecting medical information such as the hearth rate, respiration, body fluid status already exist. The product uses its own separate transmitter to transfer the collected data to the web service for further processing. I think, in the future, this transmitter will be replaced by a mobile phone software and which in turn will make the service more affordable and common. I believe what we see today are just the beginning of the kind of services that will be built around the life browsing capabilities of mobile phones.
I hope this gives another perspective on why the traditional consumer electronics companies are less relevant to mobile phone market. Mobile phones are not about consumer electronics anymore it is about the next and possibly the final round of browser wars.





