Welcome!

Open Source Cloud Authors: Zakia Bouachraoui, Yeshim Deniz, Liz McMillan, Pat Romanski, Elizabeth White

Related Topics: Open Source Cloud, Eclipse

Open Source Cloud: Article

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.


More Stories By Wayne Beaton

Wayne Beaton is chief evangelist at Eclipse.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.
A valuable conference experience generates new contacts, sales leads, potential strategic partners and potential investors; helps gather competitive intelligence and even provides inspiration for new products and services. Conference Guru works with conference organizers to pass great deals to great conferences, helping you discover new conferences and increase your return on investment.
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by FinTechEXPO. ICOHOLDER gives detailed information and help the community to invest in the trusty projects. Miami Blockchain Event by FinTechEXPO has opened its Call for Papers. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Miami Blockchain Event by FinTechEXPOalso offers sp...
Headquartered in Plainsboro, NJ, Synametrics Technologies has provided IT professionals and computer systems developers since 1997. Based on the success of their initial product offerings (WinSQL and DeltaCopy), the company continues to create and hone innovative products that help its customers get more from their computer applications, databases and infrastructure. To date, over one million users around the world have chosen Synametrics solutions to help power their accelerated business or per...
Poor data quality and analytics drive down business value. In fact, Gartner estimated that the average financial impact of poor data quality on organizations is $9.7 million per year. But bad data is much more than a cost center. By eroding trust in information, analytics and the business decisions based on these, it is a serious impediment to digital transformation.
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
SYS-CON Events announced today that IoT Global Network has been named “Media Sponsor” of SYS-CON's @ThingsExpo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. The IoT Global Network is a platform where you can connect with industry experts and network across the IoT community to build the successful IoT business of the future.
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.