Skip to content

Initial project specifications

Jonathan Schaeffer edited this page Nov 16, 2023 · 3 revisions

Main interface view

a10y main interface

Some constraints to keep in mind

The project should be straightforward to install on any system (windows, mac, linux).

Consider modern programming languages that create easy deployment to user like Go.

If python, consider using the pyinstaller project

The UI could be in a terminal, because it's super cool. There are libraries for this like

User story

Making a first request

User will first select a EIDA node from a drop down list or enter a correct baseurl

The programm will then

  1. test that the ws is available. If not, pop up an error.
  2. infere the list of networks available through the station ws. If this is failing, pop up the user with an error

User then selects a network code wich will auto complete. When network is selected, issue a ws request to list all the stations.

User can select a station, or leave it as *

When station is selected, issue a ws request to guess all the channels available

User can then select timeline. Default values are now - 10 days to now.

Some presets could be provided by hitting a Relative time selection button "last 24 hours, last 2 days, last 7 days, this month, last 2 month, last 6 months, this year

Hitting the Merge option would pop up a check box list "samplerate, quality, overlap".

Hitting the Quality option would pop up a check box list with all quality codes already ticked.

Then the user validated the query and the result is shown in the results window.

The status window

To show to the user what request is issued (station or availability).

The result window

Layout

One frame containing information on what is under the cursor: Quality, current time, trace start, trace end.

One line for each channel returned by the availability query. The label in the NSLC, the timeline is a discontinuous line representing the traces, with a color code for quality code.

The cursor jumps to the start of the timeline of the first channel.

Interactions

  • / will allow user to narrow down the channels using regex (like in vim)
  • Up/Down arrow to select the channel
  • Right/Left to move cursor on the timeline
  • C to capture the current n_s_l_c under cursor
  • S to capture the current time under cursor as starttime
  • E to capture the current time under cursor as endtime
  • n/p to move to the next/previous trace in the timeline
  • Home/End to jump at beginning/end of timeline
  • PageUp/Down to jump to fist/last NSCL
  • Enter will re-issue the availability request (with user confirmation)