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 use similar patterns and templates that differ in ddegree and details, 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 can alter that approach and rivt is designed to address these barriers as both a compliment and replacement to existing software. The table below summarizes and compares limitations between different programs (commercial programs in italics).
Software Comparison
Program |
Reprt [1] |
Ver [2] |
Txt [3] |
Priv [4] |
Unts [5] |
Comp [6] |
C-P [7] |
Coll [8] |
Pub [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 cases for rivt are:
producing reusable engineering documents that are easier to write, edit and format compared to LaTeX, Excel, or Word.
producing clear, organized documents that are simple to publish but not necessarily formatted to standards of formal journal articles or books.
producing documents with source files that need to be partitioned into public and private parts prior to sharing as open-source.
Examples include:
Engineering documents for:
internal communication
research documentation
government permits
technical reports
funding applications
homework
Front and back ends for:
software pre- and post-processing
visualization
instrumentation
Collaboration in:
teaching
presentations
document preparation