The Eclipse Examples project has been provisioned! I’ll spend some time later this week setting up the landing page and get to work moving some of my examples into the new project. Frankly, it’s exciting as heck for me.
Over the last few days, I’ve been dreaming a bit about some of the code that I’d like to move into the project. I have a few applications based on Eclipse Rich Client Platform (RCP) that I’ve built over the last couple of years for personal use (or at least not for official Eclipse Foundation work). As I was going through the code for one of the applications, it occurred to me that the most interesting bits of the application really had nothing to do with any specific Eclipse technology…
But that’s the point, isn’t it?
I remember a project I worked on 15 years ago or so. I spent quite a lot of time building infrastructure to make the “interesting bits” of the application work. I probably spent a few hours making a relatively generic selection service. I recall spending weeks developing generic graphical components that supported grouping, drag and drop, etc. I also spent weeks building an object/relational persistence mapping framework. One of my colleagues spent months building one of those “notebook” widgets (tabbed panel) with a stylized spiral binding that were all the rage into those heady OS/2 days.
Ultimately, the customer didn’t care at all about the ability of the application to make selections, drag and drop little boxes, or click on tabs to expose pages of information; they cared that their business analysts could be productive with the application. All those generic plumbing pieces were merely the cost of doing business. I needed to have those things as a foundation for the real application behaviour. I needed to have those things, but they weren’t of any specific value to the customer. What was valuable to the customer was the application we built on top of those generic frameworks. This is where we found the really interesting code: the accounting algorithms, the business rules, the business logic, etc.
I love the opportunity that project gave me to learn how to do all that funky stuff, and it was on this project that I learned about project management (via counter-example, but that’s a story for later). If I had do this project over, it’d be a really good fit for Eclipse RCP, the Eclipse Graphical Editing Framework (GEF), EclipseLink, and the Eclipse Modeling Framework (EMF). We’d be able to complete it in probably a quarter of the time with far more functionality. To boot, we’d be able to deploy it over the web using RAP (how cool is that?)
A lot of organizations have already picked up on this. You can read some of their stories on the case studies page.
I’ve been speaking with students, professors, and researchers at several universities. They see Eclipse as a bit of a competitive advantage: you see, a lot of the other universities haven’t caught onto the fact that—by using Eclipse technology as a foundation for your research work—you can maximize the amount of time you spend working on solutions to your actual problem and minimize the time you spend working on the infrastructure necessary to make everything work. Eclipse supplies the “make everything work” part, you solve the problem that needs to be solved. Sounds like a productive relationship.