Differences between revisions 23 and 24
Revision 23 as of 2005-11-28 16:16:45
Size: 6412
Editor: mskresolve-b
Comment:
Revision 24 as of 2005-11-28 16:17:30
Size: 6429
Editor: mskresolve-b
Comment:
Deletions are marked like this. Additions are marked like this.
Line 88: Line 88:
=== Question 3: If you had to identify the biggest weakness with the current Cytoscape development process, what would it be?=== === Question 3: If you had to identify the biggest weakness with the current Cytoscape development process, what would it be? ===
Line 92: Line 92:
* We need to be more closely tied to the user community.   * We need to be more closely tied to the user community.
Line 96: Line 96:
* We have no central control. There is "no there there". Anybody can change things, take things out, put things back.
* Lack of coordination. However, a strong centralized control would make things a lot less flexible.
* In the spectrum of control v. anarchy, we probably ought to move a bit more towards control.
* No project management.
  * We have no central control. There is "no there there". Anybody can change things, take things out, put things back.
  * Lack of coordination. However, a strong centralized control would make things a lot less flexible.
  * In the spectrum of control v. anarchy, we probably ought to move a bit more towards control.
  * No project management.
Line 103: Line 103:
* We need identifying and prioritize depedencies early on.
* We are not strict with ourselves in deciding what needs to be done first, and actually doing it first. We go more for what we are interested in.
* For example, CyAttributes should have been done first. Could have saved a month if that was done first.
  * We need identifying and prioritize depedencies early on.
  * We are not strict with ourselves in deciding what needs to be done first, and actually doing it first. We go more for what we are interested in.
  * For example, CyAttributes should have been done first. Could have saved a month if that was done first.

TableOfContents([2])

About this Document

This is an official Request for Comment (RFC) for "improving the quality of the Cytoscape 2.3 release."

RFC 2 is divided in two parts:

  • Part I consists of Ethan's interviews with six Cytoscapers (Trey, Gary, Ben, Allan, Aditya, and Rowan). I had hoped to interview more people before the Cytoscape retreat, but unfortunately didn't have time to get to everybody. In Part I, I have done my best to paraphrase people's comments, and I have not indicidated who said what.
  • Part II consists of ideas which were culled from Ethan's interviews, and are now presented as concrete proposals to the larger group.

Status

This document is under construction.

Part I: The Interviews

Question 1: How do you feel about the quality of the 2.2 release?

Cytosaper #1:

  • We pushed the release date out too much. We should have coordinated our efforts much earlier; we probably could have done something by August. We could have done a much better job if we had coordinated earlier on. I think this compromised the quality of the chosen feature set.
  • Next time, we need to decide the feature set straight away. Then, do design and implementation in the next 2-3 months, so that we can do a real six month release cycle.
  • Feature set was based on developer interests, not really based on user's feedback. We need a better mechanism to get more feedback from real users.

Cytoscaper #2:

  • I think we chose the right set of features. For example, we chose a set of features that go well together, e.g. the new attribute browse goes well with the CytoPanel API. Plus, the editor fits in. Metanodes could have been in there too, and that would have been nice.

  • Timeliness could have been better. Quality could have been better.
  • That said, there are always trade-offs. In the tradeoff between: GraphObjAttributes v. CytoscapeData v. CyAttributes, I think we made the right decision. If we have had put Cytoscape 2.2 out the door a month ago without CyAttributes, it would have been a lot buggier.

Cytoscaper #3:

  • I think we picked the right feature set.
  • Reasonable quality, but could be very much improved.
  • Smoothness of the user experience and user interace (GUI) is still a real issue.
  • Reviewed code is pretty high quality.
  • Release was slow, and could have been faster. We didn't work through all the dependencies between modules early enough.

Cytoscaper #4:

  • I thinks we focused on the right set of features. The most important thing is a stable API and being able to support plugin writers better.
  • Nonetheless, we dropped a few features that I wanted. This is probably because I didn't do a good enough job of communicating to others what I was working on.
  • Some groups doing core development are set on maintaining current functionality without soliciting feedback from other groups / users.
  • Quality of 2.2 is much higher than that of 2.1.
  • Need to better differentiate between core and not so core. If we had less stuff in the core, we could do updates of plugins more frequently, and updates to the core less frequently.

Cytoscaper #5:

  • Right feature set.
  • Quality is middling.
  • Timeliness is poor.
  • I don't know why we always get caught up in core refactoring. We keep making such sweeping changes to the core API. This results in huge problems. As long as I can remember, we have always been doing this.
  • Core may not need to be refactored. We have a huge "not invented here" syndrome, which causes new developers to want to continuously refactor the core.
  • We should have a higher energy barrier to starting a new refactoring.
  • As contentious as this may be, perhaps we didn't need to refactor GraphObjAttributes. Instead of refactoring GOB, we could have been developing new stuff. And, we have a long laundry list of fixes that would have been more important to do.

  • I'm glad we have graph editor. Glad we have an attribute browser. Glad we have cytopanels.

Question 2: If you had to identify the biggest strength in the current Cytoscape development process, what would it be?

Cytoscaper #1:

  • Distributed nature of development is a great strength. Core development is distributed; plugin development is distributed. Nothing is centralized at one place.

Cytoscaper #2:

  • We have a supportive, smart group of people. As a new person coming in, I haven't been afraid to ask stupid questions. No real personal animosity within the group. No snide comments re: code.
  • Esprit de corps among the group. Talented group of people.

Cytoscaper #3:

  • Everybody is generally on the same page in terms of what needs to get done.
  • People work in an agreeable way. People are open to ideas.

Cytoscaper #4:

  • Good backend support for graphs. We are now stabilizing the core APIs / data core structures.

Cytoscaper #5:

  • Small enough group that we know each other; comfortable working together.
  • Easy to get a hold of people.

Cytoscaper #6:

  • People get along; people are willing to help out.
  • The group seems to have a strong belief in Cytoscape.

Question 3: If you had to identify the biggest weakness with the current Cytoscape development process, what would it be?

Cytoscaper #1:

  • We need to be more closely tied to the user community.

Cytoscaper #2:

  • We have no central control. There is "no there there". Anybody can change things, take things out, put things back.
  • Lack of coordination. However, a strong centralized control would make things a lot less flexible.
  • In the spectrum of control v. anarchy, we probably ought to move a bit more towards control.
  • No project management.

Cytoscaper #3:

  • We need identifying and prioritize depedencies early on.
  • We are not strict with ourselves in deciding what needs to be done first, and actually doing it first. We go more for what we are interested in.
  • For example, CyAttributes should have been done first. Could have saved a month if that was done first.

Part II: The Recommendations

Under Construction

RFC_2 (last edited 2009-02-12 01:04:11 by localhost)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux