You are on page 1of 4

Short Papers IDC 2015 Medford, MA, USA

Using Children’s Drawings to Improve a Programming App


Robert Sheehan David Haden Sara Metz
University of Auckland University of Auckland University of Auckland
Auckland, New Zealand Auckland, New Zealand Auckland, New Zealand
+64 93737599x88814
r.sheehan@auckland.ac.nz dhad933@aucklanduni.ac.nz smet015@aucklanduni.ac.nz

ABSTRACT children to produce programs that they want to produce -


After being shown a prototype tablet programming environment, programs they can have fun with, and can use to express
iFizz, children were asked to draw computer programs, either themselves. The programs produced must be dynamic and
games or stories, that they would like to make with such an interactive. Dynamic, because that is what differentiates computer
environment. The drawings in conjunction with the children’s programs from pen and paper. Interactive, because that means the
descriptions were then inspected to see what functions were children can influence and modify the behaviour of the program
missing from the programming environment in order to make it as it runs. Because we already knew that games are the most
easier for children to produce their programs. A small number of common type of program children wish to produce [7] we
programming functions were extracted from the drawings along focussed on simple game development for our programming
with some changes to the programming environment’s user environment. The design we chose also allows the app to produce
interface and tools. These additions and changes are described and simulations and to tell stories.
the most common requirements are now being added to the Here we present the functional prototype version of our
programming environment. programming environment or app before describing the technique
we employed to gather information to improve the app's
Categories and Subject Descriptors suitability and the results we obtained.
H.5.2 [Information Interfaces and Presentation]: User
Interfaces - User-centered design 2. THE PROGRAMMING APP
Our programming app, iFizz, was originally derived from a
General Terms desktop version of a physics-based programming environment for
Design, Human Factors, Languages. children (Fizz) [8]. Significant and deep changes were required to
the app in order to make it suitable for use on a tablet [9].
Keywords
Children, programming environment, games, drawing. Constructing a game in iFizz requires three steps: creating toys,
putting the toys together in a scene and adding actions to the toys.
1. INTRODUCTION These stages are handled by two different modes, the toy and
Getting children to program computers is once again a popular scene creation modes. A third mode is used to run the iFizz
activity and is part of the curricula of schools and national programs.
education establishments [1, 2]. This has been driven partly by the
need to encourage more students into STEM (Science, The toy creation mode is a drawing mode with traditional drawing
Technology, Engineering and Mathematics) degrees and careers tools such as free form curves, straight lines and circles. Any
and partly due to the importance placed on Computational drawing made in this mode automatically becomes an iFizz toy.
Thinking [3]. Toys are similar to sprites in Scratch, or characters in KidSim
[10]. The major difference is that when they are placed in a scene
Unfortunately, traditional programming languages produce all they have physical properties used by the iFizz 2D physics
sorts of problems for novice programmers and even more so for simulator. The physics body of a toy is produced from the convex
children [4]. To ameliorate these problems a number of hull of the drawing. All circles are turned into wheels to facilitate
programming environments have been produced for novices and the production of rolling vehicles. The rationale for the use of
children [5]. The best known recent example of these is the implicit 2D physics was to make it easier to provide realistic
Scratch environment [6]. movement to the toys. It also makes actions like explosions more
fun.
We will not argue here with the reasons children should learn how
to program. Our work is concerned with making it easy for The scene creation mode uses the same drawing tools as the toy
creation mode but also allows toys to be dropped into the scene.
When a toy is dropped into a scene it gets reduced in size by a
Permission to make digital or hard copies of all or part of this work for factor of four to allow multiple toys to occupy the scene. The toy
personal or classroom use is granted without fee provided that copies are can then be resized, rotated and positioned. Anything else drawn
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. Copyrights
in the scene creation mode becomes solid ground or walls. The
for components of this work owned by others than ACM must be toys will collide with the ground and bounce off it when the
honored. Abstracting with credit is permitted. To copy otherwise, or program is run but the ground does not move.
republish, to post on servers or to redistribute to lists, requires prior
specific permission and/or a fee. Request permissions from
Gravity can be varied for a scene or removed entirely. Toys also
Permissions@acm.org. have properties such as being stuck or unable to rotate if required.
IDC '15, June 21 - 25, 2015, Medford, MA, USA
© 2015 ACM. ISBN 978-1-4503-3590-4/15/06…$15.00
DOI: http://dx.doi.org/10.1145/2771839.2771902

303
Short Papers IDC 2015 Medford, MA, USA

Programming consists of adding behaviours or actions to the toys smart-phone before the study. The iFizz app was presented to
and scenes. Selecting a toy in the scene allows the user to add them by showing the three main steps to create a simple program:
actions to the toy. Actions consist of a cause and an effect. So making toys, making a scene (including dropping toys into the
iFizz is an event based programming environment. The causes are scene) and adding actions to the toys. The program created was a
events such as touching the toy, shaking the iPad, using a timer, Donkey Kong type game where barrels were rolled down
and detecting the collision of a toy with another toy. The effects platforms by a monkey at the top of the screen (see Figure 1). The
are things like, adding a force to the toy, adding to the toy’s score, player had to progress up the platforms avoiding the rolling
moving a toy away from another toy and making the toy explode. barrels. The children were also shown a pinball program.
As one of the effects is a command to transition to a new scene, it
is possible to create games with multiple levels or to present a
narrative.
When adding an action the user is presented with a list of causes.
After the cause is selected a list of effects appears to prompt for
the remaining information. Sometimes a cause or an effect will
prompt for extra information, such as which toy the collision
effect is associated with.
Selecting a toy in the scene creation mode allows the user to
observe the existing actions associated with the toy. Originally
each action was represented by up to four icons, e.g. if a toy car
was to explode after it collided with a toy tree the action was Figure 1 – The demo program.
represented by the collision icon, a tree icon, the explosion icon
and an icon representing the magnitude of the explosion. Each After talking about the app and letting the children play with the
icon associated with a cause or an effect was given a simple text game produced they were each given two paper templates
label. Even though this representation was reasonably well representing the iPad screen when an iFizz created program is
understood it was seen as unwieldy and we realised that the running (see Figure 2). They were told to think about a program
representation could be simplified considerably. By relying on the they would like to make with the app. In particular they were
text labels we could represent each action with only two icons, asked to work out what their program would look like, what it
one for the cause and one for the effect, e.g. the collision action is would do and how it was controlled. Then they were asked to
shown with an icon of the tree, labelled "collision", and an icon draw the program in the templates.
showing the magnitude of the explosion, labelled "explosion".
This of course requires the user to be able to read but as iFizz is
aimed at children eight or older this seems reasonable.
After the actions are added to the toys and scenes the program can
be played in the playing scenes mode. Here the toys react with the
2D physics and the effects run when the causes occur.

3. HOW TO TEST THE FIT?


After developing our improved prototype and before finalising the
capabilities of iFizz we wanted to see how well our design would
cope if children were to imagine games or stories they would like
to produce or tell. Even though we knew that iFizz could certainly Figure 2 – A child’s drawing of her program.
be used to create games as diverse as pinball, Donkey Kong [11] The reason each child was given two templates was so that they
or Asteroids [12] and could be used to tell simple episodic stories could draw two different scenes, either from the same program or
we were not sure about the wider range of possibilities which from different programs. They could also request further
children might want to use iFizz for. To get data on this we templates if they wanted. The use of drawings was chosen to
needed to find out what types of games children would produce if enable a certain freedom in the programs produced, without
introduced to an event based programming system like iFizz. In having to take the mechanics of iFizz into account.
particular we wanted to find holes in our design; were there
causes that children wanted to use or effects they needed for their When the children had finished drawing they were asked to
games which were not easy to implement with the prototype describe their programs, and the researcher asked questions to
version of iFizz. clarify the intentions the children had for their programs. The
drawings and descriptions were analysed by the researchers to
Collaborating with children as design partners is common in this find functions and mechanisms which would be necessary to
field [13]. Part of that process is getting children to make models implement the programs, these were then compared with the
and drawings. Usually the drawings are used as a vehicle to start existing functions and mechanisms of iFizz.
or progress design [14]. Sometimes the drawings are used to
control programmable objects [15]. In our case we used drawings The study was biased as we presented the children with the
to find features missing in our existing prototype. prototype of iFizz before we asked them to produce their
drawings. Although we were aware this could influence the types
3.1. Method of games or stories that the children would produce we allowed
A group of 13 children, 6 girls and 7 boys, of different abilities this for several reasons.
and aged 9 or 10 were selected from a primary school classroom.
All of the children had used a touch screen device, either tablet or

304
Short Papers IDC 2015 Medford, MA, USA

We were interested in the programs the children wanted to make direction and magnitude to a toy. A football shooting game drawn
in an iFizz like environment - one which provided built-in 2D by one child would then also be easier to create.
physics and was event based. In particular we were interested in
the variety of programs they would make in such an environment. This shows that the use of the touch screen technology is
important from the game design perspective. The children wanted
We wanted to constrain the thinking of the children as this can to be able to interact directly with the toys when a game was
assist with making choices and creativity [16]. playing. It is possible that they did this because they knew they
were designing games for a touch screen device but it is also
We specifically wanted to gather information about the actions - possible the games would have required this even if the children
the causes and effects necessary to add to iFizz to enable the were asked to design games for a traditional computer.
production of programs the children wished to make.
4.1.2. Replace the Toy
4. RESULTS Two of the games required a change of state for toys after
We were pleasantly surprised by the variety of programs drawn by colliding with power-up toys. The toys were to react differently
the children. We had expected a large number of Donkey Kong or while the power-up was in effect. This is difficult to implement in
pinball type games as these were the examples the children saw at the prototype iFizz because each toy has one set of actions and
the start of the sessions. There was only one pinball type game properties. A replace the toy effect would allow a toy to be
drawn and that was far more complicated than the example the replaced with the powered up version or indeed any other toy. The
children were shown. There were no Donkey Kong type games existing timer effect would enable the powered up version to
drawn by the children. This showed that the use of the examples return to its standard version after a set period of time.
did not greatly affect the choice of programs the children drew.
The 13 children produced images of 18 games. This included two 4.2. The Game Playing Interface
games which had two different levels drawn. There were aspects of game play or the interface which were not
included in the iFizz prototype but were shown to be necessary.
The drawings and descriptions of the programs produced by the
children were then analysed from the point of view of exactly how 4.2.1. Control Button Interface
they could be created, both the production of the images and the The iFizz prototype when in run mode has six buttons to interact
behaviours that the program would require. Examples of these are with the game; three down each side of the screen when held in
given in the discussion below. We looked for anything which landscape orientation. When a button is assigned to an action the
would be difficult to do in the prototype version of iFizz, where button displays a picture of the toy it is associated with (see
difficult meant that it was not immediately obvious from the Figure 1). Nine of the games drawn by the children used this
interface provided or would require several steps of actions, or concept, which had been demonstrated to them during the session,
was indeed impossible. but seven of these drawings showed not just the toy connected to
the button but also the effect carried out on the toy (see Figure 3).
The missing functions were described and we counted how often This was something we had been considering adding to iFizz and
the same or similar functions were required in the 18 games. this was solid evidence that such an addition would be useful.
Some of the programs could be produced without any additions to
the prototype version of iFizz. Other programs could be produced
with slight variations to the design or gameplay.
The changes required to match the requirements of the children’s
programs were in three areas: the actions (causes and effects), the
game playing interface, and the production of scenes and toys.

4.1. Actions
No new causes were needed for any of the programs drawn and
only two new effects were required to match the behaviours in the
children’s drawings: follow the finger and replace the toy with
Figure 3 – The side buttons show the effects.
another.

4.1.1. Follow the Finger 4.2.2. Show the Time


Four of the games (two from the same child) showed an on-screen
Three of the games showed toys being dragged around the screen
timer. This is simple to add as it would be a property of the scene.
as the game was being played e.g. dragging dirty dishes from a
There already exists the ability to limit the game period using the
table and dropping them into a sink. There is an existing cause for
timer cause but this would make the timer visible.
when a toy is touched but the movement effects for toys are either
applying a specific force or moving towards or away from a 4.2.3. Discrete Movement
particular toy. Toys can also be controlled by using the buttons on By its nature as a 2D physics-based environment iFizz allows
the side of the screen and there was evidence that some of the continuous motion and positioning. Considering the drawings and
children did take the limitations of the prototype into account e.g. game descriptions provided by the children it was difficult to tell
one game had a toy hand which was moved around the scene whether any of the games could have benefitted from discrete
using those buttons rather than via direct manipulation. changes in position or orientation rather than applying forces to
Adding a follow the finger effect after a toy touch cause would move or rotate the toys. One of the games was a Tetris like game
enable those games to be produced far more easily. This would and that would be much easier to play with the toys snapping into
also allow a flick type effect to impart a force in a particular orientations and positions as the game is played. Two or three

305
Short Papers IDC 2015 Medford, MA, USA

other games drawn might also be slightly easier to play with [3] Wing, J. M. Computational thinking. Commun. ACM, 49, 3
discrete rather than continuous movements. (March 2006), 33-35.
Adding discrete movements is currently being considered. [4] Soloway, E. and Spohrer, J. C. Studying the novice
programmer. Psychology Press, 2013.
4.2.4. Side-Scrollers
Two of the games drawn were side-scroller type games, both [5] Kelleher, C. and Pausch, R. Lowering the barriers to
based on Flappy Bird. Producing side-scrollers is difficult in programming: A taxonomy of programming environments
iFizz. The current workaround is to produce a number of different and languages for novice programmers. ACM Comput.
scenes and progress through them as the player reaches the side of Surv., 37, 2 (June 2005), 83-137.
the screen. We have no current plans to add a side-scroller mode [6] Maloney, J., Resnick, M., Rusk, N., Silverman, B. and
to iFizz but may consider this in the future. Eastmond, E. The Scratch Programming Language and
Environment. Trans. Comput. Educ., 10, 4 (November 2010),
4.3. Scenes and Toys 1-15.
In the prototype all lines drawn in the scene mode become
physical objects, similar to toys, but they do not move. This [7] Sheehan, R. Children's perception of computer programming
makes them walls, or floors or other obstacles. The scene creator as an aid to designing programming environments. In
mode can also load a background image which is only an image Proceedings of the Interaction Design and Children
and does not contain any objects with physical properties. Conference: IDC 2003 (Preston, England, 2003). ACM
Originally we thought that providing loadable background images Press, New York, NY, 75-83.
would be enough but seven of the programs drawn by the children
required unique backgrounds which toys could move over without [8] Sheehan, R., Hendrickx, J. and Chiu, B. Fizz: A 2D Physics-
colliding with them. It thus makes greater sense to provide the Based Programming Environment for Children. In
ability to draw backgrounds within the app. Proceedings of the World Conference on Educational
Multimedia, Hypermedia and Telecommunications 2010
5. PROBLEMS WITH THE METHOD (Toronto, Canada, 2010). AACE, 1408-1413.
All of the programs drawn by the children were games even [9] Sheehan, R. J. Moving a Desktop Physics-Based
though they were asked to draw programs of games or to tell Programming System to a Tablet. Presented at Interaction
stories. Given the demonstrated examples and the discussion that Design and Children 2014 (Aarhus, Denmark, 17 June - 20
accompanied them this was not surprising but it does mean that June), http://idc2014.org/wp-
any story telling features that may be necessary haven't been content/uploads/2014/09/idc20140_submission_189.pdf
discovered by this approach. The ability to go from one scene to
another which would be essential in telling a story was understood [10] Cypher, A. and Smith, D. C. KIDSIM: end user
by the children as several games either had different levels drawn programming of simulations. Presented at Human Factors in
or levels were mentioned by the children. A similar study Computing Systems, CHI'95 (Denver, CO, USA, 7-11 May).
concentrating on story telling is being planned. ACM., 27-34.
In many cases the children had not worked out the control [11] Wikipedia Contributors. Donkey Kong. Accessed: 16 March
schemes for their games; how the toys were to be moved and 2015 17:21 UTC.
controlled by the players. When prompted they usually said "by http://en.wikipedia.org/w/index.php?title=Donkey_Kong&ol
pushing buttons" or "by touching or dragging the toy". This was a did=650904125
problem because by asking them to draw a program the children [12] Wikipedia Contributors. Asteroids (video game). Accessed:
were focussing on the images rather than the program control. 16 March 2015 17:39 UTC.
http://en.wikipedia.org/w/index.php?title=Asteroids_(video_
6. CONCLUSION game)&oldid=646230753
In order to make a programming app for children that has the
functions necessary to produce the types of programs that the [13] Guha, M. L., Druin, A., Chipman, G., Fails, J. A., Simms, S.
children want to make we allowed children to create drawings and Farber, A. Working with young children as technology
depicting their programs. We then examined the drawings and design partners. Commun. ACM, 48, 1 2005), 39-42.
determined the functional requirements that our app would need
in order to make the production of these programs not only [14] Moser, C. Child-centered game development (CCGD):
feasible but simple. Using this technique we discovered a number developing games with children at school. Personal
of new functions and elements which are being added to our 2D Ubiquitous Comput., 17, 8 2013), 1647-1661.
physics and event based programming app to make it more useful [15] Ryokai, K., Lee, M. J. and Breitbart, J. M. Children's
for children. storytelling and programming with robotic characters. In
Proceedings of the seventh ACM conference on Creativity
7. REFERENCES and Cognition (Berkeley, California, USA, 2009). ACM,
[1] Snyder, L. Status update: high school CS internationally. 1640240, 19-28.
ACM Inroads, 3, 2 (June 2012), 82-85.
[16] Onarheim, B. and Wiltschnig, S. Opening and constraining:
[2] Bell, T., Andreae, P. and Robins, A. A Case Study of the constraints and their role in creative processes. In
Introduction of Computer Science in NZ Schools. Trans. Proceedings of the 1st DESIRE Network Conference on
Comput. Educ., 14, 2 (June 2014), 1-31. Creativity and Innovation in Design (2010). Desire Network,
83-89.

306

You might also like