fair-acc / opendigitizer

Generic Digitizer Framework based on OpenCMW
GNU Lesser General Public License v3.0
6 stars 1 forks source link

[8pt,8pt] UI: UX design analysis - plug-in and component definitions required for the digitizer UI, etc. #21

Closed ivan-cukic closed 1 year ago

ivan-cukic commented 1 year ago

Report UX Workshop

  1. / 11. October 2022 KDAB Office Berlin

Participants:

Scope of the product(s)

The project will foremost provide a digitizer app with a primary focus on FAIR usage.

Additionally the project wants to become a good player in the free software community and build up / start a community around this.

To foster this a good seperation between the framework (openCMW) and frontend implementations is needed. The FAIR digitizer app serves as a frontend implementation / poc for the framework. Again there are two main aspects to the frontend - the flowgraph to configure the output and the actual dashboards to monitor operations.

In order to make it easy for others to build upon our work it makes sense to seperate these aspects of the project as much as possible:

1. Framework

-> as there should be no UX component to this we did not look at this further.

2. Flowgraph

3. Digitizer

User

We assume a pretty nerdy user group, as users are expected to work on rather complicated graphs from various tech areas.

For FAIR there are four basic user groups: 1 Machine experts (12 ppl per accelerator) They look from top and look at the lateral view, what system is responsible for the problem and refer to system experts ("your magnet is the problem") 2 System experts (similar to ^) (~100 ppa) They are responsible for the vertical stack (power converter stack; dealing with magnets; ...) 3 Operators (25 ppa) They monitor, see machine is running, and report issues at more shallow level, do pre-diagnostics. Available 24/7. They are technicians, not physics experts 4 Others - experimental users 1000s ppa This user group contains the public (as data will be publically available), management and scientists having their experiment run on the accelerator

The main difference in work overall is the degree to which users do

We decided to create two personas on both edges of this spectrum:

Susan

Susan is very experienced in acc revelevant physics and knows basic programming. Her main task is to trace bugs to keep the acc up and running.

Paul

Paul is an early graduate (bsc) and does not have programming experince. He works as an operator and his job is to monitor the acc working correctly. He does first level bug fixing. In case he cannot fix himself, he has to identify the right person to escalate to and provide a report of the problem.

We identified a set of tasks and rated the importance for both users (0 not applicable / 5 most important):

S | P |
5 | 5 | I want to see whether a signal is correct
3 | 0 | I want to create a reusable view of freq. used signals (dashboard)
4+| 5 | I want to view a set of pre-defined signals (dashboard)
4-| 0 | I want to create a signal trafo based on basic trafo blocks
3 | 0 | I want to create a reusable signal trafo chain based on basic trafo blocks
3 | 4 | I want automatically (trigger) to be notified about non-normal states

During discussion a couple of topics arose:

A few of the above include the subtasks:

I want to see whether a signal is correct

I want to create a reusable view of freq. used signals (dashboard)

I want to view a set of pre-defined signals (dashboard)

I want to create a signal transformation based on basic transformation blocks

I want to create a reusable signal transformation chain based on basic transformation blocks

I want automatically (trigger) to be notified about non-normal states

Vision

Digitzer: Improve the uptime of the acc by enabling everyone to gain the insights to spot and fix problems ASAP

Overall: Create a vivid Free Software community around the topic of signal processing

UX

We briefly discussed the UX flow, but mainly focussed on three central areas:

Workspace (Landing Screen)

Users need to able to easily define and choose dashboards. Each dashboard is the visual representation for a certain monitoring or research question. Dashboards need to be loaded from different sources and possibly shared, e.g. via repository, URL. User will have to work with various dashboards at the same time. The Landing screen orchestrates this.

The main focus for the workspace is:

Dashboard

A dashboard allows the user to arrange and manipulate a certain sets of charts in order to monitor and understand signals.

The main focus of the dashboard is:

Flowgraph

The flowgraph allows the users to define the content (data sinks) of the charts shown on the dashboard.

The main focus of the flowgraph is:

In detail we discussed the follwing features:

Misc.

Signal meta informationen:

FAIR specific:

RalphSteinhagen commented 1 year ago

Additional whiteboard snapshots for documentation purposes are below. The main info is summarised above but some of the drawings trigger some additional undocumented memories in the participants.

RalphSteinhagen commented 1 year ago

IMG_20221010_122101

RalphSteinhagen commented 1 year ago

IMG_20221010_141752

RalphSteinhagen commented 1 year ago

IMG_20221010_162535

RalphSteinhagen commented 1 year ago

IMG_20221011_104824

RalphSteinhagen commented 1 year ago

IMG_20221011_104826

RalphSteinhagen commented 1 year ago

IMG_20221011_151356

RalphSteinhagen commented 1 year ago

IMG_20221011_152349

RalphSteinhagen commented 1 year ago

IMG_20221011_152352

RalphSteinhagen commented 1 year ago

IMG_20221011_152359

RalphSteinhagen commented 1 year ago

IMG_20221011_152410

RalphSteinhagen commented 1 year ago

IMG_20221011_155713

RalphSteinhagen commented 1 year ago

IMG_20221011_170039