JavaOne: Toys are Us!
By seapegasus on Jun 05, 2009
And now the JavaOne session everybody has been waiting for: James Gosling's Toy Show! Here a short rundown of the coolest tech demos we saw this morning:
Angela Caicedo and Simon Ritter are back, and this time they hacked a standard household wiimote. Simon brought a small white board and attached a few markers. He used an JavaFX app to triangulate the position of the markers with data from the wiimote IR sensors. He then projected a perspectively distorted image of a playing card onto the surface, and the image stayed in place even if he moved.
When he turned the board around, the app detected the motion and projected the backside of the playing card. :) It also supported more "motion sensor"-like features like shuffling to flip to a different card. To prove that there is no hidden magic in the board, he replaced the board with an opened white umbrella (again with markers) and projected an image of planet earth.
Continuing the them of "JavaFX is for all screens of your live", Angela presented her approach to a wiimote hack: Similar to her demo from last year she relied on a Minority Report-like glove with IR markers. As apposed to Simon, she can turn any white surface (such as a wall) into a "touch screen". In her demo she projected a canvas and a color palette, and move her finger in the air to paint lines and mix colors . She could reusue existing JavaFX features to animate a ball icon rolling along the drawn line--until the line ended and the ball dropped off the canvas. :)
Next Tor Norbye demoed his new JavaFX designer tool: He placed an object node onto the canvas and recorded 3 different keyframes, then he let JavaFX interpolate the animation. The end result had the textnode swing in and bounce off the floor to its intended position.
Tor also demoed a very userfriendly interface for binding components to values: You drag a line from one component to the other, and a menu of possible target values shows up that would make sense to bind. To give you an example: You may want to bind slider's left/right side to the video's start/end position, and a toggle button to the play/pause action. of course you can do that with all components and all properties (opacity, translation, color, rotation...). His tool allows you to save visual content for mobile and PC screens (and soon also TV).
We also learned of PlaySIM, a simulated SIM card (JavaCard) on a Sun SPOT. It allows you to set debugger breakpoints in live SIM card code. In the demo they used one Sun SPOT's motion sensor to trigger the menu of a phone (which was attached via a 2nd SPOT). check out playsim.dev.java.net for more details.
The FIRST robotics league brought one of their robots from this year's lunacy game: Robots throw balls and catch them in baskets. There are different periods in the game, e.g. one with human remote control, and one with autonomous robot control. The finals were very popular and filled the Georgia Super Dome. :) The robot on stage sucessfully collects balls, but then proceeded to throw them at James Gosling... Today's news is that from this year on (?) the students will be able to program robots in Java too (including on-device debugging), not only C/C++ (if I got that right).
The big highlight for the NetBeans Community was Sven Reimer's NetBeans platform-based application: A controller used in satellite ground stations. Gosling recollected when he used to analyze satellite data with a PDP8 (?) that had less power than a smart card... :) Sven's app ran in demo mode only since "some grumpy people didn't let us actually control satelites". ;( As a final surprise, Gosling became a honorable dream team member (well, he got the shirt) and received a copy of the community-translated (!) NetBeans platform book (originally in German).
Another interesting guest was Visuvi: Not only can you upload (cell phone cam or hi-res) images to their search engine and have them analyzed (E.g. to answer the question "who pointed that?"), but most importantly, the new image analysis technology is used for cancer research (e.g. you can search through a biopsy image database for visually similar cases).
Other demos included a micro financing app, a Solaris+JavaFX powered jukebox for starving musicians, a printer-scanner for teachers that scans student's test sheets as well as the answer sheet and then calculates the score.
The last demo was a video interview with the team around the Lincoln car that was on display in the Java Pavilion all week. The plan was to create a fast-driving drive-by-wire vehicle for the Realtime Java urban challenge. And Mr. Perrone refitted a stylish Lincoln Continental: He added batteries and a generator, self-diagnostic sensors and GPS, and finanly touch screen UI. The break lights and old speedometer are controlled electronically. They showed some cars on a test drive, but, sorry, I missed whether the Licoln ended up being remote controlled or not. (Leave a comment if you caught that please)
I think this year's message was: Different communities use Java technology in different ways. Astonishing (and inspiring) what you can do! :-)