Description
Provide an overview of the trade being evaluated, including its objectives and scope. Describe the context in which the tradeoffs are being considered and the decision-making process involved.
The objective of this trade is to select a library to use for the Tree Database Visualization Tool.
Criteria
Identify the key criteria that will be used to evaluate and compare the different options being considered and how they will be weighed against one another. These criteria might include factors such as cost, performance, schedule, risk, and other relevant considerations.
The following criteria, in no particular order, were considered to evaluate the different options:
- Cost and license
- Is the library free to use and licensed in a way that we can legally use it to develop new products?
- Cost of license in CAD → lower cost is better
- Compatibility and readiness to be used
- How compatible is it with Angular?
- Whether the library was designed for Angular → yes is better
- Quantity and quality of online resources (e.g., video tutorials, other projects, etc.) for the library’s implementation with Angular → more resources is better, higher quality of resources is better
- Can it be readily used or do we have to do other stuff beforehand?
- Completeness of the output of the library → closer to a complete visualized graph is better
- Ability to customize the output of the library → more customizable is better, more closely aligned with the Tree Database Visualization Tool’s requirements is better
- Inputs
- What’s the format of the inputs?
- Whether the format of the input matches the format of data exported from Notion → more closely matched is better
- Outputs
- What’s the format of the outputs?
- Completeness of the output of the library → closer to a complete visualized graph is better
- To consider: what format do we want the visualization to be in? → closer to this format is better
- To consider: can we sync data from the output back to Notion if data was changed outside of Notion? → yes is better
- Learning resources
- How easy is it to learn to use this library?
- Thoroughness of documentation → more detailed, more examples given, more demos is better
- Quantity of learning resources → more is better
- Popularity
- Can we have confidence that the library will perform well?
- Number of users who are actively using or have used the library → more is better
- Number of GitHub stars → more is better
- Number of times the library’s GitHub repository has been forked → more is better
- Is it under active development?
- Commit recency → more recent commits are better
- Frequency of Google search for the library → more frequent and more recent is better
- Does it have a lot of bugs?
- Commit frequency → more commits is better
- Length of time an issue is closed is days → less time is better
Options
Present a summary of the options being considered, along with their key characteristics and potential impacts. This might include information on costs, performance, schedule, risk, and other relevant factors.
ngx-graph
ngx-vis
vis.js
sigma.js
arbor.js