In 2014, DIY computer company Kano released their first product, the Kano computer, after an impressive run on Kickstarter, raising $1.5 million to manufacture. The computer is, essentially, a series of basic parts needed to make a simple operating system with a guide simple and clever enough to teach kids how to build their very own computer.
This week, they're officially launching one of their second successful Kickstarter-funded products: the Kano Pixel Kit. The pixel is essentially a light grid akin to a Raspberry Pi single board computer, branded by the company as the "Kano Brain", which kids connect to a computer in order to code different applications to the device. The Pixel Kit can also be connected to the other projects launched in unison by Kano during their most recent Kickstarter campaign, a speaker kit as well as a camera kit.
With several educational toy companies investing in teaching kids the language of code, we can't help but wonder if these products directly relate to the reality of coding in the present day, or if they're simply an entertaining toy that can gamify the act of learning about programming while subsequently leaving them without the tools to retain the complex information.
In order to test this out, we asked our own in-house Software Architect at Core77, Matthew Giuggio, if he would be interested in testing the Pixel Kit with his kids (provided to us by Kano) to get the information straight from the source—can a coder feel confident backing this product?
The Kano Case Study
Matthew's two boys were ready for the challenge. He noted to us beforehand that the boys are home schooled problem solvers who are regularly involved in activities involving learning and interactive play. One interesting difference between the two of them, however, is how they individually solve problems: one of the boys possesses more of a right-brained creative approach while the other is more mathematically inclined. We were very interested to see if both (or neither) of them would be intrigued and excited about the kit. As it turns out, all of them had a blast programming with the Kano kit.
Ready to get unpack and get started!
Matthew has several reasons as to why playing with the kit wasn't only fun, but also highly educational. In his own words, he explains to us in detail what the pixel grid software has to offer:
This Device Teaches Kids Building Blocks of...
Every day we interact with our devices and think little of how it's all working, but these interactions are in fact the very foundation for event-based programming, or a flow of program code determined by "events" such as mouse clicks, key presses, sensor outputs, etc.
Exercises included in the Pixel Kit software such as one called "Treasure Hunter" was a coding exercise disguised as a game. The point of the game was at first glance to help an explorer find treasure, but what it was unknowingly teaching them was the notion of variables, how to store data, how to increment those variables, how to have events, for movement on screen and then also for random number generator that helped determined where the treasure would go, and so on.
In other words, it sequentially helped the kids learn the different building blocks and sequencing of event-based coding, whether it's a game or a simple click effect. The boys could time the duration of the game, how many points you get for finding treasure, and even design which sound effects to play throughout the game. The sound effects they had were right up kid alley—burps and farts. Right away they saw that and were like, "Yeah, let's do that".
Every one of the apps in the Kano Kit started with the commonly used event application start—this event holds all the code that is executed for the lifecycle of the app and is used all over the programming world. Every time you tap an icon on your phone it runs the "app start" function for the application. Seeing this as an event opens your eyes to the workings of the things you commonly take for granted.
Creating an App That Utilizes Wifi Data
Kano Pixel Kit has built in wifi. This allows for external (from the Internet) data to be utilized in the apps created. While building the "local weather app" the kids used a weather change event that listened for new weather data by location (city, state, country) and would redraw the screen when new information was available.
How to Utilize App Device Sensors (like Microphones and Tilt Sensors)
The microphone in the Pixel Kit generates an integer number from the volume of the sound source. This number is used in programs in a variety of ways, like the talking face application and the music visualizer. Programming the tilt sensor allowed them to create tilt and motion sensitive game apps.
Understanding Animations and Frame by Frame
The boys together created a frame by frame animation to simulate a ball bouncing across the screen. This classic and simple animation was a great way to learn how frame by frame drawing creates a moving picture. The on-screen walkthrough even cited a "flip book", which everyone can understand.
The graphical function blocks in the Pixel Kit software
Understanding Function Blocks
All code created is contained in graphical function blocks that make it easy to understand how everything fits together.
Logical Conditions (or, if > then effects)
Logical conditions such as "if else" statements were made very simple by the graphical code editor. It was simple to drag a code block from the menu. Rather than trying to learn the meaning and syntax of a conditional, the kids were able to focus on the effect of one, which was a joy to watch it made so simple. Example: "if microphone volume is greater than 80…. Display the word "shhhhhh!" on screen, else display "I can't hear you".
Loops and Understanding Iterative Thinking
Loops are used when the same bit of code needs to run consecutively. This concept was cemented in almost all of the apps. Sometimes a pixel was moved every time a frame was refreshed, other times they ran on every second. After a few apps, thinking in iteration became very easy. The concept of a double nested loop, the usage of a loop within a loop, was even comically described as "loop-ception". Although over the head of anyone who hasn't seen the movie "Inception," it was a fitting explanation for this type of iteration.
Enter a caption (optional)
Pros and Cons
PRO: The gamification of skill learning. Experience points were awarded for completing an exercise and the "student" levels up which creates an incentive to continue each task.
PRO: Confidence building. A critical part of any learning environment is to see the fruits of your effort. Overall, the kids were able to play with the apps they created right after the were finished. This "playing with what they created" made them want to keep going on their journey of app creation.
PRO: Its ability to connect to other Kano devices. The learning and continued app development will later be extended with add-ons such as a speaker. Although I don't have a lot of information on this, I am excited to see where this brings the future of the Pixel Kit and app learning experience.
PRO: It seems to appeal to both creative and technical mindsets. Each person is unique; some people are really artistically inclined, others mathematically. Both of my kids, who each have very different ways of thinking, took to it and I felt the growth in them regardless of how each of them is intrinsically wired. That's a cool metric to look at. To those saying, "my kid doesn't like math or science, they'd never be into that," might actually be surprised. It breaks those boundaries down in a way that's approachable and tangible to any kind of kid.
CON: Lack of app space. One small caveat I had is that you are only able to install 3 apps you create at a time onto the pixel grid—however, I understand their thinking. Perhaps if you put too many apps on the device you would stop using a computer and I think they really want you to have that interaction with the computer and development environment and become friendly with it.
CON: Build. So when we were playing with the Pixel Kit one day.... It fell. Their younger brother was playing with it one day and fate intervened. It's admittedly not the most sturdily built object even though it's in a plastic case. When it fell, the battery compartment broke off the actual unit. Luckily I'm a tinkerer— I took it apart, fixed it and glued it back together but parents who are less handy might just throw it straight in the garbage after the amount of damage that drop did. That was one callout that felt important to mention; durability is, after all, paramount when you're making products for kids.
A lot of the concepts that the kids didn't understand that they were working on when playing with this kit are truthfully quite abstract forms of thinking, and the fact that Kano was able to put it in an educational, gamified kind of step by step process and not make you feel you were learning how to code was brilliant. If you were doing an iPhone app, it's pretty much the same thing. It might look a lot more polished in an IOS environment, but fundamentally what you're learning is really not that different than what you'd learn in an IOS class.
That being said, there were a couple of bugs on the first day where we couldn't get the app—we tried to put it up and there was an error on the screen. We'd keep trying and it wouldn't work, but after the second time, it seemed like they leveled out (they may have been doing bug fixes on their server prior to the official launch, which happens).
Overall I would say they had a good time with it, and I think anyone could use this. I think their slogan of "anyone can code" is pretty accurate. I think it's an overall great playground for their thinking, and the fact that they've grasped enough of it already, there's now a lot you can do. And I believe anybody can use this, not just because I understand how to program, but I think any mom or dad hanging out with their kid would be able to create some fun stuff.
And most importantly, they had a lot of fun with it and are eager to learn more!
You can find the Kano Pixel Kit now available here.