Saturday, 25 May 2013

Scratch 2.0 - Where I think they have gone wrong

I have a number of issues and reservations about the new version of Scratch - Scratch 2.0.

1) Use of Adobe Flash

The first issue is that the development environment is now online and is based on Adobe Flash.

This continues a trend which we saw with the previous version of Scratch where the online environment moved from using a Java Applet to view games to using Flash. You could still switch to the Java Applet but the default was to use the Flash player. In 2.0 the support for the Java Applet on the Scratch website has disappeared completely.

The Flash player is a technology which is on its last legs, IMO. The beginning of the end was when Apple release the iPhone and there was no flash support. YouTube responded by providing an alternative to Flash for iPhone users. The middle of the end was when Steve Jobs wrote his "Thoughts on Flash" open letter in April 2010 and then Adobe announced in November 2011 that it will no longer develop Flash for mobile platforms. Mobile is everything these days. The end of the end cannot be far off.

Interestingly, the  University of California at Berkeley has created SNAP! (formerly known as BYOB for "Build Your Own Blocks") which is described as an "extended reimplementation of Scratch". It doesn't use Flash. In fact it just uses JavaScript. The amazing thing is that it actually runs in iOS. I have used it on a iPad (even though Apple try to limit people's ability to develop code on an iPad). To be frank I think that UCB have outsmarted MIT. You can access SNAP! here.

2) Lack of "offline client"

The Scratch site says that an offline client will be available "early in the summer". This is a little vague for my liking. I think being able to work online is great, but being able to work offline is essential. That's how IDEs are supposed to work, IMHO.

When we teach Scratch in CoderDojo, we like everyone to be able to run Scratch independently. We don't want to have to give all of the kids Internet access.

As if that weren't enough, Scratch 2.0 uses a different file format. So while you can still develop in Scratch 1.4 and upload programs to the Scratch website, you can no longer download them to work offline.

So pending the release of the new offline client, you can no longer download and remix other people's programs using the offline client.

In summary, I think the Scratch team has lost its way a little and they have made a couple of pretty serious strategic and tactical errors with the current release. How damaging they will be remains to be seen.