| <?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop' |
| |
| $pageTitle = ""; |
| $pageKeywords = ""; |
| $pageAuthor = ""; |
| |
| ob_start(); |
| ?> |
| <div id="maincontent"> |
| <div id="midcolumn"> |
| |
| <?php |
| include_once($_SERVER['DOCUMENT_ROOT'] . "/projects/fragments/proposal-page-header.php"); |
| generate_header("Mylar"); |
| ?> |
| |
| |
| <h1>Mylar</h1> |
| <BR> |
| |
| |
| |
| <h2> |
| Introduction</h2> |
| |
| |
| |
| |
| |
| |
| |
| |
| <p>The Mylar Project is a proposed open source |
| project under the <a href="/technology/">Eclipse |
| Technology Project</a>.</p> |
| <p>This proposal is in the Project Proposal Phase (as defined in the |
| <a href="/projects/dev_process/"> |
| Eclipse Development Process document</a>) and is written to declare its intent |
| and scope. This proposal is written to solicit additional participation and |
| input from the Eclipse community. You are invited to comment on and/or join the |
| project. Please send all feedback to the |
| <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.mylar"> |
| http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.mylar</a> newsgroup. |
| |
| |
| |
| |
| |
| <h2> |
| Background</h2> |
| |
| |
| |
| When used on large systems, Eclipse views become overloaded with elements. |
| Tree views often contain deep hierarchies with thousands of nodes, search |
| results often contain hundreds of elements, and each needs to be inspected |
| carefully to find elements related to the task-at-hand. The end result is |
| that developers spend more time looking for the information they need to get a |
| task done than they do programming. Although the Eclipse IDE is better |
| than most for working on large systems, features such as working sets still |
| burden the developer with manual configuration as tasks change. The |
| problem is that the current IDE user interface, |
| which shows system wide slices of program structure, does not scale to very |
| large systems. As systems continue to grow, this problem will continue to |
| get worse. But no matter how complex a system is, for any task that |
| developers work on--any defect they fix or feature they add--developers only care about a subset of the system. |
| Mylar proposes that the Eclipse user interface only needs to show developers |
| what they are working on. |
| <p>The current Mylar prototype makes working with very large Java and plug-in projects in Eclipse as easy as it is to |
| work with small projects. It does this by encoding developers' editing and |
| navigation activity in a degree-of-interest model and using the standard Eclipse |
| views to show only the relevant elements. It also finds related |
| information by actively searching |
| the source code and related artifacts. The result is that the Mylar |
| plug-in |
| dramatically reduces the need to navigate, search, inspect, and scroll around |
| looking for the information needed for the task-at-hand. We propose Mylar |
| as an Eclipse Technology Project with the intent of demonstrating how the core |
| pieces of this technology are relevant to the Eclipse platform and tools |
| projects, and in the process creating a useful plug-in with an active community. </p> |
| <p>Version 0.1 of Mylar was tested in an August 2004 user study at IBM Toronto, |
| where 6 senior developers working on enterprise applications and plug-ins |
| used the tool during one week of their daily work. As reported in the |
| <a href="http://kerstens.org/mik/publications/mylar-aosd2005.pdf">AOSD |
| 2005 Mylar paper</a>, the tool resulted in a substantial productivity |
| improvement. The |
| <a href="http://www.cs.ubc.ca/~mylar/presentations/mylar-eclipsecon2005.ppt"> |
| first public presentation of Mylar</a> was given at EclipseCon 2005 and |
| was very well received. Email |
| feedback includes statements such as "I thought Mylar was the most |
| exciting technology I saw at the conference (including all the |
| commercial vendor offerings)!" [Sean Woodhouse, Technical Director of Verasta]. Several blog entries have also featured Mylar, including: </p> |
| <ul> |
| <li> |
| <a title="Permanent Link: The coolest plug-in you’re not using" rel="bookmark" href="http://www.eclipsepowered.org/archives/2005/03/03/the-coolest-plug-in-youre-not-using/"> |
| The coolest plug-in you’re not using</a> (eclipsepowered.org)</li> |
| <li><a href="http://jroller.com/page/werner/20050303">Mylar : |
| eclipse plugin to avoid information blindness</a> (jroller.com/page/werner)</li> |
| </ul> |
| |
| |
| |
| |
| <h2> |
| Scope</h2> |
| |
| |
| |
| <p align="left">The objectives of the Mylar project are to: </p> |
| <ul> |
| <li> |
| <p align="left">Demonstrate that modeling task context is a core |
| concern of the IDE platform, and that it can be seamlessly |
| integrated into Eclipse to better support developers working with |
| large workspaces.</p></li> |
| <li> |
| <p align="left">Build the core models, infrastructure, and UI |
| components required to model and expose task context. The |
| reference implementation will be tools for Java and Eclipse plug-in |
| development.</p></li> |
| <li> |
| <p align="left">Solicit contributions to extend the interest model |
| to additional Eclipse development platforms as C/C++ and J2EE, and |
| to additional tools such as those for task management and |
| information visualization. </p></li> |
| <li> |
| <p align="left">Provide a platform for ideas and prototypes that help |
| scale the Eclipse user interface to very large systems.</p></li> |
| </ul> |
| |
| |
| |
| |
| |
| <h2> |
| Description</h2> |
| |
| |
| |
| <p align="left">The prototype implementation of Mylar is documented in the |
| <a href="http://www.cs.ubc.ca/~mylar/presentations/mylar-eclipsecon2005.ppt"> |
| EclipseCon presentation</a>. The core Mylar component monitors the |
| developer's editing and navigation activity and builds a |
| degree-of-interest model. It exposes the degree-of-interest API, used by the Mylar UI |
| to |
| provide generic facilities for exposing interest in Eclipse workbench views and |
| editors. These facilities provide |
| interest-based highlighters, filters, sorters, and decorators. </p> |
| <p align="left">Additional Mylar tools extend the core model and UI facilities |
| and add tool-specific interest encoding and search |
| facilities. For example, the Java development support provides Mylar extensions of views such as the Package Explorer, Type |
| Hierarchy and Java Editor, and drives the JDT's search. AOP support does the same for AJDT. |
| XML-specific extensions support J2EE and plug-in development. Task management support integrates issue tracking systems such as |
| Bugzilla. Future extensions include debugging support, Dynamic |
| Help integration, interest model visualization and C/C++ development |
| support.<br> |
| </p> |
| |
| |
| |
| |
| |
| <h2> |
| Organization</h2> |
| |
| |
| |
| <p align="left"><b>Initial committers</b></p> |
| <p align="left">The initial committers will focus on evolving and |
| hardening the Mylar model by delivering support for |
| Java development. Our agile development process will |
| follow eclipse.org's standards for openness and transparency. Our |
| goal is to provide the |
| infrastructure and APIs needed to integrate task and degree-of-interest |
| centric UIs to any Eclipse plug-ins whose users experience information |
| overload. As such we will actively encourage contributions to |
| Mylar. We also plan to help improve the Eclipse platform by |
| submitting patches and extension point suggestions. The initial committers are:</p> |
| <ul> |
| <li> |
| <p align="left"><b><span style="font-weight: 400">Mik Kersten (UBC): </span></b>project lead </li> |
| <li> |
| <p align="left"><b><span style="font-weight: 400">Gail Murphy</span> <span style="font-weight: 400">(UBC): </span></b>project manager </li> |
| <li> |
| <p align="left"><b><span style="font-weight: 400">Shawn Minto</span> <span style="font-weight: 400">(UBC)</span></b>: component owner of Bugzilla integration and XML |
| support</li> |
| </ul> |
| <p align="left"><b>Interested parties</b><p align="left">The following |
| projects have expressed interest extending the model or tools, |
| contributing ideas, guidance and discussion. Key contacts listed.<ul> |
| <li> |
| <p align="left">CHISEL lab (University of Victoria): Margaret-Anne |
| Storey</li> |
| <li> |
| <p align="left">JDT (IBM): Philippe Mulet</li> |
| <li> |
| <p align="left">AspectJ/AJDT (IBM Hursley): Adrian Colyer</li> |
| <li> |
| <p align="left">CDT (Texas Instruments Canada): Winnie Lai</li> |
| <li> |
| <p align="left">Rational (IBM): Jin Li</li> |
| </ul> |
| <p align="left"><b>Developer community</b><p align="left">We expect to |
| extend the initial set of committers by actively supporting a developer |
| community. The initial community outside of UBC will |
| include |
| Margaret-Anne Storey's CHISEL lab, which is planning to extend Mylar to |
| their work on software visualization. We have two additional |
| developers working on Bugzilla integration, and will be working with CDT |
| developers to extend support to C/C++. Our goal is to have the |
| initial developer community harden the core Mylar APIs to the point |
| where it is easy for any other plug-in to incorporate the technology, |
| and we will encourage all active contributors to become committers. We will make it easy for interested parties to take an active role in the |
| project by making our planning and process transparent and remotely accessible. <p align="left"> |
| <b>User community</b><p align="left"> |
| Mylar is a new technology that |
| promises to improve the user interface and interaction model of Eclipse. |
| As such, supporting and soliciting feedback from a large user community |
| of commercial developers is critical to creating a scalable model and |
| usable UIs. We plan on doing this by using |
| the standard eclipse.org mechanisms of supporting an open project and community of early adopters. In addition, we will collect user feedback in the form of remotely conducted |
| user studies. These will take a similar form to the one |
| reported on in the |
| <a href="http://kerstens.org/mik/publications/mylar-aosd2005.pdf">AOSD |
| 2005 Mylar paper</a>, and will involve users sending their feedback and usage |
| statistics on a weekly basis. This data will provide us with |
| detailed information on view usage, navigation patterns, and the |
| accuracy and predictability of the Mylar model.<p align="left">Since |
| the EclipseCon presentation over 75 people have signed up for the |
| summer user study. Those individuals will form our initial user community. With |
| the input of the study we plan on tuning the Mylar model and UIs, |
| and subsequently growing our user and developer communities. For information on |
| the user user study please refer to the |
| <a href="http://www.cs.ubc.ca/~mylar/">Mylar page</a>.<br> |
| |
| |
| |
| |
| |
| <h2> |
| Tentative Plan</h2> |
| |
| |
| |
| <p>2004-08 v0.1: internal release for IBM Toronto |
| user study<br> |
| 2005-02 v0.2: internal release for EclipseCon presentation<br> |
| 2005-04 v0.3: internal bootstrap release<br> |
| 2005-06 v0.4: public release for user study |
| |
| |
| |
| <p><b><span style="font-weight: 400; font-style:italic">"Mylar" is:</span></b><i><br> |
| a) An aluminized film used to avoid blindness when staring at a solar eclipse<br> |
| b) A user interface and interaction ‘skin’ used to avoid information blindness |
| when staring at Eclipse</i></p> |
| |
| </div> |
| </div> |
| <?php |
| # Paste your HTML content between the EOHTML markers! |
| $html = ob_get_contents(); |
| ob_end_clean(); |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |