SlideShare ist ein Scribd-Unternehmen logo
1 von 43
My Minecraft Smart Home
Prototyping the Internet of Uncanny Things
Lecture
Sascha Wolter
@saschawolter
March 2017
Source: Mattel's Barbie Hello Dreamhouse
Speed kills! In 1830 people thought, your brain
stops working travelling more than
20 mph. And anyone going at more
than 30 mph would have all air
sucked out of them and would
suffocate to death.
Source:Tony Robinson's Weird World of Wonders! British
Internet of (Important) Things
Image: https://en.wikipedia.org/wiki/File:RegVarneyATM.jpg, https://www.ucc.asn.au/services/drink.ucc
1967 1982
100 billion connections will be generated and
2 million new sensors will be deployed
every hour by 2025 (Huawei)
Regular Users don’t Rule the Tech!
Today's Smart Home solutions are
not good enough for a mainstream
market. These solutions are well
suited to early adopters, but have so
far failed to attract mainstream
buyers. (see VisionMobile “The Smart
Home Landscape 2015”)
Progressive Thinkers Worriers
Antagonists
Image: Electrolux presents Screenfridge 1999, http://www.electroluxgroup.com/en/history-1990-1999-764/
Value Proposition!
Image: New York, ca. 1900 (http://ethw.org/Archives:Edison_Electric_Light_Sign/Ad)
Image: Sascha Wolter
Gulf between Human and Machine
User and GoalsPhysical System
(World)
Source: Norman, D. (1986). "User Centered System Design: New Perspectives on Human-computer Interaction". CRC. ISBN 978-0-89859-872-8
Learned or Innate
Source: Star Trek IV (20th Century Fox), 1986
Conversational User Experience
Amazon Echo: Alexa…
Google Home: Okay Google…
LingLong DingDong : DingDong DingDong …8 Million sold by the end of 2016
https://www.digitalcommerce360.com/2017/01/23/amazons-us-echo-sales-top-8-million/
Source: MGM Child's Play (The Lakeshore Strangler), Vivid My friend Cayla
Uncanny Valley of Anticipation
Internet of Uncanny Things
German Federal Network Agency says, any toy capable of
transmitting signals and recording images or sound without
detection is banned. (https://t.co/R7UCmI9aj9)
Conversational UX turns real
Source: https://youtu.be/jSVRrJJ2nl4, SNL Julie the Operator 2006
Source: Boris Adryan, 2015-10-20, http://iot.ghost.io/is-it-all-machine-learning/
Commonsense Knowledge and Intuition
Image: Sascha Wolter,
Source: The Simpsons, 2001
Anticipation and Empathy
Source: http://www.jre-water.com/Suica/index.html
Voice and Facial Recognition
Gender, Age and Mood
Event Bus
Resistance Is Futile
Messages
Cloud
Service Device
Messages
Gateway
Bridge
Device
Device
Messages
Device
System of Systems
Image: Star Trek, CBS Studios Inc.
Start doing
a smattering
of REST with SSE
See also http://appinventor.mit.edu/
Minecraft 101
Good to know
• See http://minecraft.gamepedia.com/
• Several Versions
• Pocket Edition (PE, e.g. Android, HoloLens), Pi
Edition, Console Edition (e.g. Xbox, PlayStation),
Education, etc.
• Samples and code in this presentation is
based on Minecraft 1.8.9
• Gamemodes
• Survival
• Creative (to ignore recipes)
• Inventory and Recipes
• Redstones
• …
Cheats via t-Key
• /help
• /weather clear
• /weather rain
• /time set day
• /time set night
• /gamemode creative
• /gamerule doDaylightCycle false
• /tp Player x y z
Inventory via e-Key
1st-Person via Mouse and AWSD-Keys
see also Project Malmo (http://research.microsoft.com/en-US/groups/mip-ai/default.aspx)
Start doing
a smattering
of REST with SSE
Minecraft Forge: Simple Modding
Bare minimum
Get the Minecraft Forge Mod Development Kit (MDK) from http://files.minecraftforge.net/
Java and Minecraft Forge: Setup and Lifecycle
@Mod(modid = SmartHomeMod.MODID, version = SmartHomeMod.VERSION)
public class SmartHomeMod {
public static final String MODID = "smarthomemod";
public static final String VERSION = "0.1";
// Happens as #1 right before Minecraft loads. Used for most registration.
@EventHandler
public void preInit(FMLPreInitializationEvent event) {}
// Happens as #2 when Minecraft loads.
@EventHandler
public void init(FMLInitializationEvent event) {}
// Happens #3 when World generators and alike are loaded.
@EventHandler
public void postInit(FMLPostInitializationEvent event) {}
// Happens #4 right before starting the server.
@EventHandler
public void registerCommands(FMLServerStartingEvent event) {}
}
Event-Subscriber,
Items, and Blocks
Resources
Commands
main
Lifecycle
Use SmartHome Plug-In via SSE and REST API
• List of Things via HTTP Get
http://localhost:9998/rest/things
• Server Sent Events (SSE)
http://localhost:9998/rest/events
• Helps to check what’s possible and
what’s going on
• Player
• Switches
• Doors
• Sensor
• …
• Unique ID is always location
• Relevant data is separated into
components (channels)
Minecraft Spigot: Simple Plug-in
Bare minimum
Get the Minecraft Spigot Server, API, and Build Tools from https://www.spigotmc.org/wiki/buildtools
Minecraft Spigot: SmartHome.java
public class SmartHome extends JavaPlugin {
// Fired when plugin is first enabled
@Override
public void onEnable() {
// Register event listener
// Could handle PlayerJoinEvent, BlockRedstoneEvent, PlayerInteractEvent, BlockPlaceEvent...
// ...using @EventHandler annotation
Bukkit.getPluginManager().registerEvents(new BlockChangedListener(), this);
// Register command (set an instance of command class as executor)
this.getCommand("sendCommand").setExecutor(new SendCommand());
}
// Fired when plugin is disabled
@Override
public void onDisable() {
}
}
main
Lifecycle
Commands
Events
ESH
Core
Device
Bindings
Device
Bindings
Device
Bindings
Internet of Things Platform
ESH
Core
Device
Bindings
Device
Bindings
Device
Bindings
Internet of Things Platform
ESH
Core
Device
Bindings
Device
Bindings
Device
Bindings
Developer
Community
Device Vendor
XY Company
Internet of Things Platform
ESH
Core
Device
Bindings
Device
Bindings
Device
Bindings
Eclipse SmartHome as open technology for Prosumers
https://github.com/wolter
Minecraft Binding
for Eclipse SmartHome
• Integrating Devices
into Eclipse SmartHome
1. Create OSGi skeleton
2. Edit identifiers and parameters
3. Add binding logic
4. Export and deploy
5. Test
create_binding_skeleton
Minecraft Binding
for Eclipse SmartHome
@Override
public void handleCommand(ChannelUID channelUID, Command command) {
switch (channelUID.getId()) {
case CHANNEL_POWERED:
if (command instanceof OnOffType) {
MinecraftThingCommand minecraftCommand = new MinecraftThingCommand();
minecraftCommand.id = id;
minecraftCommand.component = new MinecraftThingComponent();
minecraftCommand.component.type = MinecraftThingComponentType.POWERED;
minecraftCommand.component.state = command.equals(OnOffType.ON) ? true : false;
postState(minecraftCommand);
}
break;
case CHANNEL_OPEN:
...
}
}
RESTful POST
Handle Command
Or delegate to a Bridge.
Source: https://mojang.com/2016/06/weve-sold-minecraft-many-many-times-look/
Why?
Dev Relations at
Eclipse Con Europe ‘17
▪ Software Developer (m/w) Connected Home Runtime
▪ Senior Software Developer (m/w) Connected Home Frontend
▪ Senior Software Developer (m/w) Connected Home Community
▪ Senior Developer Evangelist Connected Home
▪ Senior UX Designer
03.04.2017 40
WEAREHIRING
Jobs
https://telekom.jobs/global-careers (Keyword Connected Home)
Businesses are coming to realize that attracting
developers is the fastest route to innovation.
Moreover, attracting developers means
attracting external investment, which finances
innovation and expansion.
Source: Benno Luthiger, Open-Source-Jahrbuch 2004
MYTHSOFTYPICAL DEVELOPER /BORNTOCODE
Innovation Prosumer: Consumer and Producer
Millions and millions of dollars are being spent
to attract developers: The millions of dollars in
developer marketing efforts serve one purpose:
to persuade developers to use a specific
platform, network, tool or API set to generate
innovations and to reach more consumers. In
short: Developers consume an Platform, API,
etc. and produce something based on it.
Source: Developer Economics 2012, www.developereconomics.com
Some Consumers turn into Developers to solve their needs.
Video: youtube/Microsoft
Design and Hybrid Thinking
Construction Kit
APIs, Services
Software-Architecture (e.g. MVVM)
Value Innovation
Practiceand Exchange
to find new opportunities.
Source: Siematic, Discovery Channel, BSH, Microsoft, ZDF
Responsibility and Dogfooding
Hippocratic Oath and Eating your own Dogfood.
Teaching Responsibility and Enlightenment versus
Believe in Wonders (i.e. Politics and Regulation)
Image: Sascha Wolter, Hour of Code 2015, see also https://code.org/learn
Video: https://youtu.be/xgakdcEzVwgl
My Minecraft Smart Home
Prototyping the Internet of Uncanny Things
Lecture
Sascha Wolter
@saschawolter
March 2017
more at http://wolter.biz

Weitere ähnliche Inhalte

Ähnlich wie My Minecraft-Smart-Home: Prototyping the Internet of Uncanny Things

Georgia Tech hacking Accessibility
Georgia Tech hacking AccessibilityGeorgia Tech hacking Accessibility
Georgia Tech hacking Accessibility
Christian Heilmann
 
Supercomputer Earth: The Future of Civilization (& Africa\'s part in it)
Supercomputer Earth: The Future of Civilization (& Africa\'s part in it)Supercomputer Earth: The Future of Civilization (& Africa\'s part in it)
Supercomputer Earth: The Future of Civilization (& Africa\'s part in it)
Christian Heller
 
How to prevent cyber terrorism taragana
How to prevent cyber terrorism  taraganaHow to prevent cyber terrorism  taragana
How to prevent cyber terrorism taragana
Gilles Sgro
 
What’s New and Exciting in Library Makerspaces
What’s New and Exciting in Library MakerspacesWhat’s New and Exciting in Library Makerspaces
What’s New and Exciting in Library Makerspaces
St. Petersburg College
 
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
Simen Sommerfeldt
 

Ähnlich wie My Minecraft-Smart-Home: Prototyping the Internet of Uncanny Things (20)

Demystifying blockchain Dec'18
Demystifying blockchain Dec'18Demystifying blockchain Dec'18
Demystifying blockchain Dec'18
 
Georgia Tech hacking Accessibility
Georgia Tech hacking AccessibilityGeorgia Tech hacking Accessibility
Georgia Tech hacking Accessibility
 
Supercomputer Earth: The Future of Civilization (& Africa\'s part in it)
Supercomputer Earth: The Future of Civilization (& Africa\'s part in it)Supercomputer Earth: The Future of Civilization (& Africa\'s part in it)
Supercomputer Earth: The Future of Civilization (& Africa\'s part in it)
 
Whymca 2009
Whymca 2009Whymca 2009
Whymca 2009
 
Exploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyExploring the Internet of Things Using Ruby
Exploring the Internet of Things Using Ruby
 
Next Generation Media - Wolter
Next Generation Media - WolterNext Generation Media - Wolter
Next Generation Media - Wolter
 
VR digest. February, 2018
VR digest. February, 2018VR digest. February, 2018
VR digest. February, 2018
 
INTERFACE, by apidays - APIs of the Future: Are you Ready? by Mike Amundsen
INTERFACE, by apidays  - APIs of the Future: Are you Ready? by Mike AmundsenINTERFACE, by apidays  - APIs of the Future: Are you Ready? by Mike Amundsen
INTERFACE, by apidays - APIs of the Future: Are you Ready? by Mike Amundsen
 
How to prevent cyber terrorism taragana
How to prevent cyber terrorism  taraganaHow to prevent cyber terrorism  taragana
How to prevent cyber terrorism taragana
 
What’s New and Exciting in Library Makerspaces
What’s New and Exciting in Library MakerspacesWhat’s New and Exciting in Library Makerspaces
What’s New and Exciting in Library Makerspaces
 
Future of UX
Future of UXFuture of UX
Future of UX
 
powers and exponents
powers and exponentspowers and exponents
powers and exponents
 
Why Exponents are Important
Why Exponents are ImportantWhy Exponents are Important
Why Exponents are Important
 
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
 
Developer Day 2014 - 6 - open source iot - eclipse foundation
Developer Day 2014 - 6 - open source iot - eclipse foundationDeveloper Day 2014 - 6 - open source iot - eclipse foundation
Developer Day 2014 - 6 - open source iot - eclipse foundation
 
T
TT
T
 
Internet, Web and Freedom
Internet, Web and FreedomInternet, Web and Freedom
Internet, Web and Freedom
 
Short on cycles, long on storage
Short on cycles, long on storageShort on cycles, long on storage
Short on cycles, long on storage
 
Ionic 4 + capacitor + angular 7
Ionic 4 +  capacitor + angular 7 Ionic 4 +  capacitor + angular 7
Ionic 4 + capacitor + angular 7
 
Aeternity Blockchain - Ecosystem & Devtools [2019]
Aeternity Blockchain - Ecosystem & Devtools [2019]Aeternity Blockchain - Ecosystem & Devtools [2019]
Aeternity Blockchain - Ecosystem & Devtools [2019]
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

My Minecraft-Smart-Home: Prototyping the Internet of Uncanny Things

  • 1. My Minecraft Smart Home Prototyping the Internet of Uncanny Things Lecture Sascha Wolter @saschawolter March 2017
  • 2. Source: Mattel's Barbie Hello Dreamhouse
  • 3. Speed kills! In 1830 people thought, your brain stops working travelling more than 20 mph. And anyone going at more than 30 mph would have all air sucked out of them and would suffocate to death. Source:Tony Robinson's Weird World of Wonders! British
  • 4. Internet of (Important) Things Image: https://en.wikipedia.org/wiki/File:RegVarneyATM.jpg, https://www.ucc.asn.au/services/drink.ucc 1967 1982
  • 5. 100 billion connections will be generated and 2 million new sensors will be deployed every hour by 2025 (Huawei)
  • 6. Regular Users don’t Rule the Tech! Today's Smart Home solutions are not good enough for a mainstream market. These solutions are well suited to early adopters, but have so far failed to attract mainstream buyers. (see VisionMobile “The Smart Home Landscape 2015”) Progressive Thinkers Worriers Antagonists
  • 7. Image: Electrolux presents Screenfridge 1999, http://www.electroluxgroup.com/en/history-1990-1999-764/ Value Proposition!
  • 8. Image: New York, ca. 1900 (http://ethw.org/Archives:Edison_Electric_Light_Sign/Ad)
  • 10. Gulf between Human and Machine User and GoalsPhysical System (World) Source: Norman, D. (1986). "User Centered System Design: New Perspectives on Human-computer Interaction". CRC. ISBN 978-0-89859-872-8
  • 11. Learned or Innate Source: Star Trek IV (20th Century Fox), 1986
  • 12. Conversational User Experience Amazon Echo: Alexa… Google Home: Okay Google… LingLong DingDong : DingDong DingDong …8 Million sold by the end of 2016 https://www.digitalcommerce360.com/2017/01/23/amazons-us-echo-sales-top-8-million/
  • 13. Source: MGM Child's Play (The Lakeshore Strangler), Vivid My friend Cayla Uncanny Valley of Anticipation Internet of Uncanny Things German Federal Network Agency says, any toy capable of transmitting signals and recording images or sound without detection is banned. (https://t.co/R7UCmI9aj9)
  • 14. Conversational UX turns real Source: https://youtu.be/jSVRrJJ2nl4, SNL Julie the Operator 2006
  • 15. Source: Boris Adryan, 2015-10-20, http://iot.ghost.io/is-it-all-machine-learning/
  • 16. Commonsense Knowledge and Intuition Image: Sascha Wolter,
  • 17. Source: The Simpsons, 2001 Anticipation and Empathy
  • 18. Source: http://www.jre-water.com/Suica/index.html Voice and Facial Recognition Gender, Age and Mood
  • 19. Event Bus Resistance Is Futile Messages Cloud Service Device Messages Gateway Bridge Device Device Messages Device System of Systems Image: Star Trek, CBS Studios Inc.
  • 20. Start doing a smattering of REST with SSE See also http://appinventor.mit.edu/
  • 21. Minecraft 101 Good to know • See http://minecraft.gamepedia.com/ • Several Versions • Pocket Edition (PE, e.g. Android, HoloLens), Pi Edition, Console Edition (e.g. Xbox, PlayStation), Education, etc. • Samples and code in this presentation is based on Minecraft 1.8.9 • Gamemodes • Survival • Creative (to ignore recipes) • Inventory and Recipes • Redstones • … Cheats via t-Key • /help • /weather clear • /weather rain • /time set day • /time set night • /gamemode creative • /gamerule doDaylightCycle false • /tp Player x y z Inventory via e-Key 1st-Person via Mouse and AWSD-Keys
  • 22.
  • 23. see also Project Malmo (http://research.microsoft.com/en-US/groups/mip-ai/default.aspx) Start doing a smattering of REST with SSE
  • 24.
  • 25. Minecraft Forge: Simple Modding Bare minimum Get the Minecraft Forge Mod Development Kit (MDK) from http://files.minecraftforge.net/
  • 26. Java and Minecraft Forge: Setup and Lifecycle @Mod(modid = SmartHomeMod.MODID, version = SmartHomeMod.VERSION) public class SmartHomeMod { public static final String MODID = "smarthomemod"; public static final String VERSION = "0.1"; // Happens as #1 right before Minecraft loads. Used for most registration. @EventHandler public void preInit(FMLPreInitializationEvent event) {} // Happens as #2 when Minecraft loads. @EventHandler public void init(FMLInitializationEvent event) {} // Happens #3 when World generators and alike are loaded. @EventHandler public void postInit(FMLPostInitializationEvent event) {} // Happens #4 right before starting the server. @EventHandler public void registerCommands(FMLServerStartingEvent event) {} } Event-Subscriber, Items, and Blocks Resources Commands main Lifecycle
  • 27. Use SmartHome Plug-In via SSE and REST API • List of Things via HTTP Get http://localhost:9998/rest/things • Server Sent Events (SSE) http://localhost:9998/rest/events • Helps to check what’s possible and what’s going on • Player • Switches • Doors • Sensor • … • Unique ID is always location • Relevant data is separated into components (channels)
  • 28.
  • 29. Minecraft Spigot: Simple Plug-in Bare minimum Get the Minecraft Spigot Server, API, and Build Tools from https://www.spigotmc.org/wiki/buildtools
  • 30. Minecraft Spigot: SmartHome.java public class SmartHome extends JavaPlugin { // Fired when plugin is first enabled @Override public void onEnable() { // Register event listener // Could handle PlayerJoinEvent, BlockRedstoneEvent, PlayerInteractEvent, BlockPlaceEvent... // ...using @EventHandler annotation Bukkit.getPluginManager().registerEvents(new BlockChangedListener(), this); // Register command (set an instance of command class as executor) this.getCommand("sendCommand").setExecutor(new SendCommand()); } // Fired when plugin is disabled @Override public void onDisable() { } } main Lifecycle Commands Events
  • 31. ESH Core Device Bindings Device Bindings Device Bindings Internet of Things Platform ESH Core Device Bindings Device Bindings Device Bindings Internet of Things Platform ESH Core Device Bindings Device Bindings Device Bindings Developer Community Device Vendor XY Company Internet of Things Platform ESH Core Device Bindings Device Bindings Device Bindings Eclipse SmartHome as open technology for Prosumers
  • 33. Minecraft Binding for Eclipse SmartHome • Integrating Devices into Eclipse SmartHome 1. Create OSGi skeleton 2. Edit identifiers and parameters 3. Add binding logic 4. Export and deploy 5. Test create_binding_skeleton
  • 34. Minecraft Binding for Eclipse SmartHome @Override public void handleCommand(ChannelUID channelUID, Command command) { switch (channelUID.getId()) { case CHANNEL_POWERED: if (command instanceof OnOffType) { MinecraftThingCommand minecraftCommand = new MinecraftThingCommand(); minecraftCommand.id = id; minecraftCommand.component = new MinecraftThingComponent(); minecraftCommand.component.type = MinecraftThingComponentType.POWERED; minecraftCommand.component.state = command.equals(OnOffType.ON) ? true : false; postState(minecraftCommand); } break; case CHANNEL_OPEN: ... } } RESTful POST Handle Command Or delegate to a Bridge.
  • 36. Dev Relations at Eclipse Con Europe ‘17
  • 37. ▪ Software Developer (m/w) Connected Home Runtime ▪ Senior Software Developer (m/w) Connected Home Frontend ▪ Senior Software Developer (m/w) Connected Home Community ▪ Senior Developer Evangelist Connected Home ▪ Senior UX Designer 03.04.2017 40 WEAREHIRING Jobs https://telekom.jobs/global-careers (Keyword Connected Home)
  • 38. Businesses are coming to realize that attracting developers is the fastest route to innovation. Moreover, attracting developers means attracting external investment, which finances innovation and expansion. Source: Benno Luthiger, Open-Source-Jahrbuch 2004 MYTHSOFTYPICAL DEVELOPER /BORNTOCODE Innovation Prosumer: Consumer and Producer Millions and millions of dollars are being spent to attract developers: The millions of dollars in developer marketing efforts serve one purpose: to persuade developers to use a specific platform, network, tool or API set to generate innovations and to reach more consumers. In short: Developers consume an Platform, API, etc. and produce something based on it. Source: Developer Economics 2012, www.developereconomics.com Some Consumers turn into Developers to solve their needs. Video: youtube/Microsoft
  • 39. Design and Hybrid Thinking
  • 41. Value Innovation Practiceand Exchange to find new opportunities. Source: Siematic, Discovery Channel, BSH, Microsoft, ZDF
  • 42. Responsibility and Dogfooding Hippocratic Oath and Eating your own Dogfood. Teaching Responsibility and Enlightenment versus Believe in Wonders (i.e. Politics and Regulation) Image: Sascha Wolter, Hour of Code 2015, see also https://code.org/learn
  • 43. Video: https://youtu.be/xgakdcEzVwgl My Minecraft Smart Home Prototyping the Internet of Uncanny Things Lecture Sascha Wolter @saschawolter March 2017 more at http://wolter.biz