In 2014, when I left Microsoft, I took the opportunity to travel the world with my family. On my travels through Europe I spoke to many companies about the types of problems they were facing. I was blown away by not only how much these companies were spending on unsustainable tech but also by how little technology had adapted to make their life easier.
And then it dawned on me, IoT will be no different from gaming consoles. You have these boxes plugged into the Internet, you have armies of hackers trying to steal your intellectual property and you need to be able to deploy updates without ruining user’s experiences. So, I surmised that security, remote-management, and flexibility would become very important for the deployment of IoT. This was one of the most important lessons I had learnt at Microsoft – you don’t build for today; you build for what’s required for tomorrow.
Today, there are 31 billion connected devices world-wide and many are deployed to perform critical functions for essential services such as vehicles, planes, water, military, electricity, gas, buildings, space flight. So, I went back to first principles and began the process of identifying the right technology, the right code stack, kernel requirements, micro-processing power and CPUs that would eventually form the cornerstones of IoT.
The Kry10 Operating System and Platform is the result of my life experiences, deep reflections, and 5 years of work.
Boyd Multerer Kry10 Ltd, CEO and Founder, July 2020
In the next five years, 75 billion devices will be connected to the Internet. This market is usually called “IoT” (Internet of Things) where the center of focus is on the “Internet” and less on the “thing”. Instead, Kry10 is highly fixated on “things” as these are essentially “Connected Devices”, where “Device” is the centering element and “Connected” is the complement.
In this unprecedented device deployment, there is high opportunity arising directly from compounding software demand; risk surfaces; real time operations; mixed criticality issues; and overall usability.
Kry10’s goal is to bring software scale, speed, and assurance to connected devices – ‘things’ designed to solve real world problems. The Kry10 Operating System (KOS) is the center post of this paradigm shift and is aligned with shifts that are occurring in hardware, software and communication networks (such as satellites, 5G, etc).
We have several strong, overarching design philosophies, which Boyd described in this talk at the New Frontiers Summit in 2018.
These can be summarized as
- Know what trends are happening around you. These become the bets you make about what is happening around you, regardless of the actions you take.
- Know what problem you are solving. Many engineers focus on what they want to build, then look for problems it solves. We go the other way. Know the problem first, then build the appropriate solutions.
- Know what problems you are creating. Every solution to a problem, creates new problems in another space. The goal is that the problems created should be smaller than the problems solve. (Negative externalities are an example)
- The culture of your team and ecosystem matters. Care about these philosophies needs to be baked into the team culture.
Each of these is a deep subject that will be explored in later posts. In the mean-time here are a few other resources that demonstrate these philosophies in action.
In 2016, Boyd gave the closing keynote at the Elixir conference in the US. This is largely a discussion of several trends that point to why we are making a bet on the BEAM and Elixir/Erlang.
More recently, in June 2020, Boyd gave a talk with Robert Virding (part of the original Erlang team) on the importance of knowing what problems you are solving. It also helps explain some of our decisions. Being 2020, it was a remote event, and the video quality isn’t great.
What are we doing?
Broadly speaking, Kry10 is building a high-assurance platform for Connected Devices. This is a complicated space, so the platform has multiple levels and components.
The main effort is the Kry10 Secure Platform, which consists of the Kry10 Operating System (KOS) and a management service to organize it. This is a new Operating System that is based on the seL4® Microkernel and is all about security. The preferred application environment on KOS is the Erlang BEAM and the Elixir syntax. This environment is all about robustness.
Obviously, there is much more to say about it and that will come out over time. Building a new Operating System is exceedingly difficult and we are thrilled to say even this much about it. Our work spans the range from secure boot, to application management, to UI, to hardened CPU chips themselves.
Scenic is the first public output from Kry10. The Scenic UI framework is built directly on the BEAM and is about providing robust UI for devices that need to keep running with minimal dependencies and network independence. Scenic is written to be part of Kry10 platform, but it also works well on Mac, Windows, Linux, Nerves and more.
What we are not doing.
It is great to have goals and know what problem you are solving and what you are building. You also need to know what you are not focused on.
There is a whole class of “IoT” devices that are very small, run on batteries or have very strict energy constraints and are effectively one-way communicators. They take a reading, send data out to a server and don’t really make decisions or accept data in. We are not targeting those devices. We require a larger CPU with hardware support for concurrently running, complex applications. If you are looking for an online temperature sensor or other rugged, smaller devices, there are many great providers, such as PiP IoT out of Christchurch New Zealand.
We are also not building a system based on Linux. There are many great reasons to use Linux, including a wide range of ready-to-go drivers, well known tooling, and broad experience in the community. If you want to use Linux, we recommend you look at the Nerves project.
At the end of the day, we are here to help you succeed. That is what it means to build a platform. We measure our own performance not just by whether or not we are able to eat and pay the bills, but also by how successful you are at solving the problems you are focused on.
The journey to build a new OS and an environment around it is not an easy one and it will take time. If your device needs secure communications, controls, and flexible management, then please contact us to see if we are a good fit. We are working closely with a smaller number of clients for now with general availability as it is ready.