SDA India is an online resource for Software, Development,IT, Architecture, Open Source, Mobile, Security, Databases, Delphi, C, OS, Asp, .Net, Php, Xml, Java

Interview with Mik Kersten, Mylyn Project Lead


Download Center Current Issue Issue Archive

"The openness and extensibility of Eclipse have made it possible to implement this new user interface approach in a way to ensure that programmers don’t have to give up their existing tools. I have a deep gratitude to the Eclipse platform for enabling this kind of innovation and I hope that some of the continued growth in the adoption of Eclipse is attributed to the fact that the Task-Focused Interface is only available on Eclipse."


Mik Kersten is the President and CTO of Tasktop Technologies, lead of the Eclipse Mylyn project, committer on the AspectJ project, and member of the Eclipse Architecture Council. While a research scientist at Xerox PARC, Mik implemented the first aspect-oriented programming tool support with AspectJ plug-ins for JBuilder, NetBeans, Visual Studio and Emacs. He then created Mylyn and the Task-Focused Interface technology while completing his PhD at the University of British Columbia. Mik's passion is building Eclipse-based tools that offload our brains and make it easier to get creative work done.

Q: How was the idea for Mylyn’s Task-Focused Interface born? Has there been a noticeable change in the use of Eclipse since the launch of Mylyn?


Mik Kersten (M K): The Task-Focused Interface was born from scarcity. Attention is one of the most precious and most resources that we have. The capacity of our computers has improved drastically in the past decades and so has the size of the software systems that we work with. However, our ability to process information has remained the same. Current user interface technologies have not adapted to the volume of information that we work with today.

If you move from a 20-inch screen to a 40-inch screen, chances are there that your productivity will not double. This is because the traditional development tools show us slices of the entire system structure. Only a small subset of that structure is relevant to the task on which we are currently working. The result is that we end up wasting time and clicks by constantly searching and browsing to find the information that we need to get work done. The Task-Focused Interface turns that way of working around by showing you only the parts of the system that are relevant to your task.

The openness and extensibility of Eclipse have made it possible to implement this new user interface approach in a way to ensure that programmers don’t have to give up their existing tools. I have a deep gratitude to the Eclipse platform for enabling this kind of innovation and I hope that some of the continued growth in the adoption of Eclipse is attributed to the fact that the Task-Focused Interface is only available on Eclipse.


Q: Where is Mylyn heading. What are the new functionalities planned?


M K: We are continuing to improve the integration of tasks and context with the Eclipse platform and IDE. For the current Mylyn 2.x releases this has meant streamlining the existing UI, making task creation easier and improving the focusing facilities for working with a very large task list. For the upcoming Mylyn 3.0 we have some more interesting improvements planned, including a UI revamp of the task editor and more functionality for managing both task repositories and local tasks. Another thing that I’m quite excited about is that Mylyn 3.0 will provide the first substantial improvements in the task context model and focus features since Mylyn 1.0. The majority of the improvements that we have planned boil down to the same driving goal--ensuring that you have to click as little as possible in order to have the information that you need at your fingertips.


Q: Will there be changes in the API in the coming releases, so that more configuration aspects will be covered via extension points?


M K: Yes, the move from Mylyn 2.0 (Europa) to Mylyn 3.0 (Ganymede) will bring API changes that will come from a full review of the current APIs and extension points. One of the most challenging and interesting things about creating the Mylyn APIs is that we are in a brand new space. We have been relying on integrator contributions and our evolving reference implementations, such as the Bugzilla Connector and the Java Bridge, to grow the APIs. The API changes between 1.0 and 2.0 made it possible for integrators to build the variety of connectors that you can find on our web site’s extensions listing today. The API changes that happen between 2.0 and 3.0 will make it considerably easier to build connectors and will enable new kinds of integration that will make the ideas of tasks and context more pervasive throughout our workday.


Q: What are the other communication and collaboration functionalities present today and also what is planned for the future?


M K: Mylyn’s focus has always been to build Eclipse-based technology that supports re-aligning the collaboration experience to center around asynchronous communication via tasks. For developers using Mylyn, the Task List becomes a next-generation inbox from which you can coordinate your entire programming workday. The feature that Mylyn provides for focusing of tasks on the current workweek also means that information overload can be much more easily managed than in a conventional email inbox.

As others who make daily use of it can attest, this approach can work amazingly well when everyone you work with is using a supported task repository. However, this still leaves out the occasional need for synchronous collaboration and the fact that not everyone you interact with may be using Mylyn. In the future, you can expect to see better integration between Mylyn and other collaborative technologies. For example, we recently improved our import/export and drag-and-drop support, so that you can now drag a task to a Skype conversation and the recipient can then easily add it to their task list, with the task context and repository information included. In addition, the ECF project is experimenting with support for synchronous collaboration around tasks. In other words, expect to see better interoperability between the tasks and the other collaboration technologies that you use today.


Q: In your opinion are there any scenarios where the use of Mylyn does not make sense?


M K: There is a spectrum of productivity benefits that you get from Mylyn that depends on how well Mylyn integrates with the other tools that you use and the size of system that you are building. For example, if there is no Mylyn Connector available for your task repository, you won’t get the benefits of task-focused collaboration. If you use a programming language that doesn’t have a Mylyn Bridge then you will miss some of the benefits of reduced information overload. This is why helping the Eclipse ecosystem grow the number of Connectors and Bridges is such an important priority for the Mylyn project.

Beyond the cases where integration is lacking, the only case that I know of where using Mylyn may not make sense is when you’re working on a system that you have perfect knowledge of, in which case you could always use Open Type to get to the right place. And if you’re not collaborating with users or developers, since tasks are such a useful anchor for collaboration. But those scenarios are the exception and not the rule, otherwise being a programmer wouldn’t be as rewarding and exciting a vocation as it is.


Q: Does Mylyn influence the non-functional requirements of the development environment (i.e. consumption of memory and performance). Could you share the experiences in this respect?


M K: The goal of Mylyn has always been to have no noticeable footprint on memory or performance. This is possible because the tool does not scale with the size of the system you work on, but instead with the relatively constant stream of interaction that you generate when working on the system. Any slowdown or footprint increase is likely to be an extension or configuration problem that should be reported to us as a bug that we would make a high priority.


Q: There is a partnership between Tasktop Technologies and SpringSource for a while now. What advantages does this have for the users?


M K: Our partnership materialized around providing enterprise application developers with the same productivity benefits that the Task-Focused Interface provides to Java and Eclipse Plug-in developers. This makes me very happy because such a large proportion of Java programmers are building enterprise applications and not long ago I was struggling to figure out how we could support them. We were not able to pool enough community efforts to properly extend Mylyn support to the many additional artifacts involved with enterprise application development. Then two very interesting things happened. Christian Dupuis and I met at JAX Europe and kick-started the open source collaboration that resulted in the Mylyn Bridge for Spring beans that now ships with Spring IDE. Then Adrian Colyer and I met and realized just how much potential there was in streamlining enterprise application development with Mylyn’s Task-Focused Interface.
At the Spring Experience conference in December, developers got to see a glimpse of the fruits of our partnership: the SpringSource Tool Suite (STS). Just as the power and simplicity of the Spring Framework have dramatically simplified enterprise Java application development, the STS is bringing that same kind of power and simplicity to the enterprise application IDE. We’ve got some very neat new integration between task context and the Spring-specific tool support, so make sure to check it out when SpringSource releases a free version for non-commercial development at this year’s EclipseCon.


Q: Are there any plans to offer a version of “Mylyn for Project Managers” in the future with additional handling of planning concepts like milestones. With the product Tasktop there will be a commercial version of Mylyn. Which additional functionalities can be expected of Tasktop?


M K: The key goal of the Mylyn project is to provide an extensible Task-Focused Interface framework and core tools. In order to evolve that framework we have created references implementations that support Task-Focused Programming, with an emphasis on supporting technologies used by the Eclipse ecosystem (e.g. Java, Plug-ins and Bugzilla). Our goal is to provide a user interface framework that can be extended to the diverse set of planning and management tools. Although there is a lot of commonality in task management that we leverage in the task list and task editor, there are some very interesting differences in how planning and management tools work. For example, the Rally and XPlanner Mylyn Connectors have some great features for Agile project management that integrate with the task list. Other task repositories such as CollabNet and JIRA also have impressive planning facilities, but those have very little in common with the very Agile planning approach used by Rally. For this reason, we are putting effort into capturing the commonalities in the framework, but allowing integrations built on top of Mylyn to add value with additional planning and management features that are tailored to their particular product or web service.

The notion of a “Mylyn for Project Managers” turned out to be an even more interesting problem. While programmers can spend the majority of their workday within the IDE, project managers do not. Since Mylyn itself is limited to the elegant world of the Eclipse workbench, after some efforts we realized that we could not properly support managers and other non-programmers with Mylyn alone. This is how the Task-Focused Desktop, or Tasktop, was born. Tasktop is closed source tools build on top of Eclipse and Mylyn provides a layer of integration between the Task-Focused Interface and the proprietary web and desktop applications that managers frequently use. For example, when you activate a task, Tasktop instantly restores the Microsoft Word document and Google Calendar appointment you were previously working on, just as Mylyn restores the Java classes you were editing. While we hope to see more and more applications move to the Eclipse platform, we realized that integration with commercial email tools and other productivity applications is critical to provide managers with the same productivity benefits that Mylyn is providing programmers. Since all of the Tasktop programmers use those same facilities frequently as well, we have also made a plug-in version of Tasktop. That’s the version I use since my workday consists of both management and programming. As Tasktop President and CTO, I simply cannot imagine that I could find the time for daily programming if not for the tremendous productivity increase that Mylyn and Tasktop bring to my workday. Thankfully the Task-Focused Interface really does remove the overhead of context switching, since constant multitasking is the norm for so many of us today.





Post a Comment
Name
Title
Comment
Menu
News Desk
Feature Stories
Articles
Interviews
Case Studies
White Paper
Analyst Corner
Planet SDA-India
SDA Events
INDIA IT Event Calender
IT Jobs
Advertise