By speakjava on Oct 04, 2013
Firstly thanks to Yoshio Terada for the photos, I didn't bother bringing a camera with me so it's good to have some pictures to add to the words.
Things kicked off full-throttle on Sunday. We had the Java Champions and JUG leaders breakfast, which was a great way to meet up with a lot of familiar faces and start talking all things Java. At midday the show really started with the Strategy and Technical Keynotes. This was always going to be tougher job than some years because there was no big shiny ball to reveal to the audience. With the Java EE 7 spec being finalised a few months ago and Java SE 8, Java ME 8 and JDK8 not due until the start of next year there was not going to be any big announcement. I thought both keynotes worked really well each focusing on the things most important to Java developers:
StrategyOne of the things that is becoming more and more prominent in many companies marketing is the Internet of Things (IoT). We've moved from the conventional desktop/laptop environment to much more mobile connected computing with smart phones and tablets. The next wave of the internet is not just billions of people connected, but 10s or 100s of billions of devices connected to the network, all generating data and providing much more precise control of almost any process you can imagine. This ties into the ideas of Big Data and Cloud Computing, but implementation is certainly not without its challenges. As Peter Utzschneider explained it's about three Vs: Volume, Velocity and Value. All these devices will create huge volumes of data at very high speed; to avoid being overloaded these devices will need some sort of processing capabilities that can filter the useful data from the redundant. The raw data then needs to be turned into useful information that has value. To make this happen will require applications on devices, at gateways and on the back-end servers, all very tightly integrated. This is where Java plays a pivotal role, write once, run everywhere becomes essential, having nine million developers fluent in the language makes it the defacto lingua franca of IoT. There will be lots more information on how this will become a reality, so watch this space.
TechnicalHow do we make the IoT a reality, technically? Using the game of chess Mark Reinhold, with the help of people like John Ceccarelli, Jasper Potts and Richard Bair, showed what you could do. Using Java EE on the back end, Java SE and JavaFX on the desktop and Java ME Embedded and JavaFX on devices they showed a complete end-to-end demo. This was really impressive, using 3D features from JavaFX 8 (that's included with JDK8) to make a 3D animated Duke chess board. Jasper also unveiled the "DukePad" a home made tablet using a Raspberry Pi, touch screen and accelerometer. Although the Raspberry Pi doesn't have earth shattering CPU performance (about the same level as a mid 1990s Pentium), it does have really quite good GPU performance so the GUI works really well. The plans are all open sourced and available here. One small, but very significant announcement was that Java SE will now be included with the NOOB and Raspbian Linux distros provided by the Raspberry Pi foundation (these can be found here). No more hassle having to download and install the JDK after you've flashed your SD card OS image. The finale was the Raspberry Pi powered chess playing robot. Really very, very cool. I talked to Jasper about this and he told me each of the chess pieces had been 3D printed and then he had to use acetone to give them a glossy finish (not sure what his wife thought of him spending hours in the kitchen in a gas mask!) The way the robot arm worked was very impressive as it did not have any positioning data (like a potentiometer connected to each motor), but relied purely on carefully calibrated timings to get the arm to the right place. Having done things like this myself in the past I know how easy it is to find a small error gets magnified into very big mistakes.
Here's some pictures from the keynote:
The queue to get in. Back at the Moscone for the keynote this year, which was nice.
The "Dukepad" architecture
Nice clear perspex case so you can see the innards.
The very nice 3D chess set. Maya's obviously a great tool.
The robotic chess player.
After the keynotes it was sessions, hands on labs, BoFs and parties for the next four days. Here's a few highlights:
- Anything Lambda related was packed. Good to see that there's lots of interest and people are really keen to use this great new feature. For me, the real power is in the changes to the libraries that use the Stream and related classes. I helped run the Lambda programming Hands on Lab. If you're interested Stuart Marks has posted the materials on his blog.
- My session on the Raspberry
Pi JavaFX Carputer went really well. Since I couldn't bring
my car with me I'd made a short video of the system in action. It
was one of those rare occasions when I new that my demo would
work! I also managed to get my simulator working while I was at
JavaOne so was able to show data recorded from a real run being played
back on my device. There will be more blog entries to follow on
- My other session was on JavaFX with the Leap Motion controller. Thankfully for this I had the expert help of Gerrit Grunwald, Johan Voss and José Pereda who came with some great demos to complement my rather basic ones. During the week I was lucky enough to go and visit Leap Motion, who are based in San Francisco and talk about some of the great stuff they're doing to make the controller even better.
- The Java leaders visit to the baseball game was fun (unless you're a Giants fan). Not totally convinced about baseball, but then compared to cricket, it's actually quite a fast paced game.
- I didn't go to the appreciation event this year on Treasure Island. The idea of queuing for a bus for an hour to get a free burger and beer and listen to Maroon 5 was less appealing than a quiet dinner with my colleagues (and a bit of a break from the non-stop Java action).
By far the best part of the keynote was where my good friend Arun Gupta's son, Aditya, got up on stage and showed over 1500 people how to hack Minecraft. As a presenter he was flawless, he seemed confident, his demos worked and he presented the concepts clearly and with great demos. Hard enough for a seasoned presenter, but consider that Aditya is only TEN YEARS OLD! There's no way I could have done that at his age. He deserves major respect for this, which is probably why he got a standing ovation when he finished.
You can watch the video of his performance here.
So that was JavaOne 2013. Another great event and it will be even harder to top that next year. One challenge I have taken away from this is that my son, Dylan, is only 7 years old. I have less than three years to get him on stage talking about Java during the keynote at JavaOne!