Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Mylyn 2.1: Refactoring the Eclipse User Interface to increase productivity

Mylyn 2.1: Refactoring the Eclipse User Interface to increase productivity

This item in japanese


Mylyn, an Eclipse plug-in which was integrated into Eclipse 3.3, recently released version 2.1. InfoQ spoke with Mylyn project lead Mik Kersten to learn more about this release and what changes Mylyn 2.1 brings to Eclipse-based development.

One of the biggest changes which came with Mylyn 2.0 was a name change - version 1.0 was called Mylar. Kersten explained the name change as:

We outgrew the old name. Mylyn started out as the implementation of my PhD thesis, but very quickly moved to being adopted by a substantial user large community, grew in committers, and started receiving dozens of monthly patches. The Eclipse Foundation does due diligence on the intellectual property of all of its projects, ensuring that they can be readily adopted by the commercial ecosystem. It was impossible for the Eclipse foundation to assert rights to our old “mylar” name due trademark issues. We were already being redistributed by CodeGear’s JBuilder and as an Eclipse project needed to ensure that such vendors could provide Mylyn’s benefits to their user bases as well. With the Eclipse Foundation’s support we changed the name to a more unique one. The new name is a tribute to the “myelin” substance, which accelerates your thoughts by making neurons much more efficient at conducting electricity. We’ve heard users claim that the Mylyn tool increases their efficiency to the point where they feel like they are coding at the speed of thought. Reducing the UI friction that thwarts our productivity is what the Mylyn project is all about.

The major features which Mylyn provides are:

  • Task-Focused User Interface - the interface automatically hides items which are not part of the current task, and keeps track of what items are related to a given task
  • Integration with Task Repositories - draws lists of tasks from Bugzilla, JIRA, and Trac as well as several other providers
  • Rich editing and transparent offline work - automatic caching of task changes, and automatic synchronization when back online
  • Complete Eclipse 3.3 integration - utilizes new Eclipse 3.3 facilities such as pervasive hyperlinking, editor-based content assist and Forms support

At it's core, Mylyn is a refactoring of the Eclipse user interface which intends to increase productivity by presenting as much relevant information as possible while at the same time preventing information overload. InfoQ reviewed a detailed, two-part article which discusses Mylyn's features and functionality, and asked Kersten to summarize both how long it should take to get Mylyn up and running, and how long it would take the average developer to adjust to Mylyn's interface:

Mylyn is all about integration, which means that we support a broad range of tools. Since Mylyn provides a fundamental change in the way we work, we also make sure that every feature it adds is optional and incrementally adoptable. Here’s one concrete example of how you may get started with it if you’re using JIRA as your issue tracker:
  • Google for "mylyn downloads", grab the Update Site for your version of Eclipse and for your issue tracker (e.g. JIRA) and version control (e.g. SVN), then install using Eclipse’s Update Manager
  • Notice that you now have a Task List in Eclipse. Enter your JIRA credentials and hit Validate Settings. Complain to the sysadmin if you get a message that they should turn on SOAP/RPC
  • Create a query in the Task List that uses one of your saved filters on the JIRA service and start working with Mylyn’s rich task editor
Hopefully that didn’t take more than fifteen minutes (please file a bug if it did) and your tasks are now in Eclipse and you have all the benefits of Mylyn’s Task Repository integration including offline support and personal planning. Now you get curious about this Task-Focused UI that you’ve heard about, and prompted by either the Cheat Sheet that comes with Mylyn or other documentation you do the following:
  • Activate the task via the popup menu. Mylyn will now manage the Eclipse UI to show you only the elements and editors relevant to the task. Task activation is the one new step that Mylyn adds to your workflow, and you’ll see the benefit right after you do it
  • Browse to a class of interest, either by the usual facilities such as Open Type, or the Alt+click shortcut that you can use to show filtered elements in a focused view. Note that only the elements that you access are visible in your views and that the elements you work with most become bold, and those you work with least disappear from view. The scrollbar and general information overload of thousands of elements in the tree view is now gone
  • Notice that a new issue has come in, activate that task, and start working on it. Your workspace now shows only what’s relevant to the new issue. If the issue was assigned to you by someone who is using Mylyn you will be automatically prompted to retrieve the context that they have shared so that you can start where they left off. When you are ready to get back to the original issue, it’s just one click to get back to where you were. The benefit of Mylyn’s one-click multitasking becomes evident as soon as you go back to a task that you worked on previously

InfoQ also asked about a set of best practices related to Mylyn adoption, and Kersten replied that his company, Tasktop Technologies, have compiled a list of best practices which they use for their own and for client work. However, he also said that generally applicable best practices tend to be incorporated into Mylyn directly, and that more usage-specific features (such as email and calendar integration) are implemented through the Tasktop Extensions to Mylyn, which are currently in beta. Kersten also mentioned the partnership between TaskTop and Interface21 to develop the Spring Tool Suite based on Eclipse and Mylyn, CollabNet's Subversion integration, and Rally's Agile-oriented Mylyn connector as other examples of the codification of usage-specific best practices.

Future plans for Mylyn include streamlining and tuning of the user interface, improvements to the 'degree-of-interest' model which drives the task-driven user interface, and increases in information density and ease of use. Kersten also said that user feedback would continue to be incorporated into new releases, especially since the user community has grown by orders of magnitude since last December's Mylyn 1.0 release.

Rate this Article