terminal.md 1.8 KB

Design of the terminal plugin

This document describes the design of the terminal plugin. Any significant change to the terminal plugin should also involve changes here.

Personas

Experienced Data Scientist

The Experienced Data Scientist has a graduate degree in a technical field and has been coding for more than 5 years in multiple languages. They are in their mid 30s, have a solid income and live in an urban setting. In the past they have used the Jupyter Notebook alongside a text editor (Sublime Text) and the Terminal app on a Mac. They love to code and feel at home in a terminal.

Goal: Replace the usage of Mac's Terminal app, in particular when running Jupyter on a remote system.

Some things they would do in the terminal include:

  • Run command line git.
  • Small amounts of general software engineering to support their data science, such as running test suites, moving files around at the command line.
  • Run vim.
  • Run command line IPython.

Student learning the terminal in a Software Carpentry Workshop

Complete this persona...

User tasks

Users should be able to:

  • Open a new terminal (command palette, menu)
  • Close a terminal (UI)
  • Close all terminals (command palette)
  • See the name of the terminal in the dock area tab (UI)
  • Copy text from the terminal (UI+keyboard)
  • Paste text into the terminal (UI+keyboard)
  • Reconnect all terminals after a network outage (command palette)
  • Increase the font size of the terminal (command palette, menu)
  • Decrease the font size of the terminal (command palette, menu)
  • Toggle between black/white and white/black (command palette, menu)

Visual design

Describe the visual design specifiation here in words. Actual visual design work, including screenshots of wireframes or mockups should be done in individual issues.

  • Layout
  • Typography
  • Colors
  • Motion