Files
cellxgene/dev_docs/design_principles.md
Colin Megill 6ecdfa4940 Create design_principles.md (#1903)
* Create design_principles.md

* Update design_principles.md

* Update design_principles.md

* Update design_principles.md

* Update design_principles.md

* Update design_principles.md

* Update dev_docs/design_principles.md

Co-authored-by: Ambrose J Carr <ambrosejcarr@users.noreply.github.com>

* Update dev_docs/design_principles.md

Co-authored-by: Ambrose J Carr <ambrosejcarr@users.noreply.github.com>

Co-authored-by: Ambrose J Carr <ambrosejcarr@users.noreply.github.com>
2021-04-01 16:50:09 -04:00

1.9 KiB

Design Principles (HCI)

cellxgene is a tool for scientists investigating single cell rna seq datasets. The design of cellxgene proceeds from a small number of core principles:

  1. the tool, first and foremost, must produce views that are scientifically valid at all times
  2. the tool should be highly scaleable and handle exploration of millions of cells in the browser at interactive speeds, including interactive crossfiltering and dataframe subsetting
  3. the tool should be data dense and give scientists powerful views into data
  4. the tool should be powerfully expressive and optimized for the nth day of use rather than the first day, in the spirit of enterprise tools, even if that requires training or onboarding
    • (think: photoshop, which is supported by a broad array of youtube tutorials, books and trainings)
  5. the tool should avoid duplicating data onscreen
  6. the tool should enable users to rapidly test hypotheses on the application, which may require it to enable interactive recomputation of views into the data, for example:
    • interactive differential expression
    • interactive reprojection of umap
  7. the tool should enable a productive workflow between those who are computational and those who are not
  8. the tool should minimize extraneous use of color, leaving color to primary workflow actions like compute differential expression or create new categorical metadata or create new geneset. This leaves the color space to colorby actions, such as colorby geneset and colorby categorical field