B.1 | Motivations#

[1] Background#

rivt is an open source software project that simplifies sharing and reuse of engineering documents. This has always been a challenge because engineering documents are complex. They may include text, images, tables, calculations, models and computer code. They are also dynamic and are freqeuently updated as projects evolve and progress.

The desire to reuse engineering documents is a matter of simple efficiency. Most engineering projects are not fundamentally unique. They follow familiar patterns and differ in ddegree and detials, not kind. The commercial market response to engineering document software has been to develop incompatible, siloed programs with barrriers to sharing and reuse that include:

  • incompatible documents across programs

  • costly software updates that are backward incompatible

  • software limited to specific platforms

  • limited version control

  • limited report generation

  • limited collaboration

Open source solutions have begun to change that. rivt is designed to address these barriers as a compliment and replacement to existing software. The table below summarizes and compares limitations between different programs (commercial programs in italics).

Software Comparison

Program

Report [1]

Ver [2]

Txt [3]

Priv [4]

Units [5]

Comp [6]

CP [7]

Collab [8]

Publ [9]

Matlab

no

no

no

no

no

no

no

no

yes

Mathcad

no

no

no

no

no

no

no

no

no

Mathematica

no

no

no

no

no

no

no

no

yes

Cloud SaaS

limited

no

no

no

no

no

yes

limited

limited

Excel

limited

no

no

no

no

yes

no

yes

yes

Jupyter

no

no

no

no

no

yes

yes

yes

yes

Quarto

yes

yes

no

no

no

no

yes

yes

yes

rivt

yes

yes

yes

yes

yes

yes

yes

yes

yes


[2] Use Cases#

The primary use case for rivt is writing and sharing document source files, and publishing engineering documents in text, PDF or HTML formats. A second use case is as a front or back end for pre- and post-processing data from other software. A third use case is real-time collaboration using interfaces like VSCode, Codespaces, Firebase, Gitpod or replit.

  1. Engineering documents for:

  2. internal communication

  3. research documentation

  4. government permits

  5. technical reports

  6. funding applications

  7. homework

  1. Front and back ends for:

  2. software pre- and post-processing

  3. visualization

  4. instrumentation

  1. Collaboration for:

  2. teaching

  3. presentations

  4. document preparation