Java Mobility From the Insiders -- An Interview With Terrence Barr and Tim Cramer
By edort on Dec 03, 2007
In my last blog entry, Mobility Day in Frankfurt -- A Big Hit, I mentioned that before Mobility Day started I had the opportunity to interview Terrence Barr and Tim Cramer. Terrence and Tim are two of Sun's key spokespersons regarding Java technologies and tools for mobile applications. So I thought their insights would be interesting. Here is a transcript of the interviews -- first with Terrence then with Tim:
Interview with Terrence Barr
Question: What do you do for Sun? What does your job entail?
Answer: My official title is Technical Evangelist of the Mobile & Embedded Community. I was quite involved with Java ME for quite some time. I have been involved leading up to the open source launch last year, November. I spent a lot of time working with the internal teams on some of the issues and processes that we had to go through to open source the code. So I worked on the governance model for the Mobile & Embedded Community. I worked on the Participation Handbook. And since the launch, I've been traveling the world regarding the Mobile & Embedded Community -- discussing the code that's there. Also I'm one of the project owners in the Community.
Question: We're here at Mobility Day and you're one of the leaders -- I know you're one of the key speakers. What would you like to have people get out of this? What's the main take away for attendees at Mobility Day?
Answer: To me it's really that Java ME is alive and kicking. There have been some discussions lately, James Gosling was incorrectly interpreted as having saying that Java ME is dead. Far from it. There's actually a lot of activity in the Mobile & Embedded Community. We have over 500 active and registered members and probably several hundred more that we don't know of because you don't have to register to download the code and to participate. We have had I think over 600,000 hits on our community pages since last year and we have over 80 projects right now. We started off with five, now we have over 80 projects. So it's a vibrant community. We're seeing a lot of good adoption. What we open sourced to the community is mainly the core pieces, the Phone ME code. Phone ME is the Java ME implementation that Sun in the past sold as a commercial product. And those Phone ME implementations basically are the two stacks that are current in the market today: the CDC stack and the CLDC and MIDP stack. So there are two more or less independent stacks and all the code is out there. People can actually download the code and build their own Java ME stacks and put them on devices.
And we're seeing a lot of that adoption happening. So for example there's a company called Bug Labs in New England here in the States who are building what they call a configurable consumer electronics product. So what that is is essentially a base platform with a bunch of modules and you can configure the hardware to morph it into a particular consumer electronics device, like a DVD player, or set top box, or other things. And they looked at the software -- what are we going to use for the software stack for that platform -- and they looked around and they realized that Java pretty much is the only alternative for such a platform. And then of course when Sun open sourced the Java ME implementations last year, they jumped on it and so for the last nine months they've been working with Phone ME Advanced, which is the CDC stack, which is a subset of Java SE, and they're actually starting to ship their product now based on a fully GPL'd stack based on Phone ME Advanced.
Another interesting project that we're seeing is a consortium in Italy that is building an interactive T.V. braodcasting platform. And they're using an end-to-end Java architecture. So there's Java on the back end to create and publish and deploy the content. And on the front end, on the client, they built a set top box which can play back the content. And the set top box, again, is based on Phone ME. So they're using the open source code. They're building an interactive T.V. platform on that.
And so we're seeing all sorts of adoption from all places in industry and it's really very encouraging and very exciting to see what people are doing now that the code is open source. You know stuff that Sun had never either considered or had the time to do or just didn't have the resources to do. People are jumping on it and playing around with it and doing a lot of exciting things. So that's what's going on. What I'm mainly trying to tell people about is that there's a lot of excitement in the Mobile & Embedded space since Java was open sourced.
Question: So there's the flip side of the coin. I mean clearly a lot of interesting things are going on in Java ME especially due to open sourcing. But Sun is promoting Java FX. How should people think about Java FX in terms of what we have today?
Answer: So I don't see Java FX at all as somehow trying relegate Java ME to second place or being in conflict or competing. What Java FX Script and Mobile really bring to the picture is another dimension of the technology solution. So if you look at FX Script, it's really a platform, a language and a platform, for developing rich media and graphically intensive applications. And it sits on top of standard Java. FX Script is still under development, but it will be avaiable both on the desktop as well as on embedded devices and mobile devices. It adds another layer of functionality on top of what exists today and allows people to develop content easier and that is much richer than what they can do today. But it doesn't really brake the paradigm at all.
Question: One last question because I know you need to get back -- for folks who aren't aware of these Community Days or Tech Days, what's it all about? Why do you feel it's important for people to attend these things?
Answer: Well I think there are a couple of reasons. If you look at the Embedded space, the Mobile & Embedded space, if you want to deploy to a wide variety of platforms and have a big market capture with your application or your product, then Java is really the only viable choice. And so sooner or later people will come to Java and start looking at Java as a possible solution for their products and their platforms. And then these Community Days and the Mobile & Embedded Community are an ideal way to get involved with the technology. The Mobile & Embedded Community, in particular, many of our engineers who've been working on this technology for years are listening in the forums or answering questions. You can talk to them about the code because the code is visible to all. So it's a very immediate relationship that you can establish with the engineers and you can achive your goals and get your code working much quicker than was the case in the past maybe or that is the case with other technologies that are not open source. So not only is Java the most prevalent technology, but coming to the open source community and looking at the open source code, you're also able to build your applications much quicker and more efficiently than you could with other technologies. So that's the key reason I think that you want to participate.
One thing I would like to add -- and this is not only about the Mobile & Embedded Community, but it's also Java ME in general -- we've had a number of requests in the past from developers saying "listen, I want to know more about Java ME. I have specific questions. But there is really no dedicated conference for Mobile & Embedded Java." And we looked at that and we realized that is true. Very often the conferences or the content is just attached to other conferences like JavaOne, for example. And so you can't really go into the depth that people really want. So what came out of this is that we decided to do our own conference in January -- the 23rd and 24th. It's called Java Mobile & Embedded Developer Days. It will be hosted at Sun's campus in Santa Clara California. We'd really like to encourage peole to sign up. It's very low cost. It's only $225. You can talk to the project owners, many of them will be there, to the experts. It's a networking event, so you can get to know people. We have a packed program -- 9 in the morning until midnight. So it's really an immersion in Java ME technology and the Mobile & Embedded Community. We realy encourage people to check it out and think about coming. The URL is developerdays.dev.java.net.
Interview with Tim Cramer
Question: Tim I know that you're one of Sun's leading voices in the Client Software Group and also the Mobility area. Can you talk a little bit about the role you play at Sun?
Answer: I'm the director in the Consumer Solutions Group in charge of Java FX Mobile, Java FX T.V., BlueRay, content delivery server, the user experience, and documentation and quality.
Question: We're here at Mobility Day and I know you're going to give the welcoming talk. What's your objective overall? What would you like people to take away from this event today?
Answer: First, I'd like people to understand the importance of Mobile globally. Because as more and more people get connected to the network and try to access network-based services, which is Sun's core business, they're going to do so more and more through more advanced phone technologies. Phones today are becoming little mini computers and what you can do with a phone today you could do with a PC about three or four years ago. But with the explosion of the Internet and the more services that are now being offered through the Internet, it makes it much more likely that people in Third World countries or developing nations -- or even here in the United States -- people are accessing more and more services through their phones and as these things become little computers, it's going to be much easier for people to be able to access the Net with these.
Ninety percent of phones today and ninety percent of desktops have Java on them already. So Java technology is very prevalant. And we are making sure that we focus on the traditional sort of horizontal feature phone. These are the phones that may only cost $30 to produce -- the ones you usually get for free when you get a subscription in the U.S. or the phones that are easier for people to purchase around the world. Those all are Java-enabled phones. We can offer more and more services through them. This drives Sun's core business, which is really all about driving the network and driving network infrastructure -- our forte. So that's why the client and especially the mobile client is extremely important to Sun -- because it's the way that most people are going to access these services and we want to make sure that we have a relevant version of Java on those clients.
Question: You mentioned that you have a responsibility for Java FX. Sun obviously has been trumpeting Java FX recently, but there seems to be confusion among some people as to the role Java FX plays vis a vis our current platform, Java ME. Could you talk a little bit about the relationship between the two?
Answer: I think there's some misinformation around Java FX in general. It is not a replacement for Java ME in any way. They're very complimentary to each other. Java ME is something that's is enabled today on 2 billion phones. And Java FX Mobile is something that's just emerging. Java FX Mobile is made for a mobile Internet computer, a mobile Internet device. It's a complete Java operating system. You'll have more of the SE type functionality that will be available on the handset. And it's made for sort of the mid-to-high range type phones, which account for only probably about 20% of the total market today. So as you can see, Java FX Mobile is a slice of that 20% of the market that there is today. Java ME has a very long use life ahead of it. Java FX Mobile will not go into these lower-end or introductory-type handsets just because of the amount of processing power that's necessary to make sure that you run it effectively. So these two are very complementary. We're trying to look forward to what's going to be happening in the next five-to-ten years in the world with people accessing services, and we realized that phones are getting smarter, the processing power is increasing, and battery life is getting better. So we're trying to take advantage of that fact, looking forward to make sure that we have Java FX Mobile enabled on these sort of higher class devices going forward.
Another important point about Java FX Mobile is that in today's mobile environment, Java is like a player. You can think of it like a component, a slice of what's available on the phone. In most phones you write applications using C or C++ or sometimes it's written into some native environment, for example, Series 40 from Nokia, or you may write just to a custom realtime operating system which exists on the phones. And Java is one of those pieces that we put on a Java ME-enabled phone. And then you write Java applications on top of that VM that is running on tha Java ME phone. The environment that you have with a Java ME type phone is called a midlet-based environment. This application pretty much takes over the whole screen of the phone and is able to access some of the services of the phone. It's not integrated, but it's an application that's running on top of it.
With Java FX Mobile, the big difference here is that it's a complete Java operating system. Every API that the developer or ISV sees when they're writing an application is a Java API. All of the native services that you would normally have on the phone are Java enabled. So, for example, if you want to get at advanced graphics engines, you will do that through a Java API. You will have access directly into the graphics hardware that's in the phone. If you want to access the telephony stack, you'll also do that through a Java API. These are things that you wouldn't necessarily be able to have on a Java ME-enabled device.
The other thing is that we're offering is a set of frameworks in Java FX Mobile such as a graphics framework, a telephone framework, a messaging framework, and a browser framework. These are all going to be common across FX-enabled devices. So when a developer writes a program, he always knows the interface that he has to use to access your contact list, to access instant messaging, and it enables us then to write instead of an application for Java FX Mobile, it's like a service. Let me give you an example because sometimes it's hard when we're talking in the abstract about it. If I wrote a MySpace application on a Java ME-enabled device (and those exist today), the application takes over the phone. Say for example, you want to take a picture and upload it to MySpace. You have to go through the MySpace program, browse your phone, look for the photos, and then upload your photo onto MySpace. In a Java FX-enabled device the MySpace service permeates all of the other services that are available on the phone. So when I'm just in camera mode and I take a picture, one of the menu options is upload to MySpace. I don't have to run a MySpace application. There is no application, it's just a service. When I go to my contact list and my address book, I'll see a little MySpace icon that's attached to every single name in my contact list that happens to be online right now. So it's not that you're running an application, but that service just permeates everything else on the phone. That's the difference between an FX Mobile application or service and what you have in ME today.
Question: One more question: for folks who aren't familiar with Community Day or Tech Days, could you just briefly talk about what goes on here? Why would it be of interest to somebody?
Answer: The main thrust of this conference is all about the developer. And that's an extremely important part of Sun's core business. We believe that volume drives business, which means that the more developers that we get accessing our tools and infrastructure, the more that will end up utilizing Sun's technology in their eventual deployment applications. We make sure that we have good implementations in our tools tied to our infrastructure software, such that we make it easy for developers to go ahead and deploy using Sun technology. But they can also choose other types of technology if they're so interested. For example, application servers. We certainly tie into Sun's application server, but we'll go into others like Oracle's or BEA's. We believe that developers will help create more deployments for Sun, especially Java infrastructure or for Solaris infrastructure, which is why we have Open Solaris here as well.
Really it's a place to find out from one of the innovation leaders, Sun, what's going on right now, especially at Sun, and throughout the rest of the industry with our partners that we have here, and get up to date with the latest technology. They can first find out about what exists today and where to go to get more information. There are going to be demos and examples during the conference. So it's a great place to find out about all of the different technologies such as Java ME, Solaris, and NetBeans. And we also concentrate on students with University Days because it's very important to get students involved in Sun technology so that they can make sure when they get there new jobs they know about Sun and what we're able to do. And the other important thing is to make sure that these developers understand that we have a road to deployment as well. There are many different ways to deploy on Sun technology including hardware and our software infrastructure.