]> git.r.bdr.sh - rbdr/map/blame - Map/Views/Stage.swift
Add code for first release
[rbdr/map] / Map / Views / Stage.swift
CommitLineData
5e8ff485
RBR
1struct Stage {
2 let i: String
3 let ii: String
4 let iii: String
5 let iv: String
6
7 static func stages(_ type: StageType) -> Stage {
8 switch type {
9 case .general:
10 return Stage(
11 i: "Genesis", ii: "Custom Built", iii: "Product (+rental)", iv: "Commodity (+utility)")
12 case .practice:
13 return Stage(
14 i: "Novel", ii: "Emerging", iii: "Good", iv: "Best")
15 case .data:
16 return Stage(
17 i: "Unmodelled", ii: "Divergent", iii: "Convergent", iv: "Modelled")
18 case .knowledge:
19 return Stage(
20 i: "Concept", ii: "Hypothesis", iii: "Theory", iv: "Accepted")
21 case .ubiquity:
22 return Stage(
23 i: "Rare", ii: "Slowly Increasing Consumption", iii: "Rapidly Increasing Consumption",
24 iv: "Widespread and stabilising")
25 case .certainty:
26 return Stage(
27 i: "Poorly Understood", ii: "Rapid Increase In Learning",
28 iii: "Rapid Increase in Use / fit for purpose", iv: "Commonly understood (in terms of use)")
29 case .publicationTypes:
30 return Stage(
31 i: "Normally describing the wonder of the thing",
32 ii: "Build / construct / awareness and learning",
33 iii: "Maintenance / operations / installation / feature", iv: "Focused on use")
34 case .market:
35 return Stage(
36 i: "Undefined Market", ii: "Forming Market", iii: "Growing Market", iv: "Mature Market")
37 case .knowledgeManagement:
38 return Stage(
39 i: "Uncertain", ii: "Learning on use", iii: "Learning on operation", iv: "Known / accepted")
40 case .marketPerception:
41 return Stage(
42 i: "Chaotic (non-linear)", ii: "Domain of experts", iii: "Increasing expectation of use",
43 iv: "Ordered (appearance of being trivial) / trivial")
44 case .userPerception:
45 return Stage(
46 i: "Different / confusing / exciting / surprising", ii: "Leading edge / emerging",
47 iii: "Increasingly common / disappointed if not used", iv: "Standard / expected")
48 case .perceptionInIndustry:
49 return Stage(
50 i: "Competitive advantage / unpredictable / unknown",
51 ii: "Competitive advantage / ROI / case examples",
52 iii: "Advantage through implementation / features", iv: "Cost of doing business")
53 case .focusOfValue:
54 return Stage(
55 i: "High future worth", ii: "Seeking profit / ROI", iii: "High profitability",
56 iv: "High volume / reducing margin")
57 case .understanding:
58 return Stage(
59 i: "Poorly Understood / unpredictable",
60 ii: "Increasing understanding / development of measures",
61 iii: "Increasing education / constant refinement of needs / measures",
62 iv: "Believed to be well defined / stable / measurable")
63 case .comparison:
64 return Stage(
65 i: "Constantly changing / a differential / unstable",
66 ii: "Learning from others / testing the water / some evidential support",
67 iii: "Feature difference", iv: "Essential / operational advantage")
68 case .failure:
69 return Stage(
70 i: "High / tolerated / assumed", ii: "Moderate / unsurprising but disappointed",
71 iii: "Not tolerated, focus on constant improvement",
72 iv: "Operational efficiency and surprised by failure")
73 case .marketAction:
74 return Stage(
75 i: "Gambling / driven by gut", ii: "Exploring a \"found\" value",
76 iii: "Market analysis / listening to customers", iv: "Metric driven / build what is needed")
77 case .efficiency:
78 return Stage(
79 i: "Reducing the cost of change (experimentation)", ii: "Reducing cost of waste (Learning)",
80 iii: "Reducing cost of waste (Learning)", iv: "Reducing cost of deviation (Volume)")
81 case .decisionDrivers:
82 return Stage(
83 i: "Heritage / culture", ii: "Analyses & synthesis", iii: "Analyses & synthesis",
84 iv: "Previous Experience")
85 case .behavior:
86 return Stage(
87 i: "Uncertain when to use", ii: "Learning when to use", iii: "Learning through use",
88 iv: "Known / common usage")
89 }
90 }
91
92 static func title(_ type: StageType) -> String {
93 switch type {
94 case .general:
95 return "Activities"
96 case .practice:
97 return "Practice"
98 case .data:
99 return "Data"
100 case .knowledge:
101 return "Knowledge"
102 case .ubiquity:
103 return "Ubiquity"
104 case .certainty:
105 return "Certainty"
106 case .publicationTypes:
107 return "Publication Types"
108 case .market:
109 return "Market"
110 case .knowledgeManagement:
111 return "Knowledge Management"
112 case .marketPerception:
113 return "Market Perception"
114 case .userPerception:
115 return "User Perception"
116 case .perceptionInIndustry:
117 return "Perception In Industry"
118 case .focusOfValue:
119 return "Focus Of Value"
120 case .understanding:
121 return "Understanding"
122 case .comparison:
123 return "Comparison"
124 case .failure:
125 return "Failure"
126 case .marketAction:
127 return "Market Action"
128 case .efficiency:
129 return "Efficiency"
130 case .decisionDrivers:
131 return "Decision Drivers"
132 case .behavior:
133 return "Behavior"
134 }
135 }
136}
137
138enum StageType: String, CaseIterable, Identifiable {
139 case general
140 case practice
141 case data
142 case knowledge
143 case ubiquity
144 case certainty
145 case publicationTypes
146 case market
147 case knowledgeManagement
148 case marketPerception
149 case userPerception
150 case perceptionInIndustry
151 case focusOfValue
152 case understanding
153 case comparison
154 case failure
155 case marketAction
156 case efficiency
157 case decisionDrivers
158 case behavior
159
160 var id: String { self.rawValue }
161}