Provide technical feedback on the Open Ethnographer Software Design

We need one round of feedback from an experienced Drupal developer on the software design for Open Ethnographer, the software for collaborative ethnographic coding that is under development here. This is not a programming task, instead it is tech consulting for software architecture / design. It works like this:

  1. Read the relevant pieces about Open Ethnographer and its proposed documentation (and if something is not clear then, just ask @Matthias):
  2. Wait a day while your mind subconsciously processes the proposal … :-)
  3. Write a report, as a comment to this task or to the software design wiki. A short report is enough: at this stage, I just want to make sure to not start implementing something that I'd have to tear down and re-do lateron. Esp. I'm interested in your feedback to cover the following:
    • Where applicable, caveats and alternative proposals for points where the proposed software design would just not work. For example, I'm not so sure if or how my proposed design for annotation storage (the "word ID, code ID" tuples) would be performant and compact enough to support (say) 50,000 annotated nodes/comments and a search by tag / code ("quotation manager") for that content.
    • Where applicable, proposals where the same requirements can be implemented with less programming effort. Relates esp. to the chosen base applications eComma and Annotator, and to mapping ethnographic codes to Drupal taxonomy terms.
    • Your general notes, Drupal design principles etc. where you'd have designed things differently.
    • Other aspects (where you see potential problems, innovation potential, design flaws, over-engineering, reinventing the wheel … whatever).

Some more context that might be missing from the design documents above: The software to develop should finally be an open source module for Drupal 7 that is (1) simple to install (avoiding RDF middleware layers, special databases etc.), (2) takes a low effort for continuing maintenance and bugfixing, and (3) allows other Drupal developers a relatively comfortable and simple start when wanting to contribute to the code. The core functionality to develop for this version is collaborative ethnographic coding; in tech terms, this is logically comparable to adding semantic tagging like RDFa to user-contributed content of a Drupal 7 site. However, adding a quotation manager (“search by tag”) and (later) advanced search and analysis features should be possible in a performant way.

Compensation: 150 EUR (proposed), to be invoiced from Edgeryders LbG

Due date: 2014-11-22 (proposed … and sorry for the tight time plan)

For Paolo

@Paolo_Mainardi, hello! I hope you don’t mind that I provisionally assigned this (paid) task to you. It’s just because, you have the most Drupal experience of all of us here and that’s critical for this task :wink: If you don’t have time for this or don’t want to take it up, just delete the assignment.

As said, the date and budget are a proposal (though it’s not meant as a big task in any way: you don’t have to care for any of the small proposed features, just if my proposed software architecture for this is adequate or not).

As this project proceeds, there will be more tasks that you and other developers from the Edgeryders community can take up …