Eclipse (Helios) rocks and a few critiques


Friday, July 30th, 2010 - By Vineet Sinha

Helios has been out for over a month – and we have been using it. Yes, we are a little biased, but when you are working with and leading teams of 10+ developers you need to be practical. There are a number of things that Eclipse does really well, but there are a few things that we would like to see better.

One thing worth mentioning is that the Eclipse release happened on time again. While they have done this consistently since 2003, it does get harder when you have millions of users using the tool day-to-day.

The Basics

I use vi for most of my text editing needs – it is my default editor for pretty much everything, except Java. Eclipse (and most modern IDE’s) have done alot to make the lives of developers easier and when there are new releases it is easy to forget some of these conveniences. From finding compilation errors when you save, to pointing potential bugs as you write them – noticing errors sooner helps in implementing features. Content assist further shows you the various legal coding options to just write code faster. Beyond these, shortcuts to easily find classes or launch the application being developed help in focusing on what we care about. And then there is support for easily switching to the various views and editor tabs or the various organizations fixed by the perspectives.

The cool new stuff

The Eclipse Marketplace Dialog

There are quite a few things which stand out in Helios. One of my favorites is the MarketPlace. Searching and adding new plugins for Eclipse have always been a challenge. The Eclipse Marketplace makes this much easier – it allows you to not only search a central location of all Eclipse plugins, but also allows you to find the most recent and the most popular plugins.

The availability of annotations has helped remove configuration files from Java apps and resulted in the rise of the use of annotations. Eclipse now supports showing annotations with the the JavaDoc hovers and makes it easier to understand details of a method. Beyond annotations, it also supports showing the @value fields inlined when included in JavaDoc.

Annotations in JavaDoc

At times when looking into the call hierarchy view its gets really frustrating to find the caller you need. Helios lets you go through each caller one by one, and provides you a way to remove all those unnecessary calls from the call hierarchy view so that you can focus on those which concern you. Related to this, previously the extraction of type hierarchy information would cause the Eclipse to freeze in large projects. The recent version extracts type hierarchies in background leaving you to continue your work.


Another cool feature in this version is the TaskItem Overlay. It allows you to customize the item shown in the task bar to either show you a particular text, image, or even a progress-bar. Beyond such useful information when switching applications, developers can also a menu with the item which shows when you click on it.

Eclipse debug views are one of the more powerful views and Helios now provides much better breakpoint detail by displaying all the properties in a single pane. This support has actually been available previously but was hidden behind a context menu and many developers often do not even realize their existence. This new pane makes the features more easily discoverable and helps in reducing the time in looking for needed information on the fly.

What’s missing
So yeah, Eclipse rocks – but at the same time I am often wishing for more. The core reason is that Eclipse has a lot of features that it just feels monolithic and the interface feels complicated. While evangelizing the platform I have had way too many ‘what does X do’ and ‘in many cases how can I remove X’. With Eclipse’s plugin strength it will be great to see a very simple single download to start things off and a menu to easily add (or enable) the features that I want. The Eclipse marketplace is a great start – but we need to split up Eclipse and add it the various components as features into the marketplace. If needed we can even add another tab for these basic features. Without these, Eclipse will feel heavyweight, and we should not be surprised to hear more of the ‘from your demo it feels like Eclipse is much faster than I thought’.

 

4 Comments

  1. Matt R says:

    Monolithic is not necessarily bad. One of the things people say they like about Netbeans is that a lot of features come installed out of the box — like Subversion support, for example — and they don’t like they way you have to spend a bunch of time getting the various plugins for Eclipse on a fresh install.

    • Vineet Sinha says:

      Matt, Thanks for the comment. I disagree: having lots of features in a single interface makes it hard for any user to choose the ones that he cares about. For me (and perhaps you) who have used Eclipse for ages this does not matter. But new users would think that Eclipse is hard to use and slow (even if it really is not).

      I don’t disagree that it is important to have easy access to the features that you want, and the Eclipse marketplace is definitely moving in the right direction. But easy support for installing/enabling a feature is different from giving users 100′s a choices right up front.

  2. magomarcelo says:

    The problem of Eclipse is a UI that does not scale well in terms of usability when you start adding plugins, especially because the plugins have been developed without any strict UI guidance on where to add features, so we have page-long context menus, duplication of preferences and inconsistent UI… also what’s the point in having the good looking and helpful Eclipse Marketplace when you keep the old update UI in place and people don’t know which one to choose and why? And let’s face it, it’s a copy of the Firefox Extensions UI with a bad name chosen just to scare people making them think they need to have their credit card at hand… the only real effort I’ve seen until now to unify plugins’ UI is the facet framework copied by the way from IntelliJ, unfortunately not many plugins follow it… as much as I like and support Eclipse I keep on being dissatisfied by new releases to the point that sometime I think they’re not really worth an update, to me since Mylyn nothing interesting has happened in Eclipse-land and still discussing about official SVN or Maven support is somewhat ridiculous. But most of all I hope one day the Eclipse foundation hires a real UI designer.

    • Vineet Sinha says:

      Marcelo, Thanks for your comments. You have made lots of good points. The main way that I would disagree is that the guys at Eclipse are trying – cleaning up the UI is just hard. When you have such a large and active ecosystem, you need to be backward compatible, etc. So with time I think we should have more and more of things being done the right way.

Leave a Reply