Wednesday, 11 November 2015

Midterm Updates: BlackBerry Priv + YHack 2015!

Hello, blog. I feel like each time I come back, I'm stunned at how much time has passed by. It's been a busy two months since beginning co-op, but I've been having a blast and taking everything in stride.

BlackBerry Priv

BlackBerry recently released the product that I've been working on over the last few months: the Priv, a brand new Android phone! I've actually been doing development on two of the apps for the phone, Tasks and Notes. Since I am an avid user of similar apps in my own day-to-day life (yes you, Google Keep!), I've enjoyed the experience of contributing to user experience as well as learning a lot in the process. In fact, this term has only further reinforced the notion that what we learn in school is far from actual development projects; although we did some Android development last term, it was so basic that I practically felt like I didn't know anything about Android while at work. Overall, this term has definitely been a steeper learning curve than the last, but my team has been ever so helpful and every day is a whole new learning opportunity. And of course, I can't lie, it's cool to know that features I worked on have now been shipped to customers worldwide!

I might be a bit biased, but after having used the phone for a few weeks, I must say that it's a very decent phone. I especially like the customizations that BlackBerry made to the Android launcher, which allows you to launch three different apps instead of just Google Now, as well as the addition of really handy widgets and shortcuts. Furthermore, in addition to the physical keyboard, even the virtual keyboard is a step up from the stock Android one; it offers really smart word suggestions on the letters themselves, which you can swipe up to select while you're typing. And last but not least, the Tasks and Notes apps of course! It's been really nice to see all the positive reviews of the phone so far; although it hasn't been out for too long, I think there's potential that only time will fully divulge. 

YHack 2015: I Know That Feel
This past weekend, I had the opportunity to go back to Yale University for another year, for YHack 2015! Since it wasn't my first hackathon, I more or less knew what to expect, but the set-up this year was a bit different; instead of having individual rooms to ourselves, everyone was spread out around tables in a massive sports complex. It got a bit distracting at times, but it also meant getting to talk with the people around us.


I've always wanted to work on a social impact hack, so it was really nice to make a plausible idea come together at YHack. Our project aims to be an educational tool to benefit children with autism spectrum disorders. This actually tied in with my (as well as one of my teammate's similar) experience working with young children with autism to teach them social interactions. One of the difficulties that these children face is recognizing and differentiating between different emotions. And so, we created an application made up of two interactive games.


The first one is more simple of the two, and it involves the child matching images to different emotions.


The second game prompts them to take pictures using a webcam, in order to mimic different emotions. Together, the two games teach children to be able to both recognize and demonstrate emotions.

The web application was created using the Flask framework for Python to handle the backend work. Flask was interesting to work with as none of us had any experience with it - although, Flask is based on the jinja2 template, which I'd worked with previously during Google CSSI, so a lot of the code looked very similar and it was fairly easy to pick up.


We also tied in a SQLite database that we used to store account info as well as player results; this allowed us to create a stats page for each user, so that parents or educators could track the children's progress over time.

For the front end, we leveraged Bootstrap to scale our site, as well as jQuery to make and handle POST requests during the game so that we could display feedback and results without having to refresh the page. For the first game, we utilized the Flickr API to search for and display random images of people displaying different emotions. As for the other, we used a machine learning API from Indico that does facial emotion recognition to determine what emotions the pictures we took were displaying. Unfortunately, one of the caveats of relying on the Indico API was the for certain emotions, it wasn't as accurate as we'd hoped. We ended up trying to process the results we received back from it, but overall the accuracy still wasn't ideal. Still, we worked with the limited time and resources that we had in order to complete the project.

Feel free to check out our app on GitHub or DevPost! We were originally planning on deploying the site through the Microsoft Azure platform, but we ran into some issues with GitHub and Azure integration (later confirmed to be a known issue by people that we spoke to from Microsoft). Regardless, I am really happy that we were able to take an idea with the potential to make a difference in the lives of children, and turn it into reality. Part of the beauty of hackathons is being able to try something new and pour your efforts into making something interesting, and I am grateful that we came up with a unique idea that, if we have the opportunity to polish and improve accuracy on, could be an accessible and useful tool to support children and allow them to develop these necessary skills from an early age.

2 comments:

  1. That app has a lot of potential. I liked reading your post and so did my wife. We are both in the software development industry and it is always great to see young talent coming up with great ideas and pulling it off with very little funding. Great work and post keep it up and it will reward you soon.

    Lucius Cambell @ Skild

    ReplyDelete
    Replies
    1. Thank you very much for your kind words!

      Delete