Java Spotlight 20

[music]
Roger Brinkley: Welcome to the 20th edition of the Java Spotlight Podcast. I'm Roger Brinkley.
Terrence Barr: And I'm Terrence Barr.
Roger: And in this edition of this podcast will do a feature interview with Pete St. Pierre, who is a member of the Sun SPOT team, about the new release of the Sun SPOTs. Let's go directly into the news. So Alexis, we've got some pretty interesting news this week. Java EE7, the JSRs have been filed for that.
Alexis Moussine-Pouchkine: Well, yes Roger. We do have now a JSR number for Java EE7 and that is JSR 342, three-four-two. We actually have more than this. So this is the umbrella JSR and as part of that we already had JAX-RS 2.0 and JPA 2.1, filed and approved for... I mean ready for work. We have now this umbrella JSR, that's Java EE7. But we also have four other JSRs that have been filed. So that means that people are voting on those and the results should be in, in about a week, I guess.

And so the other four are, Java Servlets 3.1, The Expression Language 3.0, which actually is now a separate JSR. It used to be the finest part of the JSP expert group. We'll also have a JMS 2.0 JSR. And JMS hasn't seen evolution in a while, so this is, it's going to get some ease of development love which it hasn't gotten so far. And JSF, JavaServer Faces 2.2 has also been filed and will also be included in Java EE7.

So that's six Oracle led JSRs with the umbrella Java EE7 JSR. And we're also hearing from other vendors that have been traditionally leading other JSRs such as invalidation and CDI. That would be JBoss folks. They have plans to file an evolution to both of these.

And we're also looking into reviving the JSR 107 specification or work at least. That's the JCache JSR which should be also integrated as part of Java EE7.

And just to finish off on this, we're talking about a release for Java EE7 that would come out before Java SE8. And that means before the end of 2012.

So we're pretty much, you know, a year and a half away from a final release of Java EE7. And obviously Glassfish would be reference implementation for this and the version for that would be 4.0.

Lots of new stuff, obviously the main theme is Cloud and multi tenancy. I'm starting to see a lot of people excited about this, within the company obviously, but outside in the bigger, larger, service side Java echo system, I would say.

Roger: Now, when you're talking about the umbrella JSR and you talked about a couple of the other JSRs that are not run by Oracle. Is there a little bit of flexibility in allowing, if JBoss decides to come in and say, yeah. We want to update this JSR that's part of the umbrella JSR. Is there flexibility for them to put that update into that umbrella JSR?
Alexis: Yes there is. The umbrella JSR, we need to file and express what we want to do in this next major release of the platform. But, if we look back at Java EE6 and the way it went, we had inclusion in the main platform. Just six months before releasing we actually added new JSRs that had reached completion and that really made sense. So, you know, and they were new. So, updates to existing JSRs, I think there already planned for Java EE7. And we're specifically talking about CDI context and dependency injection as well as invalidation.

But, you know, if there was to be another one, obviously, it would be up to the expert group to consider this and nothing is locked at this point.

Roger: So, Terrence, let's turn our attention a little bit on a different side. Last week, you got to go to an embedded world in Nuremberg, Germany. So, why don't you just give us a quick update about what happened there.
Terrence: Exactly, yeah. Embedded World is the premier embedded conference and show in Europe. And they had a big turnout, you know, many thousands of attendees and I think something like 300 exhibitors. And it was a lot of traffic at the booth. Oracle had a fairly small booth but a lot of traffic. And you know, it was funny because many reactions of visitors were, oh Oracle and embedded. What are you guys doing in embedded, right?

And then, you know, you explain to them Suns history of being involved with Blu-Ray players and mobile devices and set top boxes and Java Card and so on. And then they go, oh yeah. OK, right, I get it. So, we were presenting information and products on Java C Embedded, Java ME, Java Card and also Berkeley DB.

In the embedded space, I don't know how many people understand how embedded development typically works. But, you know, you have target devices, you have target operating systems. You do a lot of native development and you have a proprietary tool chains.

And it's just very messy and not very scalable. It's very hard to build, complex, highly performance secure, you know, feature-rich embedded software systems. And more and more the value of embedded is driven by software, right.

And that's, of course, where Java and the Java platform comes in with, you know, platform independence, and very high-level functionality, a very productive language, a very good mature tool chain. And so, all these things really put Java at the top of the list for embedded development.

And so, we had, for example, I spoke to an engineer from a car company here in Europe. And they are talking about upgrading their vehicle control and entertainment systems with Java. Because in the past, they've done that in native and it's, you know, they want to move forward in terms of the, you know, future proofing their systems.

There are utility companies that are talking about delivering, you know, smart grid and smarter electricity delivery and monitoring to the homes and to industry.

We're talking to medical device manufacturers that want to develop applications and systems that are able to monitor the medical condition of a patient more closely. And automatically relay that back for analysis to the doctor, to create a better doctor-patient relationship.

I think there are plenty of opportunities, Oracle and embedded. And Oracle really is putting a focus on the embedded world now, in many ways. And I think we'll see, you know... We have a lot of leads and contacts to follow up on, and you'll see a lot more coming in the future.

Roger: So, let's turn our attention now to the events section. And in the events section, it is March and we are very full. Right now, QConn is going on. It's the ninth through the 11th in London. Future of Java Track is a great track there. I know Danny Coward is there speaking as well as some of the other evangelists.

And then on to tenth we have Web Apps with JAX-RS and JQuery Webcast.

Also on the 10th, in Indonesia, there is a Java workshop.

On March 12th, the Server Side and Java. Adam Messinger and Steve Harris will be doing the keynote and a variety of other speakers that we have there in sessions as well.

And then on the 17th, WebLogic Troubleshooting and Performance Tuning webcast.

March 17th, PCQuest, SparkIT 2010.

March 21st through the 24th, Eclipse Con, a variety of speakers there.

And then we have OTN developer days in Bangalore and Pune and Chennai in India on the 22nd 23rd and 24th.

And then if we jump over into April just a little bit, just to give a heads-up, OTN dev days will be in Reston Virginia.

And then also a big event, Moscow, Java One, on April 12th through the 13th.

So, lots of events coming up.

So, Terrence, you were talking about embedded. Let's do a feature interview this week. I had an opportunity to speak with Pete St. Pierre who is a member of the Sun SPOT development team and talking about the new Sun SPOT release that came out about three weeks ago.

So, we're here today with Pete St. Pierre who is a member of technical staff that's working on the Sun SPOTs and is working out of Oracle labs. So Pete, welcome to the program.

Pete St. Pierre: Thank you Roger, great to talk with you today.
Roger: You guys have just released a new version of Sun SPOTs. Tell me a little bit about this release.
Pete: We're both a software and a hardware project. And the hardware revision is a revision eight SPOT. On the other hand, the software continues to evolve but at a slightly different pace. And the software SDK which we have different color codes for during to development cycle, many of our users will have seen the yellow build over the last six-eight months. That has become the revision 6.0 release. One of the nice things is, you can be assured if you buy through the Oracle store, you are getting rev eight devices, because the rev six device was out of production before we made the transition.
Roger: OK. So, let's talk a little bit about rev eight. What's been the big changes?
Pete: With the revision eight SPOT, what we've done, we've bumped the processor speed so the main processor now is a 400 MHz ARM9. It runs about two and a quarter times faster. We still have our 802.15.4 radio. We have broken it out on a different SPI buss internally which has helped us improve performance quite a bit there.

The rest of the SPOT, we've carried over conceptually the same things. I believe there's now one fewer digital I/O pin and possibly one fewer analog pin, if I recall correctly. However, those pins have been now repurposed to provide easier access to some of the UART and USART support. So, it was a trade-off that we had to make.

We've added a new speaker that allows you to do some very basic audio output. It's a very, very, tiny Piezo speaker. We still have the eight tricolor LEDs. There is still a temperature sensor. However, the temperature sensor is now on the main board. I believe they're supposed to be the eDemo board.

We still have the two switches. We've revised the light sensor to be color sensitive, providing a little bit new functionality. And the accelerometer has been upgraded, so it now has four modes of operation. The old accelerometer was simply either a 2G or a 6G device, I believe. And now it's 2, four or 8G.

One of the things that I think is kind of the high point of the SPOTs platform, with the eDemo board that sits on top, we're still bringing out four digital I/O pins and four analog pins. So, you can hook up pretty much anything else depending on what your project needs.

Roger: So, tell me a little bit about the software changes.
Pete: So, we've made a very strong effort to make sure that the SDK that you download today, will run on both the rev six platforms and the rev eight platforms, assuming the device you have hasn't gone away. A lot of the interfaces, if they have evolved, we've managed to keep deprecated versions for compatibility. And when you download the demos that we provide, out-of-the-box they should work on either your older rev six SPOT or the new rev eight SPOTs.
Roger: OK. Now that's assuming that you were on the yellow build for the SDK, is that right?
Pete: Correct. Even though we are an experimental platform, we're all developers here. So, we know what it's like, that even when you're in a Beta release and an interface drastically changes, at the end of the day, you may fuck it up and say, "OK, well, I know this was a developer release." But, generally breaking interfaces is a pretty antisocial behavior, so we have gone through of lot of efforts to make sure as much as possible, even if you were on the 5.0 release which I believe that was our red release, you will probably still have access to deprecated interfaces at least to get through the transition.
Roger: So, yellow is backwards compatibility. Red is obviously not forwards compatibility.
Pete: Correct.
Roger: So what were some of the changes in the software?
Pete: So as I mentioned on the hardware side, we had done a little bit of re-design and re-purposing of pins, so there is now easier access to serial devices such as USB and the USART that are built into the Rev6 and Rev8 hardware. There have been changes and improvements to the deep sleep system. You can now actually register with the system so that you know ahead of time when the hardware wants to go to sleep. So, if you have threads that are running, you can either choose to override the deep sleep mode or do your own cleanup. We've added some slightly more generic interfaces above our existing sensor APIs. That way we now have common interfaces.

If you want to add, for example, your own instance of an accelerometer that may have a few extra methods, you can build that in such a way that they can still be compatible with the existing sensor APIs for, say example, direct accelerometer. But, through the Java classes, if you determine that you're actually running on a system that has a specific accelerometer, you can take advantage of those features.

Additionally, we used to have a concept of a master ISOLET. ISOLETs are a concept of running multiple Java MIDlets within a single VM. It used to be that when the first MIDlet started up, it became the master and had control of everything. That posed some interesting challenges, so we now allow you to run all of your ISOLETs as child ISOLETs. So, there is no longer this concept of the one master ISOLET that then has special behaviors that you have to be concerned about.

The hardware is an interesting platform and the key component to making this a very unique ecosystem. But, the software is really a lot of where the special sauce is. We have discussions within the group about what does it really mean to "Be a SPOT?" There's a physical device.

But, the software SDK, the ability to program it in Java, and a lot of the over-the-air commands that we've provided in the past and continue to provide allowing you to deploy applications to get information back from the device, those are really the software components that make a SPOT unique.

So, we've continued to evolve. Those are a little bit along with their integration into Solarium, which is the desktop application that allows you to graphically manage physical spots in the world through our base station that you can attach. Or also we've continued to evolve the virtual spot or the emulated spot, allowing people to do SPOT development even in places where you're currently unable to purchase a spot. Or if there are financial hurdles, even though we've managed to drop the price quite a bit, the software develop environment you can download and do a lot of prototyping, simulation, and emulation prior to actually deploying on real hardware.

Roger: Can they actually get Solarium without having to buy a SPOT?
Pete: Solarium is included in the software download, and anyone can go to Sun SPOTWorld.com and download the SDK. You do not have to have the physical hardware product in hand. But, one of the additional software features that we've added is we've now made the SPOT a first-class Internet device by adding native IPv6 support that runs over our 802.15.4 radio. And through connections with the base station, you can now address a SPOT device directly as an Internet accessible IPv6 device.
Roger: SPOTS are something that allow you to expand beyond the current hardware that you have. I've actually seen sometimes where you've taken one of the top covers off and made it a little bit bigger and done some stuff. So, what type of things have you guys tried with the SPOTS?
Pete: We've done gyroscopes, one of the interesting devices that really help if you're trying to do any kind of navigation and automation. We've done external temperature sensors. One of the things that we've noticed is you can get very inexpensive combination sensors that do temperature and humidity, which are very useful. It also means by having them external we can run them further away from the SPOT device, so you're actually sensing your environment as opposed to sensing the SPOT itself. We've done vibration sensors.

One of our more recent pushes - we're looking at alternate means of communication while the SPOT has on board an 802.15.4 radio, which is extremely useful for short-range communication. And by short I mean 100 meters outdoors. Indoors, well, anywhere from 30 to 60 meters, again depending on the construction of your walls. In our buildings, the firewalls are often kind of a challenge.

So, we've looked at other communication devices with our ability to talk to devices over a serial line. We've looked at things like GPRS telephone modems, satellite modems, longer-range communication that could make for interesting deployment options.

Roger: Let's talk about the price.
Pete: We've decided simple is good. Oracle has done a great job throughout the company with very, very focused product offerings. So, what we've managed to do with this kit is we now have a blanket 399 price. Ordering is easy through the web store. You don't have to worry about where you're coming from or special discounts. It's just a flat 399. You get the usual beautiful Sun SPOT kit in a nice box with two full Sun SPOTs including the demo boards, one base station, USB cable, and a CD which you can toss out and go download the current SDK.
Roger: OK, what countries is the Sun SPOTs available in right now?
Pete: To the best of my knowledge at this point anyone who can order through an Oracle store can purchase the Sun SPOTs, which is all of North America, the majority of Europe, a number of countries in Asia. And one of the places that we are still working on is Brazil. But previously, if the Oracle store had a presence online and the original Version Six Sun SPOT was for sale - which meant it passed all its national government clearances for radios and such - they should still be available to those countries.
Roger: Now, the real purpose of the Sun SPOT is really to be a prototype device. So, if somebody goes off and they make a prototype, and they want to go off and create a new gadget that uses some of the Sun SPOT, that's possible for them to do that?
Pete: Yes, that is possible. Both the Sun SPOT hardware and the Sun SPOT software are released under GPL Version Two licenses. As long as an individual is willing to meet their responsibilities under those licenses, they can ship any designs that they have created around the SPOT ecosystem. If there are concerns regarding that GPL Version Two license, Oracle does own all of the intellectual property that goes into both the hardware and software. We're happy to talk with individual developers about separate licenses that meet their needs.
Roger: Yeah, so it's actual under a dual-type of license. It would be available. Since we own all the GPL license, we can re-license it as something else then.
Pete: I'm not a lawyer, so I'm careful about that.
Roger: Yeah.
Pete: But my understanding from the lawyers, GPLv2 will fit most people's needs. But again, because we own all of the intellectual property we're certainly in a position to engage in those discussions to make sure that developers have terms that meet their needs.
Roger: And once again, the place that they can go to learn about the hardware is Sun SPOT World?
Pete: Our website is www.SunSPOTWorld.com. We have all of the information. There's a link from there to the Oracle store. Take you directly to the order page, and that's also the main place where our forums are. We have people registering. I see at least anywhere from three to ten registrations a day. So, as a community it seems to be pretty active reading the forums, contributing questions and answers, and generally moving things forward.
Roger: Sounds good, Pete. Thanks for your time.
Pete: My pleasure. Thank you very much, Roger.
Terrence: It's really good to see the Sun SPOT team move forward. We've been doing demos and talks based on Sun SPOT technology for years now. I remember, Roger, the demo you did with the golf club swing analyzer and the gloves with the accelerometers. So Sun SPOT is a just really cool platform. And because it's so highly integrated, there's a bunch of stuff you can do out of the box for your prototyping environment. Then as Pete mentioned you can go and turn that into a customized solution because the platform is open sourced. Now, with a faster processor, IPv6 support, and the price that's dropped significantly, I think this is really a great platform to go have another look at. In the past, if you thought, "OK, Sun SPOTs are too expensive for me" or "I can't get them in my country," all that's changed now. So go out and try it out. I'm certainly going to get the latest version and play with it.
Pete: So, let's turn now to the "What's cool?" section.
Roger: Yeah, I actually have something that's cool, and since Delabor's not here I'll talk about the GlassFish team hiring people. We're hiring people either in California - most likely Santa Clara - in the Prague development team in the Czech Republic, but also in India. And for any of those if you're interested or if you're really good, we'll hire you anywhere you are. But, if you're interested, just go to GlassFish.org and this big red button says, "We're hiring." So, we'd love to see your resume and have you join the team.
Terrance: I do have one. For "embedded world" last week, I threw together this demo quickly where I was installing a Java Runtime on a beetle board and then controlling some external microcontroller and some IO. And I threw that together really quickly, and it actually turned out really well. It ran really stable throughout the three days, and we got a lot of people asking, "What is this?" I could show them the code and we do some remote debugging on the beetle board. To embedded developers, that's really like heaven because embedded development typically is so much more painful.

So, what I'm going to do hopefully over the next couple weeks - the faster the better - is turn this into like an online session or a webcast or a how-to or something like that because there's obviously a lot of interest with this stuff. So, stay tuned.

[music]

Roger: Thanks for listening to the twentieth edition of the Java Spotlight Podcast. I'm Roger Brinkley.
Terrance: And I'm Terrance Barr.
Roger: And send your feedback to feedback@javaspotlight.org.


Transcript by CastingWords