<> == Oct. 2007 Architecture Meeting - Seattle == '''Participants:''' Mike Smoot, John Boyle, Alex Pico, Allan Kuchinsky, Sarah Killcoyne, Scooter Morris, Ilya Shmulevich ''Slides or documents that were presented have been uploaded as attachments throughout the agenda list.'' === Goal === To put together a “shopping list” of ideas to present to the board regarding re-architecting Cytoscape. To accomplish this we kept the discussion high level, avoiding discussion of code or specific releases directly as those details would continue to be handled by the core development group as a whole. === Agenda === Lee Hood - Welcome Ilya Shmulevich - Notes from the Board [[attachment:Focus.ppt]] ==== Product Assessments ==== Powerpoint presentations for each package linked (except !PathwayArchitect as requested): '''Packages:''' * Allan - !PathwayArchitect * Mike - Biological Networks [[attachment:BiologicalNetworks.ppt]] * John - !VisAnt [[attachment:VisAnt.ppt]] * Scooter - Osprey [[attachment:Osprey.ppt]] * Alex - Ingenuity [[attachment:Injenuity.ppt]] * Sarah - Pajek, !CellDesigner [[attachment:Pajek.ppt]] [[attachment:CellDesigner.ppt]] '''Discussion: Due diligence''' What do we like about these applications? Specifically look at the write-ups What have they done well, what might be useful to our users? [[attachment:DueDiligence.doc]] ==== ISB User Experiences ==== * Greg Carter – “issues with maintaining our plugins” & “issues with teaching Cytoscape” (Jen Smith, presented by Greg) [[attachment:CarterSlides.ppt]] * Ilya Shmulevich – “issues with use of Cytoscape by computational biologists” [[attachment:CompBioIssues.ppt]] '''Discussion: Capture problems with Cytoscape''' Based on user experience and application discussions from the morning session [[attachment:UserExperience.doc]] ==== Related development experiences ==== * Sarah Killcoyne – "integrating distributed ad-hoc data services" [[attachment:IntegratingData.ppt]] * John Boyle – "past experiences in managing the rearchitecting of mature products" [[attachment:MatureProducts.ppt]] * Hector Rovira – "software process used to refactor a plugin architecture into an existing commercial product" [[attachment:PluginArchitecture.pdf]] - Links from Hector's talk: * [[http://isbsamples.googlecode.com/svn/trunk/|Sample code]] * [[http://www.martinfowler.com/articles/injection.html|Martin Fowler article on dependency injection]] * [[http://www.eventhelix.com/RealtimeMantra/Object_Oriented/dependency_inversion_principle.htm|Dependency inversion principle]] * [[http://www.osgi.org/osgi%5Ftechnology/|OSGi]] '''Discussion (for lead in to Friday)''' Review identified problems Discuss potential solutions [[attachment:DevPoints.doc]] ==== Practicalities of the Cytoscape Development Culture ==== Mike Smoot [[attachment:Practicalities.doc]] ==== Overview RFC’s ==== Break down the available RFCs into functional sets [[attachment:FunctionalSets.doc]] ==== Review the relevant RFCs and relate to identified problems ==== Match problems identified with RFCs Highlight problems which are not discussed in RFCs [[attachment:OrganizedProblems.doc]] ==== Planning based on problems and grouped RFC’s ==== Present high level ideas for solving the problems: including strategies for implementation, preliminary timelines, problems and dependencies Establish groups to work on adapting old (or producing new) RFCs Put together “shopping list” of ideas to present to board This document outlines the identified features to be worked on, organized into the same functional sets as the RFC's above. Note that items with a * are 3.0+ issues, any others should be considered in the 2.x series. [[attachment:OrganizedFeatures.doc]] ---- === RFC's In Progress === These RFC's were identified as those most important to the "shopping list" for the board. Some of these may have RFC's already and may be added to or rewritten, others are new. A new RFC template will be used that will include a project plan for each with some idea of the time it will take and the project dependencies. Each of these will be used as the "shopping list" of ideas for re-architecting that will be presented to the board in November 2007. ==== New RFC’s: ==== * [[RFC_Template| New RFC Template]] - Alex * 3.0 RFC to reference all the … 3.0 RFC’s - Mike * Project – Scooter, Sarah * Server (low low priority) * Data mediator plugin (subgene viewer prototype) – Alex, Allan * Task Monitoring/Management - Scooter * Themes (see domain models: genomics, proteomics, etc) – Alex, Kei * “syntactic sugar” ==== Missing in Current RFC’s: ==== '''Plugin Refactor''' * API’s offered - Mike * Scripted plugins, proof of principle (just add a line, full RFC not required) * Plugin interoperability (OSGi) - Mike * Resource Management/Watcher – Mike (see API’s) * Test Framework - Mike '''Relayering''' * Web front end, proof of principle for layering – Sarah'', Allan*'' * Macros – Sarah (may be in the RFC already) * Consistent Event Handling – Sarah, Mike, Allan * What is associated with a node (Z,T, etc) – Sarah (discussion point) * Exception Handling - Sarah ''*Allan: note that Web front end also has compelling use case of support for collaboration via sharing of networks and data. I can add a small description to this RFC.'' === Board Report === Copy of the report sent to the board October 31, 2007: [[attachment:BoardReport20071031.pdf]]