Tuesday, June 16, 2009

Facebook Application: Spot the Fake Smile Quiz

Web development has always been a hobby of mine. I enjoy it because it provides a more artistic outlet than typical programming. That's not to say that designing program architectures and writing code doesn't require creativity; rather, sometimes I like to create something visually appealing. Sometimes I like to dabble in Photoshop as well.

Also, websites and web applications often have a more direct social impact. One day while browsing the BBC website I stumbled across this online quiz where you are asked to spot the difference between fake smiles and real smiles. The theory is based on the work of Guillaume Duchenne who discovered that people who are genuinely smiling have raised cheeks and crow's feet (wrinkles in the outer corner of the eyes).

I thought that it would be interesting to see how well my friends and colleagues could spot the fake smiles, so I decided to create a Spot the Fake Smile Quiz Facebook application where users can post their quiz results to their profile feed. My first task was to find free-to-use photos of smiling people and determine myself if their smiles were real or fake. In order to remove any errors in my classification, I only used photos available under the an appropriate Creative Commons license where the author commented on whether the subject's smile is fake or not.

Some of the technologies I used to develop the application include HTML, CSS, PHP, AJAX, JavaScript, JSON, and mySQL. I slightly modified some jQuery code to create the photo sliding effect. I decided not to use the special FaceBook Markup Language (FBML) tags and instead embed my application in the Facebook webpage as an iframe. I found that this approach provided me with more freedom over the layout of my application and allowed me to use the web technologies that I'm already familiar with. Also, FBML applications require special modification to use jQuery, which was a major turnoff. The differences between the two approaches are explained here.

000webhost.com is an excellent free web hosting service that I'm using to host my application.

Monday, June 1, 2009

Work History Part 5: RIT CS Dept. Teacher's Assistant

Location: Rochester, NY
Position: Teacher's Assistant and Student Lab Instructor
Period: September 2008 - May 2009

This job was my saving grace. The CS dept. had an excellent arrangement where they would pay for 100% tuition costs and give out a multi-thousand dollar stipend in exchange for about 20 hours of TA work per week.

I enjoyed teaching new students about object-oriented programming and the difference between references and pointers. Some of the student projects were interesting too, like solving the traffic jam puzzle and peg board game.

Responsibilities and accomplishments:
  • Taught computer science labs in Java and C++.
  • Graded student programming assignments.
  • Answered student questions in the mentoring center.
  • Held CS1-CS4 test review sessions.