Skip to main content
Jump to: navigation, search


< Newsreader
Revision as of 15:19, 13 June 2009 by (Talk | contribs) (Aware Workbench)


salvo Noun
pl -vos or -voes

  1. a simultaneous discharge of guns in battle or on a ceremonial occasion
  2. an outburst of applause or questions [Italian salva, from Latin salve! greetings!]

Collins Essential English Dictionary 2nd Edition 2006 © HarperCollins Publishers 2004, 2006


The Salvo Project is a proposed open source project under the Eclipse Technology Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) 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 newsgroup.


A traditional medium for asking questions and communicating with peers and experts is through the NNTP protocol commonly referred to as newsgroups but also known as USENET or Newsnet. The NNTP is a client/server protocol which enables publishing of articles or posts which mostly come in the form of Questions, Answers and Announcements. These articles are mostly plain text but can be posted in HTML or MIME format and also include images or other binary objects.

Newsgroups are a low level entry for communication and have distinct advantages above other means of communication. Newsgroups are often used for asking questions and the articles are seen by a large number of people over a long period of time. Other means of asking questions are IRC (Internet Chat) and mailing lists. The advantage over IRC is that newsgroups are asynchronous and the advantage over mailing lists is that a larger group of persons is addressed and that there is less effort to participate.

However, access to this powerful medium is mostly through a plugin in e-mail clients and time has come to put a dot on the I in IDE.


Salvo, the proposed project, is a newsreader program that can be used to communicate through newsgroups. There are three goals in this project.

  1. Be a Duck
    Salvo will be used for accessing newsgroups and posting and reading articles. Of course, there will be numerous additions to make the Q&A experience in newsgroups as comfortable as possible. Several enhancements, not found in traditional newsreader programs have already been implemented such as subject highlighting for easy recognition of thread participation and offline reading.
  2. Integrate
    How nice would it be if users could ask questions right from the workbench and be notified if answers arrived. There is already a good example of how such a thing would be implemented by the "Report of Bug" feature of Mylyn. Ideally, this project would be part of a new top level project as defined by bug 279383
  3. Be an Eclipse project
    The project is build of several plug-ins and in such a way that the code can be used to access resources without needing the UI so that these parts can be re-used in other projects. The local storage module is currently file system based but could be swapped for a database implementation. The main tree can be integrated in any Navigator framework based view.

Aware Workbench

In 2009 there is a lot of buzz about binding the Eclipse consumers to the Eclipse providers. There is demand for knowing our users so that we can engage in business with them, and/or, bridge the gap by providing ready to access, non-intrusive, commercial and technical information. How non-intrusive commercial information works is depicted here:



The prototype implementation of Mylar is documented in the EclipseCon presentation. 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.

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.


Initial committers

The initial committers will focus on evolving and hardening the Mylar model by delivering support for Java development. Our agile development process will follow'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:

Mik Kersten (UBC): project lead

Gail Murphy (UBC): project manager

Shawn Minto (UBC): component owner of Bugzilla integration and XML support

Interested parties

The following projects have expressed interest extending the model or tools, contributing ideas, guidance and discussion. Key contacts listed.

CHISEL lab (University of Victoria): Margaret-Anne Storey

JDT (IBM): Philippe Mulet

AspectJ/AJDT (IBM Hursley): Adrian Colyer

CDT (Texas Instruments Canada): Winnie Lai

Rational (IBM): Jin Li

Developer community

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.

User community

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 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 AOSD 2005 Mylar paper, 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.

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 Mylar page.

Tentative Plan

2004-08 v0.1: internal release for IBM Toronto user study 2005-02 v0.2: internal release for EclipseCon presentation 2005-04 v0.3: internal bootstrap release 2005-06 v0.4: public release for user study

"Mylar" is: a) An aluminized film used to avoid blindness when staring at a solar eclipse b) A user interface and interaction ‘skin’ used to avoid information blindness when staring at Eclipse

Back to the top