BT

Tasktop: Bringing Mylyn's Task-Focused Interface to Everyone

| by Ryan Slobojan Follow 0 Followers on Feb 06, 2008. Estimated reading time: 9 minutes |

Tasktop Technologies, the company which created Eclipse Mylyn and leads its development, released Tasktop version 1.0 today. InfoQ interviewed Tasktop President and CTO Mik Kersten to learn more about this release and how it brings Mylyn's task-focused interface to a much larger audience.

Mik Kersten first described the driving philosophy behind Tasktop Technologies and the Tasktop 1.0 release:

Our philosophy is captured by the three simple and beautiful words embodied in our logo: less is more. This principle pervades all of our design, integration and implementation decisions. The “less is more” approach is a reaction to a trend that we’ve seen with development and knowledge work tools. There has been a constant creep of more information, more features, more tools, and more web UIs to learn. The result is that during a typical workday, we can spend more time looking for information than getting work done. We are constantly clicking between windows, web applications, desktop applications, and repeatedly scrolling and searching to find the information we need. Each tool tries to help by putting all sorts of useful information at our fingertips, but their lack of integration and focus leaves us completely overloaded. At Tasktop Technologies we decided to say, OK, that’s enough, this information-centric approach of building tools was great in the 80s and 90s when we had a few dozen files on our desktop, but it hasn’t scaled. What we need now is a task-centric approach that aligns tools around the way that we work, not around the way that information is stored on the filesystems.

Kersten also went into more detail about the 'less is more' mantra, where it came from, and what it means to Tasktop:

Interestingly, for me the phrase originated from the same place as the desktop user interface metaphor that tools are still intent on using: Xerox PARC. In 1999 Gregor Kiczales hired me to build the IDE support for AspectJ and at I was very excited to build as many features into our tools and web site as I could. He would regularly come by my desk and say “less is more” over and over, in an increasingly stern tone. That hammered into my head the design aesthetic of creating the simplest solution possible, putting it out to your users for feedback and then iterating on the design in order to get the flow through the common use cases right. With Mylyn and Tasktop we have taken the “less is more” idea to a whole new level thanks to the Task-Focused Interface.

The idea of a task-focused interface is a key idea which underlies both Mylyn and Tasktop 1.0, and Kersten explained it in further detail:

The key thing that I felt needed addressing is that we spend way too much time clicking. I was trying to address what was at first a selfish need, because the coding I was doing for the AspectJ releases had put me into a long and losing battle with Repetitive Strain Injury. I was desperate not to stop doing what I loved, so I started experimenting with various input devices, and then ways of reducing how much I clicked. I realized that if the stuff that I needed to refer to was on the screen, I would not need to constantly search and browse for it. To explore this further I started a PhD at UBC with one of the most skilled and most practical tool researchers, Gail Murphy. We created a degree-of-interest model for automatically ranking the most relevant stuff for you. Then I had this profound epiphany about how we could combine this model with a relatively recent discovery of how episodic memory works in humans. To make a long story short, we created the Task-Focused Interface which makes much better use of your memory by making tasks the primary element of interaction and collaboration, and by automating the recall of task contexts. It sounds a bit complicated but in the end the UI is simple—you activate a task and as a result everything you touch as part of the task becomes a part of its context. Since the contexts are stored and can be shared, multitasking becomes a single-click operation. We estimate that there are now hundreds of thousands of programmers who get the focus and flow benefits of the Task-Focused Interface while working with Eclipse and Mylyn.

Kersten also described how Tasktop 1.0 extends upon the task-focused interface which was first implemented in Mylyn:

Our goal with Mylyn was to create an open and extensible framework that would serve as a reference implementation of the Task-Focused Interface for programmers. The project started out as a way of validating my PhD thesis and then turned into an obsession of sharing these productivity benefits with others. But as you’ll notice from the abstract of my thesis the goal was to bring these benefits not just to programmers, but to all knowledge workers. To do this we had to leave the elegant world of the Eclipse workbench and extend Mylyn’s Task-Focused Interface to the desktop and web applications that we commonly use.

At Tasktop we’ve been doing all our own work with the tool for a year now, and had a few hundred people trying the beta. Today I’m extremely pleased to announce that we have started selling the first public release of Tasktop for $40/year to programmers using Eclipse and $60/year to those needing a standalone application. This not only provides support to the Mylyn project which we lead, but also marks a big landmark in our goal of bringing focus to your workday.

When asked to describe the major features in the Tasktop 1.0 release, Kersten said:

I’ll start with the ones that have the most obvious value and end on the one that’s the most profound. First of all, everyone gets to use Mylyn now. Mylyn’s Task List makes it possible to manage all of your tasks in a single place, whether they are personal to you or shared via a task repository.

If you’re not a programmer but want a rich client and offline access to JIRA, or if you’re programming using NetBeans or Visual Studio and want to connect to Rally, you can now do it with the standalone Tasktop RCP application. To make setup easy, we have included one-click install of partner connectors for Atlassian’s JIRA, CollabNet and Rally. If you’re an Outlook user you get a connector for Outlook email, tasks and calendar events. You also get Google Calendar integration with support for task scheduling via the integrated calendars, and goodies such as the Agenda popup that shows you all your upcoming events from Google Calendar even when offline. Tasktop is thoroughly integrated with Microsoft Windows in order to provide instant access to your files along with the benefits of focused file browsing. Since Tasktop has OS specific integration, we’re also able to provide you with to-the-minute tracking of time spent working on tasks both inside and outside of Eclipse. With the Eclipse plugin version, Mac and Linux based programmers get some of these benefits, but for now are missing features such as automatic closing of external applications when switching tasks.

But the feature that I’m most excited about is the fact that, when open, Tasktop can be set as your default browser (currently Windows only). This means that all of your browsing activity becomes focused. When you return to a programming task that involved reading documentation or editing a wiki page, the corresponding browser tabs will be instantly restored. When you click a hyperlink to a JIRA issue in Skype it will instantly open an offline copy with the integrated rich task editor and synchronize with the server in the background. I could go on for ages about the benefits, but you have to try this yourself. I have been working this way for a year now and simply could not imagine going back to a classic tabbed browser with no rich editing and context management facilities.

Kersten also pointed out an online video which shows Tasktop in action and a comprehensive list of the current set of Tasktop integrations. The technologies which underpin Tasktop 1.0 and the recent partnership with SpringSource were also discussed:

Tasktop is all about integration and leverages the Mylyn and Eclipse APIs to provide that integration. To bring focus to your whole workday, there needs to be a Mylyn connector to your task repository (e.g. issue tracker or project management web service) and a Mylyn bridge to support the tools that you use (e.g. Java editor, web browser). We have been pushing hard to enable a rich ecosystem of both proprietary and open source integrations with Mylyn for programmers and the ecosystem of tools is continuing to grow. Tasktop is filling the gaps for our non-programming activities with connectors for Google and Microsoft tools as well as the bridges for web and file browsing. We are strong believers in APIs being open source, so Eclipse and Mylyn provide the entire integration framework that Tasktop relies on.

One example of this push for integration that we’ll showcase at EclipseCon in March is our recent efforts with SpringSource on the SpringSource Tool Suite (STS). While the reference bridges bundled with Mylyn do a great job of supporting Java programmers, we have never had the resources behind the project to support the many additional bridges needed to integrate with the lifecycle of Java EE development. We then noticed that the Spring Framework was becoming the de facto standard for Java EE and partnered with SpringSource to create a Task-Focused enterprise application development environment. As with the Spring framework, power and simplicity are the goal of the STS and I’m really looking forward to our first public release of it at EclipseCon in March. Since the STS builds on Mylyn APIs, developers will be able to use it in conjunction with Tasktop in order to have focus for both their Java EE programming and other work activities.

Finally, Kersten shed some light on the future direction of Tasktop:

As you can probably tell, we’re just getting started. Expect to see the continued trajectory of improvements and integration from Tasktop that you’ve seen with Mylyn, whose first public release was just two years ago. At EclipseCon we’ll also be announcing some additional Tasktop integration that will make it even easier to manage your workday and Eclipse workspaces.

The beginning of something new like this is always a fun time because the initial users get to have a significant impact on how the tool evolves. So check out the trial from http://tasktop.com, and use the integrated reporting to give us your feedback on how the Task-Focused Interface can best support your work.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or 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

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

What the heck does Mylin actually do? by Dean Schulze

Ever since I filed a bug against the Mylin integration with Subsclipse I've wondered what Mylin does? The various comments I've read from Mik Kersten only talk about integration with JIRA and other bug tracking systems.

So what? Who works off of a bug tracking tool list? Who wants to? Certainly not me.

The 3.3 release of Eclipse made Mylin a non-removable plug-in. When integrated with Subclipse it causes Eclipse to become non-responsive for several seconds at a time. Even without the Subclispe-Mylin integration Eclipse 3.3 is bloated. Is Mylin responsible for this?

What is it about Mylin that made the Eclipse team decide to make it central to Europa? I certainly hope that there is more to it than integration with JIRA, but if there is something more to it Mik hasn't been able to articulate it.

Re: What the heck does Mylin actually do? by Mik Kersten

> What the heck does Mylin actually do?

If by "Mylin" you meant Myelin, it insulates your neurons so that they can conduct electricity at dramatically faster speeds.

That is in fact where the Mylyn tool got its name, since several users claimed that the Mylyn tool helps them code at the speed of thought.

Dean, first please note that Mylyn is easily removable from Eclipse and in terms of size is a very small fraction of the Europa download. We've already addressed your problems experience in an earlier earlier InfoQ post and as you already know we now have safeguards in Mylyn to ensure that misbehaving extensions don't trigger this very unlikely scenario you saw.

If you would like to know what Mylyn does, check out either the first two articles or webcast available from: www.eclipse.org/mylyn/start/

> I certainly hope that there is more to it than integration with JIRA,
> but if there is something more to it Mik hasn't been able to articulate it.

If I'm not articulating Mylyn's value well you can Google to find how others find it beneficial, here's a start:
* openmakesoftware.com/insights/?p=18
* www.devx.com/opensource/Article/35218/0/page/1
* eclipse.sys-con.com/read/336896.htm
* www.jroller.com/kenwdelong/entry/spring_experie...
* springide.org/blog/2008/01/31/spring-developmen...
* saurabhblog.blogspot.com/2007/12/eclipse-bangal...
* rbtech.blogspot.com/2007/05/eclipse-mylar-wow.html

> So what? Who works off of a bug tracking tool list? Who wants to? Certainly not me.

If you're still interested, you can try using Mylyn without the bug/task/issue tracking integration. Just create a single task called "do stuff" and activate it. You'll notice that as you work, the content visible in the Eclipse views is only the content that's most relevant to what you're doing. And that in summary is what Mylyn does: it brings tasks into the IDE and it focuses the IDE to show you only what's relevant to the tasks. How you definite your tasks is entirely up to you. If there's more that Mylyn could do to support your particular work style we would be very interested in hearing about that via one of our community channels: www.eclipse.org/mylyn/community/

Other languages support by Rodolfo de Paula

Mike

Does Mylyn works with other languages within Eclipse, for instance, Groovy ?

Thanks

Re: Other languages support by Mik Kersten

Hi Rolfo,

Mylyn has basic support for working with any language at the file level. In other words, as you code, the files that you navigate to populate your context. In order to have Mylyn's more advanced focusing facilities, such as automatic code folding and access to fields and methods from your task context, Mylyn needs a bridge that understands the programming language that you're working with. Out of the box, Mylyn provides bridges for Java, Ant and Eclipse plug-ins. Other bridges are distributed as extensions to Mylyn. For example, Spring IDE provides a bridge for working with Spring Beans in XML. I'm not aware of a bridge for Groovy yet, but the Eclipse DLTK project has a generic bridge for dynamic languages (note that this project is still in the incubation phase). You can see the current bridges listed on the Mylyn Extensions page and vote or file new request at: eclipse.org/mylyn/bugs/

One thing that I should mention that is relevant for web development is that Tasktop provides a bridge for web artifacts. This means that when I need to make an update to some part of our web site (which consists of Java, PHP, HTML, images, Photoshop), I only the relevant files in my task context along with all of the web pages that I'm previewing and testing. That makes it very easy to jump back and forth between source and site without having to search, browse or bookmark.

Re: Other languages support by Mik Kersten

Rodolfo, my apologies for accidentally concatenating your name to "Rolfo".

Re: What the heck does Mylin actually do? by Dean Schulze

I browsed the links you provided. I'm underwhelmed.

Mylin supports task based programming. One problem right off of the bat: micro-managers are going to love Mylin.

Maybe this is where the problem lies. I'm an innovator. I mostly do new development, either green field of new features for existing application. If I was fixing bugs for a micro-manager I'm sure he would love Mylin, but it would probably make my life miserable.

Mylin keeps track of the file you have opened for a particular task. What if the task you have requires new files?

The "task" I just finished was to allow a project manager to make major modification to one screen in a web application without having to create a .war and without having to redeploy anything to the application server or restart the application server. (It's nutty - like a teen-ager wanting to drive a car without having to use the brakes.) Most of the solution didn't involve working with files within the project.

My current "task" is to add user administration screens which of course don't exist.

Mylin is just overhead in these cases, and many others.

Here are some quotes from the links you provided that bode ill:

"Mylyn lets you manage a personal to-do list directly from within Eclipse"

"Finally, Mylyn keeps tabs on how much time you spend on each task, so it can also act as a built-in time-tracking tool—very handy for those end-of-week time sheets. "

Other than micro-management I don't see what Mylin offers.

Re: What the heck does Mylin actually do? by Mik Kersten

Dean,

So long as you start spelling the name of the tool as M-y-l-y-n (note the conspicuous lack of an "i") I'm happy to continue this debate in case it can help us learn more about the kinds of users or use cases that Mylyn may not support well. Unless you indicate that you have genuinely tried programming with Mylyn I hope you understand that I'll take the definitive statements that you make above with a grain of salt, but I'd like to address them and am interested in understanding more about how this task-focused approach might be failing you. Please note that I'm not trying to convince you or anyone else to like Mylyn--it's a tool, and either it makes you more productive or it doesn't.

> One problem right off of the bat: micro-managers are going to love Mylin.

This is an interesting point that we had some concerns about way back in the very early stages of exploring this part of the tools space. But for Mylyn we made a driving goal be empowering of the programmer (and with Tasktop empowering the knowledge worker). For example, while your team may have a product plan that a project manager controls (e.g., captured in JIRA or Rally), Mylyn allows you to control your own view of that plan and the order in which you will execute it. You'll find the principle of putting all of the control in the users hands throughout the Mylyn UI. As far as I can tell we have succeeded. I can't find a single reference of a user finding Mylyn oppressive in the way that you suggest, and I think that Coté of RedMonk put it perfectly when he said that what Mylyn (then called Mylar) allows you to "micro-manage yourself", in other words, to regain that control that we can lose when others factors micro-manage us, be they bosses or overloaded inboxes. If you can find evidence to the , I'm interested in seeing it.

> Maybe this is where the problem lies. I'm an innovator. I mostly do new development,
> either green field of new features for existing application.

This point doesn't quite make sense to me. I'll state my position, but it would be helpful if you could elaborate. As a data point, consider that all of Mylyn was created with Mylyn, and that this amounts to a very substantial code base being created in under 3 years. I see that as an existence proof that Mylyn supports innovation.

Almost any task that we do requires new information. That's why search technologies (e.g. Eclipse's source code indexing and navigation, web search) have provided such a huge productivity boost to programmers. But one of the key ideas behind the Task-Focused Interface that Mylyn and Tasktop use is that we repeatedly return to the same information and that this information is relevant to share with others. To use your example, if you successfully just finished your modifications to the web app screen you were changing, then went on to work on something else, and then had the project manager come up with a new requirement for that screen, wouldn't it be nice if you could instantly recall every resource that you had touched?

Re: Other languages support by Rodolfo de Paula

Mike,

Thanks for your answer. I am just starting a project and will spend this weekend playing with Tasktop. I have a feeling my manager will love it ;)

Re: Other languages support by Mik Kersten

Rodolfo: as long as you mean that your manager will love your increased focus and lowered stress level, that sounds great :)

Re: What the heck does Mylin actually do? by Dean Schulze

The bookmarking that you mention could be useful. It sounds like the project would have to be integrated with an issue tracking system (e.g. JIRA, Bugzilla, etc) in order to share what I create with Mylyn, though. That's extra administration and in many case a substantial change in the way people work.

That could be a good thing, but my reluctance is because you haven't made the case for what Mylyn is all about.

Your comment on using Mylyn for new development of a large project is something that I haven't heard before. The typical discussion of Mylyn is on narrowly focused tasks (maintanence).

From one the links you provided (eclipse.sys-con.com/read/336896_2.htm)

"To fully realize the potential of Mylar, you need to gain experience defining fine-grained tasks. As tasks get larger in scope, the focus that Mylar provides becomes less effective (Mylar provides as much focus as your task allows; if your task is too broad in scope, Mylar's filtering will expose a broad set of artifacts)."


Maybe adding fine-grained issue tracking to all projects is a good thing. Maybe in addition to source code control every project should have issue tracking starting from initial development. Maybe.

But then all toolmakers claim that if you modify your work habits to incorporate their tool you will be dramatically more productive.

Re: What the heck does Mylin actually do? by Mik Kersten

> The bookmarking that you mention could be useful. It sounds like the project
> would have to be integrated with an issue tracking system (e.g. JIRA, Bugzilla,
> etc) in order to share what I create with Mylyn, though. That's extra
> administration and in many case a substantial change in the way people work.

Yes, while you get the focusing benefits without a shared task repository (e.g. issue tracker), you cannot easily share tasks or contexts. You can still do things like dragging a task to a Skype conversation and having your buddy save it locally then import it, which will cause both the task and context to be loaded into his or her workspace. But personally I'm finding that's still too many clicks for constant use. That's why we're focusing so much on enabling integration with existing issue trackers. The thing that's helped Mylyn adoption is that a lot of projects are already using them.

> From one the links you provided (eclipse.sys-con.com/read/336896_2.htm)
> "... if your task is too broad in scope, Mylar's filtering will
> expose a broad set of artifacts)."

This quote is not quite accurate, because Mylyn's degree-of-interest model adapts in an obvious way as you work to show you the most frequently and recently accessed things. For example, I have a task called "update Mylyn web site" that has involved hundreds of resources for the past couple of years, but I still don't see a scrollbar when I activate it. Part of the trickiness in the tuning of Mylyn is ensuring that you see what you need but don't see too much on long-running tasks.

> Maybe adding fine-grained issue tracking to all projects is a good thing.
> Maybe in addition to source code control every project should have issue
> tracking starting from initial development. Maybe.
>
> But then all toolmakers claim that if you modify your work habits to
> incorporate their tool you will be dramatically more productive.

LOL, yes, I think we should all take the claims of tool builders stating that you should change your work habbits with a grain of salt :) I've certainly been on the receiving end of that enough, having tried to reap the productivity increasing promises of many a tool or technology that later turned out too cumbersome. So if you have the grain of salt in hand I can tell you how we've tried to avoid this pitfall. While at first the Task-Focused Interface required using all new views in Eclipse and a new editor, over time we got the idea down to one new view (the Task List), focus for existing views and editors, and only one fundamental change to the typical workflow: before you work on a task you activate it with one click. Beyond that we have done everything we can to make the entire adoption profile incremental. For example, if you don't like focus in your Package Explorer view you can disable it. If you don't like automatic commit messages, you don't have to use them. This all boils down to our principle of putting all the control in the hands of the user. With tools like Mylyn and Tasktop this becomes even more important due to all the automation that they provide.

With the first Tasktop release making this technology available to everyone, we'll have some even more interesting learning ahead, since the workflow change now has to be subtle and streamlined enough to support non-programmers who have never seen an issue tracker. That's why we're putting such a big emphasis on communicating with users. As with Mylyn, it's the users' constant feedback that is making it possible for us to make a new way of working easy to adopt.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

11 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT