Sangam Roadmap

 

We shall state on this page the roadmap of the Sangam project, so that participants can synchronize their vision, and contribute meaningfully to this project.
(1) Short term
(2) Middle term
(3) Long term
(4) Synchronizing your vision

(1) Short term

The goals in the immediate short term are :

  1. to find a way to test Sangam effectively.This will involve building test frameworks. We need to be able to create mock editor objects (currently they throw exceptions). Study of testcases for existing plugins is a must.
  2. to stabilize pair programming itself. The basic pair programming actions should work smoothly, and any bugs in this area are to be treated as first priority, over and above fancy features.
  3. to expand the testing base, and get more community feedback. Need to go slow in order to go fast.

(2) Middle term

  1. to incorporate the syncshare server within the plugin, to allow peer-to-peer networking.
  2. to study and incorporate syncshare servers running on port 80 within plugin (for enabling connections thru firewall). This will remove the need for setting up Apache with mod_proxy.
  3. to add bells and whistles to the plugin - to provide a unique distributed pair programming experience
  4. to add initial project synchronization checks

(3) Long term

  1. In order to be seriously considered as an alternative for in-person pair programming, voice support must be included. Whether voice packets should be routed through syncshare, or through RTP sessions using JMF will be a matter of R&D.
  2. Incorporation with the Jabber protocol - for online awareness - and interfacing with standard IM clients. We should be able to contact a potential pair through the plugin, if he/she logs in through Yahoo Messenger or AIM (or MSN ??)
  3. To form patterns for collaborative plugin development - which can be applied to various types of open-architecture softwares.

(4) Synchronizing your vision

As an enthusiastic participant, you will no doubt have great creative ideas which could give a beautiful direction to this project. At the same time, we would like you to remember that great ideas with poor implementation plans can lead to disaster (in our case, a lot of wasted time). This particularly applies when you wish to contribute to the long term or middle term goals, when the project is still struggling at the short term stages.

In this regard, we would like you to appreciate that we cannot use contributions for the long term or middle term goals, if the short term goals are not met - i.e. if pair programming is not stable or has bugs, then folks wouldnt bother about the Jabber protocol integration, or even voice chat, regardless of how cool that would be. In the XP style, we will need to complete the short term vision, making quick releases all the time, and get there in iterations. Over time, we would be coverting middle-term goals to short-term, and long-term goals to middle-term. If you are passionate about some aspect of the R&D, you only have to let us know, and we can assign you the task - provided it is in the short-term category.

Of course, this rule can be flexible if we have enough developers working on the various short term tasks, then you might want to start up on the middle term tasks. We are happy as long as you appreciate the spirit of this point.

It is also equally important to point out, that we MUST have middle term and long term goals - and if you have any great ideas toward this - please dont lose them - put them down in our feature request page.

This is a live document, and we will be modifying our goals as we go along, with community feedback and participation.