aboutsummaryrefslogtreecommitdiff
path: root/Map/Views/Stage.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2021-02-03 23:53:12 +0100
committerRuben Beltran del Rio <ruben@unlimited.pizza>2021-02-03 23:53:12 +0100
commit5e8ff4850c4827125fe12788dd5b153c4f636f48 (patch)
treef37c90338f33e7ddc84cc855a20dca1ca503476e /Map/Views/Stage.swift
parent1b85f723b48d38cf345bb9a4f3fd01aa6039b50b (diff)
Add code for first release
Diffstat (limited to 'Map/Views/Stage.swift')
-rw-r--r--Map/Views/Stage.swift161
1 files changed, 161 insertions, 0 deletions
diff --git a/Map/Views/Stage.swift b/Map/Views/Stage.swift
new file mode 100644
index 0000000..23432ad
--- /dev/null
+++ b/Map/Views/Stage.swift
@@ -0,0 +1,161 @@
+struct Stage {
+ let i: String
+ let ii: String
+ let iii: String
+ let iv: String
+
+ static func stages(_ type: StageType) -> Stage {
+ switch type {
+ case .general:
+ return Stage(
+ i: "Genesis", ii: "Custom Built", iii: "Product (+rental)", iv: "Commodity (+utility)")
+ case .practice:
+ return Stage(
+ i: "Novel", ii: "Emerging", iii: "Good", iv: "Best")
+ case .data:
+ return Stage(
+ i: "Unmodelled", ii: "Divergent", iii: "Convergent", iv: "Modelled")
+ case .knowledge:
+ return Stage(
+ i: "Concept", ii: "Hypothesis", iii: "Theory", iv: "Accepted")
+ case .ubiquity:
+ return Stage(
+ i: "Rare", ii: "Slowly Increasing Consumption", iii: "Rapidly Increasing Consumption",
+ iv: "Widespread and stabilising")
+ case .certainty:
+ return Stage(
+ i: "Poorly Understood", ii: "Rapid Increase In Learning",
+ iii: "Rapid Increase in Use / fit for purpose", iv: "Commonly understood (in terms of use)")
+ case .publicationTypes:
+ return Stage(
+ i: "Normally describing the wonder of the thing",
+ ii: "Build / construct / awareness and learning",
+ iii: "Maintenance / operations / installation / feature", iv: "Focused on use")
+ case .market:
+ return Stage(
+ i: "Undefined Market", ii: "Forming Market", iii: "Growing Market", iv: "Mature Market")
+ case .knowledgeManagement:
+ return Stage(
+ i: "Uncertain", ii: "Learning on use", iii: "Learning on operation", iv: "Known / accepted")
+ case .marketPerception:
+ return Stage(
+ i: "Chaotic (non-linear)", ii: "Domain of experts", iii: "Increasing expectation of use",
+ iv: "Ordered (appearance of being trivial) / trivial")
+ case .userPerception:
+ return Stage(
+ i: "Different / confusing / exciting / surprising", ii: "Leading edge / emerging",
+ iii: "Increasingly common / disappointed if not used", iv: "Standard / expected")
+ case .perceptionInIndustry:
+ return Stage(
+ i: "Competitive advantage / unpredictable / unknown",
+ ii: "Competitive advantage / ROI / case examples",
+ iii: "Advantage through implementation / features", iv: "Cost of doing business")
+ case .focusOfValue:
+ return Stage(
+ i: "High future worth", ii: "Seeking profit / ROI", iii: "High profitability",
+ iv: "High volume / reducing margin")
+ case .understanding:
+ return Stage(
+ i: "Poorly Understood / unpredictable",
+ ii: "Increasing understanding / development of measures",
+ iii: "Increasing education / constant refinement of needs / measures",
+ iv: "Believed to be well defined / stable / measurable")
+ case .comparison:
+ return Stage(
+ i: "Constantly changing / a differential / unstable",
+ ii: "Learning from others / testing the water / some evidential support",
+ iii: "Feature difference", iv: "Essential / operational advantage")
+ case .failure:
+ return Stage(
+ i: "High / tolerated / assumed", ii: "Moderate / unsurprising but disappointed",
+ iii: "Not tolerated, focus on constant improvement",
+ iv: "Operational efficiency and surprised by failure")
+ case .marketAction:
+ return Stage(
+ i: "Gambling / driven by gut", ii: "Exploring a \"found\" value",
+ iii: "Market analysis / listening to customers", iv: "Metric driven / build what is needed")
+ case .efficiency:
+ return Stage(
+ i: "Reducing the cost of change (experimentation)", ii: "Reducing cost of waste (Learning)",
+ iii: "Reducing cost of waste (Learning)", iv: "Reducing cost of deviation (Volume)")
+ case .decisionDrivers:
+ return Stage(
+ i: "Heritage / culture", ii: "Analyses & synthesis", iii: "Analyses & synthesis",
+ iv: "Previous Experience")
+ case .behavior:
+ return Stage(
+ i: "Uncertain when to use", ii: "Learning when to use", iii: "Learning through use",
+ iv: "Known / common usage")
+ }
+ }
+
+ static func title(_ type: StageType) -> String {
+ switch type {
+ case .general:
+ return "Activities"
+ case .practice:
+ return "Practice"
+ case .data:
+ return "Data"
+ case .knowledge:
+ return "Knowledge"
+ case .ubiquity:
+ return "Ubiquity"
+ case .certainty:
+ return "Certainty"
+ case .publicationTypes:
+ return "Publication Types"
+ case .market:
+ return "Market"
+ case .knowledgeManagement:
+ return "Knowledge Management"
+ case .marketPerception:
+ return "Market Perception"
+ case .userPerception:
+ return "User Perception"
+ case .perceptionInIndustry:
+ return "Perception In Industry"
+ case .focusOfValue:
+ return "Focus Of Value"
+ case .understanding:
+ return "Understanding"
+ case .comparison:
+ return "Comparison"
+ case .failure:
+ return "Failure"
+ case .marketAction:
+ return "Market Action"
+ case .efficiency:
+ return "Efficiency"
+ case .decisionDrivers:
+ return "Decision Drivers"
+ case .behavior:
+ return "Behavior"
+ }
+ }
+}
+
+enum StageType: String, CaseIterable, Identifiable {
+ case general
+ case practice
+ case data
+ case knowledge
+ case ubiquity
+ case certainty
+ case publicationTypes
+ case market
+ case knowledgeManagement
+ case marketPerception
+ case userPerception
+ case perceptionInIndustry
+ case focusOfValue
+ case understanding
+ case comparison
+ case failure
+ case marketAction
+ case efficiency
+ case decisionDrivers
+ case behavior
+
+ var id: String { self.rawValue }
+}