Scratch
What is programming? We have been seeing a trend towards tools that want to allow the development of applications, especially on the web, to be done by people that aren’t programmers. We see that this month’s article in the Association of Computing Machinery on Scratch: Progamming for All to be viewing this from another slant.
For those that don’t subscribe, it’s a great article on a project and web site called Scratch (Imaging, Program, Share)., hosted at MIT. This project has been going on for over six years and targets mostly kids from ages eight to 16. They develop programming skills to take them from basically just being “digital natives” that can use online technologies to people possessing true “digital fluency” by being “able to design, create, and invent with new media”.
At its core, Scratch promotes learning through “tinkering” – sort of building things from the bottom up and playing with your application until it does something useful. For these applications, the kids are primarily developing games and other forms of collaboration.
Collaboration is also at Viewplicity’s core, so we take note. We started recently to foster more tinkering with the user interface appearance of our components, giving the web developers more control over the colors and shapes of the visual aspect of them. We already also have some limited capability for their end users to control aspects of our appearance on their page (things like being able to drag/drop/minimize the components), but not nearly to the degree implied by what the Scratch end users can do. We certainly stop short of any sort of programming capability.
We are driven to eliminate the need to write software in order to use our product on a web site. As we add features to give the web developer or his user more control of our appearance and behavior, there is an increase in difficulty to keep our interfaces simple – to avoid creeping into the complexity of programming in Javascript and CSS.
Building web applications themselves, even with a framework like Drupal, involves some programming – more than we wish sometimes. Viewplicity doesn’t want to add to that burden, but efforts like the Scratch project may be teaching that it’s not totally about whether you are programming, but perhaps how you are programming.
Software tools become more friendly the more they are “domain specific” – when they are designed to do one thing well. Scratch makes the point that their domain is for a specific age group and for kids that want to learn what programming is about while doing fun and useful things, but they don’t tackle the domain of professional programmers. Were they successful? One measure may be that over a half a million projects have been written and shared by “Scratchers”.
Their accomplishments make us look at our goals – at least we should stretch to foster more tinkering by the end web site users of our product. We want to be more “tinkerable”, as Scratch refers to itself, but within the comfort level of our target domain.
And, maybe someone will do a Viewplicity plugin for Scratch someday.
