Eclipse shouldn’t look like anything

The e4 summit is coming up end of this week and as I was preparing my position paper for it, I pondered the question,

“What should Eclipse look like?”

I then realized that Eclipse shouldn’t look like anything! It’s like asking, “What should a web page look like?”. Different web pages, geared towards different communities, have very different looks. Even within a specific area like B2C e-commerce, Amazon pages have a recognizable style and interaction which at a glance fundamentally differentiates them from say BestBuy.

However, when I survey the set of Eclipse applications they all at a glance yell “Eclipse!” more than they yell their respective companies or domains. That’s not through some kind of laziness or lack of caring on the part of the developers.

Eclipse started out as an IDE. Many decisions were burned in early on. Due to either API compatibility or preconceptions which now put blinders on us, we’ve not strayed all that far. We’ve grown some Presentation level APIs for doing small things like deciding tab style (one of two, you chose!), hiding perspectives, etc., but these have been added piecemeal in reaction to specific community requests. So we’ve been able to open things up a little, but relatively speaking, its still a pretty closed world. Any variance you see is mostly a testament to the incredible determination on the part of application/RCP developers.

At the platform level, updating the look of Eclipse ends up being fantastically controversial, and not surprisingly, given that every change on the glass we make, no matter how small, decides what every Eclipse application looks like. Its close to impossible to make the right decision for so many different kinds of applications and users. But that puts us on the path of least resistance, which means things stay the same. As time goes on, Eclipse is looking rather, well dated. To change things, we will need to see some fundamental shifts in the Eclipse frameworks and components.

I am therefore very excited about the possibilities in e4. The summit has some great topics listed, like:

  • Declarative UI
  • Styling/CSS
  • Modelling the Workbench
  • Rich Client Platform

My hope is that in the future, there will exist graphically rich, subtly styled, dare I even say sexy, Eclipse based applications where the only place they reveal their Eclipse technology basis is in the About.

4 Responses to “Eclipse shouldn’t look like anything”

  1. Benjamin Pasero Says:

    One possible route to solve this problem is coming up with a very generic workbench UI that provides low-level UI components (e.g. just “parts” as opposed to already introducing the notion of views, editors and perspectives). Then on top of that comes the Eclipse workbench (e.g. as its own bundle) that provides the existing (or slightly updated) look and feel. This will give RCP developers the chance to either implement their own UI, or adapting Eclipse’s.

  2. Trace Windham Says:

    It’s good to know that you hold these opinions, Kevin. I’m an RCP developer at a medium software company in Richardson, TX. We have been involved in a major rewrite of our flagship application for over a year now. Our company was purchased a while back by another software company, and one of the top priorities that came down from the new ownership was that any new projects had to have the same look and feel as their software. Since we were already in pretty deep into the RCP effort, we have no choice but to try and make Eclipse look like they want it to look. So far we haven’t really tackled the problem, but eventually we will have to.

    Anyway, thanks for keeping the RCP issues on the minds of the community. We appreciate it.

  3. L. Mihalkovic Says:

    it is not fate… some thing can be done today, even without e4:

    https://bugs.eclipse.org/bugs/attachment.cgi?id=100753

  4. Kevin McGuire Says:

    True but the goal of e4 is to allow *significantly* different looks to Eclipse. This is especially important for product branding.

Leave a Reply

You must be logged in to post a comment.