YOUR FEEDBACK
Andre Bro wrote: Good article. Couldn't find the listings though. Are they missing ?
AJAXWorld RIA Conference
Early Bird Savings Expire Friday Register Today and SAVE !..


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


Five Reasons to Love Mylar
Changing the way you write software

Modern development environments bring multiple integrated tools to developers' fingertips. Integration of editors and compilers for multiple languages, database browsers, framework-specific development tools, and more are commonplace and considered by many to be entry-level features: the minimum support required to be taken seriously. But modern development environments miss out when it comes to integrating the most important part: the developer.

Bringing multiple tools that work well together with a harmonized look and feel help a software developer be productive. However, as systems built using integrated development environments get more and more complex with larger and larger code bases, just having tools that are easy to find and use isn't enough. Modern developers need a development environment that focuses first class tools on the artifacts that they care about, and exposes only those artifacts that they're interested in and hide away everything else. The days of tool-focused development environments are numbered with the introduction of Eclipse Mylar. Mylar changes the way that you write software: rather than bringing a collection of tools to the development artifacts, Mylar brings the development artifacts to the tools.

With this in mind, we present five reasons to love Mylar.

One:
Mylar Focuses You on Your Task
To exploit the power of Mylar, you must break your activities (development and otherwise) into tasks. Each task defines some portion of the work that needs to be undertaken. As you start to work with Mylar, you may find that your tasks are quite coarse-grained ("Create an application"), but with some experience, tasks become more fine-grained ("Modify the editor generated by EMF into a view"). This evolution occurs as you learn to explicitly factor your development activities into smaller, more easily managed bits (this is something that many people do implicitly). Tasks can be of various levels of granularity, but - as we'll see later - finer-grained tasks tend to best leverage the power of Mylar. Tasks can be categorized, so you can keep multiple, separate collections of tasks. Tasks help you keep track of progress. By defining and actively managing a category of tasks, you can easily keep track of how much of your work is complete (see Figure 1), and how much more there is to do.

The Task List can be filtered to hide entire categories, complete tasks, or tasks with a priority below a specified threshold. As a task manager, the Task List is quite functional.

Two:
Mylar Only Shows What You're Interested in
As you navigate through your workspace, Mylar builds a context that keeps track of the files, types, methods and other artifacts that you touch. Every time you touch some artifact (by opening a file, modifying types and methods, etc.) Mylar keeps track of that touch and uses it to compile a collection of things that you're interested in. The things you are interested in are shown in the various views and everything else is hidden. As the interest in an artifact increases, its decoration in views changes: Java classes and methods that you work with very frequently, for example, will appear bold in the lists.

Figure 2 shows a new task after opening a single class file. Note that only one class, along with its containment hierarchy, is visible in the Package Explorer (there are several hundred other classes in the workspace, but only this one is visible). Note also that the outline view is completely blank and all the methods in the editor are automatically folded (the method bodies are hidden) since none of them have been touched.

Figure 3 shows the same workspace after some minor edits have been made to the class. Now, the drawImage() method is unfolded; it also appears in the Package Explorer and Outline views. As other methods are edited, they too will appear in these views.

As you become less interested in artifacts (by working with them less frequently), their decoration starts to fade (bold items become normal, normal items become gray) and eventually drops from sight. The belief upon which Mylar is built is that if you make a change in an artifact, you are likely to make another change. Further, in completing a task, you are more likely to work again with artifacts that you've worked with frequently. The converse is also true: as the frequency with which you work on an artifact decreases, so too is the likelihood that you'll make future changes. Mylar manages this evolving level of interest and responds accordingly.

Views can be toggled to disable the filtering of their content by clicking the "Focus on Active Task" button (); you might turn this off in the Package Explorer to make it easier to find an artifact that is hidden by Mylar and then turn it back on once you've found it. Java developers tend to have to do this infrequently due to the power inherent in the Eclipse Java Development Tools (JDT), which make opening related types and members easy. It is also possible to suspend the current task to allow you to explore unrelated artifacts without cluttering your views with artifacts that are not pertinent to the task.

Mylar's support for exposing only those artifacts you're interested in includes files and other types of data. The "out-of-the-box" Mylar experience integrates very tightly with Java by including Java types and members in the context. Mylar exposes APIs for providing similar levels of integration with other kinds of information, including other languages.

Three:
Mylar Remembers What You Were Doing When You Switch Between Tasks
Not only does Mylar keep track of what you're doing, it keeps track of it on a task-by-task basis. Figure 4 shows what an Eclipse workspace looks like while working on a bug for an Eclipse Corner article (bug 138600).

Figure 5 shows the same window, but with a different active task. This particular task (Eclipse Bugzilla bug 164658) touches three different files (note that this and the previous task are concerned with non-Java artifacts).

As you switch between the tasks, the state of the various views in the workbench show what Mylar has determined is interesting for that specific task and hides everything else. Only one task can be active at one time, but you can switch the active task in several ways. Tasks can activated (or deactivated) via the popup menu in the task editor, entries in the "Navigate" menu, or by clicking on the first column in the row corresponding with the task in the task list. To make things even easier, you can very easily flip between recent tasks by using the drop-down on the task list as shown in Figure 6.

The name of the currently active task is shown at the top of the Task List view; the active task is also indicated by the solid bullet in the first column of the table in the Task List view.

By managing a separate context for each task, Mylar lets the developer focus on very fine-grained tasks and switch focus quickly and easily. As you switch tasks, Mylar immediately draws your attention to the artifacts that are pertinent to that task, thereby reducing the time wasted trying to reacquaint yourself with the problem and getting you started working on solving it.

Four:
Mylar Hooks To External Task Repositories
The Mylar download site (www.eclipse.org/mylar/dl.php) offers support for integrating with Bugzilla (www.bugzilla.org/), JIRA (www.atlassian.com/software/jira/), and Trac (http://trac.edgewall.org/). There are also efforts underway to integrate Mylar with XPlanner (www.xplanner.org/) and other task repositories. By connecting to a task repository, tasks can be made persistent outside of the development environment and shared with other developers.

Figure 7 shows the Mylar Task List displaying bugs stored in multiple repositories. The first task category, "Open Harmony Bugs," connects to the JIRA repository used by Apache Harmony developers (http://harmony.apache.org/). The other categories contain tasks obtained from Eclipse Bugzilla (https://bugs.eclipse.org/bugs/) through various queries.


About Wayne Beaton
Wayne Beaton is chief evangelist at Eclipse.

ENTERPRISE OPEN SOURCE MAGAZINE LATEST STORIES . . .
Microsoft said, “Going forward we’ll use jQuery as one of the libraries used to implement higher-level controls in the ASP.NET AJAX Control Toolkit, as well as to implement new AJAX server-side helper methods for ASP.NET MVC. New features we add to ASP.NET AJAX (like the new client...
Join Scott Guthrie as he discusses Microsoft’s commitment to web standards development, Rich Internet Applications and how Microsoft is contributing to help move the web forward. Join Adobe’s Kevin Lynch as he demonstrates how Flash and HTML come together to make the most engaging,...
The Open Source Census, the catch-as-catch-can opt-in attempt to discern trends in open source adoption that OpenLogic started, has collected six months worth of data on some 300,000 installations on about 2,000 machines and from this very narrow and probably unrepresentative slice of ...
Recently, I have had the opportunity to work with a number of clients on their strategy to leverage the advantages that open source can achieve across their IT organizations. I found the major motivator and attention getter for open source adoption is the promise to cut costs; but incr...
Responding to the growing demand for business intelligence (BI) capabilities that enable real-time decision-making for operational business processes, InterSystems Corporation has announced InterSystems DeepSee embedded real-time BI software. DeepSee aims to broaden the use of BI to de...
Zimbra, Yahoo's open source messaging and collaboration software company whose fate was unclear if Microsoft had bought Yahoo, says it's got a new open extension framework for its Collaboration Suite (ZCS) that will enable two-way interoperability with Microsoft Exchange. It expects th...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE