Archive for June, 2009

Tasktop 1.5, Mylyn 3.2 and new connectors released for Eclipse Galileo

Wednesday, June 24th, 2009

The landscape of change management tools is diverse, due to the presence of legacy systems, new tools for agile and Scrum, and the need to choose among best-of-breed solutions. Across the Mylyn and Tasktop channels we have seen over 1000 requests for Mylyn connectors to 60 different change and task management solutions. The 2009 Eclipse Survey demonstrated this heterogeneity, identifying the popularity of Mozilla Bugzilla and Atlassian JIRA, followed by Trac, Mantis, IBM Rational ClearQuest and others, all with active use in the Eclipse ecosystem. With today’s releases of Tasktop 1.5, Eclipse Galileo, Mylyn 3.2 and more connectors, the measurable productivity benefits of the task-focused interface are now available for all of the change management solutions popular with Eclipse users. Thanks to the rapid expansion of Mylyn and Tasktop integrations, Eclipse is now the most broadly connected IDE available. Here are some highlights from today’s releases.

Mylyn 3.2

The biggest news is the Mylyn Connector Discovery portal, which makes finding and installing connectors as easy as downloading iPhone apps or Firefox add-ins (screenshot follows). In addition to having resolved 334 Bugzilla reports and feature requests since the March release of Mylyn 3.1, and 988772 since the Eclipse Ganymede release of Mylyn 3.0, we have highlighted 23 notable features in the Mylyn New & Noteworthy. One of the most significant is the UI improvements that we’ve made to the Task Editor, the main point of contact to the task-focused workday. The process of triaging incoming change notifications and commenting on tasks should now be faster than going through email.

mylyn-32-task-editor

The most noteworthy community contribution to this release is the screen capture and editing improvements made by Hiroyuki Inaba. Hiroyuki took the basic screen capture facility, which itself originated entirely from community contributions, and turned it into a full-featured tool for communicating with screenshots. We are very pleased to see that even as the project matures, community contributions to Mylyn remain high. Since the Ganymede release, we have seen 249 Bugzilla reports on Mylyn resolved by countless patches.

mylyn-32-screenshot-tool-small1

The biggest addition to Mylyn in the past year is WikiText, the lightweight wiki markup editing framework, created by David Green, which we all now depend on when authoring tasks. WikiText has seen numerous improvements, such as integration with the local task editor, formatting for stack traces, and output to PDF when used as an API for converting wiki documents.

mylyn-32-local-task1

Tasktop 1.5

This release of Tasktop has seen the usual stream of improvements and responses to user feedback, and the free trial has been extended to 60 days. The most notable parts of the release are two new connectors to popular change management tools, which have been added to Tasktop.

ClearQuest Connector

The Mylyn integration for ClearQuest has long been in the top 10 highest voted feature requests among 280,000 Bugzilla reports on Eclipse. Thanks to Tasktop Technologies’ new partnership with IBM around the Open Services for Lifecycle Collaboration (OSLC) web service APIs for change management, the connector is now available, and has been validated as “Ready for IBM Rational Software”. Teams using ClearQuest can now take advantage of offline support and powerful new capabilities for working with ClearQuest artifacts directly from Eclipse along with the benefits of the task-focused workspace and one-click multitasking.

tasktop-15-clearquest

ScrumWorks Pro Connector

The task-focused interface has its roots in agile development and we’ve recently seen a sharp increase in demand for Mylyn from teams and organizations adopting Scrum. Tasktop has partnered with Danube, creators of ScrumWorks Pro, to deliver a fully integrated environment for Scrum development that takes advantage of Mylyn’s task-focused interface, enabling Task List integration, offline editing, and the task-focused workflow for users of ScrumWorks.

tasktop-15-scrumworks1

Connectors Galore

We created the Tasktop Certified program in order to provide users with assurance that the Mylyn connectors they are installing meet a quality level defined by the Eclipse UI guidelines, the Eclipse coordinated release guidelines, the Mylyn framework guidelines, and Tasktop’s usability guidelines. When you see the “Tasktop Certified” label you can be sure that no matter what makes up your tool stack, the connectors you install will interoperate seamlessly to provide you with comprehensive Eclipse integration, focus for workspace artifacts, and one-click multitasking. For example, if you’re making a Spring-powered application, tracking tasks with JIRA, building with Bamboo, and using Subversion for your source code, you simply install the latest Tasktop Certified SpringSource Tool Suite, check off the Atlassian Connector for Eclipse and the CollabNet Desktop in the Mylyn Connector Discovery to create a fully integrated and task-focused tool set. Here’s a glimpse of the connector ecosystem today.

mylyn-32-discovery-small

Mylyn 3.2 New & Noteworthy

Tasktop 1.5 New & Noteworthy

Be more productive. Guaranteed.

Mylyn Connector Discovery

Tuesday, June 16th, 2009

The goal of the Eclipse Mylyn project and its ecosystem of connectors is to make the productivity benefits of the task-focused interface available to everyone. Mylyn enables a broad range of change management and collaboration technologies to be integrated with Eclipse. The result is a task-based inbox with a consistent rich client experience for managing all your projects and tasks in one place. Today Mylyn supports issue trackers, version control, email protocols, code review tools, build systems, wikis and more. In the future, we can expect the reach of Mylyn connectors to extend to additional domains like social networking as well as new collaboration protocols such as Google Wave.

Across the Mylyn and Tasktop channels we have seen over a thousand votes for sixty different change management and collaboration tools. Three dozen Mylyn connectors are now available, from a wide variety of vendors. But the mere availability of connectors is not enough. The success of Firefox’s add-ins and Apple’s App Store are great examples of how important ease of installation is to broad adoption. Having fielded countless installation support requests and hearing from numerous users unaware of available connectors, we realized that the process of finding and installing connectors was a limiting factor in the adoption of Mylyn. We looked to the Web Tools Platform for leadership in linking a similar sort of installable extension, its Server Adapters. At EclipseCon we announced our plans to leverage the same mechanisms for Mylyn and sought input from our integrator community in order to incorporate their needs (bug 272621) and established a selection process for listing connectors. The screenshot below shows the result.

connector-discovery-small

Mylyn connectors can now be installed with a few clicks, for both Eclipse.org based ones as well as those from other portals, such as the Tasktop Certified portion of the commercial ecosystem and other parts of the open source community. Note that the listing in the screenshot is a draft and subject to change.

connector-details

Leveraging P2

In attempting to reduce our support overhead for connector install, we realized that the Eclipse P2 update mechanism was both the cause of and solution to all of our problems. P2 provides a very nice framework for validating and automating installs, and has seen some major improvements in Eclipse 3.5, so we built the Mylyn Connector Discovery entirely on P2. With our usual less is more design philosophy, an additional constraint we imposed is that beyond accepting a license agreement, the interaction should only require the user to view a single discovery page. To avoid the need for sophisticated error messages, we also eagerly validate update sites and disable install for those that are not available. For more advanced configurations options the user can always drop back into the P2 UI.

Building on PDE

Since we’re all spoiled by the quality of Eclipse’s tools for working with plug-ins, we wanted a similar experience for authoring connector discovery listings. We also wanted a convenient way of testing and debugging the listings. To support that, we used the plug-in extension mechanism in an interesting way. Each discovery entry is a bundle, with its contents defined via extension point. The discovery UI downloads and reads all the discovery extensions listed on the eclipse.org/mylyn/discovery/directory.xml listing, in addition to those contributed by running bundles. We’ve been very pleased with the resulting ease of authoring, testing and deploying the bundles. Here’s an example of the extension point in use.


<extension
    point=“org.eclipse.mylyn.discovery.core.connectorDiscovery”>
  <connectorDescriptor
    categoryId=“org.eclipse.mylyn.discovery.site.categories.connector
      CategoryEclipseOrg”

    id=“org.eclipse.mylyn.bugzilla_feature”
    license=“EPL”
    name=“Mozilla Bugzilla”
    provider=“Eclipse Mylyn”
    siteUrl=“http://download.eclipse.org/tools/mylyn/update/weekly/e3.4″
    …>
    <icon
      image32=“images/bugzilla32.png”
      image64=“images/bugzilla48.png”>
    </icon>
    <overview
      screenshot=“images/bugzilla-screenshot-320×240.png”
      summary=“%connectorDescriptor.overview.summary.bugzilla”
      url=“http://eclipse.org/mylyn/”>
    </overview>
  </connectorDescriptor>
</extension>

We have high hopes for the discovery technology bringing the benefits of Mylyn and Eclipse to even more users. The next time that you’re curious about whether your change management solution is integrated with Eclipse, you’ll only be a couple clicks away from finding that out and having it installed. Stay tuned for more news of what’s coming in Mylyn 3.2.

Be more productive. Guaranteed.

Interview with JavaOne Rock Star Mik Kersten

Thursday, June 4th, 2009

Tasktop CEO Mik Kersten has been awarded JavaOne Rock Star status, which recognizes speakers for outstanding session content and speaking ability. In an interview with Janice J. Heiss, Mik discusses his most recent JavaOne talk, Eclipse Mylyn, cloud computing, advice for Java beginners and more. The interview is reproduced below.

videos1 Mik’s 2009 JavaOne session is “Mylyn: Redefining the ‘I’ of the IDE”, which was also delivered previously at QCon. Watch the video and slide show of the QCon talk (Note that the fonts and formatting aren’t properly reproduced).
 

JavaOne 2009 Interview with Janice J. Heiss

Bio: Mik Kersten is Chief Executive Officer and Co-Founder of Tasktop Technologies. His session focuses on how Mylyn, a task-focused interface tool from Tasktop, can be used by Java developers in their everyday work. Kersten invented the user interface technology underlying Mylyn while working on his Ph.D. at the University of British Columbia in Vancouver, Canada. While completing his Ph.D., supervised by Gail C. Murphy, Kersten and Murphy co-founded Tasktop, which provides productivity software built on the Mylyn technology.

Q: Tell us about your 2009 JavaOne Conference session.

A: The goal is to show developers how they can start on the path to doubling their productivity. We’ve all experienced moments in which we feel like we’re coding at the speed of thought. For some, it only happens when they are distraction free during late-coding sessions, or at release crunch times. With our task-focused interface, we’ve discovered that it’s possible to bring that level of productivity to day-to-day work. Hundreds of thousands of developers have already started working this way with Eclipse Mylyn. But many are still discovering the technology and tools, so during the presentation newcomers will get a high-level overview of how to streamline their Java tool suite in order to make coding faster and easier. Seasoned users will get a preview of the new productivity features in Eclipse Galileo and Mylyn 3.2, to be released on June 24.

Q: Tell us why the notion of a tool that hides more of the program than it shows is not a crazy idea.

A: Consider the size of a typical Java application. Tens of thousands of lines of code are common. Add to that the size of the JDK and other SDKs that you’re building on, and we’re talking about millions of lines of code. When I’m working on Mylyn and Tasktop, I have around eight million lines of code at my fingertips.

Now consider the size of the monitor sitting on your desk. If you’re lucky it’s 1280 pixels tall. In a tree view — one of the key facilities we have for navigating program structure — you can see only a few dozen elements on the screen at a time. In other words, you can’t possibly see the whole structure of the system. After just a few navigations of the code, these tree views can end up showing thousands of elements that are not relevant to the task at hand. There’s something wrong with this picture. So a traditional user interface often demands more browsing and searching than coding. But, for any task, any bug you fix or feature you add, you only care about a subset of the system that’s relevant to that task. Instead of showing you the compiler’s view of the entire system structure, the task-focused interface shows you only what’s relevant to the task at hand. All the structural information is still at your fingertips, but in the views and editor you see only what you’re working on.

Q: You say that “tasks are more important than files; focus is more important than features; and an explicit context is the biggest productivity boost since code completion.” Elaborate.

A: Whether you’re fixing user-reported defects, working against a SCRUM backlog, or submitting patches to your favorite open-source project, tasks define what you’re working on. Files and classes are the artifacts that you modify in order to complete the task. Thus, tasks should drive your interaction with files, not vice versa. Ever since the original GUI that Xerox PARC produced, we’ve been obsessed on streamlining interaction with files. As a result, the latest indexing and search technologies are quite adequate. It’s now time to evolve the user interface beyond files in order to handle the vast amount of information that we work with today. Automating the capture of task context has enabled a productivity transformation that we have been able to measure with statistical significance.

Q: What is the biggest down side to a task-focused interface?

A: That we’re not finished with it yet. Don’t get me wrong. If you do a Twitter or blog search for Mylyn you’ll see a stream of people stating how much it’s helping their work and programming activities. But, to date, we’ve taken a very incremental approach to extending the IDE user experience. You can use Mylyn without its focusing facilities for task management alone. You can use each of the focusing facilities selectively. We’ve constrained ourselves to layer the new facilities over the existing UI metaphors in order to enable an incremental adoption. It has been important in order to enable the rapid adoption of Mylyn over the past couple of years. But I’m getting an itch to make more fundamental changes to the user experience, basing more of our interaction with the computer around tasks. A few of these changes are already starting to show up in the Tasktop, the commercial version of Mylyn, which is bringing the task-focused interaction metaphor to the desktop and web applications.

Individual Developers and Mylyn

Q: Are there individual strengths and weaknesses that make developers better or worse at working with Mylyn?

A: There’s one interesting trend that I’ve noticed. In some cases, very experienced and senior developers don’t feel as much need for the focusing facilities of the tool. They’re familiar enough with the code that they work on that they can rely on their mental map of the system in order to navigate, rather than rely on tool support. Thankfully, for the rest of us there’s the tool support. And context sharing makes it easier for developers of all experience levels to collaborate around the code.

Q: What do you hope to accomplish with Tasktop Technologies?

A: We want to bring the benefits of the task-focused workflow to everyone’s workday. Based on our research results and adoption of Mylyn and Tasktop, we are convinced that this way of working can double productivity and bring more control to people’s work life. It’s an audacious goal, given that we’re a growing startup, but we’re doing it alone. We’ve created an innovation network with our partners to bring this shift about, including SpringSource, Atlassian, CollabNet, Rally, and IBM. We’ve made such a big portion of the technology open source that we’ve also had the benefit of hundreds of community patches to help us harden the Mylyn framework and APIs in order to extend them to more and more tools and integrations — three dozen at last count.

Cloud Computing

Q: What do you see ahead for cloud computing?

A: I’m interested in how the split between the client and server is getting redefined. Browser/JS/AJAX clients are here to stay. But for some applications having a rich client that’s connected to the cloud will provide a fundamental advantage. Consider Mylyn, where our goal is to open up your task, typically hosted in a web application, in under 200 milliseconds. We also need to ensure that your work is not interrupted if you go offline or if the network goes down. To achieve that, we have a sophisticated offline store for all the cloud-based data that you access, all while seamlessly integrating browser-based access when you are connected. These hybrid rich client approaches will help bring the desktop user experience to cloud-based applications.

Q: Can you describe the process of writing code?

A: Activate task, focus, repeat.

Q: What do you see as the most important API in Java three years from now?

A: That depends largely on your application domain, but considering the trends in processors and virtualization, I believe that the Concurrency API will be more and more important. As programming models continue to become more asynchronous, the current Concurrency API helps take the pain out of debugging concurrent applications.

Q: Can you give us an example of code that you are most proud of creating and explain why?

A: The InteractionEvent class and related parts of the Mylyn Monitor framework. This is the underpinning of Mylyn’s task-focused interface and isolates the various models that we have created from the user’s interaction with the system, such as the degree-of-interest model that defines the task context. The API and its externalization has not changed since the first Mylyn 0.1 prototype, since it stores interaction data in its most basic form, as a stream of interaction events. As a result, I can load a task context from Mylyn 0.1 into Mylyn 3.2 without requiring any data migration. No other API I’ve written has managed to be that stable, although notably all releases since Mylyn 3.0 have been binary compatible.

Q: The Java class that you couldn’t live without is…?

A: A year ago, I would have probably answered ConcurrentHashMap or CopyOnWriteArrayList. Except that I’ve now used them in the Mylyn codebase so much that we’ve had to reduce their use due to the fact that they can end up allocating a lot of memory when not used diligently.

Q: Favorite Java book?

A: Effective Java by Josh Bloch, by far.

Q: What do you do when you feel stumped?

A: Switch to a lower energy task.

Q: What recent changes to the platform have made your life easier?

A: Generics. And OSGi. I do realize that OSGi may not yet be part of the Java platform, but it has been such a key enabler of all our programming that I can’t imagine using Java without it.

Advice to Beginners

Q: What advice would you give to a programmer new to the Java language?

A: That you’ve made a good choice and that the language will be worth the up-front investment that you need to make to become proficient at it. Statically typed object-oriented languages will continue to play a very important role in how we build large systems. At Tasktop Technologies we use a pretty broad range of programming languages to get the job done. But building our core products and frameworks on Java, leveraging Java-based APIs in the JDK and Eclipse, and having access to the first-rate tooling available for Java, has made it possible for us to work very effectively with a humongous code base.

Be more productive. Guaranteed.

Conferences: RSC and JavaOne 2009

Tuesday, June 2nd, 2009

I just left the Rational Software Conference (RSC) 2009 and arrived at JavaOne. I joined Steve Speicher at RSC to present the results of the Open Services for Lifecycle Collaboration (OSLC) initiative, in which we contributed to the 1.0 specification of a REST-based API for change management. We’ll post more on Tasktop’s participation in OSLC soon.

Our involvement in OSLC started with the tremendous amount of interest in a Mylyn connector for IBM Rational’s ClearQuest. The corresponding bug has been in the top 10 most voted enhancement requests on Eclipse for a couple of years, and is now ranked 4th. We decided with IBM that the best way to approach this was to collaborate on the OSLC initiative, which is now providing a generic way to access tasks in repositories that provide an OSLC web service API. We are leveraging OSLC API to build the soon-to-be-released ClearQuest connector.

If you’re interested in learning more about how OSLC will impact Tasktop and Mylyn users, check out the developerWorks podcast with myself, Carl Zetie and Steve Abrams.


podcast-graphic

IBM developerWorks: Abrams, Zetie, and Kersten on first fruits from the OSLC
Also available in MP3 format

     
  Now it’s time for the craziness that is JavaOne. I just had a quick chat with Michael Ernst who is presenting some very interesting work on Preventing Bugs with Pluggable Type Checking which I was very glad to hear is coming in Java 7. After that it will be good to hear from Rod Johnson on the Spring Framework 3.0: New and Notable.

javaone
     

My talk on what’s new in Mylyn and the task-focused interface will be on Thursday:

mylyn Mylyn: Redefining the “I” of the IDE
Thursday, June 4, 2009
1:30 PM – 2:30 PM Hall E 133
   

Be more productive. Guaranteed.