Archive for April, 2008

Upcoming conference talks, small world

Wednesday, April 23rd, 2008

I recently read Cote’s blog entry on the RedMonk CommunityOne day, where he mentioned Nitobi and Tasktop in the same sentence. At the end of this entry I’ll point out how amusingly small this made the world feel to me. That feeling inspired me to make a quick trace back through the thread of conferences and people that got me to where I’m sitting right now, at the JAX/EFE conference in Germany.

I attended my first conference in 1998 while an undergrad. It was OOPSLA, chaired by Bjorn Freeman-Benson. I got hooked by participating in the Design Fest and learned a lot from its lead, Peter Kriens. Then I went to Gregor Kiczales’ AOP tutorial, was blown away by what modularity technology could do with good tool support, and a year later found myself at PARC working on AspectJ tools. I returned to OOPSLA a year later for a nervous first talk about a web app that I implemented with AspectJ, which got me into some interesting discussions with Bjorn. At the following OOPSLA Gregor and I met Brian Barry of OTI, who told us about a yet unreleased IDE called Eclipse. Adrian Colyer and I got to working together on the AspectJ tool support for that Eclipse thing, with the AOSD conference as our regular meeting place. At last year’s AOSD Adrian and I laid out the plans for the SpringSource Tool Suite, and at the following JAX conference Rod Johnson and I explored the potential of a SpringSource and Tasktop partnership. A decade has passed since that first OOPSLA. Just today I chatted with Peter Kriens who is doing some fantastic OSGi work (that’s finally influencing Sun), Rod gave a great keynote at JAX and we celebrated our partnership with beers afterwards, and Bjorn is still running my favorite conference (now EclipseCon). Here’s a photo from EclipseCon 2008 with Cory Doctorow, Mike Milinkovich, me and Bjorn (courtesy of Ralph Mueller).

If you’re in Wiesbaden this week, I’m presenting two talks at JAX / Eclipse Forum Europe. JAX is a great conference with a couple thousand attendees, but I can’t call it my favorite until I learn a lot more German. Given the Mylyn and Tasktop adoption in Germany, I should probably start taking night courses.

  Mylyn: code at the speed of thought, Apr. 24, 10:00am
Towards the task-focused workday, Apr. 24, 1:45pm

The next conference on the Tasktop calendar is JavaOne. It’s great to get a chance to speak there because I haven’t set foot on a JavaOne stage since I did the demo portions of Gregor’s AspectJ talk in 2000. This will be a nice opportunity to position Mylyn’s Eclipse-based frameworks and the Task-Focused Interface in a broader context.

    Mylyn: code at the speed of thought, May 8, 10:50am

I did drop in on JavaOne last year, and the best part was meeting Cote and doing a couple of interviews with him, so I’m really looking forward to the RedMonk Community One day at JavaOne. Which brings me to my amusement about Cote mentioning both Tasktop and Nitobi in his post. The world started feeling even smaller because I read that post last Friday, moments before I headed up to Whistler to ski with Andre Charland, the Nitobi CEO, whom I know from the ski hill and not from the conference circuit. Here’s a picture of Andre above the Blackcomb Glacier on that day:

Small world. I’ve grown so accustomed to conferences bringing like-minded technology people together that I didn’t realize skiing could do so too. Hopefully this means that I don’t need to learn how to play golf.

Be more productive. Guaranteed.

Building on Eclipse: the SpringSource Tool Suite

Tuesday, April 15th, 2008

At EclipseCon, while showing the following screenshot, I was struck by the amount of open source collaboration and commercial innovation behind the bits on the screen. You’re looking at the recently launched SpringSource Tool Suite (STS) beta that SpringSource and Tasktop Technologies have been building.

The screenshot showcases several open source projects interoperating via common structure models and extensible UIs.

1) Spring IDE builds on the Eclipse Common Navigator in order to provide structure navigation for Spring Framework artifacts. Thanks to the extensibility of Eclipse JDT, Spring beans can be browsed as easily as Java classes. Eclipse Mylyn has been extended by Spring IDE in order to make the Spring artifacts focus on the active task. So even when building a very large enterprise application, you see only what you’re working on and can multitask with ease.

2) The crosscutting structure exposed by Spring AOP is provided by the pointcut parsing facilities from the Eclipse AspectJ project. The UI for navigating this is provided by a Spring IDE extension to the Eclipse AJDT project. The result is that the aspect-oriented artifacts in the application are as as easy to navigate as the object-oriented ones.

3) The Eclipse WTP XML editor has been extended to provide content assist, navigation and refactoring support for Spring artifacts. This is another place where Spring IDE leverages Mylyn in order to automatically fold away uninteresting XML, bringing that same benefit of focus to the editor.

Another thing that’s interesting is how the closed source tool support has been layered over top of the open source in order to incorporate expertise into the tool.

4) A key goal of the SpringSource Tool Suite is to provide a Consultant in a box experience by capturing the know-how of the SpringSource consultants. If you look at the Eclipse IDE’s Problems view you’ll see that it incorporates best practice suggestions on using the Spring Framework. Runtime error assistance has also been integrated with the IDE’s Console view.

5) If you look to the right of the screenshot, you’ll see a tutorial which interactively focuses you on the code relevant to each step. This leverages both the Eclipse User Assistance Cheat Sheet mechanism and Mylyn for the tutorial code’s capture and presentation. The task-focused tutorials are a novel application of Mylyn that drives the entire Eclipse UI as you learn, automatically doing things like creating projects, loading contexts and starting servers as needed.

To see this and other features of the SpringSource Tool Suite in action:
 
To learn about extending the open source projects listed above, see the following. If you have any questions on how the integration works, feel free to post them here.
 

Be more productive. Guaranteed.