SimpleCV and the Google Summer of Code

Rich: The last few weeks I’ve done several interviews with project that participated in the Google Summer of Code. A few days ago, I spoke with Anthony Oliver and and Katherine Scott from the SimpleCV project. They told me a little bit about their experience, and also gave some advice to other projects that might be interested in doing this next year.

If you’d like to have your project featured on the SourceForge podcast, just drop me a note and we’ll schedule something.

If the embedded audio player below doesn’t work for you, you can download the audio in mp3 or ogg formats.

You can subscribe to this, and future podcasts, in iTunes or elsewhere, at http://feeds.feedburner.com/sourceforge/podcasts, and it’s also listed in the iTunes store.

Rich: Give us an intro to your project. What does your project do?

Katherine: SimpleCV is an Open Source Python library for doing computer vision stuff. So, we make it quick and easy to do basic image processing, like, find bar codes, look at the color of something, find faces … all these really basic tasks we make it really quick, like one line of Python to get it done. And we use this technology to do lots of more complicated things for manufacturers.

Rich: How many students did you have?

Katherine: We started with four, and then we lost one pretty early on, so we had three.

Rich: What kind of things did you have your students doing this summer?

Katherine: We’re fairly new. We’ve been around for about a year … a little over a year. And we still have lots and lots of functionality that we need to start getting fleshed out. The students did everything from projects that they wanted to do, like we had one doing tracking, we had another one working on a mobile app, and then we had another one that was working on stereo vision and some of the tools that you use do to stereo vision. And then we would throw other tickets, other problems that we would have out there for them.

Rich: For somebody completely unschooled in this, like myself, it seems to me that it would be hard to find a student that had the necessary knowledge to get involved in this. Where do these students come from?

Anthony: They basically just flocked to us. One of the students that we had didn’t really have a background in computer vision. We were actually quite surprised with the amount of feedback and applications we actually got for the program. We had, I think it was 85 applications.

Katherine: This stuff is hard, but it’s not outside the domain of what they would do if they were at the end of their undergraduate career or starting out as graduate students. These are all things I did in grad school, more or less, and, you throw them a couple papers, you old their hand, and you tell them, hey, look, go be autodidactic. We’re not asking you to do anything new, we’re just asking you to do something that’s kind of hard. So go figure out how to do hard stuff. That’s how you become a professional engineer, right, is go solve hard problems.

Rich: What did you learn in this process? If I have a project, and I’m interested in doing a Google Summer of Code next year, what did you learn? What did you do right? What did you do wrong? What will you do differently next year?

Anthony: I was a 2007 SoC student, so I had a little bit of experience. I was involved with Drupal, which an Open Source content management system. So I had a little bit of experience of how that interaction works. One thing we didn’t plan for was the overwhelming … like I said in the beginning … so many applications. We didn’t plan … we just figured maybe a few people will apply, and I don’t think we were prepared to handle the amount of questions and submissions and people hunting us down on our private emails to get involved with the project. I think next year it’ll be a little more planning ahead for that sort of thing, and defining what projects we’re looking for – we left it a little open-ended this year.

Rich: Do you think that the students will remain involved in the project after they’re done with their assignment? And did you, in fact, remain involved in Drupal once you were done with yours?

Anthony: Yeah, actually, I did Drupal stuff for quite a while. I actually was able to get a job and it actually opened quite a few doors or opportunities for me. And I would say, yeah, that the students seem to be … seemed to have a good time, and I think they learned a lot. I can let Kat comment some more.

Katherine: It was, generally, great. I think my hardest problem was, I would have really like to have the kids around, physically being there. It actually worked out, them being remote, I think, pretty well, but there’s sometimes, especially with computer vision, and graphics, where you just want to grab a piece of paper and say, well, here’s the math, or let’s draw a picture of what’s going on, and work through them. And that’s as much a thing that, I think, would help them, as it would help us. But other than that, I thought if the kids can figure out how to work remotely, that’s a huge skill. And it’s not something you learn in school, either. And it’s something that’s really valuable once they get out in the real world, is how do you interact with the community? How do you interact with technical partners that may be across the globe, literally.

Rich: And how did you solve that? Did you use Google Talk, or did you use phone calls, or what?

Katherine: Generally none of the audio … we only played with the audio for a little while. We’re all engineers. None of us are really big phone people, I think. So, it was basically, hang out on IRC. We have chat all day. So, as soon as you have a problem, let me know, and, I’d rally them together two or three times a week, and say, well, what’d you do yesterday? What are you doing tomorrow? What are your problems? What did you find was cool? Just run down the normal stuff you would have at, say, a standup meeting.

Rich: So far as the end-of-program metrics go, do you mark these projects as success? Do you feel that everyone passed?

Anthony: Yes. Most definitely.

Katherine: Yes, absolutely. I think that the goals kind of change, right? But we got enough out of it, in terms of the library. But my larger metric is, do you think the kids are better off now than they were when they started, and I think the answer is certainly yes. I think they learned a ton, which is really almost more important than them completing their goals, if they got a lot out of it.

Anthony: They all went above and beyond what we asked of them. They helped out on things like the forums, and solving issues in the issue queue that wasn’t even part of their scope for the summer project. A lot of times, too, if there was bugs and stuff we could toss them to them, and they would actually turn them around pretty quick and get things fixed, which I was pretty surprised that someone not really too involved with the project … they got up to speed pretty quick. It turned out pretty good. They were already asking if they could apply next year. So I’m thinking that they’ll try to stick around with the project, and I hope that’s the case, and I hope that they pass the word along that the Summer of Code was a good program for them, too.

Katherine: Yeah, it’s an incredible program. It really is a great thing that Google’s doing.

Rich: Thanks so much for talking with me about this, and good luck with SimpleCV.

Anthony: Thanks, Rich.

Katherine: Thank you.

Tags: , ,

8 comments
 PBX
PBX

Simply informative. keep it up!

Marc_Royo
Marc_Royo

@Olimex Cool! Could you Help me? I've ordered two Proto PCBs and I don't have answer from Olimex.. Maybe SPAM Problem? Thanks

Simple_CV
Simple_CV

@Olimex You going to be at Open Hardware Summit? We can talk. We run on RaspberryPi and Beagle Bone right now.

Olimex
Olimex

@Simple_CV if you want to run on OLinuXino 1GHz Cortex-A8 with 512MB let me know you will see the difference ;) we will have soon 2Mpix cam

Simple_CV
Simple_CV

@Olimex If we can get it to work we can put an image up sourceforge/github.

Simple_CV
Simple_CV

@Olimex We're interested. Do you run a flavor or Arch linux? Perhaps if you send us a dev board we can try to give it a shot.

Simple_CV
Simple_CV

@Olimex What is your e-mail address?

Olimex
Olimex

@Simple_CV Slackware, Ubuntu, Debian, Arch are preparing :) send me e-mail with your address to mail you A13-OLinuXino