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

UXD: fix typos

parent a96f6eac
No related branches found
No related tags found
1 merge request!60UXD: fix typos
Pipeline #67604 passed
...@@ -8,7 +8,7 @@ author: "Theresa Mieslinger and Florian Ziemen" ...@@ -8,7 +8,7 @@ author: "Theresa Mieslinger and Florian Ziemen"
## Definition ## 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 > **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} ::: {.notes}
* app handling / interaction with touch screens * app handling / interaction with touch screens
...@@ -51,7 +51,7 @@ a user actually wants to have a product ...@@ -51,7 +51,7 @@ a user actually wants to have a product
## Colors {.leftalign} ## Colors {.leftalign}
* use common color codes (e.g. <span style="color:green;">green = OK</span>, <span style="color:red;">red = Problem</span>) * 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%"} ![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 ...@@ -60,13 +60,13 @@ see also [Apple Design Guidelines](https://developer.apple.com/design/human-inte
::: :::
::: {.notes} ::: {.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 {.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) > 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} ## Layout {auto-animate=true}
```{python} ```{python}
...@@ -289,7 +289,7 @@ t_hamburg = ds.tas.sel(...) ...@@ -289,7 +289,7 @@ t_hamburg = ds.tas.sel(...)
::: {.notes} ::: {.notes}
* a dataset is a way to communicate information * a dataset is a way to communicate information
* "normalised" dataset without redundant info, e.g. exactly one info on time and space * "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 * 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 * -> the structure and type of the data / array holds important information
...@@ -312,7 +312,7 @@ t_hamburg = ds.tas.sel(...) ...@@ -312,7 +312,7 @@ t_hamburg = ds.tas.sel(...)
## Why should we care? ## Why should we care?
::: {.incremental} ::: {.incremental}
* lower risk of wrong usage and wrong results * 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 :) * a positive user experience can lead to collaborations and more fun :)
::: :::
...@@ -320,20 +320,20 @@ t_hamburg = ds.tas.sel(...) ...@@ -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. * 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
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) * [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) * [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/) * [CF conventions](https://cfconventions.org/)
* coding styles, e.g. PEP8 * coding styles, e.g. PEP8
## File formats ## File formats
use standard formats, preferrably machine readable 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](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 * netCDF, Zarr for binary data
::: {.notes} ::: {.notes}
...@@ -349,8 +349,7 @@ use standard formats, preferrably machine readable ...@@ -349,8 +349,7 @@ use standard formats, preferrably machine readable
## What is configuration? {.special} ## What is configuration? {.special}
::: {.notes} ::: {.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 ## Hierarchy of configurations
...@@ -459,10 +458,10 @@ def do_things(): ...@@ -459,10 +458,10 @@ def do_things():
* Use the [with](https://docs.python.org/3/reference/compound_stmts.html#with) statement in python. * Use the [with](https://docs.python.org/3/reference/compound_stmts.html#with) statement in python.
## Write decent error messages ## Write decent error messages
* Tell what happend why and where * Tell what happened why and where
* Exit with non-zero exit code * Exit with non-zero exit code
* Make sure things can't continue (if that's relevant) * Make sure things can't continue (if that's relevant)
## Hands-on {.handson} ## Hands-on {.handson}
Take safe_copy.py and add useful error messages and return codes. 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. ...@@ -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 * stdout is for ouput somebody else might want to process
`grep bash /etc/bashrc | wc ` `grep bash /etc/bashrc | wc `
* stderr is for *error* messages * stderr is for *error* messages
`grep bash file_that_does_not_exist |wc` `grep bash file_that_does_not_exist |wc`
## Datasets ## Datasets
...@@ -497,16 +496,16 @@ Take safe_copy.py and add useful error messages and return codes. ...@@ -497,16 +496,16 @@ Take safe_copy.py and add useful error messages and return codes.
* "Don't lie" :) * "Don't lie" :)
:::{.notes} :::{.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 * don't change user input within the code without communicating the change
::: :::
# Further reading # 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) [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* * *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)) [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*). * *Defensive Programming and “Fail Fast”* (in Ch 13 of *Fluent Python*).
* *with, match, and else Blocks* (Ch 18 of *Fluent Python*). * *with, match, and else Blocks* (Ch 18 of *Fluent Python*).
# What's your UX with this lecture series? {.special} # What's your UX with this lecture series? {.special}
\ No newline at end of file
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