Summer of Code/2014/Travis Irby Proposal

From Sugar Labs
< Summer of Code‎ | 2014
Revision as of 13:51, 17 March 2014 by TravisI (talk | contribs) (Travis Irby's GSOC Proposal)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

PECS for Non-Verbal Communications Proposal

Travis Irby

travisirby@gmail.com

Sugarlabs wiki username: TravisI

irc.freenode.net nickname: travisI_00

First language: English

Location, Virginia, USA UTC-04:00

Plan to work 9:00am-5:00pm, but I am flexible.


Open Source Experience:

I am a strong supporter of open source ideals. I have released solo game projects under open source licenses. I have a couple such projects available on github. One is a game I created (c# coding and artwork) for Github’s 2013 Game-Off contest: https://github.com/travisirby/game-off-2013 I do not have experience working on a multi-developer, open source project. Looking at all the great projects in Google Summer of Code has inspired me to get involved, and I plan to continue contributing to open source projects after this summer.

Project: PECS for Non-Verbal Communications

When I looked through the list of proposed ideas, I was very excited to read about the PECS project.I am very interested in educational and assistive technology. My mother is a nurse at The League For People With Disabilities. This has given me the opportunity to interact with children whom have autism and other special needs. I think building an application with picture boards to allow nonverbal children the ability to communicate is an important project. My goal would be to design an Etoys based PECS program with a very intuitive and attractive user interface.The ability to add additional pictures from a webcam, Etoys, etc will also be a priority. From a programming standpoint, I will use Squeak, Etoys and Python to implement the application. I will also create a collection of bright, fun digital paintings to be included as picture boards. I have drawn and included a couple quick mockups as an example: Example Picture Boards

Another aspect of the project will be the simple controls. I have experience building arcade controllers for computers using joysticks and pushbuttons, connected through usb. Designing a controller specifically for ease of use with the PECS program will be helpful for the children using the application. I plan to thoroughly document the project on a blog with videos and photos.I have experience installing and using wordpress and other popular blog engines.

Example Arcade Controls

Plan of Action:

Prior to May 19th: Research PECS programs, nonverbal communication and familiarize myself with Squeak. Create mockups of the interface for my application. Familiarize myself further with the Sugar code base. Order parts for the custom controller.

Week of May 19th: Begin coding the main functionality of the application. Setup version control and scheduled backups. Setup blog for documenting the project. Begin creating picture boards (12 per week planned).

Week of May 26th: I should have simple version of app working with basic functionality. Continue to refine the app. Begin testing different controller layouts to see what works. Create more picture boards, post on blog. Spend time on bugs listed at the bug tracker.

Week of June 2nd: After the week of testing controller layouts, decide which is best and begin constructing the controller. It will have bright colorful arcade controls with rounded edges for maximum safety. Continue developing the app’s features.

Week of June 9th: The app should be quite functional at this point. Focus now on the picture boards import feature. This should be very easy to do. Continue blogging and creating fun picture board art.

Week of June 16th: All features should be nearing completion. Interface should be clean and easy to use. Controller should be tested and working by this time. Fix more Sugar bugs!

Week of June 23: Spend this week fixing any bugs and issues before the midterm evaluation. Create a fun video showing off the features of the app and the custom controller. Post it to the blog.

Week of June 30: With the working application and controller, visit The League For People With Disabilities’ summer camp; Camp Greentop http://www.youtube.com/watch?v=qPEaCWnole8 Here I can have children test the application first hand and get important feedback. Post a video on the blog about the experience.

Week of July 7: Use what I learned during the testing to make improvements to the application. Blog and create picture boards!

Week of July 14th: Continue to polish application. Work on some bonus features. Such as different picture board sorting modes, categories, a matching game. Work on an introductory tutorial.

Week of July 21st: Continue to work on bonus features. Also continue with bug fixing from Sugar’s bug tracker. Post to blog and keep painting picture boards.

Week of July 28th: Polish bonus features. Make sure quality documentation is available, both online and from within the application. Continue to fix bugs within the app and within Sugar.

Week of August 4th: With only a few weeks, make sure all features and tutorial are stable. Continue work on Sugar bugs.

Week of August 11th: Final touches on the application and documentation. Make final blog posts with video.

Week of August 18th: Wrap up the project. Continue to contribute to Sugar! :)

Why I can complete the project:

I feel strongly that I can successfully complete this project. I have experience designing, coding and creating artwork for large projects. One such project I have worked on for several months is www.Globthegame.com which will be released on iOS and Android. I have done all the coding and artwork for this project. Another project I am proud of is a game I created for Ludum Dare, a 3 day event where many people create games. My entry Bezier Challenge http://goo.gl/cDXFGG won 3rd most innovative game out of several hundred games. Currently I am attending New River Community College where in less than a year I will receive an Engineering Computer Science AA. With this I have a guaranteed transfer agreement into Virginia Tech’s computer science program. My current GPA is 4.0. I have received an A in a C# Programming class where we focused on object oriented programming. I am currently taking a C++ course and another course focusing on assembly languages and C. I also have experience with Python. I have finished Codeacademy’s python module and worked through MIT’s online programming lectures using python. I feel comfortable with the language. Another aspect of the project I am excited about is the chance to attend The League For People With Disabilities’ summer camp; Camp Greentop http://www.youtube.com/watch?v=qPEaCWnole8 which I mention in my schedule for the week of June 30th. My mother is the head nurse at the camp and I plan to visit for a few days and have children test the application. This will give me real insight into what is and isn’t working and how I can improve the project.

Impact on Community:

I believe this project will have a great impact on families that need tools to help nonverbal children communicate. It will be important that the application is both fun and easy to use. I also hope to bring more exposure to Sugar by posting interesting and in depth blog posts and tweets about my project.

If Mentor is not Available:

If I get stuck on my project and my mentor is not around I will reach out to the Sugar community on IRC or the mailing list for assistance. I’ll stick with it and continue to investigate posible solutions to the issue.

Keeping the Community Informed:

I plan to post frequently on a blog with many photos and videos of my progress. I enjoy blogging and have experience using wordpress and other blog systems. I also plan to post the videos on youtube and be active on twitter. I use twitter frequently, mostly related to game development and technology at http://www.twitter.com/travisirby Also, I plan to be active on the Sugar IRC channel and mailing list.

Development Environment:

http://travisirby.com/?p=213 I found setting up the development environment to be very straightforward on Ubuntu. I changed the ‘Logout’ string in buddymenu.py to my email address TravisIrby@gmail.com

Great Learning Experience as a Child:

I can think of so many great learning experiences! One that stands out was when my dad brought a hand cider mill into my 1st grade class and showed us how apple cider is made. We all got to drink some afterwards and it tasted amazing. Hands on projects are always great for learning I believe.

Anything Else:

I think that just about covers it! Just want to say that I am very excited about potentially doing this project and getting involved with the Sugar community. Thank you very much for your consideration.