Thursday, May 29, 2008

Design Commences

Today we had our second design meeting and made good progress with the initial requirements for the GUI. We also pinpointed some key features that we need to incorporate throughout the design:

Drag and Drop
Ability for actions to occur by dragging and dropping. It creates an environment that seems to be totally interactive and allows for children to focus on simple interactions with the application without having to memorize or utilize complex keyboard sequences.

Trial and Error Capability
The application will allow for children to create something and have it immediately play so they can see how it looks like and if something does not work they can than change it. Children usually work on the principle of trying something and if it doesn't work they adjust or try something else. This principle is vital to incorporate in the design so that they can fix errors quickly and easily without having to do it later.

Building Blocks
Utilize visual building blocks that children use to create servo actions that create movements in the animatronic puppets. Lego Mindstorm, Scratch and PicoBlocks utilize "building blocks" so children can building code that either creates robots, 2d or 3d animations. Text-based coding dominates the programming world and allows for flexibility, however, for children this is not the based way to introduce kids to programming. Building blocks allows for a simplified programming environment for kids.


Further development of the functional requirements will continue and also each design member will have the opportunity to create paper prototypes of the major GUI components to help share ideas and pick the best elements for our design.

Monday, May 26, 2008

Project Kick Off

Last class we had presentations made by everyone on concerns and topics that were relevant in the creation of a computer application that can help children create animatronic puppet shows in a kid-friendly environment. Today was the day we finally started to form our project team and also start looking into our project timeline. Essentially we have just over two months to design, implement and test our application before it will be used in Animatronic Workshops in Victoria and also Seattle. I have concerns with the time frame and the amount of work that needs to be done to make the application truly successful.

We were able to break down the project team into three groups which are:

Design
Responsible for the design of the application as a whole and also usability testing to see how the children work with the application. Furthermore, training materials and resources will have to be created by the Design team to help children use the application as smoothly as possible.

Implementation
Responsible in coding the application and also testing of the application's code etc.

Hardware
Responsible in creating animatronic puppets and finding innovative ways for incorporating lighting and speakers to the animatronic puppet shows to create a full theatrical performance. Will also do testing and other such tasks.

Everyone is designated on a team but you are able to help wherever you feel interested. I chose to be the Design Lead and take on the responsibility of making sure the design is on track and that everything will end up being feasible. It will be vital to make sure that communication is open to the other teams so that the Designers won't be too isolated from the Implementers. With such a tight schedule constant back and forth will make sure that none of our efforts go to waste.

Tomorrow will be our first design meeting to designate roles to designers and also plan our next tasks at hand for the remainder of the week.

Thursday, May 22, 2008

Animatronic Polar Bear Complete

The project team was divided to partake in the creation of an animatronic chimpanzee and polar bear. Being that i am a fan of killer animals i chose to be on Team Polar Bear. Essentially, the polar bear started out as a stuffed hand puppet that you are able to stick your hand in to control the mouth of the polar bear. The purpose of animatronics is to animate the polar bear through the use of servo motors and ingenuity. This allows us to replace a human hand with some servos that can do some cool things like head tilts and move the mouth.

Today we were able to finish our animatronic polar bear. It didn't take much work with the team working on it. I estimate it took in total ~6 hours and it was really at a steady pace.

It took two sessions to complete it and after the initial session i found it hard to communicate the idea i had in my head with how the polar bear should be built. The major communication problem was because we were working in 3 dimensions and 2-dimensional sketches weren't cutting it. I had downloaded Google's SketchUp that allows you to make quick 3d models before but never had any reason to use it. So i re-downloaded it and within a couple hours I was able to knock out the following 3d model.


It helped everyone to conceptualize the idea and also to follow the same execution. The 3d model represents the "skeleton" of the polar bear. It has two servos that makes the upper jaw move up and down, and also the head to tilt side to side. The only thing left to do for the Polar Bear is to make a stand so the Polar Bear can be upright on all four legs and to test the servos and actually move our Polar Bear!

Wednesday, May 7, 2008

Brainstorming for Csc485B

First day of the course i did not expect that the course would be about creating a visual language for children to program animatronic robots. The project and the chance to work in a huge group sounds like a lot of fun. I will be really interested to find out the way that this project will pane out and what approach we take.

As mentioned in the first class, everyone was to think about ideas on how to tackle the project and satisfy the client as well the users. I have thought about the overall project and have come up with some fundamental ideas that the project should incorporate so that the project can be successful.

The following ideas are what i think about the initial set up of the solution:

1) It should utilize a medium which children have already experienced and are comfortable in working in. That is why the environment that children should use to visually program the robots is an interactive website. The website should take on a cartoon-style feel. Utilizing web technology should create a dynamic environment in developing whatever would be most visual to a child and still be familiar.

2) The website environment should take note that children work on the process of trying things and seeing what happens. The process of trial and error should be taken into account when creating the visual language and make it possible for children to easily create a program and than be able to almost instantly see what it does to the animatronic robot.

3) The website environment should also have the ability for children to save their programs and also share them by either emailing them to others or saving them on a memory drive so that children can share and learn from one another.

The visual language itself would really depend on the age group of the users. For younger children a language that bundles the robots actions into modules like "waving", "smiling" and other would be best. However, older children could have less abstraction so that the children can have the ability to fine tune a robots action.