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
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
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.
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
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
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