Leaving Google for a couple of devices

A little more than a year ago, I quit my fantastic job at Google and left a bunch of awesome colleagues to go hack with my good friend and fellow ex-Googler, Lars Bak. Lars and I have worked together for more than 18 years and we were both excited to embark on a new venture together. However, at Google we had been responsible for initial development of V8 — the JavaScript engine that powers Google Chrome and Node.js — so we were spoiled by having built and shipped software for billions of users and devices. How do you top that?

Excerpt from comic book about Google Chrome

Based on our shared frustration with the functionality and robustness of smart gadgets and internet-enabled appliances, we started looking at developing software for the Internet of Things (IoT) and in particular embedded network-connected devices. It seemed compelling. After all, there are a ton of devices to target out there.

However, developing for devices is not very pleasant for a software engineer like me. It is all about specialized hardware with bug-ridden firmware, long update cycles, and a poor development experience. It feels like software development and deployment 20 years ago. It really should not be that way. So we built a team and raised funds to invent the best way to build, deploy, and maintain software for internet-enabled devices. This is our story so far.

Toit like a tiger!

Apps for your appliances

We started Toitware in February, 2018. Armed with decades of experience in building software platforms and virtual machines, we spent the first year putting together an approachable and efficient programming language for devices too small to run Linux. The cost-effective devices we run on (like the ESP32) are somewhat resource constrained, so the platform has to be tight — or toit as the Dutch nemesis of our favorite British spy would put it.

Our platform features software-based memory isolation so new components or applications can be added to a device after deployment without compromising security. This is also convenient in a development setup, where it is possible to tinker with new functionality through small, targeted over-the-air updates that only affect a small part of the overall system. Essentially, it is a platform for software, not firmware — independently installable applications, not all-or-nothing system updates. It is a robust, adaptable, developer friendly, and modern approach to IoT.

Edge computing with cloud integration

Today, a common setup is to have simple, battery-powered sensors that feed data into the cloud through more powerful gateways. That keeps the logic and complexity on the sensors low, but it requires massive centralization and falls short in contexts where latency really matters or where data is abundant and unpredictable. We are not the only ones to notice this:

The edge will eat the cloud. And this is perhaps as important as the cloud computing trend ever was.

Cloud integration is important for making data from the edge accessible to other systems and for orchestrating a fleet of devices, but it cannot stand alone. We need to enable more processing and control at the edge of the network to unlock the full potential of IoT. It should be easy to write applications that utilize the network and communicates securely, but it should also be easy to control a process or make decisions on a device without consulting your data center every other second.

The sky is the limit

Over the last year, we have built the foundation for a new end-to-end software development and deployment platform for the Internet of Things. We are on a mission to democratize device development and allow people without an electrical engineering background to build battery-driven devices that interact with each other and the real world.

Our mission is an ambitious one, so we are very excited to have great company on our long journey. We have just announced our seed investment round where we have partnered up with Creandum to disrupt and challenge the status quo of embedded development — and I encourage you to read our investor’s take on this too. It feels great to be in a startup again with an astounding team and a strong, committed backer.

We are hiring and we are building software for billions of devices.

Kasper Lund is a programming languages and virtual machine veteran. He wrote his thesis on software platforms for network-connected devices. Later, he co-founded the V8 and Dart projects at Google and brought adaptive optimizations to JavaScript as the tech lead for the Crankshaft project. He lives in Aarhus, Denmark, where he is the CEO and co-founder of Toitware.