Galileo Podcast Series: Pulsar and Mobile Tools for Java
|Length:||24:22 minutes (22.31 MB)||Downloads:||10057|
|Format:||MP3 Mono 44kHz 128Kbps (CBR)||Download:||Click to download|
About this podcast
In our penultimate episode of the Galileo podcast series, I talk to Christian Kurzke, part of the Pulsar committee and lead of the Mobile Tools for Java project, along with Gustavo de Paula, who is a developer on the Mobile Tools for Java project.
DZone: Could you both introduce yourselves to the listeners, please?
Christian Kurzke: Hi, this is Christian Kurzke. I'm the project lead for the Mobile Tools for Java project. In the Eclipse terms, it's the DSDP Mobile Tools for Java, MTJ. And I have been leading the project for a little over a year now. For my regular job I work at Motorola. I tools architect in our developer services organization. Yeah, I've been involved in or with Eclipse for four years now. Gustavo?
Gustavo: My name is Gustavo de Paula. I work as a developer on the Mobile Tools for Java project. I started work on the project with Christian, and this was at the beginning of last year. And I've been working with Eclipse, inside the foundation, since that time. My regular job, I work at CESAR, that's a Brazilian company that is a Motorola contractor. We've been working with Eclipse-related development for the past three or four years.
DZone: Could you describe that Pulsar actually is?
Kurzke: Pulsar itself is a working group inside the Eclipse Foundation. The idea behind Pulsar is that there is a lot of mobile companies, companies like Research in Motion, Nokia, or Motorola, who are using Eclipse as part of their toolkit offering. Those companies participate in different projects inside Eclipse. The intention of the Pulsar working group is to bring those mobile companies together, create a forum where companies can discuss topics that are relevant for mobile developers. Things like SDKs, which projects are particularly useful for mobile development.
The idea came because traditionally in Eclipse there has been a strong community of more enterprise focus, and recently also embedded focused working groups. But mobile industry, we got together about a year ago and we formed this initial Pulsar working group.
One of our goals for this year's big Eclipse release is to create a packaged downloadable IDE distribution specifically targeted for mobile developers. This will be the IDE Pulsar package which will be part of the Galileo download later this June.
DZone: With Pulsar, I guess, everything that I need to do my mobile development in one place?
Kurzke: Yes. This was a big problem for mobile developers who create applications targeting multiple mobile operating systems. If, for example, some developer wants to create an app that runs on Nokia phones, runs on Motorola phones, maybe on Blackberry phones, they had to go and download the Eclipse IDE and then they had to download different plugins like Mobile Tools for Java. And then on top of this, they had to go and find SDKs which plug into the IDEs. The SDK would contain the emulators and some additional tools, like debugging tools or any vendor-specific functionality.
With Pulsar, this is going to be much easier. People can download the Pulsar package from the Eclipse site and it will contain pre-configured links to the SDK, and it will contain all the necessary Eclipse plugins that are needed for the SDKs. So it is much easier to get started, and hopefully get developers up and running a lot quicker, and enable them to target a wide variety of devices.
DZone: The Mobile Tools for Java then is the main part of the Pulsar package, would that be correct?
Kurzke: Yes. Mobile Tools for Java has been around for a while. Over the last year it has matured so that it is really the preferred plugin for developers who create MIDP or in general mobile Java applications. Typically there was two different projects. There was Eclipse ME and there was MTJ. Over the last year, we have combined those. We have combined the developers on both those projects. It's the first time it is part of the official Eclipse release train. So this is really the best plugin for mobile developers targeting MIDlet development.
DZone: OK. Gustavo, what does the Mobile Tools for Java provide to Eclipse developers?
Gustavo: The Mobile Tools for Java project has inherited most of the features that were already available on Eclipse ME. And we added some quite interesting features. The basic development workflow is provided by MTJ. So the developer can get those SDKs that he downloaded from Nokia or Motorola and then port those SDKs into those IDEs, so the SDKs will be recognized by the IDE. Then we provide all the basic wizards that the user can use to create a new MIDlet and assign the project and everything else. We're also able to run the MIDlet and debug the application. This is done integrating with the SDK. We're also able to create the final deployable package. So we can really create a package and generate a final application that can be installed on the real device.
The basic functionalities are already provided, and we added several different new features like a signing feature, enable localization of the MIDlet, support different languages, and all of that.
DZone: And do you provide all different emulators within there?
Gustavo: Emulators, that's important. We don't actually provide the emulators, because the emulator is specific to each vendor. So Motorola provides the emulator, Nokia, Sony, Erickson, Samsung, LG. What MTJ does, is MTJ is like the glue between the SDK or the emulator and the Eclipse IDE. MTJ understands how to talk to the emulator, the emulator that Motorola, that Nokia or Samsung develop.
DZone: Right. And then how does MTJ relate to Java ME?
Gustavo: MTJ relates to Java ME because Java ME is the platform that is implemented on the devices. So Java ME is provided on the devices that are sold around the world. MIDP is the main the profile, is the main component that is available on those devices, and each manufacturer, they have their emulators that represent their devices. So Motorola has one emulator, Nokia has several emulators, LG - that represents those devices. And implement a Java ME stack. What MTJ does is that we have the wizards and the build environment that understands Java ME concepts, and then we can build applications according to the Java ME standards.
Kurzke: Maybe one thing to add to this, is what's different between Java ME development and traditional desktop development is that because phones are very limited devices, they have a small space for the runtime environment, vendors typically include subsets of the full available APIs. So MIDP specifies a superset of APIs. In the mobile space, they're known as JSRs. And vendors can choose to include some of those JSRs as they see fit with the device. So if, for example, a device has a GPS sensor it would include the APIs for the GPS sensor.
Now if a developer creates an application which runs on a wide variety of devices, they need to create the application in a way that it can function with or without some of those optional APIs. They also need to take into account things like different screen sizes, or some phones have a touch screen and some phones have a keyboard.
So in effect, it's very difficult to create a single application which targets all of those devices out in the market. MTJ helps this process by providing, for example, integration of a pre-compiler. So similar people would develop C-code applications, with MTJ it's possible to have pre-compiled directives in the code which are included or excluded in the final binary, depending on whether the phone supports the capabilities or not.
This is something where the MTJ environment works very well for developers and it helps to create more flexible and more compact executables.
DZone: I guess while we're talking about these types of things, we should mention JavaFX Mobile. Does Mobile Tools for Java plan to do some kind of support for JavaFX Mobile at some stage?
Kurzke: I have not looked into too much detail on what would be required. So maybe in the future we can look at more of the requirements. I don't have a current plan for that.
DZone: When I've been looking at what's been there for embedded development until now it's been ERCP and ESWT. Is that part of the Mobile Tools for Java?
Kurzke: Maybe Gustavo can explain a little bit more the technical aspects behind it, but just from an overview, ERCP and ESWT are runtime environments which are available on some of the newer phones. Those are similar but not really compatible with the existing Java ME or MIDP runtime environments. We do have as part of the Pulsar initiative an ERCP SDK, which can also be downloaded from the Eclipse Foundation, which plugs into the Pulsar distribution. Gustavo, if you want to maybe add some more on the technical side how this integrates.
Gustavo: Yes. What is important is that you have ERCP and ESWT. So usually a device that has ERCP, it has ESWT. But one device can have MIDP and ESWT. Nokia, for example, they released several devices with it. Since MTJ right now targets more MIDP development - that's the main platform that MTJ is addressing - we support those devices that have MIDP and ESWT. But right now if a developer wanted to develop one application to ERCP, he's just going to use the usual Eclipse PDE environment - the plugin development environment.
We are related to those two Eclipse projects, but right now we support ESWT. We're still discussing about how we would be able to add, or if it even makes sense to add like ERCP development on top of MTJ. Or if the user is just going to use PDE as they're using right now.
There are some issues in using PDE, but I don't know if it makes more sense to fix those issues on PDE or to add the support on the MTJ side.
DZone: So what are the future plans in both Pulsar, the working group, and in the Mobile Tools for Java?
Kurzke: To start with Pulsar, I think one of the big goals is now that we have targeted the mobile Java developers in the very first release, we just had Symbian Foundation also showing interest in the working group, and we're still hoping to attract a few more other players. We would like to expand the scope beyond just mobile Java as it is today, and maybe include support for native development, things like Symbion native development. We also have participation from Blackberry, who is currently looking at ways to integrate their Blackberry Rim development environment.
We hope that maybe by next year we can also have a better integration with the Google Android development environment. This is something where we need to, in the second half of the year, work on a roadmap. But that's the broad goals that I would have for the Pulsar working group.
As far as MTJ goes, we just graduated to the 1.0 release with the Galileo release. We have a very initial set of APIs that we expose. We want to extend the capabilities of MTJ and create more APIs, which makes it more flexible and more useful, not only for the developers who use MTJ and create mobile applications, but also making MTJ more flexible for companies who provide tooling, like Motorola and Nokia, or maybe Google. So that we make MTJ a very attractive platform to base mobile development tools on.
DZone: One thing that I've thought of with Pulsar is, it does mean that a lot of phones or phone manufacturers are starting to really take advantage for Java. There is definitely a market for some very Java-focused tools.
Kurzke: Yes. Traditionally, MIDP has been the most widely-adopted runtime platform on mobile devices. So nearly every phone shipping today has a runtime environment for Mobile Java. One of the bigger hurdles for developers is to create those applications, find the proper tools, and deal with the device-specific problems. Things like finding the right signing tools, finding the right deployment tools. So Pulsar is really helping developers create their applications more efficiently for a lot of devices.
DZone: Is there any reason that the Pulsar group lives in the Eclipse community as opposed to anywhere else?
Kurzke: Well, it started as companies coming together in the Eclipse Foundation, and the Eclipse Foundation is a very well-established open source community. It has a very good support for large companies like Motorola and Nokia to feel comfortable and get together as a sort of neutral meeting ground. It was much easier to get companies who are already familiar with the Eclipse Foundation, the rules of the Eclipse Foundation and the processes, to make those companies feel comfortable getting together in the working group, than if we tried to make an external entity for this purpose alone.
DZone: That makes sense. Does E4 have any impact on what you're doing?
Kurzke: Gustavo, this is something that you can maybe talk about too.
Gustavo: We started to study E4 a lot, but since we are really graduating MTJ, our main focus until now was today. So we want to work as much as we can to make sure that we're able to join the train. It was the first time that MTJ project joined the train, so we have a lot of requirements that we will need to fulfilled to be part of a Eclipse train, and we work a lot to accomplish that. Until this release, we weren't looking at E4 or how to join E4 or how MTJ can help E4, or how E4 can help MTJ. I think from now on, this will be a new focus that we will have from the next release on. Until now, the main focus was we have to join the train and we have to do everything right in order to be part of the train.
DZone: And what else are you looking forward to in the Galileo release train?
Kurzke: I think from the Pulsar side, it's very exciting to have a distribution. In the past there was mainly distribution focused for desktop developers or Eclipse developers or for enterprise developers. Now with the Galileo release, we will have a mobile developer-focused distribution. I think it makes it a lot easier for people to get started. The other thing is for MTJ, it's a very big step because in the past, there was two different projects: The Eclipse project, the MTJ project, and an external project, Eclipse ME.
It takes every developer a few steps to qualify one project or another, and both have advantages and disadvantages. The developer community was split between the two. Now, starting this year, there is one place where developers get mobile Eclipse tools, and we hopefully get both of the communities to join together and it will help the developers be more efficient because they use this one tool, and it will help us be more efficient in the development since we have twice the resources from the resource community.
DZone: Have you noticed any changes in the ecosystem this past year?
Kurzke: Well, I think the one change I've noticed is I've been in the Eclipse world for several years now, and I think with economy the way it is now, a lot of companies are looking very closely at their Eclipse participation and whether they should spend money on an open source project or not. So I think a lot of companies that were not committed to the Eclipse effort, and who did not have a business plan to make a profitable business on top of Eclipse, they have kind of reduced their engagement.
Where on the other side, companies that have the successful business on top of the Eclipse community and who take Eclipse and build value-add products, they have actually increased their engagement. We've seen companies like Nokia who, a couple of years ago, they left the Mobile Tools for Java project when they gave up Carbide for Java.
They've actually come back and realized the benefits of collaborating with other companies to reduce each of our own costs in investment in the product. It has reduced the number of participants in some ways, but the remaining participants are more committed than ever.
DZone: That's a good thing. The level of commitment is really encouraging. What are some of the most interesting uses of Eclipse that you've seen? It's interesting to get the mobile slant on this.
Kurzke: I think from the mobile world, most people use Eclipse as a tooling infrastructure. And like ourselves or Nokia, we build our own IDEs onto of Eclipse. In terms of the most interesting uses that I've actually seen is really when people start using Eclipse -- in core frameworks with some of the plugins -- to build their own applications, and not just IDEs. Looking outside the mobile space, I was very impressed, for example, by the financial industry. Where financial institutions have taken the core Eclipse framework, the OSGI layer and some of the basic UI framework on top of it, and have created a very powerful applications customized for their own needs, which really have not much in common with developer desktops.
But for me, the most impressive thing for me was seeing Eclipse evolve from being a toolkit for developers, to becoming a middleware on top of which large enterprises develop their own application.
DZone: It sounds like Pulsar is stepping in the right direction. I really look forward to seeing where it goes over the next few years. So best of luck with the rest of the development of it, and it was great talking to you both.