The Source for Java Technology Collaboration
User: Password:



Joshua Marinacci's Blog

Community: Java User Groups Archives


Dinner in Prague?

Posted by joshy on November 02, 2007 at 02:35 PM | Permalink | Comments (7)

Yep. I'm heading to Prague again, this time for two weeks. Since I'll have a bit more free time than my usual whirlwind trips so I'm making an offer.

In exchange to anyone who wants to buy me dinner some evening in Prague, I will answer any Swing related question you have. Here's your chance to ask anything of a Swing Hacks co-author.

And if that's not enough, I'll up the stakes! To anyone who's willing to give me a tour of Prague next Saturday or Sunday (the 10th and 11th) I'll also answer questions on any Java topic (or find the answer if I don't know it)! Now that's a deal! I'll even throw in JavaFX as a bonus!

But seriously, I'll going to be in Prague for two weeks with all of next weekend free. Anyone want to hang out and show me this beautiful city? I'll even buy the beer!

Thanks,
Josh



Back from the Java Posse Roundup

Posted by joshy on March 18, 2007 at 08:27 PM | Permalink | Comments (3)

Now that I've had a week to recuperate, and heal from my poor attempts at snowboarding, I can tell you about where I was the week before last. From the 5th of March to the 9th I was in Crested Butte Colorado for the Java Posse Roundup.

A quick bit of background. The Java Posse is a podcast (an internet downloadable radio show, essentially) devoted to Java. It is run by Joe Nuxoll and Carl Quinn (formerly of Sun, now of Apple and Google respectively), Dick Wall of Google, and Tor Norbye of Sun. They have steadily built their readership over the last year and now have enough listeners to support their very own conference. Rock! The Java Posse Roundup is a small conference they organized in Crested Butte, Colorado (a very small town in the mountains, think South Park. We just need Tom's Rhinoplasty :), with planning and assistance from Bruce Eckel, author of Thinking in Java. The Roundup was an un-conference following after the Open Spaces concept. This means it was not structured like a traditional conference and had no pre-planned sessions. Sessions are proposed and decided on the first day and can change over time. Most sessions were very open ended, starting on a particular topic but usually finishing on something else. The week was chaotic but very very fun. With only 30 people in attendance I was able to spend a lot of time with the other attendees and learn a lot about how people are using Java (and will use Java) in the future.

Also in attendance were Brian Ehman, the Java Posse intern; Robert Cooper, a friend of mine from way back when in Atlanta and author of the soon to be released GWT in Practice; and our illustrious Java.net editor (and another longtime friend from Atlanta), Chris Adamson.

Our days were structured but flexible. From 8am until noon-ish we have three session slots with an average of 3 sessions per slot to choose from. After noon we break up into groups for lunch and then have free time. Some days we would do something active like skiiing, hiking, or going to the store to purchase food. Other days we would have geek time for emails, fixing bugs, and helping others out with their code. I did a lot of the latter, of course. We would all meet again around 6 for a big dinner and discussion, followed by lighting talks in the evening where we would give five minute demos on cool things that find our interest; Java or not.

Overall I had a great time and feel that I got a lot out of the conference. This was an opportunity to connect with a lot of great people. I made quite a few additions to my address book and now have a lot of followup to do. I stayed in a rented house along with the Java Posse guys and two others. Not only was the house huge and a great place for people to come in the evening, it was significantly cheaper per person than a hotel, saving my gracious employer quite a bit of money. :)

Here is a brief overview of the sessions I attended along with my notes. All sessions were recorded by the Posse and will be up on the web soon. I'm sure I missed a couple and can fill in once the recorded sessions jog my brain.

intro:

We all learned about how an un-conference works and got settled in.

AB5k

Robert Cooper and I announced AB5k, our all Java widget system project, and got some feedback. It was a small session (everyone else was inthralled in the Dynamic Languages on the JVM talk in another room) but I got a lot of great feedback. The biggest thing I took out of it is that I must focus on Java's strengths. Because AB5k is written in Java it has some great advantages over the other widget systems. Cross operating system and cross operating system version support, I18N, 3d/2d integration, multi-language support, and a robust security system are all advantages we need to leverage.

JNI: what's up with that?!

JNI is too hard to use, too slow, not well supported. Many specific issues were mentioned, including Dick Wall's problem with the JVM not using hardware accelerated trig functions but JNI is too slow to implement it yourself. This is something the JVM must do but multiple JSRs to add support for it have been shot down. Perhaps now that Java is open source someone could do it.

Flex and rich webapps / what's wrong with applets:

This went all over the place but the general consensus is that the Java plugin itself is the problem with applets and must be fixed. Flash's VM beats the Java plugin in pretty much every metric. Some interesting and crazy ideas were proposed like:

  • Get the open source community to write a new Java plugin
  • letting the Flash plugin talk to the Java plugin to take advantage of Java features
  • make Java compile to Flash files, similar to how GWT compiles to Javascript
  • write a JVM in Flash so we can run applets in Flash's vm.

Flex apps:

In sort: Flex does some very powerful things very easily, and Apollo will let you write Flex/Flash apps that run on your desktop. Adobe has some serious people working on this and it looks great. This is something the Java community needs to take seriously, either by competing or working with it. Flex and Apollo are going to change the way people write desktop apps over the next five years.

Media support on the JVM

This was Chris' talk about the state of media on the JVM, the failure of JMF and Java sound, how Quicktime is going away, and what to do about it. The general consensus was that media, especially content creation, is very important and we must address is soon. Some ideas include wrapping some of the cross platform open source tools in Java. Things like VLC and GStreamer were mentioned.

Java Properties:

This is Joe's Nuxoll's proposal for Java properties (originally proposed to JavaSE several years ago when Joe worked for Sun). It seems like a very clean and simple way to add properties and events to the Java language with as little breakage and non-intuitive syntax as possible. If we decide to add properties to Java we really need to look at this proposal. This was a well attended session and most people agreed that we should add properties to the language. (I'm a huge fan.) Other suggested this should be left to other languages that run on the JVM like Groovy and Scala.

Java.net vs Google code vs Source forge vs others:

I kicked off this session to discuss the relative strengths of the various project hosting sites. None of them came out on top, though I learned a lot. Google code is doing a great job at providing tools but not at providing a community. I plan to take a lot of this information back to the Java.net planning meetings during Java One. Google's issue tracker in particular is much, much better than Java.net's.

Lighting Sessions

The evening lighting sessions were a ton of fun. I showed off several demos I've been working on over the last year including:

  • NetBeans JSR 295 & 296 support.: I explained what the two JSRs are and how NetBeans is supporting them. Everyone really liked it.
  • NetBeans menu support: I showed off the menu designer work I've been doing.
  • JavaDocs from the year 2020, a mockup of what totally redesigned Javadocs would look like.
  • JOGL utils: utility classes to let you quickly make 3d animations. I showed off a 3d photoviewer that shows a Flickr photostream. It only took me about 4 hours to build.
  • JXVideoKit: a set of utility classes for SwingX that will let you use JMF to play H.263 (YouTube quality) video, complete with overlays, hackable drawing code, frame capture, and the ability to drop a video into a 3d scene.
  • SMS support: I showed how to use a JNI library to hook into the Sudden Motion Sensor in my laptop and use it to scroll through a 3d list of photos. I must confess this was done on a dare by the aussies from Cenqua. They 'threw down the gauntlet' which means I simply had to do it. Thanks guys. You rock.

Code for the above demos will be forth coming if people are interested.

Other sessions of note include:

  • Scala, a very interesting and unusual language that runs on the JVM. It makes pattern programming very easy.
  • Yahoo Pipes: Ido from Yahoo showed how to use Yahoo Pipes to combine and mix RSS feeds with other datasources. Some really cool stuff. My only complaint is that they really should have called it Yahoo Tubes!
  • Flex demos: James Ward, a former Java guy now working for Adobe, showed off some amazing Flex demos including a 3d album cover viewer ala. iTunes, and a 3d book with translucent pages you can flip using your mouse. Flex is very powerful and their development tools let you do a lot of cool things that look great with very little effort. And Apollo is going to do some amazing things. We desktop Java guys need to keep an eye on Flash.
  • Cenqua: The Cenqua guys have some amazing tools for working with your code: clover for testing, fisheye for giving you a dashboard view of your code, and crucible for doing team code reviews. I urge you all to check them out.


A nice Java evening with sour cherry beer

Posted by joshy on November 12, 2006 at 03:38 AM | Permalink | Comments (0)

After a several hour trek through Prague Castle and the Cathedral I arrived back at my hotel with around 400 photographs. It's going to take a while to go through them but here are some highlights.

After the castle I had dinner with Sébastien Letélié and Doug Matthews, two Java developers who live here in Prague and contacted me through my blog. We got a chance to discuss the latest developments in Netbeans and open sourcing Java, as well as the history of the Hapsburg Empire and the fall of the communists. This discussion was aided by glasses of local sour cherry and coffee pivo (the Czech word for beer) I must say that no matter where I have gone, members of the Java community have been funny, intelligent, and very friendly. Perhaps Java really is the universal language. Thanks for a great dinner guys.

That's it for this weekend. I'll have more to write next week.

- Josh

Sebastien, Doug, and I

stained glass in the Prague cathedral Girl and guard at the entrance to the Prague Castle wall decorations in the outside facade of the Prague cathedral



LA-stravaganza

Posted by joshy on September 17, 2006 at 01:38 PM | Permalink | Comments (16)

One of the great things about my job is that I get to go speak to customers and other groups of Java developers. Even more amazing than the fact that Sun pays me to do this is that people actually show up to listen to me. I'm sure you've all had those times where you feel like you are still the dumb kid who just graduated and somehow you have to make everyone around you think you actually know what you are talking about. While I know that I'm a Java expert and have interesting things to say, a little part of me is still scared. What if I say the wrong thing? What if someone asks me a question that I can't answer. What if I walk into a room full of SWT lovers?! The agony!

No one? Hmmm. Maybe it's just me. :)

Anyway, last week Richard Bair and I drove down for a cheap, whirlwind tour of LA to visit five customer sites and two Java Users Groups. I am pleased to say that our trip went very well. We had an engaging and exhausting week meeting with some great Java developers, dispelling myths and out of date information about desktop Java, and seeing how people use desktop Java in the real world.

I won't go over every stop we made, but I will cover the highlights and lessons we learned.

  • Our presentation got better as we went along. This is no surprise of course, but interesting. Our last presentation of the week: to the OC JUG, was much better than our first: to the LA JUG. After giving it seven times we knew the material, knew what to focus on, and most importantly knew what to skip over.
  • Java 5 adoption is going great! When I spoke at the LA JUG a year ago I saw about 25% using Java 5 and 75% using 1.4. Last week the numbers were reversed.
  • A lot of people don't know about Java Web Start. This surprised me because I've known about it for years (and written several different articles on it), but at most sites the developers didn't know about Webstart or only heard a few details. Clearly we need to do more to get the word out.
  • Developers who use WebStart love it. At one customer site, where they use 1.5 and WebStart for everything on the desktop they said "Java Webstart has been a huge win for us". The developers are in LA and the customers are in New York. They can fix a bug in the afternoon, push out a new version that evening, then the customers are updated the next morning. That's what we like to hear!
  • Most people don't know about Matisse for Netbeans 5.x. A lot of developers had tried Netbeans in the 3.x series and never touched it again. We demoed Matisse running in Netbeans 5.0 and really turned some heads. I think we are making headway.
  • Developers want two way editing of GUI code. Matisse, like every successful GUI builder I have ever seen, saves the UI definition to a non-editible store of some kind. Several developers asked about two way editing of existing code. This is a question for you guys: is two way editing really what you need, or would a standard, cross-tool, XML format address your concerns?
  • Trusted Solaris is cool! I've never heard of this product, but apparently we (Sun) make a version of Solaris that is very secure and can isolate applications from each other based on their security level. You could have one window that is classified as Secret and another as Top Secret. It can even manage what you type and copy to ensure you don't accidentally give out classified information (assuming I understand how this works). Obviously this is not something most people need, but if you need then it you really need it, and we make it.
  • Everyone loves Aerith. Aerith is probably the best demo we've ever done. Everyone we show it to loves it and wants to learn more about how to do these types of tricks. It's really turned a lot of heads.
  • I need to learn Flex. On several occasions someone mentioned Flash/Flex. We have a lot to learn from them.
  • Swing is making headway. The speed, look and feel fidelity, and feature improvements (like SwingWorker) in Swing are being noticed. We don't see SWT making the inroads that it was a couple of years ago. This is a sign that we are doing the right things.
  • We should do more road trips. It's exhausting but rewarding work. I wish we could take more trips like this to meet with developers in the real world. But then we'd never get any real work done. Always a balance, it is.

So I'd say the trip was successful. We received lots of great feedback and made people excited about desktop Java, Netbeans, and Java 6. So where should we go next?





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds