YOUR FEEDBACK
Ubuntu Here We Come! - Java Finally To Become 100% Open Source
Reader wrote: Since November 206, wow! that is a long process.
SOA World Conference
Virtualization Conference
$200 Savings Expire May 16, 2008... – Register Today!


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
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

Digg This!

Page 1 of 2   next page »

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.



Page 1 of 2   next page »

About Wayne Beaton
Wayne Beaton is a Senior Software Consultant for Software Services for WebSphere, part of the IBM Software Group. Wayne's diverse role involves him in lots of interesting stuff from the WebSphere Skills Transfer and Migration programs to general consulting. Wayne likes to spend his free time convincing people that Extreme Programming, Refactoring and Unit Testing actually work.

LATEST ECLIPSE STORIES . . .
Borland Finally Dumps CodeGear Tools Division
It's only taken Borland two years but it's finally dumped its CodeGear tools division, responsible for Borland's hereditary JBuilder, Delphi and C++ Builder lines as well as its new web ventures into PHP and Ruby, said to be used by 7.5 million developers. Embarcadero Technologies is b
AJAX World - Skyway Software Announces RIA Developer Contest
According to Sean Walsh, President and CEO of Skyway Software, 'Our Skyway Community is thriving and our members are very talented. We truly look forward to their RIAs submittals and Skyway Builder extensions and are excited that all of the contributions will benefit the entire Skyway
Skyway Software Releases Eclipse Plug-In at JavaOne
Skyway Software announced a strategic partnership with SpringSource. In this technology partnership, Skyway Software becomes an application-delivery ISV certified by SpringSource and integrates Spring into Skyway Visual Perspectives, its end-to-end application development and delivery
Virtualization Conference Keynote Webcast Live on SYS-CON.TV
Brian Stevens, the Chief Technology Officer and Vice President of Engineering of Red Hat, delivered his Virtualization Keynote 'The Future of the Virtual Enterprise' at SYS-CON's Virtualization Conference & Expo 2007 West in San Francisco. 'Virtualization is the hottest subject today,
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
Red Hat is a trusted open source provider. Red Hat offers enterprise customers a long-term plan for building infrastructures on the quality and innovation of open source. Combining open source operating system platform, Red Hat Enterprise Linux, together with applications, management
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