Summer of Code/2014/Hack a stuffed animal
What is your name? Jade Garrett
What is your email address? PositiveDeviancy@gmail.com
What is your Sugar Labs wiki username? OpenIDUser9
What is your IRC nickname on irc.freenode.net? positivedeviancy
What is your first language? English
Where are you located, and what hours (UTC) do you tend to work? Fairfax Virginia EST. I work at all hours, however, I am usually working from 11AM-4PM and 9PM-1AM.
Have you participated in an open-source project before? I have participated in BJC (beauty and joy of computing) and Stars Mentors Program, mainly in the capacity of tutoring and teaching programming. http://ait.gmu.edu/stars/contact.html (Stars Mentor for GMU) http://stem.volgenau.gmu.edu/current.html (I teach the BJC programming class and the Web Design class) BJC uses SNAP! a Scratch Derivative and is open source.
About your project
What is the name of your project? Hack a Stuffed Animal
Describe your project in 10-20 sentences.
What are you making? A Robotic Stuffed Animal that will execute commands, act as an input device for an Etoys program, and also interact with children while being used.
Who are you making it for, and why do they need it? Children, but more specifically, children who have challenges with non-verbal communication and would benefit from interacting with a stuffed animal robot. Some children will use it to keep them entertained and engaged while using the program, it could even be a character in the program for example. Some children might use it for its ease of usability or it could help foster a familiar comforting feeling while using the software and technology. Mainly, it will be used to help bridge the gap with children who have challenges with non verbal communication such as children with autism, by helping aid interaction using other forms of communication besides verbal such as - Gestures, Movements, Sign Language, Mimicry, and Signals. By making a familiar object such as a loved stuffed animal turned into an input device, it changes the whole dynamics of using technology and interaction, it allows for the child to project their own method of communication through the stuffed animal where a keyboard would be confusing and frustrating.
What technologies (programming languages, etc.) will you be using? It is requested that I use Sugar Lab's Etoys program, however, I will have to use Arduino 1.0.5 for coding the commands for the stuffed animal so that it will act as an input device using either a keyboard with modified keys or a joystick. Then I will use Etoys to create a simple interactive program (non verbal) that the child could have certain pre-programmed interactions and outcomes using the stuffed animal. I would like to try to integrate some type of responsive feedback, for example, a small LED light blinking, or a sound that is produced from the stuffed animal to show that the communication and interaction is two sided. (That might be a good idea for another project for GSOC)
What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. I will start the day that I find that I am approved, even if it is before May 19th. Starting now-May 19th: Design and focus on creating a functioning input device. Clarify requirements and main goals for the stuffed animal hack. Focus on what method is best for input (Joystick, keyboard, strategically placed buttons, motion sensors, etc). Set firm and clear goals for this project. Designing a program that would take the input and have it interact in a way that is stimulating and engaging. Possibly a music program that will play certain animal sounds while showing a picture of the animal. Or perhaps a flashcard/slideshow program with certain words that can be recorded by a family member and pictures of things that the child shows interest in. Interview teachers who work with kids with special needs to further improve design and function. Conduct research on pricing the materials and creating a parts list. Starting with a goal of under $50.00 and then trying to beat that price by 20% in the week of July 14th. Gather all the parts and tools necessary to begin creating prototypes.
Week of May 19th - Begin assembling the parts and testing if the input received is working properly.
Week of May 26th - Testing how the inputs work with the program.
Week of June 2nd - Fixing input bugs and design flaws.
Week of June 9th - Further testing interaction between stuffed animal and program.
Week of June 16th - Finalizing the design and look for the stuffed animal. I want to have 3 prototypes created.
Week of June 23rd - Creating a usability metric for the stuffed animal and start testing with target users - children and children who have challenges with non-verbal communication.
MID POINT EVALUATIONS - Gather up all the notes and enter the evaluation.
Week of June 30th- Analyzing the feed back and making adjustments and correcting any issues.
Week of July 7th - Work on creating another program to also be used with the stuffed animal after feedback sessions and requests for certain modifications.
Week of July 14th - Finalize the parts list for all the necessary pieces. Price out the parts list for one stuffed animal and also for bulk production (20 at a time). Look into different retailers, check for generic parts vs brand name, look into 3D printing to see if that is an option.
Week of July 21st - Make a PDF on how to create the stuffed animal and how to assemble it. Also create a video that shows construction step by step, and also how to debug, test, and connect the stuffed animal.
Week of July 28th - Continue work on the previous week. Send updates and request feedback.
2-3 weeks of gathering data, refining the stuffed animal and its programs. Also one week to factor in delays etc. Work on the final evaluations until the Final Date for Project.
Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. My major is Applied Information Technology with a Certificate in Entrepreneurship. I have previous experience with building robots using Lego Mindstorm, VEX, and Arduino. I also have experience writing programs using Scratch and Snap! (Berkeley University’s version of Scratch) and I even teach a programming class on the weekends to high school kids using Snap! I feel that I am perfect for this project because I have years of experience with all necessary aspects of creating a robotic stuffed animal that accepts and returns input. I have previously conducted usability tests with feedback, written software programs using Scratch, created working moving robots, rapid prototyping of applications, and I have a strong background with electronics engineering. I already have most of the electronic parts and tools that are necessary for creating a stuffed animal robot that can send and receive input, light up, and execute simple commands. I have my own lab space at GMU Campus where I am able to work undisturbed and focus. I am willing to document the process of creating/testing the hacked stuffed animal by video blog, regular blog, and also possibly conducting a class where high school kids use Etoys and design their own programs for the stuffed animal. Most importantly, I am very passionate about this project, I have worked with many children with Autism (I used to teach adapted aquatics) and I have a strong connection to this cause. I am beyond excited to work together and create something that helps children learn.
You and the community If your project is successfully completed, what will its impact be on the Sugar Labs community? Jade's Response: I think that it will not only help children with challenges in non-verbal communication, it will help especially young children, children who are just beginning to use computers, and children with attention issues stay engaged in learning new technology. It will also provide a valuable resource to families who are not able to afford buying pre-made robots that have the functionality that we have added with the focus of non-verbal interaction. Also, instead of just being impacted by it, the Sugar Labs community could use it to help the world by creating programs using Etoys that would lead to more awareness and possibly even more treatment and therapy for kids with challenges with non-verbal communication. Innovation is contagious and other members would have the resources to create and modify their own versions of the stuffed animal and programs, which in turn lead to totally new uses, inventions, and ideas. It is a snowball effect of awesomeness.
What will you do if you get stuck on your project and your mentor isn't around? I already have a clear idea of what needs to be done and I plan on starting research and designing this as soon as I am chosen to work on this project. I would try contacting the mentor using different methods, but I never really depended on any single person enough to stop me from working or figuring things out on my own, I have so many resources online, from the college library, other professors and peers that have experience in some aspect of this project. If I really did get stuck, I would work on another aspect of the project while I was waiting for the communication or backtrack some steps and try to find out where I was stuck. If I have to wait, I will be busy working out where the issue is while I am.
How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project? I would like to keep a video blog of my progress as I work on this project which would be accessible on YouTube. I would also be constantly working on documenting what has been done, what is being worked on and how I am doing it, and then also the tasks that I need to still finish. I would send weekly status update emails every Sunday to my mentor and who ever else was involved in this project. I would send pictures, video, and sketches whenever I reached a new task to work on in the project so that everything is fully documented on my approach, results, and any issues that arose and how I fixed them. I also can chat, blog, use WebEx, talk on the phone, email, hand write a letter and mail it, possibly even send you an update using Morse code if I had enough time. I am so excited about the project that you could possibly ask me to not contact and share so much information with you guys.
Describe a great learning experience you had as a child I remember my first AHA! moment when I was creating my first website. For the longest time I could not find out why my website was not loading the way that I wanted to. I had looked over the HTML at least a hundred times and I still couldn't find the error. Just when I was about to throw my computer out my window and give up, I checked how I saved the file and instead of saving it as index.html, I saved it as index.htl. I can't even begin to explain the intense happiness that I felt then. I was literally on the brink of crying like a baby with all the mixed emotions of frustration, weariness, and pure joy. That feeling of being smarter than my computer made me fall in love with programming right then and there.
Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more? This is a project that is very different from most of the other suggestions I viewed on your site. I think that this will be somewhat uncharted territory for everyone on what would be the best approach, design, features, and goals. I want everyone to know that I am always open to trying new ideas and respond well to constructive criticism. I prefer being upfront and open about expectations and I hope that my mentor is just as candid about them as I will be. I am definitely psyched and ready to start this awesome project where I can give back to the community.
Please include the category tag at the bottom of your page: