---
# System prepended metadata

title: 'Essay 1: Product Vision and Problem Analysis'

---

# Essay 1: Product Vision and Problem Analysis
* A concise, inspirational characterization of what the project aims to achieve
    * "Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python."
    * Matplotlib aims to enable users to create customizable visualizations through own components or third parties, all in a few lines of Python code.
* A brief explanation of the key domain concepts (underlying domain model)
    * Using a top down approach, the Figure is the most inclusive building block,  creating the visualization window. Going down, a figure can have multiple Axes, which hold actual graphics.
* A description of the system’s main capabilities (e.g. use cases), as they are visible to the typical (end) user
    * Users interact with matplotlib through a series of APIs and commands, transforming data into visualizations, interactive or static. The end product might be a high resolution figure for a presentation or paper, or an interactive widget for data exploration. Both are created through on demand plots. The vision is to produce publication-quality figures by allowing the creation of interactive and cross-platform plots and by enabling users to produce graphics through code rather than using a graphical interface.
* A description of the current and future (external) context in which the system operates
    * Matplotlib currently works within the Python environment, having a few usage directions, such as: previewing figures in a jupyter notebook, saving figures locally as images or dynamically rendering figures on the server for a web/desktop frontend.
    * As described in their documentation, the current usage can be split into 2 main areas, namely the puplot API and the object-oriented API.
* An analysis of the stakeholders involved in the project, and what they need from the system so that it is beneficial to them
    * An analysis of the stakeholders involved in the project, and what they need from the system so that it is beneficial to them
* A characterization of key quality attributes the system must meet
    * TODO
* A product roadmap, laying out the main directions anticipated for the upcoming years
    * TODO
* Ethical considerations of the system and its construction process
    * Since matplotlib is just a graphics layer, the ethical concerns should be on the behalf of the user when it comes to passing correct and unbiased data, through matplolib to produce graphics.
    * On the development side, as any other visualization library consideration should be taken when designing for inclusivity, such as for the color blind. 

# Summary meeting 12-2-2021
We will be using HackMD to create the markdown document.
We will meet again monday 15th at 18:00.
An shared agenda is made so we can plan our meetings.
We will individualy investigate Matplotlib and record our findings before next.
In the mean time we will wait for Matplotlib te be accepted.
30 minutes meeting

Here is some text.[^fn]

[^fn]: [abc](https://hackmd.io)