Follow by Email

Friday, April 02, 2010

EclipseCon 2010 Trip Report


I'm finally caught up on email, and can take a chance to thank everyone who was responsible for EclipseCon's success this year.

If you're just looking for the slides from my talk, have at 'em.

There were too many talks and too many conversations to list them here. So here are the highlights.

Contents
  • Monday (Working with OSGi, The Ribbon IDE, What's New with JDT)
  • Tuesday (Keynote: Oracle, JDT Fundamentals)
  • My talk: Eclipse in the Enterprise: Lessons from Google
  • BoF: Eclipse in the Enterprise
  • Wednesday (Keynote: NASA, Building e4 Plugins)
  • Thursday (Keynote: Uncle Bob Martin, Understanding Git at Eclipse, Vendor Booths: UI Testing, Vendor Booths: Microsoft)
  • Eclipse Day at the Googleplex
  • Feedback to the Conference Organizers
Monday

I love tutorial sessions. Working with OSGi: The stuff you need to know finally convinced me that services have a place in my bag of tricks, particularly because they explained that ServiceTracker is as evil as I thought it was. (Go declarative services!)

I was happy to see people taking some practical approaches to the overwhelming nature of the Eclipse IDE. The Ribbon IDE - a leaner, modern UI for Eclipse shows what's possible from an evolutionary perspective (rather than the revolutionary ideas like Code Bubbles) but I don't see The Ribbon IDE needs work, which the presenter admitted.

What's New in JDT? Not too much, I'm afraid. Some small stuff that's nice, but nothing that gets me out of my seat yelling bloody hallelujah. This isn't the fault of the presenters, there's only so much a small team can do. How about this: every year, What's New in JDT should take at least an hour, and be crammed full of new stuff that makes users and plug-in developers super productive, even more than the previous year. But this starts to touch on a larger issue which I won't go in to just now.

Wait a minute, did I just praise Eclipse for being evolutionary in one paragraph, and then admonish them for the very same thing in the next paragraph? Yes I did. I can do that because I'm a non-journalist blogger-hobbyist.

Tuesday

Keynote: Community and Adaptation: It's good to see Oracle participating in EclipseCon. They really didn't teach me anything new, but they were a polished pair of professional presenters.

I missed much of Tuesday preparing for my talk.  My coworkers attended the JDT fundamentals talk, something I've attended in the past. It's a great talk. Fortunately I got a minute with Oliver who explained something unexpected: if you create an Eclipse Java project, and already have class files built for code in your project's source folders, copying the class files into the source folders' output directories is a fine way to bootstrap your project and eliminate some double-building. The class files built by the JDT don't embed special Eclipse metadata.

Eclipse in the Enterprise: Lessons from Google
This was my talk. Terry was supposed to give it with me at first, but given the short amount of time, it made sense to dispose of what might be a microphone hand-off.

My guess is about fifty people attended the Eclipse in the Enterprise talk. People have asked for the slides; here they are.

I apologize for not leaving more time for questions. The 25-minute limit worked, but only by cutting it kind of close. If you still have questions, let me know.

BoF: Eclipse in the Enterprise: Lessons from You

This was the accompanying BoF session where other folks who had similar issues to ours could share their problems and solutions.  About 25 people showed up to this one-hour discussion about how everyone else deals with large Eclipse installation issues. You could feel the camaraderie when it came to some similar issues around support, scalability, and managing OSGi.  I took some notes, but I have to admit they only discuss high level topics, and are not very useful.

I did try to copy down the list of all companies that attended the BoF:
  • EclipseSource
  • JP Morgan Chase
  • SAP
  • Eclipse Foundation
  • Google
  • eBay
  • IBM
  • Ericcson
  • Netcetera
  • (If I missed you, feel free to drop me a line and I'll augment this list.)
One noteworthy thing: UDC. Nobody really uses UDC, though one person knew how to redirect UDC output to their own servrer, and append it with specialized information. Some of that information was passed around by email after the fact.

Wednesday

Keynote: Rocket Science and the Republic: Jeff Norris' keynote was the only one I missed. It was the morning after my talk, and I celebrated that night just a little too much and opted to sleep through the talk.  Ian Skerrett called it the best keynote ever

Building e4 Plug-ins: Interesting. The tutorial gave me a sense of just how different e4 is from the 3.x stream. It's clear that 3.x is going to be around for a LONG TIME (to support TV sets and what not) while e4 will support Java 5 and on. The takeaway: don't judge e4 by using the UI, judge it by using the API. Oh, and running their tutorial on OSX was wonderful. By wonderful, I mean, didn't work at the last step. Wah.

Thursday

Keynote: Software Professionalism and the Art of Saying "No" by Uncle Bob Martin. What a great presenter. I took some good notes, and was left with all sorts of ideas. Those notes are published as a separate post.

Understanding and Using Git at Eclipse: Great tutorial. I'm ready to start using Git. They managed to keep much of the Eclipse part of Git until the end, which meant us non-contributors got plenty of value out of the talk. My android appreciated getting out of the hotel room to learn about git.

The last talk I attended was Mylyn Reviews - Finding a new Home for ReviewClipse. I love how Google's code review process makes me a better engineer. Anything that will help elevate software development from a being a group of individuals to a team of individuals gets my support.

Speaking of Mylyn, one of the Tasktop employees told me that people blaming content assistance timeouts on Mylyn are "shooting the messenger". According to the engineer, the timeouts are purely due to JDT, but the error dialog mentions Mylyn, so people assume that's the case. I have coworkers that have removed Mylyn because of this. I'll keep this comment in mind the next time such a support issue arises.

Thursday was my opportunity to finally view the vendor booths. I went to most booths that boasted automated testing tools. Once again, I'm still not convinced that there's a good UI testing tool that would solve my integration test problems in a way that integrates with our development process. That isn't to say the development process can't adjust, nor is it a reflection of UI testing tools in general. There's one I would like to play with in the near future, though. It would be inappropriate to mention it here.

Microsoft was there, both as a vendor and presenter! They've been there before, but I find the Eclipse / Visual Studio integration concept fascinating. I'm sorry for not really putting in the time required to understand it, as well as the opinion of an engineer intimately aware of both products.

Eclipse Day at the Googleplex

Many of you asked about whether Eclipse Day at the Googleplex would be repeated next year. Thanks very much for your interest. If it happens I promise to let you know.

Feedback for the conference organizers
  • This morning I was reviewing the site to find the speaker agreement I electronically signed, but could not. Next year would you please email a copy of the speaker agreement upon approval?
  • 25 minutes for most talks. Turns out that worked for me, rather well. From a personal perspective, it took a lot of time to cull my talk into the 25-minute period but in the end it worked just fine.
    • At the same time, speakers must realize that while their talk is listed as a 30-minute block of time, they are not entitled to speak for 30 minutes. They're also not entitled to speak for 25 minutes. They're entitled to a 25-minute block of time, with time on both sides to set up, test, and tear down. Anything else disrespects, the next speaker and his attendees, and all your speakers, who don't want to be late for their next talk.
  • Special props to the A/V staff at EclipseCon. They were instrumental at helping me set up and test my equipment in advance of giving the talk, making the actual set-up very easy.
  • Breakfasts with cereal and fruit. Thank you. Very much.
  • Online program guide: please default the online program guide view to the current day. I don't want to see Monday's program listing by default, anytime after Monday, until the end of the conference.
  • I don't want to have to power up my laptop or phone to get presentation summaries. Sometimes there's only two minutes to choose a talk while shuffling between the rooms. Please provide printed summaries of the talk.
  • I liked having the conference right next to the elevator to the hotel rooms.
  • I look forward to next year's logo adopting the new brand identity.
Miscellaneous notes from the conference

Here's a sheet of notes I scribbled while at the conference. What do they mean?

  • Stars awesome.
  • FLASHBACK!
  • Credits list goes on forever.
  • Melinda Hsu Taylor
  • Greggory Nations
  • Tucker Gates
  • Lame accident
  • Whitfield
  • Property of Magnus Hanso!
  • GASP! The statue!
  • Better color for the crashed ship?
  • Black smoke loses its effectiveness now. Just the sound of the bad guy coming.
  • "It's good to see you out of those chains?"
  • Body switch?
  • Weak!
Oh, right I took these notes while watching Lost in my hotel room.

3 comments:

Chris Aniszczyk (zx) said...

You indeed did miss the best keynote ever. Thankfully, Oisin recorded some of it here.

Olivier Thomann said...

About managing built class files in your java project, I explained that a class folder should be used and that manual changes to the output folder should be avoided at all costs.
The builder manages the contents of the output folder. So putting files in it is risky as they can be cleaned on the next build.

Robert Konigsberg said...

Olivier, thank you for the clarification. It's still a useful piece of information.