|
1 | 1 | <h1>The idea behind the MarbleDesignSystem</h1> |
2 | 2 | <div class="text-block"> |
3 | | - <p> |
4 | | - <strong> |
5 | | - Diagrams have the unique ability to express complex things simply.<br /> |
6 | | - Never had reactive programming been made so visual.<br /> |
7 | | - Diagrams is transforming information into compelling images. |
8 | | - </strong> |
9 | | - </p> |
10 | | - <p> |
11 | | - Marble diagrams serve a <strong>method for</strong> us to |
12 | | - <strong>visualize processes over time.</strong> |
13 | | - </p> |
14 | | - <p> |
15 | | - The overall goal of the MarbleDesignSystem is to |
16 | | - <strong>provide a unified way</strong> of |
17 | | - <strong>reading and creating</strong> stream based diagrams, in particular |
18 | | - one specific type of it, the <strong>marble diagrams</strong>. |
19 | | - </p> |
20 | | - <p> |
21 | | - This guide explains all building blocks of the design system step by step |
22 | | - and in detail. |
23 | | - </p> |
24 | | - <p> |
25 | | - In general we have some main rules that system follows: |
26 | | - </p> |
27 | | - <ul> |
28 | | - <li><span class="bullet"></span>Consistent</li> |
29 | | - <li><span class="bullet"></span>Intuitive</li> |
30 | | - <li><span class="bullet"></span>Easy</li> |
31 | | - <li><span class="bullet"></span>Detailed</li> |
32 | | - <li><span class="bullet"></span>Technically Correct</li> |
33 | | - </ul> |
| 3 | + <p> |
| 4 | + <strong> |
| 5 | + Diagrams have the unique ability to express complex things simply.<br/> |
| 6 | + Never had reactive programming been made so visual.<br/> |
| 7 | + Diagrams is transforming information into compelling images. |
| 8 | + </strong> |
| 9 | + </p> |
| 10 | + <p> |
| 11 | + Marble diagrams serve a <strong>method for</strong> us to |
| 12 | + <strong>visualize processes over time.</strong> |
| 13 | + </p> |
| 14 | + <p> |
| 15 | + The overall goal of the MarbleDesignSystem is to |
| 16 | + <strong>provide a unified way</strong> of |
| 17 | + <strong>reading and creating</strong> stream based diagrams, in particular |
| 18 | + one specific type of it, the <strong>marble diagrams</strong>. |
| 19 | + </p> |
| 20 | + <p> |
| 21 | + This guide explains all building blocks of the design system step by step |
| 22 | + and in detail. |
| 23 | + </p> |
| 24 | + <p> |
| 25 | + In general we have some main rules that system follows: |
| 26 | + </p> |
| 27 | + <ul> |
| 28 | + <li><span class="bullet"></span>Consistent</li> |
| 29 | + <li><span class="bullet"></span>Intuitive</li> |
| 30 | + <li><span class="bullet"></span>Easy</li> |
| 31 | + <li><span class="bullet"></span>Detailed</li> |
| 32 | + <li><span class="bullet"></span>Technically Correct</li> |
| 33 | + </ul> |
34 | 34 | </div> |
35 | 35 |
|
36 | 36 | <h2>Consistency</h2> |
37 | 37 | <div class="text-block"> |
38 | | - <p> |
39 | | - There are several things to follow if you try to create a standard. One of |
40 | | - them is more <strong>critical for a positive outcome</strong> than |
41 | | - everything else, <strong>consistency</strong>. |
42 | | - </p> |
43 | | - <p> |
44 | | - By working with a standardized, reproducible approach we managed to create a |
45 | | - consistent way of drawing marble diagrams. A set of rules developed over |
46 | | - many many iterations, adopted and simplified to serve as a guideline and |
47 | | - blueprint for creating and using these diagrams. |
48 | | - </p> |
| 38 | + <p> |
| 39 | + There are several things to follow if you try to create a standard. One of |
| 40 | + them is more <strong>critical for a positive outcome</strong> than |
| 41 | + everything else, <strong>consistency</strong>. |
| 42 | + </p> |
| 43 | + <p> |
| 44 | + By working with a standardized, reproducible approach we managed to create a |
| 45 | + consistent way of drawing marble diagrams. A set of rules developed over |
| 46 | + many many iterations, adopted and simplified to serve as a guideline and |
| 47 | + blueprint for creating and using these diagrams. |
| 48 | + </p> |
49 | 49 | </div> |
50 | 50 |
|
51 | 51 | <h2>Intuitive</h2> |
52 | 52 | <div class="text-block"> |
53 | | - <p> |
54 | | - As programming with Rx is hard we made sure to keep it intuitive. By |
55 | | - <strong>including</strong> a lot of <strong>people</strong> into the process |
56 | | - of the creation of this guide we collected a lot of |
57 | | - <strong>personal feedback</strong> to improve the system. |
58 | | - </p> |
59 | | - <p> |
60 | | - To make sure we consider a <strong>common way</strong> interpretation we |
61 | | - created several <strong>public polls</strong> we were collected and |
62 | | - evaluated the general understanding. This helped us to make our system |
63 | | - <strong>intuitive to understand</strong>. |
64 | | - </p> |
| 53 | + <p> |
| 54 | + As programming with Rx is hard we made sure to keep it intuitive. By |
| 55 | + <strong>including</strong> a lot of <strong>people</strong> into the process |
| 56 | + of the creation of this guide we collected a lot of |
| 57 | + <strong>personal feedback</strong> to improve the system. |
| 58 | + </p> |
| 59 | + <p> |
| 60 | + To make sure we consider a <strong>common way</strong> interpretation we |
| 61 | + created several <strong>public polls</strong> we were collected and |
| 62 | + evaluated the general understanding. This helped us to make our system |
| 63 | + <strong>intuitive to understand</strong>. |
| 64 | + </p> |
65 | 65 | </div> |
66 | 66 |
|
67 | 67 | <h2>Easy</h2> |
68 | 68 | <div class="text-block"> |
69 | | - <p> |
70 | | - As mindset behind the system are several principles. One of them is “<strong |
71 | | - >Easy to adopt and create</strong |
| 69 | + <p> |
| 70 | + As mindset behind the system are several principles. One of them is “<strong |
| 71 | + >Easy to adopt and create</strong |
72 | 72 | >”, which means we want to provide <strong>a way for everybody</strong> to |
73 | | - <strong>read and create</strong> marble diagrams. |
74 | | - </p> |
75 | | - <p> |
76 | | - To achieve this we create all diagrams in either googleSlides oder |
77 | | - Powerpoint. We believe this two options <strong>enable</strong> a big group |
78 | | - of people to <strong>edit and draw</strong> these <strong>diagrams</strong>. |
79 | | - </p> |
| 73 | + <strong>read and create</strong> marble diagrams. |
| 74 | + </p> |
| 75 | + <p> |
| 76 | + To achieve this we create all diagrams in either googleSlides oder |
| 77 | + Powerpoint. We believe this two options <strong>enable</strong> a big group |
| 78 | + of people to <strong>edit and draw</strong> these <strong>diagrams</strong>. |
| 79 | + </p> |
80 | 80 | </div> |
81 | 81 |
|
82 | 82 | <h2>Detailed</h2> |
83 | 83 | <div class="text-block"> |
84 | | - <p> |
85 | | - Marble diagrams exist since a long time now. As there was no well thought |
86 | | - standard out there and not all edge cases considered, people started to |
87 | | - create their own solutions to visualize processes. These let to a variety of |
88 | | - different ways of drawing these diagrams. Some of the better approaches were |
89 | | - able to visualize more complex prozesses, but there is one essential thing |
90 | | - which nobody considered yet, but which is most critical to understand |
91 | | - processes based on Rx. The internal behavior of operators. |
92 | | - </p> |
93 | | - <p> |
94 | | - This system is not only providing a consistent, standardized way of drawing |
95 | | - marble diagrams, but also offers a way to visualize the internals of |
96 | | - operators. Of course based on the systems rules itself. |
97 | | - </p> |
| 84 | + <p> |
| 85 | + Marble diagrams exist since a long time now. As there was no well thought |
| 86 | + standard out there and not all edge cases considered, people started to |
| 87 | + create their own solutions to visualize processes. These let to a variety of |
| 88 | + different ways of drawing these diagrams. Some of the better approaches were |
| 89 | + able to visualize more complex processes, but there is one essential thing |
| 90 | + which nobody considered yet, but which is most critical to understand |
| 91 | + processes based on Rx. The internal behavior of operators. |
| 92 | + </p> |
| 93 | + <p> |
| 94 | + This system is not only providing a consistent, standardized way of drawing |
| 95 | + marble diagrams, but also offers a way to visualize the internals of |
| 96 | + operators. Of course based on the systems rules itself. |
| 97 | + </p> |
98 | 98 | </div> |
99 | 99 |
|
100 | 100 | <h2>Technically Correct</h2> |
101 | 101 | <div class="text-block"> |
102 | | - <p> |
103 | | - // |
104 | | - </p> |
| 102 | + <p> |
| 103 | + Marble diagrams accurately represent the asynchronous nature of RxJS streams and illustrate how data flows |
| 104 | + through streams and how operators transform that data over time. Time can be paused, resumed, or advanced as |
| 105 | + needed, showing how different operations react to the passage of time and the arrival of new values. They can be |
| 106 | + customized to match specific use cases or scenarios. Different shapes, colors, and labels can be used to |
| 107 | + represent various types of observables, operators, or emitted values. This visual representation makes it easy |
| 108 | + to understand the sequence of events in an asynchronous stream. Diagrams flexibility allows to suit different |
| 109 | + scenarios and learning environments, making them an invaluable tool for developers learning and working with |
| 110 | + RxJS. |
| 111 | + </p> |
105 | 112 | </div> |
0 commit comments