Inspired by David Orme’s retrospective on Eclipse — and with the 10th anniversary of Eclipse almost upon us — I though I would share my personal history with the Tool, Platform and Community.
I first used Eclipse in January 2003. I just finished my Master’s degree at the University of Waterloo and started a PhD at the University of Victoria. I was at the IBM Toronto lab (I was there as a student full time from Jan 2003 – Aug 2003 before we moved out west). My Master’s degree was in reverse engineering, C/C++ fact extraction and software architecture abstraction. My PhD took me completely out of my comfort zone as I started running user studies to see how people interacted with complex business process diagrams using WebSphere Studio (an IDE based on Eclipse). The visualization tools were built with GEF — leading me into my first Eclipse project, the GEF project.
Dr. Storey, and some other researchers at the University of Victoria, were also looking at how Eclipse could be customized for teaching computer science. This was known as the Gild Project. I was loosely involved and helped out where I could.
At IBM I had the pleasure of working with Mike Beltzner. He ended up leaving IBM to take a role as the Director of Firefox at Mozilla. With the shuffling at IBM, I ended up working with a new product team, one which consisted of Ed Merks, Marcelo Paternostro, Dave Steinberg, Nick Boldt, and others. Yes, it was the EMF team.
This was before there was a Top level modeling project, before GMF or Xtext. In fact, I remember some really interesting discussions with Ed about how EMF was going to support these fancy new generics that Java was introducing. I certainly didn’t realize at the time how lucky I was to be working with such a great group of people. I consider Ed to be my first Eclipse mentor.
Part of our research led us to design a graph based visualization tool built for Eclipse. I had this idea that we could mimic the simplicity of the SWT/JFace API for visualization widgets. I met Erich Gamma at OOPSLA 2004 and he encouraged me to explore this. My supervisor (the awesome Dr. Storey) managed to secure some funding and we hired some help and got to work. This work eventually became Zest, and I first spoke about it at EclipseCon 2005 (my first EclipseCon). At EclipseCon 2005, I met Mik Kersten, and he was interested in visualizing task contexts in Mylyn (Mylar at the time). We decided to make Zest an OpenSource project as part of Mylyn (Mylar). I consider Mik to be my second Eclipse mentor. Eventually it became obvious that Zest was more general than a context visualization tool, and Zest was moved to the Graphical Editor Framework.
In 2006, a group of us from UVic got together to hack out a new Plug-in. We called the event „Raise a Plug-in“, and the result was „TagSEA: a tool for tagging and navigating source code„. In 2007, I attended EclipseCon again to talk about Zest (and TagSEA), and it was here that Chris Aniszczyk and Wassim Melhem convinced me to do a Summer of Code project building a PDE/Visualization tool using Zest. I consider Chris and Wassim to be me third and forth Eclipse mentors.
By 2008, my PhD was finishing up and I was looking for work. When asked what do you want to do when you grow up? My answer was simple… I want to work on Eclipse. So when Jeff McAffer contacted me about joining him at Code 9, I jumped at the opportunity. Jeff immediately put me to work on p2 where I had the great pleasure of working closely with Pascal Rapicault and the other talented committers on the p2 team. I consider Jeff and Pascal my fifth and sixth Eclipse mentors.
Since 2008, a few things have changed at Code 9. For one, it’s now called EclipseSource. I still work on p2, but I also spend time leading our Yoxos product development. With over 300,000 Eclipse plug-ins in our archive, I get to see a different side of the ecosystem. I also spend time thinking about Eclipse / OpenSource business models and work closely with my 7th Eclipse mentor, Jochen Krause.
I literally sit in my basement and hack Eclipse — a pretty awesome job. I occasionally give lectures about software engineering and other computer science topics. When asked: why do you like working on Eclipse the answer is simple: The people. Where else could I work with Ed, Mik, Chris, Wassim, Jeff, Pascal and Jochen? All companies have smart people, the Eclipse community has the smart people from all these companies.