Skip to main content
Jump to: navigation, search

Difference between revisions of "Newsreader/Project"

(Background)
(Description)
 
(46 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
''This proposal has '''not''' been submitted to the EMO (yet).''
 +
 
=Salvo=
 
=Salvo=
 
'''salvo'''
 
'''salvo'''
Line 9: Line 11:
 
</small>
 
</small>
  
==Introduction==
 
  
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 http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.salvo newsgroup.
+
==Description==
 +
The Salvo project can be used to communicate through newsgroups or any other medium that provides a Q&A type structure (like mailing lists). It provides and underlying decoupled API to access information (e.g. news servers) and provide offline storage of newsgroup articles. Asking questions and receiving answers are integrated into the workbench.
  
 
==Background==
 
==Background==
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 [http://en.wikipedia.org/wiki/USENET 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.  
+
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 [http://en.wikipedia.org/wiki/USENET 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 can 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.
 
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.
+
However, access to this powerful medium is mostly through a ''plug-in'' in e-mail clients and with tools like Salvo and other possible contributions from the ECF, time has come to put a dot on the I in IDE.
  
 
==Salvo==
 
==Salvo==
Line 26: Line 27:
  
 
# Be a Duck
 
# 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 [http://industrial-tsi-wim.blogspot.com/2009/06/newsreader-update.html thread participation] and offline reading (.
+
#: 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 [http://industrial-tsi-wim.blogspot.com/2009/06/newsreader-update.html thread participation] and offline reading.
 
+
 
# Integrate
 
# 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  
+
#: 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=279383 279383]
 
+
 
# Be an Eclipse project
 
# 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.
 
#: 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==
 
==Aware Workbench==
 +
In 2009 there is a lot of buzz about binding the Eclipse consumers to the Eclipse providers. The Aware Workbench knows what the user is doing and knows the questions asked and bugs reported. The workbench will notify us as soon as answers arrive. 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 in an Aware Workbench is depicted here:
  
 
+
<gallery>
but there only needs to be one wWhen 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.
+
Image:menu.jpg|New Help Menu             
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.
+
image:servicemap.jpg|Services Map
 
+
</gallery>
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 AOSD 2005 Mylar paper, the tool resulted in a substantial productivity improvement.  The first public presentation of Mylar 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:
+
 
+
The coolest plug-in you’re not using (eclipsepowered.org)
+
Mylar : eclipse plugin to avoid information blindness (jroller.com/page/werner)
+
Scope
+
 
+
The objectives of the Mylar project are to:
+
 
+
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.
+
 
+
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.
+
 
+
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.
+
 
+
Provide a platform for ideas and prototypes that help scale the Eclipse user interface to very large systems.
+
 
+
==Description==
+
 
+
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.
+
+
  
 
==Organization==
 
==Organization==
Line 67: Line 45:
 
===Initial committers===
 
===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 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:
+
The initial committers will focus on evolving and hardening the Newsreader model. Our agile development process will follow eclipse.org's standards for openness and transparency. The initial committers are:
  
Mik Kersten (UBC): project lead
+
Wim Jongman ([http://www.remainsoftware.com Remain Software]/[http://www.industrial-tsi.com Industrial-TSI]): project lead
  
Gail Murphy (UBC): project manager
+
More committers are welcome
  
Shawn Minto (UBC): component owner of Bugzilla integration and XML support
+
===Mentors from the Architecture Council===
 +
*Wayne Beaton (Eclipse Foundation)
  
 
===Interested parties===
 
===Interested parties===
  
The following projects have expressed interest extending the model or tools, contributing ideas, guidance and discussion. Key contacts listed.
+
The following people have expressed interest in the tool, contributing ideas, guidance and discussion. Key contacts listed.
 
+
* Eric Rizzo
CHISEL lab (University of Victoria): Margaret-Anne Storey
+
* Remy Chi Jian Suen
 
+
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==
 
==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 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 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.
+
If Salvo is correctly integrated into the Workbench it could have quite an impact on the usability of Eclipse by lowering access to the already popular Eclipse newsgroups.
 
+
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
+
==Plan==
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:
+
2009-06 v0.4.0: public release for comments
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
+

Latest revision as of 04:29, 25 August 2011

This proposal has not been submitted to the EMO (yet).

Salvo

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


Description

The Salvo project can be used to communicate through newsgroups or any other medium that provides a Q&A type structure (like mailing lists). It provides and underlying decoupled API to access information (e.g. news servers) and provide offline storage of newsgroup articles. Asking questions and receiving answers are integrated into the workbench.

Background

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 can 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 plug-in in e-mail clients and with tools like Salvo and other possible contributions from the ECF, time has come to put a dot on the I in IDE.

Salvo

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. The Aware Workbench knows what the user is doing and knows the questions asked and bugs reported. The workbench will notify us as soon as answers arrive. 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 in an Aware Workbench is depicted here:

Organization

Initial committers

The initial committers will focus on evolving and hardening the Newsreader model. Our agile development process will follow eclipse.org's standards for openness and transparency. The initial committers are:

Wim Jongman (Remain Software/Industrial-TSI): project lead

More committers are welcome

Mentors from the Architecture Council

  • Wayne Beaton (Eclipse Foundation)

Interested parties

The following people have expressed interest in the tool, contributing ideas, guidance and discussion. Key contacts listed.

  • Eric Rizzo
  • Remy Chi Jian Suen

User community

If Salvo is correctly integrated into the Workbench it could have quite an impact on the usability of Eclipse by lowering access to the already popular Eclipse newsgroups.

Plan

2009-06 v0.4.0: public release for comments

Back to the top