-
Notifications
You must be signed in to change notification settings - Fork 42
Open Source Tools Comparative Analysis
NOTE: This comparative analysis was done during early discovery in Phase I.
Overview | Competitors | Criteria for Evaluation | Evaluation Charts | Patterns & Key Takeaways Chart | Noteworthy DX Features |
The goal of this Comparative Analysis is to evaluate the attributes of several open source tool "competitors" so that we can identify what works well and what doesn't work well, and thus better inform the developer experience of the U.S. Forms System. The analysis will help us optimize the tool itself, the surrounding guides & documentation, the overall GitHub experience, and the future website experience.
Criteria for selecting them:
- All must be open source developer tools
- Range should include both government and private sector tools
- Range should include at least one form related tool
- Range should include at least one React-based library
- Range should include a variety of budgets (indicated by parent companies, size of code base, sponsorships, or number of maintainers)
"A design system for building fast, accessible, mobile-friendly federal government websites."
Product Attributes:
- Technology used
- Adoption
- Target Audience
- Project Activity (latest updates, frequency of updates, etc.)
- Extensibility of Library (e.g. can it render the submitted data in multiple formats, can new functionality be added by developer users, etc.)
* USWDS is not a competitor from a functional perspective. We are including it in the analysis because it is a good example of an open source library that supports government and had been widely adopted.
"eRegulations (eRegs) is a web-based application that makes regulations easier to find, read, and understand. This open source platform was built by the Consumer Financial Protection Bureau and 18F, and is in the public domain."
Product Attributes:
- Technology used
- Adoption
- Target Audience
- Project Activity (latest updates, frequency of updates, etc.)
- Extensibility of Library (e.g. can it render the submitted data in multiple formats, can new functionality be added by developer users, etc.)
"Alpaca provides the easiest way to generate interactive HTML5 forms for web and mobile applications. It uses JSON Schema and simple Handlebars templates to generate great looking, dynamic user interfaces on top of Twitter Bootstrap, jQuery UI, jQuery Mobile and HTML5."
Product Attributes:
- Technology used
- Adoption
- Target Audience
- Project Activity (latest updates, frequency of updates, etc.)
- Extensibility of Library (e.g. can it render the submitted data in multiple formats, can new functionality be added by developer users, etc.)
"A jQuery plugin for drag and drop form creation, formBuilder has many options and is translatable."
Product Attributes:
- Technology used
- Adoption
- Target Audience
- Project Activity (latest updates, frequency of updates, etc.)
- Extensibility of Library (e.g. can it render the submitted data in multiple formats, can new functionality be added by developer users, etc.)
"React components that implement Google's Material Design."
Product Attributes:
- Technology used
- Adoption
- Target Audience
- Project Activity (latest updates, frequency of updates, etc.)
- Extensibility of Library (e.g. can it render the submitted data in multiple formats, can new functionality be added by developer users, etc.)
"A design system with values of Nature and Determinacy for better user experience of enterprise applications."
Product Attributes:
- Technology used
- Adoption
- Target Audience
- Project Activity (latest updates, frequency of updates, etc.)
- Extensibility of Library (e.g. can it render the submitted data in multiple formats, can new functionality be added by developer users, etc.)
"Storybook is a development environment for UI components. It allows you to browse a component library, view the different states of each component, and interactively develop and test components."
Product Attributes:
- Technology used
- Adoption
- Target Audience
- Project Activity (latest updates, frequency of updates, etc.)
- Extensibility of Library (e.g. can it render the submitted data in multiple formats, can new functionality be added by developer users, etc.)
-
Usability of Site & Non-Technical Materials
- Ease of navigation/information architecture
- Clarity of introduction/overview of the tool
- Clarity of writing overall
- Clarity of developer paths (of varying levels of experience)
-
Usability of Code & Technical Documentation (must be evaluated by a developer)
- Clarity and ease of documentation
- Ease of installation
- Quality of code examples
- Ease of integration with existing tech stacks
-
Community & Outreach
- Community Engagement (GitHub analytics)
- Support / Maintenance
- Clear contributor rules & licensing
- Self-Promotion (e.g. calls to action, incentives, etc...)
Poor Experience
Average Experience
Good Experience
Best In Class Experience
| Tool | Navigation / IA | Intro / Overview | Guided Paths | Writing |
|---|---|---|---|---|
| USWDS | ||||
| eRegs | ||||
| Alpaca Forms | ||||
| FormBuilder | ||||
| Material UI | ||||
| Ant Design | ||||
| Storybook |
| Tool | Documentation | Installation | Examples | Integration |
|---|---|---|---|---|
| USWDS | ||||
| eRegs | ||||
| Alpaca Forms | ||||
| FormBuilder | ||||
| Material UI | ||||
| Ant Design | ||||
| Storybook |
| Tool | Engagement | Support/Maintenance | Rules/Licensing | Self-Promotion |
|---|---|---|---|---|
| USWDS | ||||
| eRegs | ||||
| Alpaca Forms | ||||
| FormBuilder | ||||
| Material UI | ||||
| Ant Design | ||||
| Storybook |
-
Website Navigation / IA
- Very clear GitHub button or link in the top navigation bar.
-
GitHub Experience
- For those projects with high budgets, GitHub content is 100% replicated on the website
- README.md sometimes begins with a Demo, Quick Installation directions, or a Table of Contents
-
Visual Design
- Most have an icon version for their logo
- "Top contributors" module at bottom of Intro/home page, gamifying contribution. (Source: FormBuilder)
- Logos of companies that use the tool – module (Source: Alpaca)
- Ambient (embedded) demo video on intro page (Source: Storybook)
- Current (Phase 2) Roadmap
- Phase 1 Information
- Release Process
- Stable: 1.2.0 (GitHub, npm)