| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <title>Mylar Project Proposal</title> |
| <link type="text/css" rel="stylesheet" href="http://www.eclipse.org/proposals/eclipse-webtools/templates/eclipse/eclipse.css"> |
| </head> |
| |
| <body> |
| |
| <TABLE cellSpacing=5 cellPadding=2 width="100%" border=0> |
| <TBODY> |
| <TR> |
| <TD align=left width="60%"><FONT class=indextop>Mylar</FONT> |
| <BR><FONT class=indexsub>A Technology Project Proposal</FONT></TD> |
| <TD width="40%"><IMG height=86 hspace=50 src="http://eclipse.org/images/Idea.jpg" |
| width=120 align=center></TD></TR></TBODY></TABLE> |
| <table cellSpacing="5" cellPadding="2" width="100%" border="0" id="table10"> |
| <tr> |
| <td vAlign="top" align="left" bgColor="#0080c0"><b> |
| <font color="#ffffff">Introduction</font></b></td> |
| </tr> |
| </table> |
| <table cellSpacing="5" cellPadding="2" width="100%" border="0" id="table3"> |
| <tr> |
| <td> |
| The Mylar Project is a proposed open source |
| project under the <a href="http://www.eclipse.org/technology/">Eclipse |
| Technology Project</a>. |
| <p>This proposal is in the Project Proposal Phase (as defined in the |
| <a href="http://www.eclipse.org/org/documents/Eclipse%20Development%20Process%202003_11_09%20FINAL.pdf"> |
| 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="news://news.eclipse.org/eclipse.technology.mylar"> |
| news://news.eclipse.org/eclipse.technology.mylar</a> newsgroup.<br> |
| </td> |
| </tr> |
| </table> |
| <table cellSpacing="5" cellPadding="2" width="100%" border="0" id="table9"> |
| <tr> |
| <td vAlign="top" align="left" bgColor="#0080c0"><b> |
| <font color="#ffffff">Background</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| 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> </td> |
| </tr> |
| </table> |
| <table cellSpacing="5" cellPadding="2" width="100%" border="0" id="table7"> |
| <tr> |
| <td vAlign="top" align="left" bgColor="#0080c0"><b> |
| <font color="#ffffff">Scope</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <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> |
| </td> |
| </tr> |
| </table> |
| <table cellSpacing="5" cellPadding="2" width="100%" border="0" id="table8"> |
| <tr> |
| <td vAlign="top" align="left" bgColor="#0080c0"><b> |
| <font color="#ffffff">Description</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <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> |
| </td> |
| </tr> |
| </table> |
| <table cellSpacing="5" cellPadding="2" width="100%" border="0" id="table5"> |
| <tr> |
| <td vAlign="top" align="left" bgColor="#0080c0"><b> |
| <font color="#ffffff">Organization</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <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> |
| </td> |
| </tr> |
| </table> |
| <table cellSpacing="5" cellPadding="2" width="100%" border="0" id="table6"> |
| <tr> |
| <td vAlign="top" align="left" bgColor="#0080c0" colSpan="3"><b> |
| <font color="#ffffff">Tentative Plan</font></b></td> |
| </tr> |
| <tr> |
| <td colSpan="3"> |
| <p><font color="#808080">2004-08 v0.1: internal release for IBM Toronto |
| user study<br> |
| 2005-02 v0.2: internal release for EclipseCon presentation</font><br> |
| 2005-04 v0.3: internal bootstrap release<br> |
| 2005-06 v0.4: public release for user study </td> |
| </tr> |
| </table> |
| |
| <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> |
| |
| </body> |
| |
| </html> |