Skip to content

Getting Over the Humps

September 26, 2011

We’re now starting our fifth week of classes and lots has happened. In week 3, I hit a bump in the road, one that may be encountered by other instructors working with students on FOSS projects. Before the semester started, Joanie Diggs from the GNOME Assistive Technology community suggested a very cool project to aid folks with low vision issues involving magnification of video. The suggested starting point was the Cheese webcam software. My initial concerns had to do with understanding how video is processed, but I quickly encountered other issues. Let me tell you my story:

  1. I started in the summer by spending about two weeks trying to get GNOME 3 to work on Ubuntu 11.4 on VirtualBox. After lots of consulting of forums, googling, and banging my head against the wall, someone from the GNOME A11y community kindly pointed out that Ubuntu and GNOME 3 don’t play well together. OK, time to retrench…
  2. I then moved on to Fedora 15. I spent about 20 hours and four install attempts to get a Fedora 15 guest on VirtualBox. Success! However, by this time I was a week into the semester and hadn’t even been able to install Cheese. Panic was setting in.
  3. Next I spent about four hours installing Cheese. More consulting of forums, lists and googling and I couldn’t build it from scratch, but I could at least get it installed. However I had a problem with VirtualBox not being able to recognize the webcam correctly.
  4. I then had one of my IT students come and debug VirtualBox and after 2.5 hours we got VirtualBox to “see” the USB ports, but still couldn’t get it to recognize the web cam.

At this point I was starting my second week in the semester and had a working platform, but still hadn’t been able to install the application that I wanted students to use and get it running. In addition, I hadn’t had any time to work with the actual application. While I’m relatively tolerant of risk in teaching, I was definitely starting to feel the heat.

It was at this point that I turned to the TeachingOpenSource and GNOME A11y communities, and my friends at Red Hat and asked for help. One might ask why I didn’t do this at the beginning? It has a lot to do with instructors feeling like they need to figure things out on their own and feeling like I should have been able to do this on my own. But in doing so I missed one of the most important aspects of working with FOSS: FOSS communities are great reservoirs of learning and help.

I received a number of very supportive and helpful responses. A big “Thank you” to all who sent suggestions. I will try to summarize what I learned:

  1. Ask for help early. Many of the responses from FOSS communities indicated a strong desire to help and I probably could have done less head banging if I had asked for help earlier. I admit that asking for help is a lesson that I try to get across to my students and I’m a bit chagrined to have missed the boat on this one.
  2. Do a feasibility check early. Ask the community about the feasibility of projects on specific platforms _before_ doing an in-depth investigation. This is similar to number 1, but I didn’t think to ask the very basic question of whether what I was doing was reasonable in the first place.
  3. Everyone struggles a bit. It is really helpful to be reminded that some amount of “figuring things out” and working through problems is part of working in a FOSS environment.
  4. FOSS projects have a high tolerance for failure. The FOSS environment is very opportunistic and projects frequently involve trial and error. Community members often try things and run into roadblocks that cannot easily be solved and therefore retrench and try something else. This is in direct contrast with a typical academic course where the plan for the term is laid out at the beginning and student “failure” only occurs if students don’t achieve the work. Instructors must prepare students for this sort of a learning environment and also must figure out the learning to be gained from such “failings”.
  5. Take advantage of existing learning opportunities. Related to 4 above, look for what learning can be accomplished in the current situation. If the work done by the students never actually gets merged into the official module it doesn’t mean that the project is a failure. Students still gain incredibly valuable knowledge and real-word, practical experience with version control systems, programming tools, examining and building and developing actual software, working on teams (with their peers and those in the FOSS community), planning, project management, problem solving, and making some contribution to an on-going project.
  6. The interfaces between technologies and tools can cause hiccups. I found the individual communities of GNOME A11y, Ubuntu, Cheese, and VirtualBox to be very helpful. However, many of my problems occurred at the intersections of projects and fitting the pieces together.
  7. Communicate better and more often. This is something that I keep reminding myself over and over again. Successful interactions depend on continually communicating the state of work to the community.

As for the state of the course, I have found solutions to most of my roadblocks. I have been provided with two boxes and web cams thanks to Red Hat. I have three teams of students, two of which are working on the Cheese video magnifier and one who is working on enhancements to Xfce. We’re in the process of fleshing out requirements and should start design in a couple of weeks. We’re off!

One Comment leave one →
  1. September 28, 2011 3:01 pm

    Dr. Ellis, this is a fantastic post. As we know, experimenting with multiple technologies in the world of FOSS has it’s challenges, however the outcome is very much rewarding whether it’s learning about software, networking with other communities, or establishing “lessons learned” from these experiences. I recently blogged about “finding a FOSS project that’s right for you”, which is part one of a two part “story”. Also, there are certainly more posts to come about the transition from a FOSS environment to working in the industry. Keep in touch,


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: