5 reasons to love Mylyn

Original author: Wayne Beaton
  • Transfer
This post is actually initiated another one , which has already come out earlier. I was really surprised that so much was written about such an interesting thing as Mylyn in the Habré and I would like to fix it a bit. Under the cut, the translation is quite interesting, in my opinion, an article. I look forward to an interesting discussion.

Modern development environments have provided many tools for accelerated work, when many actions can be done with just a finger. Integration of editors and compilers for a wide variety of languages, tools for working with databases, development tools specific to a particular framework, as well as many others are already familiar to us and are based on smaller, but key things. But often at the time of integration they forget about the key part, about the end user - the developer.
The various development tools created today, on the one hand reliably working, and on the other, are not correctly integrated into the interface, help the developer to be more productive. However, with the increasing complexity of integrated development tools, only the availability of such small tools helps to navigate the capabilities of these systems. In this regard, modern developers need an environment that allows them to focus only on those artifacts that are of interest to the user, and, in addition, will only display the functionality of the system that is really important to the user. And here Eclipse appears on the scene and a plugin called Mylar, later renamed Mylyn. Mylyn changes the principle of software development as follows.
So, having fixed this key idea in our head, we will move on to a more detailed description of the capabilities of Mylyn. Mylyn

times number

lets you concentrate on your tasks

To feel the full power of Mylyn, you need to process all your activities (both development-related and non-core) into tasks. Each task contains a small part of the whole work, which will have the final result. Of course, at the beginning there will be problems with the statement of tasks (“Write an application” is clearly not the best option, since it is not clear what the next action should be), but over time, experience will come and tasks will become more clear (“Change the shape of the button from square to circle "). Such self-development is connected with the fact that it becomes easier for you to carry out and plan tasks that are formulated more competently (in principle, a person unconsciously strives for such activity planning). It is clear that all tasks will be formulated in different ways, but it is precisely the most clearly formulated tasks that show
Another advantage of tasks is that they show the state of work. You can always see what has been done and what remains. The ability to filter tasks by type will help to determine the same, but for a specific direction. While priority filtering shows how many key tasks have been done. (fig. 1)

Number two.

Mylyn only shows what you need

While you are in your workspace, Mylyn records all of your actions, such as editing files, classes, specific methods, and so on. Thus, every time you touch on an artifact during the work (by opening a file, editing the type, etc.), Mylyn will mark this activity, which will allow him to organize a collection of everything that will be interesting and necessary for you. And already in the future you will see only what concerns the sphere of your interests. In the process of increasing the number of artifacts falling into this area, their display will also change, for example, those classes and methods with which you work most often will be highlighted in bold.
Figure 2 shows a new task after opening a particular class. It is important to note that in the hierarchical list (Package Explorer) only the class that is mentioned in the task is shown. In addition, the list of methods (outline view) is empty, in fact, because none of the methods of the open class have been touched yet.

The third figure shows the same workspace after minor changes made to the class. The drawImage () method is now visible both in the hierarchical list and in the list of available methods. As soon as other methods are changed, they will also fall into the scope.

There is also a reverse reaction. As soon as you become less interested in an artifact, its selection becomes dull (from bold to normal, from normal to gray), and gradually the artifact disappears from the scope. This mechanism is based on the following point of view: if you made a change to an artifact, you will definitely return to it at least once more. In the future, completing the task, you may again return to the same artifacts that you worked on most actively. The reverse is also true: the less often you turn to an artifact, the less need for it in the future.
This mode can be easily disabled by simply pressing the “Focus on Active Task” button. This is done so that you can find the artifact hidden by Mylyn, make it active and return to its previous mode of operation. However, Java developers use this less often, due to the reasons inherent in the Eclipse Java Development Tools (JDT), which make it easy to view related relationships. It is also possible to postpone the current task in order to work on other artifacts, or, for example, another task, and return to the first.

Number three.

Mylyn remembers (what you did last summer - approx. Translation.) What you did while switching between tasks .

In the following two pictures, you can see how the workspace looks while working on Eclipse bugs: 138600 and 164658. The difference is visible to the naked eye. Thus, we come to another important feature of Mylyn: maintaining a specific working context for a specific task.

Thus, switching between tasks, you will see only those artifacts that relate only to this task. It is important that only one task can have active status, but no one bothers to switch between tasks. The task can be done in an active mass of ways: through the drop-down menu in the task editor, by working with the entry in the "Navigate" menu or by clicking on the first column of the line where this task is described. To make everything simple, you can switch between tasks using the drop-down menu that appears when you click on the title of the “Task List” tab, as shown in Figure 6.

The name of the current active task is visible at the top of the “Task List” tab, and also highlighted bold in the general task list.
By managing the context for each task, Mylyn allows the developer to focus all his attention on a well-formulated task and spend as little time as possible to switch between these tasks. In other words: as soon as you switch to another task, you see the material with which you need to work. And no extra time.

Number four

Mylyn can hook on to control systems.

On the Mylyn site, among other things, you can find plugins for integration with Bugzilla , JIRA , and Trac . In addition, it is possible to integrate Mylyn with XPlanner.and other similar services. This functionality allows you to manage tasks outside of development environments, as well as see them to other developers.
For example, in Figure 7 you can see a list of tasks obtained from various systems. For example, the “Open Harmony Bugs” item allows you to connect to the JIRA used by the Apache Harmony team . Other menu items get allow you to see the tasks received from Eclipse Bugzilla .

Adding tasks to your list comes down to sending a request to the server. It returns your tasks, after which you can start working on them. There is also support for offline mode; all changes made in it will be sent to the server after the next synchronization. Creating operation requests is more than simple and easy using dialogs, as shown in Figure 8.

Tasks received from the repository are regularly updated automatically. Those tasks that have been changed are marked in the general list, which immediately makes them noticeable. Mylyn allows you to add additional information to tasks, including information regarding time (for example, when you start working on a task), how long you will work on it and how long it has been completed. You can also set the duration of work on the task.
There is also the possibility of attaching a working context (see Figure 9), which allows you to archive the working context of the task and send it as additional information to the server. The context contains information about all the artifacts that you have worked with. Besides the fact that everyone can see the area of ​​your work, they can also expand their work context with your artifacts. In the future, you can work together on the same context.

Creating additional connectors for task repositories is possible thanks to the open API. As for the connectors to other task sources, which include web services, databases and corporate task management programs, their creation is also possible, which makes Mylyn a single tool for working on tasks.

Number five

Mylyn has a thoughtful Look And Feel

Mylyn is very well integrated into the Eclipse interface. Mylyn developers followed the rule “Better Less is Better” and at the output they got an intuitive and quite powerful design that is not overloaded. Mylyn can be found everywhere, but he does not scream about his presence anywhere. Most tabs (including Navigator, Package Explorer and Outline) contain functionality from Mylyn, but at the same time their principle of operation remains the same, so it takes quite a bit of time to get used to Mylyn. Along with this, innovations appeared (such as temporarily revealing hidden artifacts with the Alt button), but this serves more as a convenience. Continuing this strategy, menu items related to Mylyn simply added to the list of existing ones, but they did not bring anything new.
Mylyn looks good and works predictably. For example, the unobtrusive blinking of a pop-up window in the lower right part of the screen notifies you of changes made on the server to the task.
Thus, Mylyn is an elegant, yet powerful means of work that is understandable to the user.


For any proposed task, Mylyn provides exactly those artifacts that will almost certainly be needed in the future. Mylyn confidently repels the prevailing ideas about integrated development environments: instead of selecting tools to solve the problem, you should distribute the problems among the available tools. Perhaps this is not entirely obvious, but nevertheless it is so important. Mylyn integrates with other essential tools, and makes development more efficient and productive than the environment initially allows.
In order to realize the potential of Mylyn, you need to learn how to formulate your tasks correctly. If the task is too broad, Mylyn will not be so effective (mainly because the number of artifacts being viewed will be too large, and we will get to where we started).

UPD Moved to the Eclipse Blog.

Also popular now: