Skip to content
Snippets Groups Projects
Commit 831dc9ec authored by Tobias Koelling's avatar Tobias Koelling
Browse files

Merge branch 'user-experience' into 'main'

UXD: fix typos

See merge request !60
parents a96f6eac 644448c6
No related branches found
No related tags found
1 merge request!60UXD: fix typos
Pipeline #67606 passed
......@@ -8,7 +8,7 @@ author: "Theresa Mieslinger and Florian Ziemen"
## Definition
> **User experience (UX)** is how a user interacts with and experiences a product, system or service. It includes a person's perceptions of **utility**, **ease of use**, and **efficiency**. -Wikipedia
## Where do you encouter UX design in your everyday life? {.special}
## Where do you encounter UX design in your everyday life? {.special}
::: {.notes}
* app handling / interaction with touch screens
......@@ -51,7 +51,7 @@ a user actually wants to have a product
## Colors {.leftalign}
* use common color codes (e.g. <span style="color:green;">green = OK</span>, <span style="color:red;">red = Problem</span>)
* be inclusive and dont't fully rely on colors
* be inclusive and don't fully rely on colors
![Typical Labview inteface [NCAR docu for the AVAPS software](https://halodrops.readthedocs.io/en/latest/handbook/operations/pre_flight.html#test-chassis-cards)](static/gui_example.png){width="50%"}
......@@ -60,13 +60,13 @@ see also [Apple Design Guidelines](https://developer.apple.com/design/human-inte
:::
::: {.notes}
* maybe you all got it right away that the blue font markes a link to the doku ;-)
* maybe you all got it right away that the blue font marks a link to the doku ;-)
:::
## Typography {.leftalign}
> Typography is the art and technique of arranging type to make written language legible, readable and appealing when displayed. [- Wikipedia](https://en.wikipedia.org/wiki/Typography)
* Use readable fonts and fontsize
* Use readable fonts and font size
## Layout {auto-animate=true}
```{python}
......@@ -289,7 +289,7 @@ t_hamburg = ds.tas.sel(...)
::: {.notes}
* a dataset is a way to communicate information
* "normalised" dataset without redundant info, e.g. exactly one info on time and space
* balancing clarity and efficiency: sometimes duplicate information ("denormalised") can have a performance advantange, e.g. hierarchy in high-res model output
* balancing clarity and efficiency: sometimes duplicate information ("denormalised") can have a performance advantage, e.g. hierarchy in high-res model output
* bad example: WALES flight altitude is time-dependent, but was a constant reference height. Bad variable name and misleading info
* -> the structure and type of the data / array holds important information
......@@ -312,7 +312,7 @@ t_hamburg = ds.tas.sel(...)
## Why should we care?
::: {.incremental}
* lower risk of wrong usage and wrong results
* it saves time and ressources and reduces information overload
* it saves time and resources and reduces information overload
* a positive user experience can lead to collaborations and more fun :)
:::
......@@ -320,20 +320,20 @@ t_hamburg = ds.tas.sel(...)
* example: when running ICON scientists usually don't look at the source code, but merely the config file. You need to trust that parameters do the right thing.
:::
# Specific guidlines in Earth System Informatics
# Specific guidelines in Earth System Informatics
## Standards
Standards are commonly known, they help guiding intuition, and also help implementors.
Standards are commonly known, they help guiding intuition, and also help implementers.
* [POSIX](https://en.wikipedia.org/wiki/POSIX) (and GNU)
* [UNIX return codes](https://stackoverflow.com/questions/1101957/are-there-any-standard-exit-status-codes-in-linux) (e.g. 0 - no error, everything else - error)
* [CF conventions](https://cfconventions.org/)
* coding styles, e.g. PEP8
## File formats
use standard formats, preferrably machine readable
## File formats
use standard formats, preferably machine readable
* [YAML](https://yaml.org/), [JSON](https://www.json.org/), [netCDF](https://www.unidata.ucar.edu/software/netcdf/), [Zarr](https://zarr.readthedocs.io), ...
* YAML, JSON for machinereadable text file
* YAML, JSON for machine readable text file
* netCDF, Zarr for binary data
::: {.notes}
......@@ -349,8 +349,7 @@ use standard formats, preferrably machine readable
## What is configuration? {.special}
::: {.notes}
* if you install microsoft word, your text (config) is not yet there. Default fonts are included, but if you have a special corporate design, you expect that to be separate
*
* if you install Microsoft word, your text (config) is not yet there. Default fonts are included, but if you have a special corporate design, you expect that to be separate
:::
## Hierarchy of configurations
......@@ -459,10 +458,10 @@ def do_things():
* Use the [with](https://docs.python.org/3/reference/compound_stmts.html#with) statement in python.
## Write decent error messages
* Tell what happend why and where
* Tell what happened why and where
* Exit with non-zero exit code
* Make sure things can't continue (if that's relevant)
## Hands-on {.handson}
Take safe_copy.py and add useful error messages and return codes.
......@@ -472,7 +471,7 @@ Take safe_copy.py and add useful error messages and return codes.
* stdout is for ouput somebody else might want to process
`grep bash /etc/bashrc | wc `
* stderr is for *error* messages
* stderr is for *error* messages
`grep bash file_that_does_not_exist |wc`
## Datasets
......@@ -497,16 +496,16 @@ Take safe_copy.py and add useful error messages and return codes.
* "Don't lie" :)
:::{.notes}
* don't return a result if an error occured
* don't return a result if an error occurred
* don't change user input within the code without communicating the change
:::
# Further reading
* Edward Tufte: *Beautiful Evidence* (and other books)
* Edward Tufte: *Beautiful Evidence* (and other books)
[UHH Library System](https://katalogplus.sub.uni-hamburg.de/vufind/Record/80685877X)
* *Dead programs tell no lies* (Topic 24 in Ch 4 of *The pragmatic programmer*
[UHH Library system](https://katalogplus.sub.uni-hamburg.de/vufind/Record/168729271X) | [MPS ebooks](https://ebooks.mpdl.mpg.de/ebooks/Record/EB001950880) | [German ebook via UHH](https://katalogplus.sub.uni-hamburg.de/vufind/Record/1755846843))
* *Defensive Programming and “Fail Fast”* (in Ch 13 of *Fluent Python*).
* *with, match, and else Blocks* (Ch 18 of *Fluent Python*).
# What's your UX with this lecture series? {.special}
\ No newline at end of file
# What's your UX with this lecture series? {.special}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment