Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Language Matters: JavaScript 
from IoT Product Concept 
to Production

964 views

Published on

Talk given by Dr. Andy Carle for Kinoma at the Designers of Things Conference in San Jose, California on December 3, 2015.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Language Matters: JavaScript 
from IoT Product Concept 
to Production

  1. 1. LanguageMatters:JavaScript
 fromIoTProductConcept
 toProduction AndyCarle,PhD
 @PrototypingAndy
 @Kinoma @dothingscon December3,2015
  2. 2. @kinoma
  3. 3. @kinoma Scope:ConnectedDevices
  4. 4. Expand the
 Developer Pool Improve Outcomes for
 Existing Developers TwoGoals Web Front-End Developers Product Designers @kinoma Processing Developers Native Language Developers Node.js & Python Developers
  5. 5. Tools: Low-Level Languages & 
 Bare Dev Boards Process: 
 Waterfall Method TwoHurdles @kinoma Verification Maintenance Requirements Product requirements document Design Software architecture Implementation Software
  6. 6. TwoSolutions Tools:
 JavaScript and Beautiful 
 Prototyping Hardware Process:
 Iteration at Every Step @kinoma
  7. 7. 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 @kinoma
  8. 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
  9. 9. WeShouldBeDoingBetter DESIGN PROTOTYPE TEST ITERATE 1.SoftwareSimulation 2.HardwareSimulation 3.PrototypingHardware 4.CustomHardware DESIGN PROTOTYPE TEST ITERATE DESIGN PROTOTYPE TEST ITERATE DESIGN PROTOTYPE TEST ITERATE @kinoma
  10. 10. • Preserve progress between prototypes - Application code - I/O libraries - Look & feel • Saving time allows you to focus on - Industrial design - Companion app - User testing - Community building Don’tRe-Engineer;ExpandPriorities - Crowdfunding campaign management - Investor relations - Building a brand @kinoma
  11. 11. IoT’sDiversityMakesTraditional
 SoftwareDevelopmentImpractical • network connectivity • cloud services • sensors • power requirements • business rules • security Different @kinoma
  12. 12. • be updated • implement new features • support the latest mobile companion app • connect to new cloud services • fix security problems They must @kinoma IoTProductsareNotStatic
  13. 13. Web (Desktop) Mobile (Apps and Web) Server Embedded JavaScript’sFrontierLefttoConquer @kinoma
  14. 14. 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 JavaScriptMakesIoTDevelopmentUsable @kinoma
  15. 15. JavaScriptastheLanguageofIoT • programmers work faster • produce more reliable code • it’s trivial to connect to the cloud and other devices • reading and writing JSON messages is built in With JavaScript @kinoma
  16. 16. ES6 contains more than 400 individual changes to: • make the language more concise • improve performance • integrate support for modules The addition of modules to the language is fundamental to architecting reliable, long running devices, making JavaScript 6th Edition the right foundation for connecting IoT products. JavaScript6thEditionforIoT @kinoma
  17. 17. 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
  18. 18. Available as open source since March 2015. Customers benefit from the flexibility and stability that open source offers. The first application framework optimized for IoT that speaks the language of the web. Code hardware projects using familiar JavaScript. Kinoma’s implementation of JavaScript 6th Edition is the smallest, the most complete today, and fast. KinomaJS @kinoma
  19. 19. @kinoma KinomaJS Render digital media • Photos • Music • Video Manage the hardware • Power • Sensors • Schedulers Operate the
 user interface • Buttons • Lights • Screens Coordinate
 communication • Network • Devices • Cloud
  20. 20. @kinoma IDEandVisualProgramming Studio
  21. 21. Kinoma’sIoTProductDesignHardware Customizable products for prototypers: • integrate professional-grade hardware • use the open source KinomaJS application framework with JavaScript 6th Edition for app development • use the same pro-developer tools, making prototyping efficient across product teams @kinoma
  22. 22. @kinoma UsabilityasaFirst-OrderDesignGoal
  23. 23. Kinoma Create @kinoma BothDelicateandIntimidating • No Wi-Fi • No case • No battery • No screen • No onboard apps
  24. 24. WhyKinomaHardwarehasaCase @kinoma
  25. 25. Assemblingyour RaspberryPi enclosureis relativelystraightforward ifyou’veeverbuiltany
 t-slotbasedlasercut stuffbefore,buthere’s afullguide… -BuilttoSpec “ ” @kinoma
  26. 26. @kinoma
  27. 27. OnboardAppsv.theCommandLine @kinoma
  28. 28. @kinoma IntroducingKinomaElement
  29. 29. @kinoma IntroducingKinomaHD
  30. 30. • Bring most any sensor • Connect to most any cloud • Use most any protocol • Open for developers to expand • PCB designs • 3D design files for case • KinomaJS software • All on GitHub with permissive open source licenses Opensensor.Opencloud.Opentoexpand. @kinoma
  31. 31. Thankyou! AndyCarle,PhD
 @PrototypingAndy
 @Kinoma kinoma.com

×