By Nihar Thakkar
Nihar spent the last two weeks at 1st Main helping us create a proof-of-concept for an interactive exhibit. Nihar is 14 years old and is currently being homeschooled. Here is a recount of his experience.
I had been busy all November and hadn’t even started working on it. We were running out of time and had only two weeks to get it done. I quickly downloaded IntelliJ Idea, the code editor that I would use to… um well, code. And now that i think about it, also the code editor that would make me want to throw my computer out the window. More than just once. Anyway, before i say anything more, let me tell you what this was all about.
My aunt and uncle started a digital agency called 1st Main. They normally build websites for companies, but as an experimental project they proposed to build an interactive piece for a client they were working with. So the two week deadline I mentioned earlier, was to build a proof-of-concept and demo. For the user — computer interaction part of the exhibit, we had decided to use this sensor thing called a Kinect that lets a computer record and analyze gestures performed by the user using their body.
Okay, so now that you know what this is all about, I’m going to continue with my blog. So after I had setup Inteli-J Idea, i started coding. And I spent three days just trying to learn how to make the Kinect sensor work, and figure out the gestures the user was performing. I also built a little demo to show the guys over at 1st Main. It was a little dumb (it was a sort of game where you went around killing cockroaches with your hand) but hey, I couldn’t think of anything else at the time. When we (me and my dad) went to 1st Main’s office on Thursday, nobody seemed to be very impressed by the demo, but I think they got a sense of what would be possible to do. All that was great but for me, the most exciting part of the day was when I got my own work email id, my own chair, my own desk AND a mouse pad. So cool!
First time experiences, challenges and surprises
We were building a paint app sort of thing where the user selects textures and symbols and paints with them on a canvas using hand gestures. I, along with the lead developer at 1st Main spent all of the next week getting the app to work. He worked on the gestures, I worked on the graphics and it was quite challenging. Working on UI and graphics was very new for me, and more importantly getting used to sitting in an air-conditioned office for six to seven hours with everyone just looking at their screens pretty-much all the time. The first two days or so were the most uncomfortable and it took some getting used to. It helped that the office had big windows with plenty of natural light and I was encouraged to take breaks frequently.
While working, I noticed that sometimes when I asked someone to test the prototype and asked how the work was going, they said that it was nice and fine and good and things like that, even though it clearly was not and could have been much better. It was also the first time that I was working with another developer and we were writing the code together so it was a lot less stressful than when i do a project with a deadline all on my own. But there were also times when it was a little annoying because of our different styles and practices of coding. However, I must say that I really was impressed by how quickly he was able to learn a new programming language. Another thing that surprised me quite a bit was that people working in offices also get distracted. I always thought that it was only me who would get distracted by my phone or a Youtube video especially when work got challenging, but apparently, that’s not the case.
At the end of week one, we all felt that just creating a paint app prototype was not enough and so in the second week, i created another one which allows the user to browse through the works of the artist. For this prototype, the graphics part of it was not as challenging as the other one but the gestures that the user could perform to scroll, select and zoom took a whole lot of time to get working and was also very frustrating.
I’m writing this blog post on the last day at the office and it’s 12 O’ clock and I’m really looking forward to the office Christmas lunch. I also want to say, that I’m really thankful to everyone at 1st Main for letting me work with them and I hope that I wasn’t too much of a pain in the butt :) It would be awesome to continue collaborating with you guys on more such projects.
Source code for the two experimental projects can be found on github: