2013-07-14

Meet The Developer From Team Pilot: Charlton Roberts

This week we’re interviewing each member of the winning team from the Co.Labs and Target Retail Accelerator. Here, one of the team’s developers talks about why the team chose to build a mobile HTML5 app--not native software.



The Co.Labs and Target Retail Accelerator challenged entrants to design and build an app that would extend the Target customer experience into new areas, leveraging mobile software--native or web-based--to produce new and pro-social effects in their community, family, school, or social network.

This week, we’re interviewing the winners: Team Pilot, which created an app called . Interviewed here is Charlton Roberts, one of the team’s software developers.

What was your role in working on Divvy?

I was one of the software developers and I also presented in Minneapolis to Target.

So in terms of deliverables what exactly were you working on?

I was involved with the later stage of ideation and figuring out what was possible to build. So I helped decide the types of frameworks that we wanted to build on and figured out what would be the path of least resistance. Then with Chris Kief I built it up and made it happen. We decided to go with a web app because it was a little easier and since none of us had any native [iOS] experience. In the end it feels just the same as a native app, so there's no big difference.

How did you get a web app to feel like a native app?

The inspiration for building it as a web app came from a company called Dark Sky. They have an app called forecast.io. If you visit that site on your desktop computer it's just a regular web app. But if you visit that website from your iPhone, it leads you to instructions on how to install it on the homescreen. Then from then on out, it's just an app. They've completely gotten around the App Store. This was our first experiment with that and it worked really well. We could not only send it to all of our teammates instantly, but we didn't have to worry about certificates or any of that App Store stuff. We could upload the backend code without having to push out an update to everybody, because it's just a website in there.

We ended up using Node.js and Socket.IO because Divvy is pretty heavy and on real-time and having multiple users watch the same data at the same time. So when one user would update the other one had to see the changes pretty instantaneously. So we needed a Socket connection for that. I'm a huge fan of Node.js and have a lot of experience with it so we used that server-side.

You've worked with Node.js before?

Yeah, around six months ago I worked with a startup and was doing some of their admin panel work in Node.js. I'm mostly a front-end developer and spend a ton of time in JavaScript. So when I heard there was a server in JavaScript I wanted to try it out. I do a lot of prototyping for TBWA. It's just so easy to prototype everything out in Node and in JavaScript all day long. I'm really excited about the framework and I follow it pretty heavily because I think it's up and coming.

Were there any challenges or limitations you faced building Divvy out as a web app?

Well, there's a limitation with the web app that you can't talk to the iPhone's contacts. You don't have access to the native API. We didn't have time to get into PhoneGap or something like it that would allow us to do that. So we couldn't implement features using the contact list. I'll be interested to see if we can use Google Contacts or some other method, maybe Twilio, something like that. I'd like to keep it out of the App Store if possible.

What's your personal philosophy on good design?

It sounds trite but in my mind it's all about simplicity. When I'm building something I frequently ask myself “can my parents use this?” and that helps me strip out all the unnecessary stuff. Sort of figure out what are the bare minimum components that we need to have to do what we want to do. We were fortunate enough to have a great designer--Eric is really stellar. Chris [Reardon] is also very good at UX. So by the time it gets to me we have a lot of problems that are already solved.

Can you tell me about some of your past work experience?

I actually just graduated in December from Southern Methodist University in Dallas. I got involved about a year ago in the startup world in Dallas--started out at an incubator called Tech Wildcatters. But I actually went to school for theater. I wanted to be an actor. That took up 80% of my time for the first few years. But probably around halfway through year two I realized that my passion for tech and making stuff just couldn't be ignored. So I ended up getting a double major in computer science. As time wore on I realized that I actually loved comp sci more than I love acting, which was a tough decision to make.

Still I think acting was actually one of the most valuable degrees I could have gotten. It taught me about people and how to read people. It's taught me how to go off people's energy and give out a certain energy when you want to.

Is acting something that's at all still on the table for you?

Not as of now. My real strong interest is in performance digital arts. For instance in school I did a project where people signed into Facebook when they came to a play. Then the actors did an improv scene based on the people in the audience's Facebook status. I like blurring the line between viewer and performer and using technology to do that. I'd like to break into that more. A lot of my friends up here are actors so I kind of get to live vicariously through them and go to their plays. But I'd really like to help the with some of their projects. Performance art in general is really behind in tech. They use tech as a tool, as in light or sound design. But they're very far behind as far as using it to generate a concept and as part of the experience itself. That's where my passion is.

Are there any projects along those lines that you're working on right now?

So one thing I'm working on is an interactive gallery. A guy came to me and said “I have 60 pictures but I only have space to show about five at a time. What can you do?” The pictures he has are in sets of three. So I'm putting together a little project with Kinect such that when a person walks in front of the Kinect on the television screen, it shows the first picture. And then as they walk closer, it transitions into all three. After they walk out of the view, if someone else walks back in, a new image comes up. That's the kind of area my side projects are in right now. I do a lot of work with Kinect. I'm interested in using tech to broaden the art world.

[Image: Flickr user Emilio Küffer]