Skip to content

3. Functional Requirements

3.1. Web browsing

3.1.1. Application

3.1.1.1. Features

  • USR-TAP-FUN-WEB-001 The OS MUST allow users to browse the web.
  • USR-TAP-FUN-WEB-002 The solution MUST have vertical tabs.
  • USR-TAP-FUN-WEB-003 The solution MUST allow extensions to be installed.
  • USR-TAP-FUN-WEB-004 The chosen browser MUST respect the user’s privacy.

3.1.1.2. Acceptance criteria

  • The OS contains a web browser with vertical tabs.
  • The chosen browser does not collect user data.
  • The configured search engine does not collect user data.

3.1.2. Ad blocking

3.1.2.1. Features

  • USR-TAP-FUN-WEB-005 The OS MUST block ads in the browser.
  • USR-TAP-FUN-WEB-006 The OS MAY block ads everywhere.

3.1.2.2. Acceptance criteria

  • No ads can be seen on websites.

3.1.3. Tracker blocking

3.1.3.1. Features

  • USR-TAP-FUN-WEB-007 The OS MUST block trackers in the browser.

3.1.3.2. Acceptance criteria

  • A tracker blocking extension is present and configured.

3.1.4. Cookies

3.1.4.1. Features

  • USR-TAP-FUN-WEB-008 The OS MUST reject cookies automatically in the browser.
  • USR-TAP-FUN-WEB-009 The OS MUST NOT clear all cookies upon closing the browser.

3.1.4.2. Acceptance criteria

  • A cookie rejection application is present and configured.
  • Login cookies persist upon closing and re-opening the browser.

3.1.5. User tracking

3.1.5.1. Features

  • USR-TAP-FUN-WEB-010 The OS MUST prevent websites from telling the user apart from a regular Windows + Edge/Chrome user.

3.1.5.2. Acceptance criteria

  • An extension to change the User-Agent value is present.

3.2. Programming, development, and code editing

3.2.1. Text editor

3.2.1.1. Features

  • USR-TAP-FUN-DEV-001 The OS MUST provide a modal TUI editor (see desired apps list).
  • USR-TAP-FUN-DEV-002 The editor MUST do syntax highlighting for relevant languages.
  • USR-TAP-FUN-DEV-003 The editor SHOULD provide autocompletion (LSP) for required languages.
  • USR-TAP-FUN-DEV-004 The OS MUST provide official tools to compile, run, and write required languages.
  • USR-TAP-FUN-DEV-005 The editor MAY provide autocompletion (LSP) for relevant languages.
  • USR-TAP-FUN-DEV-006 The OS SHOULD provide official tools to compile, run, and write relevant languages.

3.2.1.2. Acceptance criteria

3.2.2. Version control system

3.2.2.1. Features

  • USR-TAP-FUN-DEV-007 The OS MUST provide a version control system.
  • USR-TAP-FUN-DEV-008 The solution must be compatible with Git repositories and popular online forges.

3.2.2.2. Acceptance criteria

  • The user has access to a local VCS.
  • The user can pull from and push to remote code repositories compatible with aforementioned technologies.

3.2.2. Containers

3.2.3.1. Features

  • USR-TAP-FUN-DEV-007 The OS MUST provide a way to run rootless, OCI-compatible containers.
  • USR-TAP-FUN-DEV-008 The solution MUST support infrastructure-as-code deployment.
  • USR-TAP-FUN-DEV-009 The solution MAY support OS-level service integration.

3.2.3.2. Acceptance criteria

  • A container runtime and frontend are available.
  • Containers can run if the user is not root.
  • Containers can be used in IaC stacks.

3.2.4. Virtual machines

3.2.4.1. Features

  • USR-TAP-FUN-DEV-010 The OS SHOULD provide a way to use virtual machines.
  • USR-TAP-FUN-DEV-011 The solution MUST feature a graphical interface.
  • USR-TAP-FUN-DEV-012 The solution MUST be free and open-source.

3.2.4.2. Acceptance criteria

  • The user can start and run VMs.
  • The solution is manageable using a graphical interface.
  • The solution is open-source.

3.3. Document editing

3.3.1. Office documents

3.3.1.1. Features

  • USR-TAP-FUN-DOC-001 The OS MUST provide software to edit open documents and spreadsheets.
    • Formats: OpenDocument (.odt, .ods).
  • USR-TAP-FUN-DOC-002 The OS MAY provide software to edit proprietary text documents and spreadsheets.
    • Formats: Microsoft Office (.docx, .xlsx).
  • USR-TAP-FUN-DOC-003 The OS MAY provide software to edit and display slide decks.
    • Formats: Microsoft Office (.pptx), OpenDocuments (.odp).
  • USR-TAP-FUN-DOC-004 The solution SHOULD be of the same software suite.
  • USR-TAP-FUN-DOC-005 The solution MUST be open-source.

3.3.1.2. Acceptance criteria

  • The user can view and edit specified document types.
  • The user does not have more than one suite of tools to choose from.
  • The software chosen for the solution is open-source.

3.3.2. Portable documents

3.3.2.1. Features

  • USR-TAP-FUN-DOC-006 The OS MUST provide software to open portable documents.
    • Formats: PDF
  • USR-TAP-FUN-DOC-007 The OS MAY provide software to edit portable documents.
  • USR-TAP-FUN-DOC-008 The solution MUST be open-source.

3.3.2.2. Acceptance criteria

  • The user can view and edit portable documents.
  • The software chosen for the solution is open-source.

3.3.3. Images

3.3.3.1. Features

  • USR-TAP-FUN-DOC-009 The OS MUST provide software to view and edit images.
    • Formats: PNG, JPEG
  • USR-TAP-FUN-DOC-010 The solution MUST be open-source.

3.3.3.2. Acceptance criteria

  • The user can open and edit (crop, rotate) images.
  • The software chosen for the solution is open-source.

3.4. Screen sharing and mirroring

3.4.1. Screencast

3.4.1.1. Features

  • USR-TAP-FUN-SCR-001 The OS MUST provide a solution to share the display’s content.
  • USR-TAP-FUN-SCR-002 The solution MUST allow selecting either the entire display or a specific application window for screencasting.

3.4.1.2. Acceptance criteria

  • The user can cast their screen’s content in apps that allow it (e.g. Discord).
  • The user can select to cast the entire screen or an application window.

3.4.2. Using multiple monitors

3.4.2.1. Features

  • USR-TAP-FUN-SCR-003 The OS MUST provide a means of connecting to an external display using HDMI or DisplayPort.
  • USR-TAP-FUN-SCR-004 The OS MUST provide a means of duplicating and extending the output of one monitor to another.

3.4.2.2. Acceptance criteria

  • The user can plug their computer into an external monitor if need be.
  • The output is either duplicated or extended at will.

3.5. Gaming

3.5.1. PC Games

3.5.1.1. Features

  • The OS MAY allow the user to play PC games.
  • Supported vendors MUST include Steam and Epic Games.

3.5.1.2. Acceptance criteria

  • The user can play Linux-compatible Steam- and EGS-provided games.
Last updated on