Keywords

1 Introduction

Children born during Information Age are digital natives, i.e., the constant use of technology transformed them into expert users [1]. This characteristic could be exploited to improve the learning process through the use of technology. Science, technology, engineering, and math (STEM) concepts proved to be complex. However teaching these subjects during foundational early childhood years (preschool to grade two) can be engaging and rewarding to young learners, especially if the topics are addressed through robotics and basic programming [2].

Incorporating activities that promote the 21st century skills (Binkley et al. 2012) in the learning process will help digital natives to develop abstract thinking abilities and apply them in an organized way [3].

For many years robotics allowed to ease learning process based on STEM concepts [4, 5]. Moreover, the abilities obtained while programming and using robots are a key aspect in the development of children and their future professional life [6].

Many authors have discussed the importance of programming as a capability for digital natives. For instance, Resnick [7], considers programming the new literacy. He states that, “in addition to writing and reading, programming helps organize thoughts and express ideas”. Furthermore, the skills gained with programming and using robots are key aspects in the development of children and their future careers [6].

This paper describes the design process of two mobile programming assistance tools that allow children in the early childhood to develop programs and execute them using robots. The tools are called TITIBOTS and TITIBOTS Colab which incorporates collaboration. The main issues and lessons learned during the design process are described.

The main research question driving this work was to assess the possibility of designing a tool based on mobile interfaces and robots that children aged between 4 and 6 years can use. Similar works have been conducted in recent years, but focused mainly in older children.

The methodology used in this project was the User-Centered Design (UCD) process. Particularly, we used the ISO standard 13407. Moreover, the tools were developed and evaluated applying participatory-design, experience prototyping, and usability testing.

This research involved 12 experts within areas such as education, informatics, and robotics, 11 researchers and 15 preschool teachers. Approximately 100 children in the early childhood participate during the different evaluation phrases. The evaluation results showed that children in the early childhood are capable of program robots using our mobile applications tools.

2 User-Centered Design

The User-Centered Design (UCD) is defined by the Usability Professionals Association (UPA) as a process outlines the phases throughout a design and development life-cycle all while focusing on gaining a deep understanding of who will be using the product [8, 9]. The international standard 13407 is the basis for many UCD methodologies. It’s important to note that the UCD process does not specify exact methods for each phase.

It should be clear that usability is not the same as UCD, since usability is a quality attribute final design, while the UCD is the way to reach and improve the usability of the product. So, usability is why, while the UCD is how; designing usable objects is something laudable but not necessarily means that has been achieved using UCD [10].

According to the ISO 13407 standard, the following are the general phases of the UCD process (the iterative nature of these activities is illustrated in Fig. 1) [11]:

Fig. 1.
figure 1

UCD process.

  • Specify the context of use. Identify the people who will use the product, what they will use it for, and under what conditions they will use it.

  • Specify requirements. Identify any business requirements or user goals that must be met for the product to be successful.

  • Create design solutions. This part of the process may be done in stages, building from a rough concept to a complete design.

  • Evaluate designs. Evaluation, ideally through usability testing with actual users, is as integral as quality testing is to good software development.

There are many variations of the UCD process. It can be incorporated into waterfall, agile, and other approaches. Depending on your needs, the UCD process is composed of several methods and tasks. What you are developing, your requirements, team, timeline, and the environment in which you are developing will all help determine the tasks you perform and the order in which you perform them [8].

3 Design Process of Programming Tools for Early Childhood

Since the design process is iterative, seven iterations of the UCD process were made. Now, the final version of the tools is simple, intuitive, and easy to use for children between 4 and 6 years old. During the first interaction, we prove the technical feasibility of the tool. Four interactions were necessary to create TITIBOTS, and two more interactions for creating TITIBOTS Colab. The results were promising: children liked the applications and were willing to continue using it to program robots for solving specific tasks.

Figure 2 shows the iterative UCD process with the main techniques applied in each phase. Table 1 describes these techniques. The used techniques were taken from the ISO standard TR-18529.

Fig. 2.
figure 2

Techniques used in each UCD phases.

Table 1. Description of the techniques used at each UCD phase.

Each iteration had the need to solve the research problem and, two public pilots were developed with the two functional and usable prototypes. Each of these iterations is described in this chapter below.

3.1 First Iteration

The iteration focused on verify the technical feasibility of the programming tools that were created. A programming tool (individual, without collaboration) was developed where effective communication was established between the mobile device and the robot.

The techniques used in each phase were (see Fig. 3) [12, 13]:

Fig. 3.
figure 3

Techniques used in the first iteration of UCD phases.

  • Analysis. Literature review and specification of the context of use.

  • Conceptualization. Identification and documentation of the technical environment.

  • Design solutions. Prototype development.

  • Test and refine. Functionality testing.

The first prototype is very simple and it was developed with the aim of solving technical problems regarding Bluetooth communication between the mobile device and the NXT intelligent brick (see Fig. 4). For this reason, a communication protocol with the commands was created as well as a language interpreted for the communication of the commands was implemented, both from the mobile device to the NXT intelligent brick, therefore a one to one connection was established. The programming tool was named MODEBOTS (Mobile Development Environment for Robots).

Fig. 4.
figure 4

First prototype: MODEBOTS.

This prototype includes the commands for the robot to carry out locomotion and manipulation in the environment; in other words, control the actuators and effectors of the robot. Command controls were included to indicate the beginning and end of the instructions sequence. Actions can be executed sequentially and loops or conditionals are not included.

The commands were tested on this iteration prototype to verify they were functional, resulting that all commands were usable. Also, the response times of communication between the tablet and the robot as well as the times of interpretation and execution of the program resulted acceptable in the initial tests.

The result of this iteration was to start generating design solutions aimed at preschool children by checking the technical feasibility with the first prototype, in search of public pilots.

3.2 Second Iteration

The second iteration focused on generating design solutions for the programming tool (individual, without collaboration) aimed at preschool children, and validating them with 12 experts from Omar Dengo FoundationFootnote 1 (FOD) and 6 preschool teachers, who validated iconography and interaction. In order to validate the interface design, iconography, and interaction, a set of instruments were created to validate the form, color, and possible interaction [14].

The techniques used in each phase were (see Fig. 5) [12, 13, 15, 16]:

Fig. 5.
figure 5

Techniques used in the second iteration of UCD phases.

  • Analysis. Literature review, user observation, scenarios of use and interviews.

  • Conceptualization. Requirements meeting and requirements specification.

  • Design solutions. Group sketching and paper prototype.

  • Test and refine. Validation with experts and preschool teachers.

A group sketching and paper prototyping activities were conducted to design a preliminary version of TITIBOTS. When a consensus was achieved, design validations begun with the best interaction proposals.

The result of this iteration was to develop a paper prototype (concept, interface and interaction), see Fig. 7, to validate it with preschool children, in search of public pilots.

3.3 Third Iteration

The third iteration focused on validating the paper prototype developed in the previous iteration with 40 preschool children. This iteration has the best proposal of the concept, the iconography and the interaction resulting from the consensus of experts and preschool teachers to carry out the validation with the children.

The techniques used in each phase were (see Fig. 6) [12, 13]:

Fig. 6.
figure 6

Techniques used in the third iteration of UCD phases.

  • Analysis. Brainstorming and consensus of experts and preschool teachers.

  • Conceptualization. Requirements meeting and requirements specification.

  • Design solutions. Paper prototyping (concept, interface e interaction).

  • Test and refine. Validation with end users (preschool children).

A sketch that represents the interface, iconography and interaction patterns were created (see Fig. 7). Using the results of validation several changes in the design of the tool were implemented, the most significant changes were:

Fig. 7.
figure 7

Paper prototyping TITIBOTS.

  • Reducing graphical load of the interface (i.e., decreasing background colors and figures, removing visual distractions to allow focus on the relevant elements).

  • Perform visual closures (for attention), and use primary and secondary colors.

  • Enlarge icon size.

The result of this iteration was to obtain a design solution (concept, interface and interaction) to begin with the implementation, in search of public pilots. With the information gathered we developed the first functional prototype of TITIBOTS.

3.4 Fourth Iteration

The fourth iteration focused on implementing the design solution resulting from the previous iteration. In this iteration, TITIBOTS functionality was evaluated with 7 preschool children [14].

The techniques used in each phase were (see Fig. 8) [12, 13, 16]:

Fig. 8.
figure 8

Techniques used in the fourth iteration of UCD phases.

  • Analysis. Focus group with preschool teachers. In addition, literature review focused on guidelines for learning tools aimed at preschool children.

  • Conceptualization. Design guidelines.

  • Design solutions. User survey for design, agile prototyping and pilot test.

  • Test and refine. Usability testing with end users (preschool children).

The design of the user interface was minimalist, a programming tool as simple as possible and removing graphic overhead due to the target audience (see Fig. 9). In relation to the evaluation, a set of challenges were created for the children and used observations to evaluate their behavior. The main goal of this evaluation was to see the children’s reaction with the tool and to find difficulties.

Fig. 9.
figure 9

User interface and robot of programming tool TITIBOTS in the iteration 4.

Observations were performed in order to evaluate the usability of the software [17], to determine the necessity of a teacher’s intervention when using TITIBOTS, and whether it helps or not in the learning process to have a strong guidance.

In this evaluation, we observed the following:

  • The usability of the prototype was considered successful, the interface showed to be simple and intuitive.

  • All the participants (preschool children) showed interest in the application and want to keep using it after the activity.

  • The use of play in learning with children is important.

  • The teacher mediation has a strong influence in the use of the tool and the level of achievement in the challenges.

  • Different commands have different functions and some are more complex.

  • The mistakes generated frustration.

  • The laterality, directionality and spatial orientation of preschool children are confirmed per what is found in the literature. They have the notion of left and right, but in relation to their own body, i.e., taking their own body as a reference, so children should be next to the robot, not to the front, to successfully indicate the side to rotate.

  • Each child focused on his tablet and his robot, there was no interaction between them. Sometimes it was just curiosity.

Several problems were found in the system during the evaluation:

  • Robot’s claws smashed easily. This forced a redesign in the software to avoid an open command if the claw was already opened.

  • Bluetooth connection was unstable. The software was redesign to reconnect automatically.

  • Commands placed in pairs (for instance: on and off, catch and release) were easier to understand by the children than those in the form of keyboard (Forward and Backward, Left and Right). The software interface was redesigned to allocate all the commands in pairs.

  • Real time feedback is required from the application to let the user know what is happening.

  • The tablets would go out if they were unused for a few minutes. The software was redesigned so that the tablets were kept on while the tool was active.

In addition, functionalities were added on the recommendation of experts and evaluators:

  • Levels to the tool, by level shows a new pair of commands: Level 1. forward/backward, Level 2. left/right, Level 3. on/off, Level 4. grab/release.

  • Clean button, to clear the command screen and execute a script that restarts the robot in the initial state (open claw) when you want to create a new program.

  • Load button, to open a previous program created (the tool saves the last program created).

The result of this iteration was to obtain a functional and usable preliminary prototype to continue evaluations with end users, in search of public pilots.

3.5 Fifth Iteration

The fifth iteration focused on improving the prototype of the previous iteration, correcting the problems encountered and following the suggestions of the consultants (10 preschool teachers).

The techniques used in each phase were (see Fig. 10) [12, 13, 16]:

  • Analysis. User observation (field study) and focus group with experts and preschool teachers. In addition, literature review focused on guidelines for learning tools aimed at preschool children.

  • Conceptualization. Design guidelines and refinement process.

  • Design solutions. User survey for design, prototyping and pilot test.

  • Test and refine. Usability testing with end users (preschool children).

Fig. 10.
figure 10

Techniques used in the fifth iteration of UCD phases.

The improved prototype of TITIBOTS was evaluated in a real scenario, our testing scenario was a workshop at FOD with 6 preschool children [14]. The methodology proposed by Nielsen was followed to conduct a usability test with users [9].

In the robotic workshop the children use the tool to be introduced with programming concepts. During the workshop, the teacher played with the children, and each game introduced the instructions that TITIBOTS tool allowed each day. Figure 11 shows some pictures of the workshop during different activities.

Fig. 11.
figure 11

Preschool children using TITIBOTS.

In this evaluation, the following was observed:

  • Usability and functionality of the prototype were considered successful.

  • All the participants (preschool children) achieved the basic knowledge intended for the activity.

  • The activities in which each child mimicked the robot and acted the commands were crucial to the learning process.

  • At the beginning, each child focused on his tablet and his robot, there was no interaction between them. As the workshop progressed, children began to help others, explaining what to do and indicating what was wrong.

In addition, experts and preschool teachers recommended the following:

  • The time of each workshop session should be one and a half hours, since the maximum possible limit is considered to have the attention of the children. Consideration should be given to reducing the duration or raising breaks.

  • The workshop should have the presence of an assistant to support the mediator in the activities, as the task is extremely absorbing for a single person.

The most important result of the workshop (obtained from evaluator’s report, recordings and usability metrics) was that the children were always happy and attentive with the prototype. They found it easy to use and fun, according to the satisfaction questionnaire. Moreover, they did not have problems understanding the commands or another miscellaneous buttons such as clear screen, load program, and disconnect.

The result of this iteration was to obtain a functional and usable prototype final of the programming tool TITIBOTS for children between 4 and 6 years old (see Fig. 12), in search of public pilots. The subject of egocentrism present in preschool children (according to Piaget [18]) and what was observed in the workshop, we think that modifying the programming tool and designing it appropriately we can create strategies for the children to collaborate in solving a given problem. This is part of a collaborative version of TITIBOTS.

Fig. 12.
figure 12

User interface and robot of programming tool TITIBOTS in the iteration 5.

3.6 Sixth Iteration

The sixth iteration focused on creating the collaborative version of the prototype final resulting from the previous iteration, automating various collaborative learning activities [19].

The techniques used in each phase were (see Fig. 13) [12, 13, 16]:

Fig. 13.
figure 13

Techniques used in the sixth iteration of UCD phases.

  • Analysis. Literature review, user observation (field study) and focus group with RExLab’s researchers and preschool teachers.

  • Conceptualization. Design guidelines, requirements meeting and requirements specification.

  • Design solutions. User survey for design, agile prototyping and pilot test.

  • Test and refine. Usability testing with end users (preschool children).

This prototype was evaluated in a real scenario, our testing scenario was a workshop at public school in Brazil (in collaboration with RExLabFootnote 2, 6 researchers participated) with 16 preschool children. Again the methodology proposed by Nielsen was used to conduct a usability test with users [9]. Figure 14 shows some pictures of the workshop during different activities.

Fig. 14.
figure 14

Preschool children using TITIBOTS Colab in Brazil.

The collaboration process was implemented through the distribution of resources (commands divided among the children that formed the group). The automated activities were: size of groups, formation of groups and assignment roles, monitoring, requesting help, encouraging feedback, checking success criteria, among others.

As part of this process, the communication protocol was defined and designed to perform the connectivity between mobile devices and the robot, to support the process of collaborative learning. The architecture implemented was the centralized architecture, so the interaction with the children was easy to control by the mediator.

In the evaluation performed with the preschool group (real scenario) it was observed:

  • Usability and functionality of the application were considered successful.

  • The 100% of the children were familiar with the technology.

  • As for the problem-solving process (programming process): planning, implementation and testing, 100% of the children did so from the fourth day of the workshop

  • The 100% of the children were able to work collaboratively.

In addition, experts and preschool teachers recommended the following:

  • The time of each session should be one and a half hours, since the maximum possible limit is considered to have the attention of the children. Consideration should be given to reducing the duration or raising breaks.

  • The workshop must be attended by one or two assistants who support the mediator in the activities, as the task is extremely absorbing for a single person.

The result of this iteration was to obtain a functional and usable prototype of the TITIBOTS Colab for children between 4 and 6 years old (see Fig. 17), in search of public pilots.

3.7 Seventh Iteration

The seventh iteration focused on improving the prototype of the previous iteration and performing a second evaluation in a real scenario in Costa Rica to evaluate the impact of the collaborative programming tool on the collaboration process in children between the ages of 4 and 6.

The techniques used in each phase were (see Fig. 15) [12, 13, 20]:

Fig. 15.
figure 15

Techniques used in the seventh iteration of UCD phases.

  • Analysis. User observation (field study) and focus group with FOD’s experts and preschool teachers.

  • Conceptualization. Refinement process.

  • Design solutions. User survey for design, prototyping and pilot test.

  • Test and refine. Usability testing with end users (preschool children) and quasi-experiment (to evaluate the impact of the collaborative programming tool on the collaboration process in children between the ages of 4 and 6).

This prototype was evaluated in two workshops in two different schools in Costa Rica (in collaboration with FOD) with 30 preschool children (15 children in each school). The methodology proposed by Nielsen was used to conduct a usability test with users [9]. Figure 16 shows some pictures of the workshop during different activities.

Fig. 16.
figure 16

Preschool children using TITIBOTS Colab in Costa Rica.

With the results obtained in the quasi-experiment, it was verified that in the experimental group there was a statistically significant difference in the components of collaborative learning in the post-test in relation to the collaborative groups of the control group. The difference between the natural groups was the application of the treatment in the experimental group, since the initial comparability of both groups was verified. Therefore, it is concluded that the use of TITIBOTS Colab encourages collaboration in children between the ages of 4 and 6 years.

In the evaluation performed with the preschool groups (real scenarios) it was observed:

  • Usability and functionality of the application were considered successful.

  • All children participating in the workshops were familiar with the technology.

  • As for the problem-solving process (programming process): planning, implementation and testing, all children did so from the fourth day of the workshop.

  • All children participating in the workshops could work collaboratively (verified by the results of the quasi-experiment carried out). It gives intergroup work where it goes beyond a competitive situation.

The most significant result was that all the children participating in the workshops could work collaboratively, where two situations can be highlighted. The first situation was the communication between members of a team to discuss the solution of a challenge, since this dialogue is surprising for children of this age. The second situation was the intergroup work that arose, where the competitive situation was left behind and certain children, when they finished their contribution in the equipment, were going to help other teams. The observed phases that children go through during their interaction with TITIBOTS Colab:

  • Phase 1. The first contact with the collaborative tool causes a stage of discovery and experimentation.

  • Phase 2. When the collaborative tool was mastered a little more, the feeling of collaboration within the team and competitive between teams appears.

  • Phase 3. Having the collaborative tool dominated gives the intergroup work, where the competitive situation disappears.

The result of this iteration was to obtain a functional and usable collaborative programming tool TITIBOTS Colab (final prototype) for children between 4 and 6 years old (see Fig. 17), which encourages the collaboration process, in search of public pilots. With the collaborative programming tool TITIBOTS Colab, public pilots were carried out with children of preschool age.

Fig. 17.
figure 17

User interface of programming tool TITIBOTS Colab.

4 Conclusion

Programming tools allowed early childhood children to create programs using tablets and run them with robots (allowing any robot to implement a command interpreter). What promotes the development of computational thinking from an early age through the programming of robots.

One of the principal challenges presented in the research was to design applications for preschool children, since the design of the tools should capture the visual attention of the children and motivate them and, at the same time, easy to use by them. This was achieved using the user-centered design process, which was useful for achieving the usability of the tools. Since it was necessary to identify and specify the context of use, and characterize the target audience. Then, a refinement process was carried out in relation to its design and functionality, based on the different pilots performed. Finally, they were evaluated in real environments. In this refinement process we evaluate usability through prototypes and usability tests.

In this process the guideline was generated to build programming tools aimed at pre-school children. This guide was generated from studies carried out by different authors and evaluations carried out in the research, fulfilling the criteria of the Cognitive Dimensions of Notations framework [21, 22].

The two programming tools created have a unique set of features:

  • They have a simple, intuitive and easy-to-use user interface for children in early childhood.

  • They consist of iconographic symbols and sounds taking into account the cognitive, personal, social and emotional development of children, allowing them to be used by children who have not yet learned to read and write.

  • They offer a set of open commands, allowing them to be used with any robot where a command interpreter is implemented.

  • Available in three languages: Spanish, Portuguese and English.

On the other hand, the usability evaluation of the two programming tools was successful, since the tools have been intuitive and easy to use by the target audience. The children inferred the meaning of the commands and used the application without major problem. In addition, children were always motivated, interested, happy and attentive during the use of the tools in the different developed pilots.

The collaborative programming tool enabled children to perform most of the actions defined in each of the essential components of collaborative learning; Encouraging the process of intra-group and inter-group collaboration in pre-school children, making them leave aside their initial egocentrism, in a short period (one week).