Mylyn 2.1: Refactoring the Eclipse User Interface to increase productivity
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: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:
- 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
- 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.
Mylin integration with subclipse caused me to dump Europa JEE version
by
Dean Schulze
Here's the bug I filed against it and another discussion about it:
subclipse.tigris.org/servlets/ReadMsg?listName=...
www.eclipsezone.com/forums/thread.jspa?messageI...
Alex Blewit and Mark Phipard helped me look into it, but we never determined exactly what the problem was.
In order to solve this issue I had to switch to Eclipse Classic 3.3 which doesn't have the Mylin plugins installed. Europa JEE doesn't allow you to remove Mylin, which is a huge mistake.
I've never liked it when someone takes the attitude "We've created a new, better way to do your work and everyone should adopt our way" which is what I sense with Mylin. The fact that it cannot be removed from Europa JEE shows that the Eclipse team has bought into this too.
The Eclipse and Mylin teams should make the Mylin plugin removeable. It causes problems, and even if it didn't not everyone wants to drink that Kool Aid.
Re: Mylin integration with subclipse caused me to dump Europa JEE version
by
Mik Kersten
Since Mylyn is a framework that multiple extensions, like Subclipse, build on, we try to do our best to make the framework as safe as possible to malfunctions in the extensions, but we cannot control them. I will follow up further on this with the Subclipse folks and suggest something else for you to try on the corresponding bug (bugs.eclipse.org/bugs/show_bug.cgi?id=200220). In the meantime, if you could try running the standard Europe JEE and use Sublcipse without installing the additional Subclipse Mylyn feature, we would value your feedback on whether that addresses the problem.
Re: Mylin integration with subclipse caused me to dump Europa JEE version
by
Eugene Kuleshov
As Mik already mentioned, you can, of course, disable all Mylyn plugins, or you can also disable/uninstall optional Subclipse integration for Mylyn feature (leaving just the Subclipse core). Another option is disable Mylyn's hyperlink detector wich you can do at Window / Preferences / General / Editors / Text Editors / Hyperlinking.
As you can see there are several options available to disable all or selected features or plugins and it is up to you to decide what exactly you want to use.
MyLyn not an option
by
Chris Costigan
Re: MyLyn not an option
by
Richard Capraro
In my point of view, Europa 3.3 is not an usable IDE for Java development, so i switched back to WTP 3.2
Re: Mylin integration with subclipse caused me to dump Europa JEE version
by
Dean Schulze
I filed a bug report with the subclipse project after following their procedures for filing bug reports. The issue seemed to just fall off of the radar screen, though.
I brought it up here both to alert others and to see if anybody else had encountered it, since during the discussion with Mark and Alex they didn't have anyone else confirm it. As you can see form the replies there are others who are having problems too.
Re: Mylin integration with subclipse caused me to dump Europa JEE version
by
Dean Schulze
Re: MyLyn not an option
by
Mik Kersten
I understand that when a new technology is added to an IDE it is easy to blame that technology for anything that goes wrong. But since your comments sound so ominous, I would appreciate that you follow up either here or in one of our public forums so that we can determine whether there are Mylyn-related problems underlying your problematic experiences. I'd had to have such comments needlessly scare users away from using Mylyn, when we can daily comments on how much it is increasing the productivity of those who adopt it. And again, if you're not using Mylyn, and it doesn't stay completely out of your way, please feel free to file a bug and call it a blocker, since being optional has always been our key design goal.
www.eclipse.org/mylyn/community/
Re: Mylin integration with subclipse caused me to dump Europa JEE version
by
Mik Kersten
Re: Mylin integration with subclipse caused me to dump Europa JEE version
by
Eugene Kuleshov
It does happen sometimes that some issues fall off the radar, but only because other issues may take priority due to lack of the resources or because lack of feedback on the bug reports. Please don't hesitate to ping on the bug reports if you feel that your issues been forgotten or require additional attention.
Educational Content
Intro to CLP with core.logic
Ryan Senior Jun 18, 2013
Spock: A Highly Logical Way To Test
Howard Lewis Ship Jun 18, 2013
Java Garbage Collection Distilled
Martin Thompson Jun 17, 2013
C++11 The Future is Here
Bjarne Stroustrup Jun 16, 2013
The Big Data Revolution
Claudia Perlich Jun 16, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think