The Java Community Process (JCP) program applauds the community's Star Spec Leads.
These leaders earned this honor through their efficient, prompt, and transparent
communication with their Expert Group, the Program Management Office (PMO), and the
Executive Committee (EC). They used community web pages, observer aliases, and other
tools to communicate with their expert group, the JCP program community, and the public.
They kept their Java Specification Requests (JSRs) on schedule by making sure their team
stayed focused and felt appreciated. The JCP program congratulates and honors these Star
As Java ME Technology Development Manager for Motorola Mobile Devices, Mike Milikich is focused on Java Micro Edition (ME) standards, implementations, tools, and Technology Compatibility Kits (TCKs). He leads and manages teams in Chicago, Illinois; Austin, Texas; and Sunnyvale, California. For the last 15 years, he has designed software architectures for mobile and wireless devices, including pagers, Personal Digital Assistants (PDAs), cell phones, and even some devices that defy categorization. Before that, he worked on software development and architecture for the industrial controls industry, items such as programmable and numerical logic controllers.
Mike received both a master's in Computing and Information Sciences (1991) and a bachelor's in Computer Engineering (1983) from Case Western Reserve University. His master's thesis focused on the use of associative neural networks as a method of industrial control, replacing components such as proportional-integral-derivative (PID) closed-loop controllers.
First Taste of Java Technology
In 1995, Mike first began working with Java technology. At that time, Motorola was developing its first Java technology-based device, whose forerunner was a string of wireless PDA-type devices, including the Motorola Envoy. Most recently, Mike has been helping the Motorola Mobile Devices group develop Java ME strategy, standards, and open source solutions, as well as more specific Application Program Interface (API) reference implementations and conformance testing. In these projects, he has acted as an end user, developer, technical lead, and development manager.
In collaborating with Jim Van Peursem as a development manager for Motorola's MIDP2 device implementations, Mike began participating in 2001 in the JCP program. Since that time, he has served in various ways, including representing Motorola on the Java ME Executive Committee (EC) and contributing to the following JSRs:
Running a Super-Sized Expert Group
- JSR 37, Mobile Information Device Profile for the J2ME Platform (MIDP1) - Maintenance Lead
- JSR 118, MIDP2 - Maintenance Lead
- JSR 180, SIP API for J2ME - Expert
- JSR 248, Mobile Service Architecture (MSA) - Expert
- JSR 249, MSA Advanced - Expert
- JSR 253, Mobile Telephony API (MTA) - Expert, Maintenance Lead
- JSR 271, MIDP3 - Spec Lead
- JSR 304, Mobile Telephony API version 2 - Spec Lead
- JSR 307, Network Mobility and Mobile Data API - Spec Lead
Mike has faced some special challenges in his capacity as Spec Lead. For example, MIDP2 was such a popular technology that there was tremendous interest in enhancing the technology to meet the growing needs of the mobile devices community. The MIDP3 Expert Group took an inclusive approach to ensure broad representation from device manufacturers, operators and carriers, and content developers. As a result, the Expert Group included more than 120 participants, which makes the Expert Group tremendously rich in technical background but also much larger than normal.
Specialized processes and tools were needed to organize and communicate effectively, with an eye toward reaching consensus and maintaining transparency. Standard methods, such as using mailing lists for each major functional area of the spec, didn't work well for MIDP3. Mike says, "We needed a more structured collaboration home for the Expert Group, one that could be used to sort out the myriad new requirements and proposed changes."
Mike created a project at http://opensource.motorola.com/sf/projects/jsr271 to get the group organized for development work as well as for TCK distribution and certification. Online discussion forums for each functional area replaced the old mailing lists, and issues trackers and document repositories were incorporated. All of the JSR 271, MIDP3 spec sources in javadoc and html were made available online for any Expert Group member to edit and commit changes to based on group consensus. These tools helped distribute the immense workload and get many more individuals involved in directly editing the spec.
"My basic approach has been to be completely open and work to make sure there are no surprises in the Expert Group," says Mike. The MIDP3 Expert Group holds a teleconference nearly every week. All discussions, documents, issues, Wiki pages, and so forth are available to any Expert Group member. About every ten weeks, the Expert Group meets face to face. Some of the same techniques in managing the MIDP3 Expert Group have been applied to other JSR efforts as well, such as JSR 307.
To prevent the size of the group from impeding progress at in-person meetings, Expert Group member companies are divided into two groups. "Participants" have direct influence in the space, and they are given first shot at a seat in the meeting. "Reviewers," those without direct influence, sign up for the remaining open seats. This arrangement makes sure each topic gets attention from the industry segments it is intended to serve.
Handling the Schedule and Other Issues
The task of leading the MIDP3 team to consensus required laying out a roadmap that all could agree on. Next, the team decided who the spec was for. They developed use cases catering to each of those domains, then condensed those use cases into a list of requirements, eliminating redundancy and conflicts. Next, they developed a template for design proposals that could be used to cover a stated set of requirements. Finally, the designs were refined and incorporated into the spec. This process made it more likely that the MIDP3 spec would include only what was necessary to meet specific use cases, with no unjustified features.
When content issues come up that require Expert Group collaboration or additional work, Mike tries to respond immediately, even if that answer is simply, "I don't know; I'll look into it." Moreover, the question is directed toward a discussion forum so everyone can see the question and response. If a "domain expert" is better equipped to comment, Mike confirms they are monitoring the discussion forum, and if an answer or acknowledgement isn't posted within a couple of days, he contacts them directly to make sure they've seen the question. If the question is outside of the scope of the JSR, Mike refers the question to a more relevant entity, such as another Expert Group, or he'll point to his group's earlier decisions to explain why something wasn't included.
Mike asks group representatives from each company to gather and organize their comments into the appropriate issues tracker. Issues are "triaged" before each teleconference to determine which are simple fixes, and which require deliberation by the Expert Group. "For face-to-face meetings, we've developed a pattern of reviewing very large portions of the spec against the open issues that relate to it," says Mike. He confirms beforehand that the designer of the spec segment under review is available to discuss the contribution.
Mike pays attention to the PMO's cutoff dates for submission. "From past experience we've learned to communicate clearly and early when preparing a stage submittal," he says. This is essential for a spec that has as many components as MIDP3. He proactively lets the PMO know the group's scheduled milestone status.
Looking ahead to the future of Java ME, Mike sees the need for an open source code base. "Much of the promise of Java ME has yet to be realized because there are so many varied implementations of standard APIs. A single open source code base will allow the Java ME ecosystem to benefit from the economies of scale seen elsewhere in the open source world. A lot of effort is repeatedly expended to implement standard APIs that are expected to behave identically on many platforms; the proven absolute best way to do this is to actually share as much of the code as possible."
Mike has lived in several US cities, including Cleveland, Chicago, and Atlanta. He now makes his home in Round Rock, Texas, near Motorola's Austin Innovation Center. Most of his free time is spent with his wife Ginny and their two pre-teen kids. A big baseball fan, Mike volunteers as a baseball coach and tries to squeeze in as many Round Rock Express games as possible (AAA affiliate of the Houston Astros). He also enjoys cycling, running, and homebrewing, not necessarily in that order.
Go to the Star Spec Lead Program page for more information.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .