Quality aspects: Usability
Quality aspects: Usability
Importance of quality aspects
Implementation of quality aspects
Tools to Optimize usability of GUI or API
Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Optimize usability of GUI or API :Guidelines | Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Optimize usability of GUI or API :Tools | |
---|---|---|
7 | User-centered design principles, UX best practices | Figma for UI/UX design, Swagger for API documentation |
12 | no guidelines besides using OpenAPI/W3C standards |
Tools to Provide packaging and containerization
Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Provide packaging and containerization :Guidelines | Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Provide packaging and containerization :Tools | |
---|---|---|
6 | various trainings, e.g. via the HSF training efforts, HSF working group on packaging | |
7 | Containerization best practices for reproducibility and deployment | Docker for containerization, Kubernetes for container orchestration |
8 | https://escape-ossr.gitlab.io/ossr-pages/page/services/containerization/ | Docker etc. |
10 | Part of the OSSR guidelines | https://escape-ossr.gitlab.io/ossr-pages/page/contribute/guidelines_ossr/ |
12 | Creating packages from different programming languages for package managers. Create docker containers (e.g., through actions) | https://www.freecodecamp.org/news/how-to-create-and-upload-your-first-python-package-to-pypi/ https://www.docker.com/101-tutorial/ |
Tools to Ensure compatibility with different platforms
Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Ensure compatibility with different platforms:Guidelines | Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Ensure compatibility with different platforms:Tools | |
---|---|---|
6 | architecture agnostic programming, e.g. via GPU abstraction layers (SYCL, Alpaka, Kokkos, …) | |
7 | Cross-platform development practices, responsive design principles | BrowserStack for cross-browser testing, Electron for building cross-platform desktop apps |
12 | no guidelines |
Tools to Register in software repositories
Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Register in software repositories :Guidelines | Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Register in software repositories :Tools | |
---|---|---|
6 | Many codes are available either on github.com or gitlab.cern.ch | |
7 | Best practices for software repository registration and metadata | GitHub, GitLab |
10 | Rules of participation in OSSR | https://escape-ossr.gitlab.io/ossr-pages/page/contribute/guidelines_ossr/ |
12 | We mandate storing code in GitHub for maintaining software projects |
Tools to Make the code citable
Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Make the code citable :Guidelines | Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Make the code citable :Tools | |
---|---|---|
2 | Use GitHub repos + Zenodo to obtain a DOI. If you develop workflows, you can also rely on WorkflowHub | |
6 | Advocating for “CIF” files in repositories, effort within HEP for citing code mainly driven by Daniel Katz | https://arxiv.org/abs/2309.14571 |
7 | Guidelines for creating and managing persistent identifiers | Zenodo for archiving and making code citable with DOIs, Figshare for data sharing and citation |
10 | Usually meta data guidelines are given - including DOI minting, here the OSSR guid | https://zenodo.org/doi/10.5281/zenodo.7540575 |
12 | Bibtex in README, or use CFF | https://citation-file-format.github.io/ |
15 | Zenodo |
Tools to Apply a license
Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Apply a license :Guidelines | Which specific guidelines or tools are you aware of that help to enable the quality aspects? Provide short descriptions and/or URLs if possible, leave empty if there are no specific guidelines or tools. Apply a license :Tools | |
---|---|---|
2 | Check the licences of all the dependencies are compatible with your development licence, using tools to automate those checks | |
6 | The CERN open software programming office (OSPO) and the HSF licensing working group provide guidence for licensing | https://opensource.web.cern.ch/welcome-ospo-page https://hepsoftwarefoundation.org/activities/licensing.html |
7 | Open-source licensing practices and compliance | Open Source Initiative for information on open-source licenses. |
10 | Usually meta data guidelines are given - including adding a license, here the OSSR guide | https://zenodo.org/doi/10.5281/zenodo.7540575 |
12 | State license in code and in the source code repository | https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository |
15 | open-source and permissive |
Auto-created summary
Summary of Practices
- User-Centered Design Principles
- Importance of design principles and UX best practices to optimize GUI or API usability.
- Containerization Best Practices
- Use of containerization for reproducibility and deployment with tools like Docker and Kubernetes.
- Cross-Platform Development Practices
- Ensure compatibility across platforms with responsive design principles and tools such as BrowserStack and Electron.
- GitHub & Zenodo for Code Citation
- Utilize platforms like GitHub and Zenodo to make code citable and obtain DOIs.
- Open-Source Licensing Practices
- Guidance on applying open-source licenses and compliance, with support from initiatives like the Open Source Initiative and CERN’s OSPO.