Thursday, July 01, 2004

Gosling Keynote at JavaOne (Gos-a-palooza)

Theme: Java in Action. The intro video is all about Looking Glass. Looking Glass should put the notion that Java is too slow for desktop apps to bed. Joking about brining a beer on stage to get the Canadians psyched. Doing a bit of Canada vs Brazil action. Some general anecdotes about last night. "Never pass out in the presence of artists." See his blog for details on this. He's mentioning the Apple WWDC. Kudos for Java api for Apple's Rendezvous. This talk about demo, demo, demo. First demo is on Creator. There showing how to build custom validators and how to build navigation. It's all drag and drop with simple flushing out of pre-generated stubs. These stubs have a lot of boilerplate code done already. Once the code is done the tool compiles, starts the app server and deploys the app. Dynamic navigation. He's going to create a button that when clicked three times will go to another page. This demo is fast. He's halfway done and I'm still typing. Gosling is debugging his code realtime. He reminded him to store the click count in the bean. Heh. Java Studio Enterprise demo next with UML modeling. He's got a reverse engineered model of the JSF class hierarchy up in the tool. Pretty standard. The tools supports forward and reverse engineering. It automatically generates sequence diagrams. Now he's creating a JSF validator using UML. It's nice because he can update code and diagram and things stay in sync. Great round trip engineering support. Now they are showing developer collaboration. There is some built-in IM functionality. Cutting and pasting code maintains syntax coloring and even class completion. It's a full blown source code editor in IM. You can also drag and drop code , files, in IM. They can even do collaborative editing in real time on the same file. Looks like SubEthaEdit in the Mac world. Very cool. Devices and real-time up next. JSR-1 (java real-time JSR) has been updated. DARPA has an OVM project which is a research implementation of the RT VM. Embeded space requests for RTSJ is on the rise. Sun is building their own RTSJ implementation. Customers are guys that are building big realtime systems, power systems, air craft carriers, etc. They are using JVM 1.4. The effort will be complete in about 2 months. Early Access is out now. They're demoing an inverted pendulum, like balancing a ruler in your palm. They have a cart on a track that lifts a stick and balances the rod up. The calculations happen every 5 milliseconds. They can do realtime and non-realtime threads simultaneously. So they start a thread up that starts heavy GC and the real time balancing thread still works, unaffected by the greedy, misbehaved thread. It's also fault tolerant. They have a heart beat link between two VMs controlling the balancer. The VMs fail over back and forth in real time and the stick stays up. Now they are just going to pull the plug on one machine and things failed over in real-time. Real-time should be real boring. "the last thing you want is a 100 Ton turbine getting excited" Jini and Bluetooth. PsiNaptics make Jini lookup services really small. They rewrote the implementation in C to make it really small. On a small chip about 1/2 the size of a dime has a 4K Jini lookup service, an 8K http server, the total implementation is about 40K. They can use Jini and Bluetooth in a PDA or phone to broadcast "user prefs" in real time. So if you walk up to your car and your car can react to your presence and the prefs begin broadcast, to adjust the seat automatically, tune your favorite station, etc. This could also be used to allow you to interact with any device in the world without actually having software on your phone or PDA. Jini will allow you to download the code you need to interact with a device. The demo has a iPaq and a bluetooth device used for debugging. The iPaq looks for a Jini svc over bluetooth. The handheld finds two services, a thermostat and and led controller like a light switch. The iPaq doesn't have device drivers or software for these two services. The iPaq using Jini downloads the code to use the light switch. He can interact with the service and he's turning on different LEDs on the bluetooth device. Great applications could include home networks controls, etc. PsiNaptics is working with Jaguar on integrating this technology into their cars. Now to the truly weird. Simon James walks out wearing a a computer to do augmented reality. He looks like a borg. He's got Java desktop running on the wearable. he's got a live video feed from a head mounted camera pumped back into the eyepiece. He looks at a sign in Chinese and the software running on the wearable he highlights it and it translates the sign. He looks at Gosling and the software identifies him. You can also use this kind of technology to overlay schematics etc. over what you see in the eye piece. Like a heads up display. The whole thing is controlled via voice using the Sphinx project code. There is one last demo which is the T-Shirt launching contest. The "Caffinators" have a giant crossbow. The contraption is calibrated via a Java program. "What if Charlemange had a slide rule?" Very fun. Interesting Panel now coming up. Brian Bellendorf, Rob (?), Gosling, James Governer, Lawrence Lessig, Justing Schafer (, Rod Smith IBM, Tim O'Reilly (Moderator). TO - asks audience how many of you hack on OSS projects? (pretty small number in this crowd) TO - addressing the open sourcing of Java RS - he thinks we are at an interesting inflection point. He wants to see innovation happen at a faster pace. OSS Java married to other OSS projects because people want to experiment even in customer situations. TO - what would be differnet from today, what are you looking for? RS - java is about compatibility. Think about what pieces of java should be open source: J2SE and TCKs. He's using Jakarta as an example (I don't see the parallel). He's hand waving around licensing. Rob - It's a continuation of a journey that started 10 years ago, Java will continue to evolve but there is a fundamental promise Java will not be compromised with respect to quality and compatibility. BB - Must frame the conversation correctly. Many people are implementing JSRs and the community should support that. Apache would prefer to look at compatibility as symbiotic. Any implementation that claims to be compatible should pass the TCK. Creating derivative works shouldn't require TCK compliance and shouldn't be labeled as such. Expert group secrecy is strange. Open discussion is better. Sunshine policy. TO - to lessig, how does ideology play into here. Is this real to developers? LL - It should have nothing to do with ideology, it's too important. Its about how to tap into OSS as a positive force, keep licensee alone achieve compatibility using other legal devices. The law has tools independent from licensing to cover compatibility. RS - No one would buy an incompatible implementation. That's unique. The market place around java has decided that compatibility is important. JS - standards are important but are more concerned with business issues. Govener - Lawyers are causing trouble. Look at SCO. There are lots of wars (browsers, etc.) JCP is the best model for Java that we've tried. JG - Democracy is the worst possible form of government except for all the others. Rob - Java programmers should not be lied to are your going to have code check licensing on code? TO - why is this different for Java JG - because of the network. The nature of Java is tied to the network. So trust matters. TO - but is it going to be good business to develop incompatible versions? LL - Yes, it's happening now. There are people out there that don't want java to work. TO - Apache has no legal hold over ... to fast ... BB - defects in compatibility are seen as bugs to be fixed not legal matters. shift pwoer from lawyers to developers. RS - changes are coming in the programming model. SOA, WS, etc. We don't have this all thought out. SOA may lead innovation OSS Java may accellerate things. JS - What are you trying to achive by OSS-ing Java? It already works why put it at risk? TO - mono project is implementing .Net. There is another platform war looming. how do you get the linux community to make the Java choice. JG - Java is already heavily used in the Linux community TO - he's not so sure JG - disagrees RS - look at mono. It's raising it's head. people are looking for places to innovate. We have to think about this.. we spend a lot of money in compatibility, why not have one source base for J2SE? It lowers the cost and helps get people moving faster. TO - what's keeping that from happing now? JG - all the bugs are public, apple doesn't pubsish bugs, but in the java community publishes it's bugs. We've gotten over this a long time ago. You can see the full source. There is a catch in the licesne thats smaller than the catch in the GPL. We've got tremendous benefit. LL - your talking about steps already taken, is this enough? in OSS we don't have to trust any one company to keep things open. That's the ultimate thing trust. OSS does not have facilities to enforce compatibility. JG - we lived through the UNIX wars. and now linux is going through the same thing. There are too many versions of incompatibile linux it's a pain in the butt. BB - JVMs are incompatible (huh, I think he's talking appservers/containers)....too fast Rob - How do we bring in more people? This converstation is a journey, are we hurting what we care about? He talked with Geronimo. There is broken code that the TCK doesn't catch and people can't fix that. TO - what is it about the process, people can see the code, is it jsut cultural. Rob - it's operational. TO - is this whole thing a matter of perception Rob - there is a hiearcy of committers. There are lot of battles in OSS so what is the verb to open source mean in this context. is it that sun shouldn't be at the top of the tree? if OSS is the answer what is the problem? There are things that can be fixed. BB - TCKs should be open source and peer review. What people are asking for is to allow for open source implementations of the specifications. They can't claim compatibility until they pass the TCK. Groovy may be the first test of what the OSS community is asking for. TO - Is there a problem? Govener - does it support compatibility and innovation? Yes in both counts. But look at Longhorn. if they pull this off it's a big risk to the Java community. JCP is all about production. Development is something else. Eclipse, Looking Glass, all examples as how Java is competing. TO - Java was their first. MS is trying to get into the java space. JS - The core must work and be compatible. He's not convinced that OSS java is worth it. There may be a devil we don't know. Who would be involved in the decision process. Sun has been a good steward. LL - do you resist OSS java because of compatibility or less innovation JS - compatibiltiy may be a problem. the platform does move. go at your own speed. Is there a need to change the core. RS - he disagrees. innovation can move faster. it's beyond java. we have to be prepared to move forward faster. JG - someone does something really cool, the community thinks its cool, you can write a JSR to create a standard, and the community jumps in and the argument happens in a structured way, take good ideas and spread them about. JCP is about harvesting innovation. RS - you want to test things coming from the JCP. the JCP should be more open to test these things. TO - so your suggesting a two part process. BB - that's how all successful things come about , IETF JG - IETF is the example of what we based JCP on. You can't just create a spec and declare victory. TO - there is a lot that is working and it's not clear what's not working. Sun is very open minded about the prcess but the pressure is coming from other corporate interests and the OSS community. LL - many of the people who would be excited may not be here TO - so who is not here that would be in the fold? What can we do beter. BB - conflict between those who want to work in and out of the system. If we're in the process we can educate the JCP folks to help them get true OSS implementations Rob - every year we bet the company on java which means we're betting on the compatability issue which means we could never change it again. which would be bad. what can we do to amplify the effects of innovation yet preserve compatibility. but it's a process JG - participate. the squeaky wheels participate, go over to JCP and get involved. vote. Govener - this is a personality driven industry. people make ungaurded comments. Java community is strong. you have to remove the personalities to step forward. RS - press likes to make these things forward. innovation is slowing down. keep the pace up. take that from BEA and IBM, when you see a stall you have to think ahead. JS - we are concerned with our customers I have to look at java and not worry about it. TO - this is a conversation that will be going on for time to come....


Post a Comment

Subscribe to Post Comments [Atom]

<< Home