July 27, 2015
Introducing Kinoma Element and Kinoma HD
Our booth featured demonstrations of our new hardware product prototypes, Kinoma Element and Kinoma HD. The main demo on display was a Smart Life, Smart Lifestyle Hub, which runs on a large HD display via Kinoma HD and is driven by data collected and sent from Kinoma Create and Kinoma Element.
The demos connected to the Hub:
- Climate Sensor: a temperature and humidity sensor attached to one Kinoma Element placed at the far end of the booth. When the temperature or humidity changes (for instance, when the device was held in hand), the readout on the display ratchets up. The Climate Sensor uses I²C for communication between the sensor and Kinoma Element, zeroconf discovery for Kinoma HD to find Kinoma Element, and HTTP for information sharing between them.
- Gesture Sensor: a hover board attached to Kinoma Create, taking readings of the direction of a hand movement. When a hand moves right to left, for example, that data is sent to the Kinoma HD and the large-screen app animates a hand right to left. Simultaneously, Kinoma HD sends the sensor data back to a second Kinoma Element that has an 8×8 LED matrix attached which then animates an arrow pointing to the left. The Gesture Sensor uses I²C to communicate between the hover board and Kinoma Create, I²C to communicate between the LED matrix and Kinoma Element, zeroconf for device discovery, and WebSockets for cross-device communication.
- Air Doodle: a game that allows the user to doodle in midair by holding and manipulating a Kinoma Create, with the resulting drawing displaying on the Kinoma HD screen. Input on the Kinoma Create is captured using a 3D accelerometer, a potentiometer, a button, and the touch screen. Air Doodle uses analog input for the 3D accelerometer and potentiometer, digital input for the button, zeroconf for device discovery, and WebSockets for communication between Kinoma Create and Kinoma HD.
It was exciting to unveil the growing family of Kinoma solutions for developers, especially to such knowledgable attendees. The majority of people who came through the Kinoma booth were from IoT product development agencies, design labs, consumer electronics brands, and companies from a range of industries (including media and automotive) exploring their IoT future.
O’Reilly Solid was a good opportunity to share our news beyond the event. Thank you to all the member of the press who spoke with us about our news, views of IoT, and thoughts for what’s ahead.
Kinoma is still called on to discuss crowdfunding due to our successful campaign for Kinoma Create, our approach to crowdfunding while part of an established company, and our reasons for taking to crowdfunding. Peter Hoddie participated in the panel, “Indiegogo: The feedback channel for your new hardware products,” hosted by Kate Drane of Indiegogo.
Thanks to everyone at O’Reilly Solid for making this such a great event. We look forward to Year 3!
July 17, 2015
Kinoma is headed to O’Reilly OSCON next week, to give attendees a hands-on experience of open source prototyping solutions for IoT innovators. OSCON is O’Reilly’s largest event of the year, and takes place at the Portland Convention Center July 20-24.
We’re delighted to have been invited to the Hardware Showcase. O’Reilly recognizes the innovation taking place in open source for hardware, and is assembling a dozen hand-picked companies to exhibit in the Hardware Showcase. Our demo will focus on the recently introduced Kinoma Element and Kinoma HD.
As we do with Kinoma Create, we plan the following for Kinoma Element and Kinoma HD:
- Publishing the complete PCB design files, including the parts list.
- Publishing the 3D design files for all parts of the product, used by developers to design and print custom enclosures so prototypes reflect their project vision.
Additionally, since OSCON 2014, we have fully open sourced KinomaJS, the application framework used by developers to build the core applications of embedded devices prototyped with our hardware products.
The Hardware Showcase is a dynamic, rotating roster of companies. You will be able to find a Kinoma table during the Reception Tuesday July 21st at 5:00pm; during Expo Hall hours Wednesday July 22nd 12:20pm – 2:40pm, and 2:40pm – 5:00pm; during the Booth Crawl Wednesday 5:40pm; and during Expo Hall hours Thursday July 23rd 10:00am – 12:20pm, and 12:20pm – 2:40pm.
Closed devices powered by open source software? The IoT Paradox.
Peter Hoddie will be giving a talk titled, “Closed devices powered by open source software? The IoT Paradox.” on Thursday July 23rd at 4:10pm.
The idea that you should be able to modify the software on your computer as much as your technical skills allow is at the foundation of the free source movement. Why should it be different for IoT products, purchased and installed with high hopes for interoperability? These products are developed with open software and standards, after all.
This talk will explore ways to steer IoT back toward openness and interoperability in hardware and in software.
To book meetings with the Kinoma team at O’Reilly OSCON, please email email@example.com.
We hope you can join us in Portland.
June 24, 2015
Do computer languages really matter? Any good computer science student can make the argument that most of them are roughly equivalent. But any experienced coder can explain why they consistently chose certain languages for certain tasks. The choice of language matters. It isn’t a matter of theory, it is a matter of practical engineering.
No less an industry legend than Steve Wozniak explained that a defining characteristic of the original Apple Computer was the choice of programming language:
I sniffed the wind and knew that the key to making my computer good (popular) was to include a high-level language and that it had to be BASIC. Engineers programming in FORTRAN were not going to be what would start a home computer revolution.
Different operating systems have different computer language preferences. Different industries have their preferences.
And those are the high points of the language from the Kinoma team’s perspective. There’s more still.
Conformance with the standard
Optimized for IoT
- Modules. XS6 fully supports modules, and extends it one important way. The module specification defines how to load a module, but makes no provision for unloading a module. On a memory constrained device, that can create a problem as there may well not be enough memory to hold all modules in memory simultaneously that a product uses. XS6 adds a special version of the
require function to indicate that a module is eligible for unloaded. The
require.weak function loads a module in such a way that when the module is no longer referenced, the garbage collector will automatically unload the module This small addition allows XS6 to significantly reduce the memory requirements of many programs, so they can be run on devices with considerably less memory.
xsc has some optimizations built into it, that simplify the byte code deployed to the target device. We expect to expand these optimizations in the future. The
xsl tool is the archive utility for XS6. It takes the byte code from multiple programs and modules and links them together in a single archive for deployment. XS6 is able to run code directly from the module, without further loading or linking at runtime. This significantly improves application start-up and module loading time (as much as 4x), and allows byte code to run directly from flash memory (execute in place, e.g. XIP) which reduces RAM usage.
- Debugging. Eventually, everyone writes code that has a bug. XS6 includes a network debugging protocol that allows source level debugging on most any device XS6 runs on. Because the debugging protocol operates over a TCP connection, remote debugging is always an option. The Kinoma team maintains a GUI XS6 debugger for Mac OS X, Windows, and Linux/GTK.
How little memory?
The language of IoT
June 22, 2015
Frigo Magic is a smartphone application developed to help young French people cook recipes based on the ingredients they already have at home.
The current version is free and accessible worldwide in both the Apple App Store and Google Play Store.
Making our app with Kinoma software
During the same time, I built a simple project with Kinoma Create by using a barometer sensor and pushing the result to connected server. I’m a former Kinoma engineer and a big fan of Kinoma Create.
When Kinoma open sourced the full KinomaJS tree in March, I conducted tests on iOS and Android. I got some very good results in terms of development speed and performance.
I tried the Android version (with no code change, just the build) and got the same good result.
By the beginning of April, I decided to move Frigo Magic from Apache Cordova to KinomaJS. It took me less than three weeks, in part because the UI development was really easy. I wrote my own plugin to implement access to some internal data (iOS/Android version, UUID, Token…) and to implement a SQLiteDatabase (I was using WebSQL with Cordova).
The experience was great. The second version of Frigo Magic (1.1), was published in both the Apple App Store and Google Play Store at the beginning of May.
Though the KinomaJS documentation is sparse in places, it is easy to figure how to code stuff, especially searching through Kinoma Create samples. The only problems I encountered were due to the use of Ant and CMake which are somewhat difficult to understand and to follow.
Version 1.3, and what’s next
Version 1.3 of Frigo Magic is now in the app stores, and it implements Facebook login (using KinomaJS webview) and Google Analytics API.
One of my next goals is to run webkool inside a KinomaJS app, but we are currently focused on developing the Frigo Magic business.
Recognition for Frigo Magic
It’s been going well! We were honored to participate in TEDxRennes, presenting our work on Frigo Magic.
We’ve received great media coverage, including articles in Goûts d’Ouest and 20 Minutes.
And we’re gaining followers on Facebook.
The app is localized only in French at this time because recipes and ingredients are cultural. We would need to partner with others who know cooking in other cultures in order to build recipes for countries beyond France.
Small & mighty team
One last thing: we are only two people running Frigo Magic. Christophe is the cook, and I am the developer.
Christophe Boisselier is a wine consultant to businesses and individuals, provides instruction at Faculty of trades Ker Lann for those entering the sommelier profession, provides introduction to wine tasting at the Atelier des Chefs in Rennes, and advises Wine Fair Centre Leclerc. He has worked as sommelier for multiple Michelin starred restaurant, was the main sommelier of Alain Passard (L’Arpège), was named Best Sommelier of Britain 1987, and Sommelier of 1990.
June 19, 2015
Kinoma Studio Version 220.127.116.11
This week, the Kinoma team released a new version of Kinoma Studio, our Eclipse-based IDE. Many of the updates are a direct result of developer community input.
Linux support is now complete
This Kinoma Studio release contains full Linux support that is fully functional and tested. This update is a follow-up to our preview of the Linux update earlier this year. We released the Linux preview and asked you, the developers, to try it on your system and tell us about your results – good news, problems – anything you encountered.
As much as practical, it shares the same capabilities as Kinoma Studio for Mac and Windows.
Two additional ￼updates
This latest release of Kinoma Studio also includes:
Improved sample installer – Install apps directly from our Github repository (and provides the latest updates to sample apps).
Improved profiler UI – This makes it easier to profile apps directly from the application.xml editor screen.
Here’s a video of the improved profiler UI in action:
Getting the latest version
￼For current users, Kinoma Studio will automatically update the next time they open the IDE. For new Kinoma Studio users, the update will automatically apply to the new download.
For questions on compatibility, preparing your system for Linux, or installing Kinoma Studio for Linux, post your questions in the Kinoma Studio section of the Kinoma Forums.
Jared Kaplan is Senior Staff Software Engineer on the Kinoma team. His mission is to help software developers, designers, and end users realize their ideas in the most efficient, enjoyable way possible. He does this by providing a rich complement of integrated tools for creating software, regardless of its underlying complexity. Jared brings this focus to Kinoma Studio, making the Kinoma software platform more accessible to developers with an intuitive IDE.