Modkit.io is an event driven and multi-threaded programming language for the Internet of Everything for Everyone – Inspired by Scratch.
About this project
Internet of Everything for Everyone
Modkit.io is a new programming language for the Internet of Everything for Everyone. It has a rich, yet surprisingly intuitive, multithreaded and event-driven syntax that will be familiar to millions of young students and educators who have been exposed to Scratch. And it works with Wiring, the microcontroller framework chosen by everyone from TI to Particle to Intel to Arduino.
Multithreading is traditionally thought of and introduced as an advanced programming concept, but it just means you can have multiple things going on at the same time. Event-driven simply means you can describe when these multiple things should happen. Unlike most programming languages, both of these concepts are built-in to Modkit.io, not introduced as a complicated afterthought.
Pre-Goals: Before we get started!
Unlike most Kickstarter campaigns that start giving out rewards months (sometimes years) after funding success and add additional “stretch-goals” once they reach their initial fundraising goal, like most everything else at Modkit, we thought we’d do things a bit differently. So instead of a stretch-goal we set a pre-goal that’s actually not about money at all. Our goal is to get our new programming language Modkit.io out to 1000 backers before we even start our campaign!
Our official campaign starts on June 1, but to connect with our earliest adopters and potential partners, get important feedback, and gather stories about how you will use Modkit.io, we’re offering 1000 backers a single download of our Modkit.io library for Wiring-based microcontrollers for the absolute minimum Kickstarter pledge of $1. If we don’t reach our pre-goal by June 1, we plan to cancel our campaign and if we don’t reach our final goal by June 30, none of our backers will be charged. So if we’re not successful you will actually get your pre-reward for free!
What do we mean by Internet?
When people think about the Internet they often think about being able to communicate with anyone and everyone, anywhere in the world. But the Internet is simply a network of networks and it all starts with local networks. The same Internet protocols that allow you to communicate with a website or service across the world, allow you to send a document to a printer or to stream content to a television across the room. These same protocols can even be used to communicate between different programs on a single computer or device. This makes the Internet both technologically and socially democratic.
What do we mean by Everything?
Just like the Internet starts locally, we believe that the Internet of Everything should begin with a single thing and scale up from there. When developing programming languages to talk to things across the world, it is interesting to think that the same languages people use to talk to each other are the very languages we use to formulate thoughts, make personal plans, and ultimately to talk to oneself.
We’ve seen many tools and languages proposed for the Internet of Things that do not provide a way for things to talk to themselves and to other things across the room in the same way that they talk to other things or computers across the world. Modkit.io was designed to democratize and bring the true essence of the Internet to Everything. Our preview Modkit.io library for Wiring is focused on the most local network of things, the individual components connected to a single circuit board, and helping them communicate with each other more fluently than ever before.
Who do we mean by Everyone?
Most text-based programming languages and other serious tools for technology creation are designed for engineers or computer scientists. With over 40 combined years of research and development in STEM education programs, Fab Labs and graphical programming languages such as Scratch and Modkit for VEX, we took a completely different approach and designed Modkit.io for Everyone. Just as text editors like Microsoft Word and Open Office are used everywhere from elementary school to grad school and by everyone from amateur lyricists to professional lawyers, we do not believe well designed tools have to appeal to only one audience or use case. We have seen graduate students at MIT struggle learning programming languages and young students from low-income neighborhoods excel at the same. This unique and broad exposure has led us to see far more commonalities than differences across novice and experienced programmers and it inspired and enabled us to design a programming language truly accessible to Everyone.
Modkit.io is influenced by a large family tree and has benefitted from extensive interaction between its designer Ed Baafi and the designers of some of the most popular languages used by hobbyists and in education. For Ed it started over a decade ago, when Amon crossed the same bridge you see in our video carrying a flash drive containing Scratch, a new graphical programming language from his advisor Mitch Resnick’s Lifelong Kindergarten Group at the MIT Media Lab. Ed had experience teaching with Logo, one of Scratch’s text-based predecessors, alongside one of its original designers Dr. Cynthia Solomon. Amon said that like Logo, Scratch was designed to make coding more accessible for kids and that just like hip-hop DJs would remix beats, vocals, and samples from existing material, Scratch was designed to let kids remix sounds, images and the programs that control them into whole new digital creations.
We founded Modkit to bring the same accessibility as Scratch to microcontroller programming,originally targeting Arduino compatible development boards powered by the C++ based Wiring framework which itself has its own rich history. But Wiring/Arduino was single threaded, forcing programmers to coordinate everything in a single event loop and Modkit’s early tools suffered this same limitation. If Scratch allows kids to remix like an experienced DJ with a set of turntables and a multitrack recorder, trying to remix with a single thread of control is like trying to mix with a single turntable and only one track. It’s not impossible but you need a live band and you need to tightly coordinate everything. If you want to make any changes you usually have to redo the whole song. It wasn’t until Modkit partnered with VEX Robotics to create Modkit for VEX, that we finally had the opportunity to bring a new language into the world. Originally called Wiring++ to honor Wiring’s creator Hernando Barragán, Modkit.io has been in heavy development ever since and sits behind Modkit for VEX’s powerful graphical programming blocks.
While Modkit.io is a programming language for Everything and Everyone, our pre-rewards are designed just for Early Adopters and Early Evangelists. Both rewards feature a preview release of the Modkit.io Wiring library that brings the Modkit.io language to popular Wiring-based editors such as Particle Build, TI Energia and Arduino. Early Adopters get a single download of the Modkit.io library for just $1 even before our Kickstarter campaign has actually begun. We believe that once you try our simple event driven multithreaded programming, and after we open up additional rewards, you’ll want to increase your pledge so that you can continue to follow our development and make room for another early adopter to try it out!
Early Evangelists receive a limited edition Modkit flash drive that will only ship if our campaign is successful. Use it to share the Modkit.io updates you’ll receive for one year from our funding completion. We know that many of our potential supporters are educators or members of local Makerspaces and Fab Labs so this is a great way to pass Modkit.io along to others. While it is too early to decide how we will license Modkit.io, the preview will be released under a special license that allows you to share it with your colleagues, friends, classmates and students. Help us spread the word and we’ll be sure to add some more reward tiers as these begin to fill up.
Risks and challenges
The preview release of Modkit.io is already complete and we’re offering a limited number of single $1 downloads before our campaign has even begun, so there is very little risk that our backers will not get a clear picture of what we have already developed or receive their copies of it. We also already have the flash drives in hand which is currently our only physical reward. The biggest risk is for our company and for the future development of Modkit.io which cannot continue without significant support.
Large companies like Apple, Microsoft, and Google have historically been the only players who have built successful businesses around programming languages and we are aware that there are not many established paths for us to follow. But we are not deterred. We believe that the current state of hobbyist programming languages and tools is so far behind and so badly fragmented that educators, students, makers, hardware manufacturers, media outlets and other interested parties will get behind our efforts to change this and create a viable business around the Modkit.io language and tools. But if you’ve read this far, we’re sure you’re already ready to support us. If so, thank you! We couldn’t and wouldn’t do this without you.