Welcome!

Java Authors: Liz McMillan, Walter H. Pinson, III, Maureen O'Gara, Yakov Werde, Tony Bishop

Related Topics: Java

Java: Article

Mobile & Embedded Community Fosters Greater Innovation

Get involved

The Mobile & Embedded Community acts as a gathering place for all things related to mobile and embedded Java technology. The front page of its Web site features daily news, blogs, and in-depth technical articles. Particularly popular is the Mobile & Embedded podcast (http://today.java.net/pub/ct/mobileandembedded), a weekly series that includes interviews and news bits on a variety of topics.

The Mobile & Embedded Community is founded on four principles characteristic of open source development:
  •   Transparency - Project participation is open to everyone who becomes a member of the community.
  •   Participation - People can work together to create and innovate for the betterment of the community.
  •   Compatibility - Existing standards align with the Java Community Process program and preserve the Java technology specifications.
  •   Engineering Excellence - Processes and guidelines facilitate the creation of high-quality, deployable solutions.

These principles are the basis of the Mobile & Embedded Community governance model and are designed to encourage participation in the community and help accelerate the development of next-generation technology. The Mobile & Embedded Community governance board maintains the health of the community by overseeing its affairs and facilitating the alignment of the operations of the community and its established principles and objectives. The board will ultimately consist of five members: two representatives from Sun, one non-Sun member appointed by Sun, and two elected from the community.

Developers can engage in the Mobile & Embedded Community by participating in discussion forums, joining mailing lists, creating new projects, and/or contributing fixes, and enhancing existing projects. The discussion forums include topics such as general Java ME interest, platform-specific discussions, application-level interest, cool Java ME applications, testing tools, and feedback for the community, as well as forums for active projects within the community. The mailing lists cover some of these same topics and announces new releases and other major project events.

Bringing Communities Together
The overall vision for the Mobile & Embedded Community is to bring communities together. By encouraging platform developers, device makers, operators, tools vendors, and application developers to interact around a common set of interests and code, we aim to enable these individuals and communities to talk, exchange ideas, remove barriers, and increase the rate of innovation in the mobile and embedded ecosystem. This is done not only by evolving and innovating within existing projects, but by expanding the focus of the community to include all the market segments that benefit from Java ME technology, as well as actively reaching out to other communities in the mobile and embedded space. We're seeing a lot of interest and requests for collaboration from different parts of the industry and are working on establishing and strengthening these relationships.

Core Community Projects
The following are some of the core projects around which the community is currently built.

phoneME Project
The Sun-sponsored phoneME project (https://phoneme.dev.java.net/) consists of two sub-projects: phoneME Feature and phoneME Advanced.

phoneME Feature software is an open source development effort addressing the market and technical requirements of feature phone devices. Most mobile phones in the world today (about 80%) are feature phones. Devices of this type typically include a high-resolution screen, multiple forms of messaging (SMS, MMS, IM, E-mail), basic 2D and 3D gaming, a camera, music player, Internet browser, and so on.

The objective of the phoneME Feature project is to expand the use of Java ME technology not only in the mid-range feature-phone handset market but also on small embedded non-phone platforms and related markets. Since its launch, the phoneME bundles (binaries and sources) have been downloaded approximately 10,000 times. All code development for this project is done through the public source code repository on java.net. Contributions from non-Sun community members are starting to flow in for bug fixes, as well as performance and footprint improvements.

The phoneME Feature software includes the latest milestone and in-development implementations of Connected Limited Device Configuration (CLDC) and the Mobile Information Device Profile (MIDP), as well as implementations for a number of optional package Java Specification Requests (JSRs) centered around the Mobile Services Architecture MSA 248.

The other development effort in the phoneME project is the phoneME Advanced project, an open source implementation addressing the technical needs of devices in the advanced segment of the market. Advanced mobile handsets often include powerful operating systems and hardware architectures that provide numerous opportunities for technical innovation and differentiation. Examples include high-end smartphones, set-top boxes, Blu-ray disc players, and other feature-rich embedded or mobile devices.

To use these capabilities properly, mobile handset OEMs are looking to the Connected Device Configuration (CDC). The CDC platform is well suited to leverage key advanced OS features such as memory management, process structures and isolation, dynamic linking, and multi-tasking. There's a lot of interest with phoneME Advanced because it contains Java Platform Standard Edition (Java SE) 1.4 features and is an ideal base on which to build rich and advanced functionality.

PhoneME is being used in many interesting ways. For example, several external community members are porting phoneME Advanced to the Nokia N770/N800 Internet tablets. These Linux-based devices are currently all the rage as developers use them for feature-rich, open, and configurable development platforms. PhoneME Advanced is also being used as the foundation technology in customizable consumer electronics devices and interactive TV platforms. PhoneME Feature, on the other hand, has been used to build Java ME emulation environments. Community members are experimenting with porting it to the Sony PlayStation Portable and the Apple iPod.

The Midpath Project is yet another example of using the phoneME code, this time in a separate project on java.net. By porting the CLDC and MIDP class libraries to Java SE's Hotspot VM, this project makes it easy to run applications aimed at phones on a PC. Why do this? Games, of course! This project is a great example of how, with open source, the community can quickly drive the platform in new, unexpected, and interesting directions.

ME Application Developers Project
The Sun-sponsored Mobile & Embedded (ME) Application Developers Project (https://meapplicationdevelopers.dev.java.net/) is dedicated to the business of application and content development on mobile Java platforms, which is critical to the further success of mobile Java technology. In particular, this project aims at the advanced and innovative application developer and cutting-edge users. These two groups are participating as community members to define and create innovative content, push the boundaries of the technology, provide unique feedback and ways to improve the technology, and are an indicator of how the technology needs to adapt to continue to be successful.

To that end, the ME Application Developers Project provides resources, tips, how-to guides, technical documentation, and a repository of sample code in several sub-projects. The ME Application Developer Project is among the most rapidly growing and expanding projects in the community today. Since its inception in May 2007, the code in the project has been accessed over 5,000 times.

Some of the recent sub-projects are:

Demo Box
Demo Box (https://meapplicationdevelopers.dev.java.net/) is a repository for the source code of demos that currently ship with the Sun Wireless Toolkit (WTK). This demo code is a comprehensive set of sample applications demonstrating the wide range of functionality available in current MSA 248-compliant mobile platforms. All demo code has been made available under the Berkeley Software Distribution (BSD) license to allow cut-and-paste reuse for a quick start to building your own Java ME applications.

Mobile Ajax
Web Services allow the rapid creation of powerful mashup applications and many popular Web Services are accessible via AJAX-style calls using JavaScript Object Notation (JSON) or XML data formats. The Mobile Ajax project (https://meapplicationdevelopers.dev.java.net/mobileajax.html) is a collection of libraries and sample applications that make creating rich applications using Web Services extremely easy. In fact, the sample applications themselves are full-featured applications of well-known Web Services such as Yahoo! Local Search, Flickr, and Twitter. All code is released under the BSD license to let you use it as building blocks for your own applications.

phoneME UI Labs
Rich user interfaces and graphics can significantly contribute to the success of an application and are a prerequisite for rich content. The phoneME UI Labs (https://meapplicationdevelopers.dev.java.net/phoneme_ui_labs.html) is a project that focuses on Scalable Vector Graphics (SVG) and JSR 226 (SVG API) bringing SVG content and graphics to the Java ME platform. Besides providing a comprehensive SVG and JSR 226 tutorial, the phoneME UI Labs project also contains a lot of sample code, including a full SVG-based mobile trip editor application with a very slick user interface. As with the sub-projects above, all code is released under the BSD license to make it extremely easy to reuse it for your own purposes.

The community of application developers is latching onto the ME Application Developers project.

Beyond the existing sub-projects, there are several new and exciting sub-projects currently in the works by non-Sun community members, such as a client-side framework to connect to back-end infrastructure based on Spring and a tutorial on professional Java ME game development.

Getting Involved
Developers are encouraged to participate in the Mobile & Embedded Community and can learn more by visiting http://community.java.net/mobileandembedded/. Developers already familiar with the community and looking to get more involved with it and the technology can do so by downloading, building, and running the code of the various projects, as well as by making improvements and contributions to the code base or documentation. By visiting http://mobileandembedded.dev.java.net/content/contribute.html, developers can learn more about how to submit contributions and the overall contribution process.

Java Mobile and Embedded Developer Days Conference
The Mobile & Embedded Community is excited about hosting the Java Mobile & Embedded Developer Days Conference on January 23-24, 2008 at the Sun Santa Clara Campus Auditorium in California. This conference is devoted solely to the technologies of mobile and embedded Java platforms and targeted at application developers of intermediate and advanced skill levels, platform developers, and technical personnel at tool vendors, OEMs, and carriers. Content areas are expected to include the traditional phone and PDA development on the Java ME platform as well as SunSPOT wireless sensors, Trackbot and Java robotics, and other small Java systems used in machinery and process control, but centered around Java, JavaME, and open source aspects of Java. And of course, there will be plenty of opportunities to meet and network with other community members and with experts from Sun and other Java ME vendors. For more information please visit http://developerdays.dev.java.net/.

More Stories By Terrence Barr

Terrence Barr is senior staff engineer at Sun Microsystems and technical evangelist of the Java Mobile and Embedded Community. He has 15+ years of industry experience with 10 of those years at Sun. He has been working on various aspects of Java ME for a number of years, is chairman of the EEMBC Java subcommittee, participates in the Open Mobile Alliance, and is co-author of JSR 246. You can check out his blog at: http://weblogs.java.net/blog/terrencebarr/

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.