Meet the Developer: Mark Roth

You can now run ScratchJr on Android tablets

The Scratch Team
The Scratch Team Blog
7 min readApr 3, 2015

--

ScratchJr for Android tablets is available on Google Play.

By My Nguyen

When ScratchJr for iPad launched last year, parents, educators, and coding enthusiasts rejoiced.

A collaboration between the DevTech Research Group at Tufts University (led by Marina Umaschi Bers), the Lifelong Kindergarten Group at the MIT Media Lab (led by Mitchel Resnick), and Playful Invention Company (PICO), ScratchJr arrived in July 2014 to teach young children to code.

Inspired by the Scratch programming language, ScratchJr enables a younger age group (ages 5 and up) to create their own interactive stories and games. Relying almost exclusively on graphics, ScratchJr makes creation and personal expression accessible to children who are just beginning to learn how to read.

An introductory programming language, ScratchJr is carefully designed to match young children’s cognitive, personal, social, and emotional development. With ScratchJr, children aren’t just learning to code, they are coding to learn.

Although ScratchJr is a simplified version of Scratch, it retains and reinforces the same computational concepts, such as events, sequencing and iteration — and, essential to Scratch, computational expression.

The interface, too, is similar, with interlocking colored blocks and sprites.

However, to Mark Roth, it was missing one thing.

Two Sigma high-tech investment manager, Mark Roth

Mark Roth first learned about ScratchJr when Mitchel Resnick, co-founder of Code-to-Learn Foundation and director of the Lifelong Kindergarten group at the MIT Media Lab, traveled to Two Sigma to give a presentation about the Scratch ecosystem. At the time, an iPad version of ScratchJr was under development.

As the father of a 3 year-old and 6-year-old, Mark was discouraged to learn that there was no version of ScratchJr yet planned for Android devices.

Sensing his disappointment, Mitchel approached Mark after the presentation and asked him if he might consider working on the Android port. Mark generously accepted.

Ten months later, and with the help of his co-worker, Kevin Hu, Mark successfully completed the Android version.

On Tuesday, March 31, ScratchJr for Android tablets launched on Google Play, making Scratch accessible to even more creative young minds.

The Scratch Foundation spoke with Mark to learn more about his motivation to develop ScratchJr for Android and his thoughts on coding for young children.

How did you first learn about Scratch/ScratchJr?

I work for Two Sigma, a high-tech investment manager. A few years ago, several of my co-workers were looking for ways to give back to the community and decided to use our skills to teach young students how to code in Scratch. Two Sigma built a lab, and I joined the effort. I had heard of Scratch before that, but I never realized its potential until we used it as a teaching language!

I learned about ScratchJr when Mitch Resnick came to Two Sigma to give a presentation. At the time, an iPad version was under development and I asked when an Android version would be available. Sensing that I was disappointed to learn that none was yet planned, Mitch approached me afterwards and asked if I wanted to work on the Android port as a volunteer. ‎It was an honor to accept.

I was also fortunate to find another co-worker, Kevin Hu to collaborate on the development. He was able to find and fix several tricky bugs that would have otherwise delayed the release by several months.

What motivated you to develop ScratchJr for Android devices?

My wife Susan and I were really excited to introduce my two sons, Simon (6) and Sam (3) to ScratchJr but we were very disappointed to learn it is only available for iPad, since we only use Android devices at home. My motivation increased further when I read an article on how iPads are scarcer in schools outside of the U.S., and Android devices tend to dominate. It seemed like an incredible opportunity to bring this great app to more homes and schools worldwide!

What was the process like? How long did it take?

I’m really fortunate in that programming is both my job and my hobby. Family comes first, and so the work was spread mostly across free time during nights and weekends, a few hours here and there. My wife has been very understanding.

At first, it seemed like the port would be very straightforward. ‎The engine for ScratchJr is HTML5 and JavaScript, which makes it easy to port to just about any platform. Getting the first version working took just a couple of weeks. However, soon afterwards we discovered the code made a lot of assumptions specific to the aspect ratio and size of the iPad, so a substantial part had to be adapted to work on arbitrary devices.

We formed a beta community and did several rounds of testing before we were comfortable we had a stable release. The whole process took about 10 months.

There’s still more to do. So far we only support KitKat and up but we’d like to add support for JellyBean since many tablets are still running older versions of Android. We also want to make it so future releases are easier to port.

With ScratchJr, young children can create, direct, and interact with sprites.

Why do you think ScratchJr resonates with young children?

Young children have amazing imaginations! They’re not yet corrupted with the constraints of what is and isn’t possible. And yet, they have far more limited ways to express their ideas. Their vocabulary and dexterity is still developing. Their ability to read is also still evolving.

Scratch has always been about having a low threshold so it’s easy to get in. For young‎ children, even Scratch’s relatively low threshold still requires a step stool. For instance, you need to be able to read the names of the blocks, you need to name messages, and there are blocks like “clone” that are very advanced for young minds to fully grasp.

ScratchJr was specifically designed to lower the threshold even further by removing the need to read the block names and by removing some of the more advanced concepts children can always learn later on. The colorful icons and artwork really help in its appeal as well.

As a parent, what benefits do you see in coding at a young age?

To quote Neil DeGrasse Tyson, “kids are born scientists.” Everything they do is about exploring and testing hypotheses.‎ “What’s under this rock?” “What happens if I tip over this glass of milk?”

All too often, children are given “educational apps” that, to use [Tufts University professor and ScratchJr co-developer] Marina Bers’ analogy, are more akin to a playpen than a playground. The apps are constraining their ability to learn through experimentation and instead learn by consuming content with fixed boundaries.

Activities that foster experimentation, like coding, are an important factor in improving people’s ability to think for themselves instead of being told what to do. Coding lets you explore with your imagination, to let your ideas become real, and to experiment without so much mess to clean up when you’re done.

Do you have a favorite Scratch/ScratchJr project? If yes, what is it?

There are several Turing Machine implementations on Scratch, which I find fascinating.

I also really love projects like “Block Art” that are implementations of creative environments inside Scratch, which, itself is a creative environment.

And, of course, I love my kids’ projects. The other weekend, my sons and I collaborated on a ScratchJr project where they took turn doing voices for different characters and we had a blast!

What are a few of your favorite apps?

You mean besides ScratchJr? ☺

I spend more time building apps than using apps, but in general I like apps that let you create things. Simon and I have had a lot of fun with apps like “Stop Motion Maker”, creating time-lapse movies. Sam is very musical and loves playing with “Drum Pad Machine”.

I also really like LightBot as a way to introduce some coding concepts, though I wish it had a more open play mode.

I can’t wait until my kids are ready to play Minecraft. . .

What advice would you give young people interested in learning to code?

You kids are so lucky these days. I started coding when I was 5 but back then we didn’t have tablets or laptops or The Internet. Getting the computer to draw and animate something could take an hour! Now, you have so many fun and wonderful apps like Scratch and ScratchJr, and you can get started in seconds!

Sometimes it feels easier to sit down and watch a video or play a game. Resist the urge. It’s so much more rewarding to be able to create something and share it with your family and friends!

At the same time, don’t let coding consume you. It’s important to play with your friends and get some fresh air every once in a while, too.

ScratchJr for Android is a free app available on Google Play. The app is compatible with tablets 7-inch or larger that are running Android 4.4 (Kit Kat) or greater.

The ScratchJr Team is actively working on a release that will include devices running Android 4.2 (Jelly Bean MR1) or greater, as a desktop version.

ScratchJr is also available as a free app for iPad in the iTunes Store.

--

--

The Scratch Team
The Scratch Team Blog

Scratch is a programming language and the world’s largest online community for kids. Find us at scratch.mit.edu.