Guiding Principals of Technology Selection
- Dominant language
- JavaScript
- Stars
- 291
- Forks
- 25
- PR merge metrics
- No merged PRs in 30d
Description
The technology to solve an extraordinary challenge cannot be "ordinary".
However diving straight into technology selection without identifying guiding principals is wasteful.
We intend to build the [HL](https://github.com/dwyl/hq/issues/128) App guided by the following principles:
1. **Security First** - We will use strong encryption for data storage and transmission.
Given that the code will Open Source (see below) it needs to be _proactively_ security/penetration-tested.
We need to be "_paranoid_" about security on the user's behalf to ensure that people
can have _confidence_ to entrust the system with their most personal/sensitive data.
Strong encryption means 2048bit Asymetric Key (AES) - which to our knowledge
is uncrackable even by "quantum computers".
2. ***Accessibility First*** - Ensuring that _everyone_ can access/use your product/service means you are not (_inadvertently_) discriminating against anyone with an impairment. Building accessible things is both the _right_ thing to do, and in most countries a _legal_ requirement. The biggest secondary benefit of doing things _right_ is that "find-ability"/SEO is also greatly improved.
2. **Open Source First** - ensuring the code open by `default` from the _start_
means we can have conversations about it freely in the open and get
as many "eyes" on it as possible don't build something and _then_ retrospectively
3. **People Centric** - the needs, wants, and limitations of end users of the product (App)
are given extensive attention at each stage of the design process.
4. **Mobile First** - our target device is mobile devices, which means we need to
keep the number of features to a _minimum_ to avoid cluttering the screen.
This has the added benefit of explicitly limiting the features to only the _essential_.
5. **Responsive** - when viewed on a larger device the UI expands to _effectively_ use the available space.
5. **Offline First** - using the Progressive Web App technologies we ensure that
https://developers.google.com/web/progressive-web-apps/
Contributor guide
Assessment
This issue has not been assessed yet.