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.