Created by Dora Palfi, Beatrice Ionascu and Alexa Edström at Sweden-based imagiLabs, the tech was designed to upend a world in which just 18 percent of computer science professionals are women. A generation of girls aged 12-16 would learn more about the programming language of Python, which they could then use for everything from web design to complex scientific projects.
And this month—after a slight delay, amid Coronavirus shutdowns—I received my very own Kickstarter-delivered imagiCharm to play around with and test out.
Day 1: First Taste
First thing you notice as the gadget slips from its lovingly packaged box: The imagiCharm is a thing of beauty. Sleek, comfy, soft to the touch. It just feels so pleasing in the hand.
Getting going is as simple as downloading an app, switching on the charm and connecting via Bluetooth. All 64 LED squares in the 8×8 matrix ready for clumsy manipulation.
I began by tapping highlighted pixels to turn them on. The app showed me how to make the first side of a heart, then how to follow instructions to finish the second half. By pressing ‘run’, you could see if your code works, and then ‘upload’ would display the code on the charm.
After experimenting with the app’s ‘learn’ section, I went for ‘explore’. This gives you a shortcut to some basic designs (smiley face, squares, colour wheel). You’re able to go in and edit the code once it’s ready, which is part of the learning experience—what happens if I change this colour? What if I light this LED, instead of the other?
My only issue, I guess, was that I feel like I got to my solution a little too quickly. I would maybe have liked to have walked through various steps to get the simple smiley, rather than just seeing it displayed instantly—much like in comparable experiences I’d had with Code Academy and Duolingo, two apps that I’ve used to learn languages before.
But the focus on a quicker route to a result is most likely a result of the fact that the charm is not aimed at me, a 28-year-old. It’s aimed at attracting teenagers, and getting them interested in a useful gadget as quickly as possible. As the imagiLabs team told GS, imagiCharm is the result of years of in-person events and tweaks in response to the target audience. In many ways, this is teaching Python by stealth, rather than presenting itself as an out-and-out coding course.
Day 2: There’s a Learning Hub
All that stuff about wanting more structured lessons? It turns out there’s a learning hub.
Today, as my hamburgers defrosted in the Madrid sunlight, I flicked through the hub and used some Python code I’d hastily scrawled into my notebook (I don’t think you can copy and paste code from the learning hub into the app yet) to get a rainbow. The code looked a little like this:
for col in range(0,8):
m  [col] = R
m  [col] = O
m  [col] = Y….
I was getting more adventurous, testing to see if gaps were necessary in between code, or if you could just shove everything together.
The good thing about the app is that by pressing ‘run’ to see if your code works, you’re shown where any errors are. As someone with a working knowledge of HTML and CSS, this was something I’d always been comfortable with—bashing away at code until it works. Often it doesn’t, but it’s still fun, and you sometimes end up learning how to do things by accident (in this case, colouring in just one row of my imagiCharm).
The designs started getting more complex, and I ended the day with a badass smiley face. Too cool.
First steps. Photo by Christy Romer
Day 3: My Old Friend
First thing I see after I switch on the imagiCharm is my smiley. What a guy.
Today I went for a slightly different emoji. Sunglasses guy. There were new terms all over the shop—‘def’, ‘c’, ‘for j in range’. Who knows what c or j are. But I followed the designs and all went smoothly.
I then went for something slightly more hardcore: an ice cream, with multiple flavours, from which an animated droplet fell onto the ground. The code this time was long, and there was all sorts of new stuff in there (dy, daq, a.add_frame(m)).
Even though at this point I was just copying the code into the app, rather than designing and writing it myself, it was a challenge. It’s a huge rush when everything works, and the code jumps from your smartphone screen to the imagiCharm face.
Day 4: Lesson Plans
Huh. There are pdf lesson plans! I tried one out.
The lesson showed how to control colour for a whole block with a tag, such as “eye_colour”. I tried it out, successfully, and the plan told me I was now a “Level One Variable Veteran.” How about that.
After being shown some more stuff about RGB colours, I was shown how to make my designs blink with a piece of code ‘blink_rate.’ I was soon making my favourite smiley meet his rave culture origins.
The lesson was cool and kind of what I’d been missing, but it would’ve been better to have this in-app, rather than as a browser-based pdf.
Code for the ice cream design
Day 5: Turns Out I’m Not a Master Hacker
I’m going freestyle. Freehand. Nothing to follow, just a pen and paper for my 8×8 matrix, my imagination, and a glossary of terms to employ.
Ah. Seems the glossary is still a work in progress. Never fear. Onto the documentation page.
There are good examples here for how certain terms work (‘in’, ‘outdoor_mode’, etc). I was shown how to make repeating colour patterns by using the % symbol, and how to make words scroll across the screen.
I started flicking down further through the documentation, becoming increasingly aware that I was getting out of depth. I wasn’t sure how to incorporate text into my designs. And I definitely didn’t know how to use the ‘random.shuffle’ tag.
But that’s the beauty of it. The design had reeled me in, and while I think it would be great to have a few more guided lessons to get used to the tech on offer, there’s clearly an immense amount of possibility here. Coding is a completely different part of your brain—it’s creative and scientific at the same time, in the way that nothing else is, really. And it’s awesome to be able to fiddle around with something and see results instantly on something you can hand people. I guess if I was into fashion accessories, the ability to put the charm on my bag or something would add yet another level of enjoyment.
I just hope it works out for imagiLabs—the charm is great, and my next thought is how the gadget could work in a classroom setting. It has a lot to teach people, and huge potential to bring about change and more equal opportunities. More power to them!