YOUR FEEDBACK
shirley wrote: As an ISV and service provider, we specialise in .NET based collaboration soluti...
Cloud Computing Conference
March 22-24, 2009, New York
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 . . .
Nathan Myhrvold's Intellectual Ventures (IV), the great patent vacuum, has a piece of Novafora's deal to buy Transmeta, according to a filing dropped off with the SEC. IV was apparently there at the bargaining table with Novafora, which makes digital video processors. It’s putting $1...
The two-year anniversary of the Novell-Microsoft alliance that scandalized the open source community passed quietly enough earlier this month. The pair waited a couple of weeks to mark the occasion and then said that in the second year of their arrangement they added upwards of 200 new...
Besides SUSE and its own brand of Linux, rPath is now supporting the Ubuntu and CentOS Linux operating systems as part of its rBuilder and rPath Lifecycle Management Platform. The move broadens the start-up’s options for deploying and managing applications in traditional, virtualized...
SCO filed a notice of appeal with the United States Court of Appeals for the 10th Circuit in Denver Tuesday. Yes, miracle of miracles it finally got a final judgment out of Utah District Court Judge Dale Kimball. That's the hall pass it needs to challenge his devastating summary judgme...
Fedora 10 is out and about. Fedora of course is Red Hat's freebie community OS and testbed for coming attractions in Red Hat Enterprise Linux. The new rev is supposed to have substantial virtualization improvements for remotely installing and managing storage provisioning and includes ...
The Fedora Project, a Red Hat sponsored and community-supported open source collaboration project, has announced the availability of Fedora 10, the latest version of its free open source operating system distribution. Fedora 10 features numerous leading-edge technologies and continues ...
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