Skip to content

Commit cf0d70b

Browse files
committed
Merge pull request #577 from olekzabl/sprint
Add notes from the design sprint of 23 Mar 2016.
2 parents f9e1f9d + f1323d2 commit cf0d70b

File tree

4 files changed

+206
-0
lines changed

4 files changed

+206
-0
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Kubernetes Dashboard Design Sprint (Łódź, Poland, 23 Mar 2016)
2+
3+
## People
4+
@bryk, @cheld, @digitalfishpond, @floreks, @maciaszczykm, @olekzabl, @zreigz
5+
6+
## Goals
7+
Sketch the directions of the development of the UI to achieve:
8+
* scalability for the variety of types of K8s objects we want to handle
9+
(currently: replication controllers & pods;
10+
desired: replica sets, daemon sets, container, nodes, volumes, secrets, deployments etc.)
11+
* scalability for the number of such objects
12+
(currently: cards are suitable for <20 objects; desired: show >100 pods in a nice way)
13+
* good UX for various use cases
14+
(monitor, debug, deploy, explore)
15+
* more aware about namespaces
16+
17+
## Agenda
18+
* agree on the meeting’s goals
19+
* split into 3 groups - propose a general UX vision - discuss them together, unify
20+
* split again - sketch the system in more detail - discuss, unify
21+
* split once more - sketch a chosen page, in yet more detail - discuss
22+
* decide when and how to publish the results
23+
24+
## Decisions
25+
26+
### General navigation
27+
* constant, basic-purpose navigation menu on the left, containing:
28+
- items describing important _classes_ (coarser than _types_) of objects e.g. “apps”, “services”, “config”
29+
- under them, sub-items describing _types_ of objects
30+
- possibly, other special buttons, e.g. “resource explorer”
31+
- possibly, minimizable
32+
33+
* context-dependent action bar on the top (below the main “K8s” bar)
34+
- buttons for basic actions, e.g. “create”, “edit”, “delete”
35+
36+
* namespace switcher on the main “K8s” bar
37+
- single namespace / all namespaces / multi-choice / filter
38+
- shall it be visible also on the object details page?
39+
40+
### Cards
41+
* will be generally replaced by table rows
42+
* possibly thicker to contain few more data items and/or some graphs
43+
* much more clear sorting; sort triggered by clicking on column name
44+
* easier pagination
45+
46+
### Home page
47+
* does no more list all objects (or RCs) in the cluster
48+
* instead, it shows:
49+
- important messages (errors/warnings/suggestions)
50+
- a few selected objects (last visited/most visited/most important)
51+
52+
### Details page of an object
53+
* general requirements:
54+
- has possibly (but reasonably) unique design across various object types
55+
- allows convenient navigation to all _directly related_ objects;
56+
by this we mean e.g. that a pod shows links to all volumes it uses, and conversely, a volume shows links to all pods using it
57+
- contains a number of sections (described below);
58+
some of them may be moved to other tabs if everything does not fit in one page
59+
(e.g. we will need several tabs for RCs, but not for secrets)
60+
61+
* section (main tab): a brief description of the object status
62+
- for a simple object, this contains all its properties
63+
- for a more complex one, this contains most important properties, while all properties are gathered in another tab of the page
64+
65+
* section (main tab): visual summaries for all directly related objects (aggregated by type)
66+
- example: for a RC, these could be activity graphs of all involved pods, volumes, services etc.
67+
68+
* section (main tab, bottom): navigation links to directly related objects
69+
- grouped by type
70+
- each type is headed by a user-friendly description of type, and of the relation to the current object (e.g. '_volumes mounted to_ this pod', '_pods mounting_ this volume', etc.)
71+
- limited to e.g. 10 top items, to make them all fit in one page
72+
(this has the form of a table, so clicking column names allows adjusting the meaning of “top”)
73+
- if there are more related objects of some type, we provide a link to the list of all of them (see below)
74+
75+
* other sections (main or additional tab): history, logs, (more?)
76+
77+
### Summary page for objects of type X
78+
* can be:
79+
- global (with namespace restriction applied), reachable by left menu panel
80+
- scoped (all objects of type X related to object O), reachable from O details page
81+
* similar visual design to the object details page
82+
* upper section: general metrics of involved objects
83+
* lower section: list of all involved objects, tabularized
84+
85+
### Supplementary ideas, questions etc.
86+
* resource explorer
87+
- goal: give a larger-scale insight into cluster structure (beyond “directly related” links)
88+
- shall easily support filtering
89+
- two considered views:
90+
- “filebrowser view”: very compact but difficult to model all relations in a cluster
91+
(a volume may have many pods mounting it as “parents”; network communication between pods is not at all a “parent-child-sibling” relation)
92+
- “graph visualization”
93+
- in any view, exploring may be enhanced by showing an additional details preview side-by-side
94+
95+
* error messaging policy
96+
On the details page of a RC, do we want to show that 3 out of 100 its volumes are broken?
97+
Is this important enough? Generally, what is sufficiently important? How do we decide on this?
98+
99+
## Images
100+
101+
![Image 1](scale_ux_20160323_a.JPG)
102+
![Image 2](scale_ux_20160323_b.JPG)
103+
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Kubernetes Dashboard Design Sprint (Łódź, Poland, 23 Mar 2016)
2+
3+
## People
4+
@bryk, @cheld, @digitalfishpond, @floreks, @maciaszczykm, @olekzabl, @zreigz
5+
6+
## Goals
7+
Sketch the directions of the development of the UI to achieve:
8+
* scalability for the variety of types of K8s objects we want to handle
9+
(currently: replication controllers & pods;
10+
desired: replica sets, daemon sets, container, nodes, volumes, secrets, deployments etc.)
11+
* scalability for the number of such objects
12+
(currently: cards are suitable for <20 objects; desired: show >100 pods in a nice way)
13+
* good UX for various use cases
14+
(monitor, debug, deploy, explore)
15+
* more aware about namespaces
16+
17+
## Agenda
18+
* agree on the meeting’s goals
19+
* split into 3 groups - propose a general UX vision - discuss them together, unify
20+
* split again - sketch the system in more detail - discuss, unify
21+
* split once more - sketch a chosen page, in yet more detail - discuss
22+
* decide when and how to publish the results
23+
24+
## Decisions
25+
26+
### General navigation
27+
* constant, basic-purpose navigation menu on the left, containing:
28+
- items describing important _classes_ (coarser than _types_) of objects e.g. “apps”, “services”, “config”
29+
- under them, sub-items describing _types_ of objects
30+
- possibly, other special buttons, e.g. “resource explorer”
31+
- possibly, minimizable
32+
33+
* context-dependent action bar on the top (below the main “K8s” bar)
34+
- buttons for basic actions, e.g. “create”, “edit”, “delete”
35+
36+
* namespace switcher on the main “K8s” bar
37+
- single namespace / all namespaces / multi-choice / filter
38+
- shall it be visible also on the object details page?
39+
40+
### Cards
41+
* will be generally replaced by table rows
42+
* possibly thicker to contain few more data items and/or some graphs
43+
* much more clear sorting; sort triggered by clicking on column name
44+
* easier pagination
45+
46+
### Home page
47+
* does no more list all objects (or RCs) in the cluster
48+
* instead, it shows:
49+
- important messages (errors/warnings/suggestions)
50+
- a few selected objects (last visited/most visited/most important)
51+
52+
### Details page of an object
53+
* general requirements:
54+
- has possibly (but reasonably) unique design across various object types
55+
- allows convenient navigation to all _directly related_ objects;
56+
by this we mean e.g. that a pod shows links to all volumes it uses, and conversely, a volume shows links to all pods using it
57+
- contains a number of sections (described below);
58+
some of them may be moved to other tabs if everything does not fit in one page
59+
(e.g. we will need several tabs for RCs, but not for secrets)
60+
61+
* section (main tab): a brief description of the object status
62+
- for a simple object, this contains all its properties
63+
- for a more complex one, this contains most important properties, while all properties are gathered in another tab of the page
64+
65+
* section (main tab): visual summaries for all directly related objects (aggregated by type)
66+
- example: for a RC, these could be activity graphs of all involved pods, volumes, services etc.
67+
68+
* section (main tab, bottom): navigation links to directly related objects
69+
- grouped by type
70+
- each type is headed by a user-friendly description of type, and of the relation to the current object (e.g. '_volumes mounted to_ this pod', '_pods mounting_ this volume', etc.)
71+
- limited to e.g. 10 top items, to make them all fit in one page
72+
(this has the form of a table, so clicking column names allows adjusting the meaning of “top”)
73+
- if there are more related objects of some type, we provide a link to the list of all of them (see below)
74+
75+
* other sections (main or additional tab): history, logs, (more?)
76+
77+
### Summary page for objects of type X
78+
* can be:
79+
- global (with namespace restriction applied), reachable by left menu panel
80+
- scoped (all objects of type X related to object O), reachable from O details page
81+
* similar visual design to the object details page
82+
* upper section: general metrics of involved objects
83+
* lower section: list of all involved objects, tabularized
84+
85+
### Supplementary ideas, questions etc.
86+
* resource explorer
87+
- goal: give a larger-scale insight into cluster structure (beyond “directly related” links)
88+
- shall easily support filtering
89+
- two considered views:
90+
- “filebrowser view”: very compact but difficult to model all relations in a cluster
91+
(a volume may have many pods mounting it as “parents”; network communication between pods is not at all a “parent-child-sibling” relation)
92+
- “graph visualization”
93+
- in any view, exploring may be enhanced by showing an additional details preview side-by-side
94+
95+
* error messaging policy
96+
On the details page of a RC, do we want to show that 3 out of 100 its volumes are broken?
97+
Is this important enough? Generally, what is sufficiently important? How do we decide on this?
98+
99+
## Images
100+
101+
![Image 1](scale_ux_20160323_a.JPG)
102+
![Image 2](scale_ux_20160323_b.JPG)
103+
2.75 MB
Loading
2.69 MB
Loading

0 commit comments

Comments
 (0)