+ Leveraging web and mobile app development experiences to build the software that powers custom hardware.
+ Developing software for hardware that doesn’t yet exist.
+ Building on existing hardware and software platforms in order to save development time.
+ Improving product design outcomes by better testing prototypes with users long before the product exists in final form.
Kinoma Create is our JavaScript-powered IoT construction kit. All the basic information you would need on Kinoma Create can be read at http://www.kinoma.com/create/about/.
8. ITERATE
ITERATE
ITERATE
MakingIt:TheOld(Current)Way
Ship it!
Get funding
Prototype on
Arduino
(Processing)
Prototype on
BeagleBone/Raspberry Pi
(Interpreted languages)
Prove concept Abandon
all progress
Learn that platform
isn’t production-ready
Learn native
language
Re-build it all
on target platform
A YEAR
LATER
The Chasm of Despair
@Kinoma
11. ProcessGoals
• Preserve progress between prototypes
– Application code
– I/O libraries
– Look and feel
• Make user tests as authentic as possible
• Small jumps between prototype generations
– Cost
– Time
@Kinoma
16. • Saving time allows you to focus on
• Industrial design
• Companion app
• User testing
• Community building
• Crowdfunding campaign management
• Investor relations
• Building a brand
Don’tRe-engineer:ExpandPriorities
@Kinoma
20. ☑ Web (Desktop)
☑ Mobile (Apps and Web)
☑ Server
☐ Embedded
JavaScript’sOneFrontierLefttoConquer
@Kinoma
21. We are preaching the religion of JavaScript for embedded and
Internet of Things development.
• Performance
• Memory
• User scripting
• Familiar syntax
• JavaScript coders build cool stuff fast
JavaScriptisReadyfortheChallenge
@Kinoma
22. PopularFrameworksAren’tIoTReady
• Browser-based solutions: Too heavy for IoT devices
• Node.js: Server solution being shoehorned into the
embedded space
• Qt: Designed for desktop, too much of a catch-all of features
• Lua: Less popular than assembly and COBOL, so difficult to
find talent and no significant ecosystem
@Kinoma
25. Manage the
hardware
Operate the
user interface
Coordinate
communication
•Power
•Sensors
•Schedulers
•Buttons
•Lights
•Screens
•Network
•Devices
•Cloud
@Kinoma
42. • “Inclinometer on Arduino” photo from flickr.com/27164521@N00, used under CC Attribution
2.0 Generic license
• “BeagleBone” photo from flickr.com/embecosm, used under CC Attribution-ShareAlike 2.0
Generic license
• Programming languages image from http://geoawesomeness.com/learning-gis-
programming-an-overview/
• Raspberry Pi enclosure photo from http://www.built-to-spec.com/blog/kit-instructions/new-
raspberry-pi-enclosure-assembly/
• Raspberry Pi enclosure photo from http://www.raspberrypi.org/forums/viewtopic.php?
t=6424
• Raspberry Pi enclosure photo from http://www.ikeahackers.net/2013/05/raspberry-pi-pruta-
case.html
Credits