my summer vacation is almost over. this post covers the geeky thoughts i've had lately.Firefox 3 hates me. I know that hate is a strong word, and that Mozilla and I have had our differences lately, but it can't seem to run for more than five minutes without crashing. I suspect that
this is the same bug that I'm seeing, so I'm going to try to generate some debugging information with the advice in that bug report. Thank goodness that this Fedora Rawhide Firefox binary is FOSS. :) Hopefully, I'll be able to figure out why it hates me soon, and find a way to soothe its anger.
*****
While I was at the beach, I took some time to work on my little side project:
Coccinella. Specifically, I was trying to package the pre-built binary bits that it requires as clean Fedora packages, built from source. Turns out this is mostly a lot of TCL extensions. Some of them were actually in Fedora already, but it seems not to like the tkimg package in rawhide (its actually an SVN checkout of a newer codebase). I need to see if anything in rawhide uses that tkimg, and look at what changes might be necessary in Coccinella to make things work with that.
*****
I don't know if my laptop is a good "example" system, but I noticed that some things in rawhide really don't seem to work very well at the moment. Specifically, at one point, I was asked by Pam to do the following:
* Take her father's digital camera (nothing fancy), USB cable, and blank CD-R.
* Copy pictures taken at the beach onto my computer
* Burn a CD of those pictures
Easy, huh? I thought so, and when I plugged in the camera to my laptop, it popped up a screen showing me that it detected the camera, and offered to open gphoto. As I went to click ok, another window, similar, but slightly different popped up, telling me that it also had seen the camera and offered to show me the pictures. Neither window worked, each giving me cryptic errors about I/O failures or locks. Poking around, I discovered that somehow the camera had also been automounted as a hard drive, which was preventing either tool popup from getting to the camera's pictures sanely. I closed the popups, unmounted the camera/hard drive (but not unplugging the USB cable), then manually opened the gphoto application. From there, I could see the pictures and copy them into a directory in my homedir. Now, I needed to burn them to a CD. I disconnected the camera and popped in the blank CD-R. As expected, an icon for the blank CD-R appeared on my desktop. No wizard helper popped up, but opening it showed a window that implied I could copy files to it. I selected all of the beach pictures from the local folder I had copied them to, hit Cut, then Pasted them into the blank CD-R window. They seemed to show up, so I clicked the "Burn CD" button, and a progress bar appeared, and the CDROM light flashed. It showed a completion time of 45 seconds, scrolled a bit (about 45 seconds worth), then failed. I ejected the CD-R, put it back in, and it popped up as blank. Well, to be accurate, it popped up with the window showing the files I had "pasted" into it. I had to drop to the command line to confirm that the CD-R was indeed, still blank. I gave up on that tool and opened k3b, selected the pictures, and told it to burn the disks. It burned for a few minutes, then reported success. This time, when I ejected and reinserted the CD, it didn't show up as blank, but rather, the freshly burned "Beach 2008 Pictures" CD.
However, when I gave that CD to Pam, and she gave it to other folks with laptops, no one was able to get all the pictures off the CD. Some of the laptops (windows XP) could see the files but not all of them, or couldn't copy some/all of them off the CD. A Macbook (OSX) could copy them all, but some were corrupt. Maybe my CD-R drive is going bad, or that first burn pass scribbled junk on the CD-R, but I had failed at my simple task. I wonder if we test this simple task before we freeze a release. If not, we should. Yeah, I know, I can hear the comments now, blah blah resources, blah blah time, blah blah QA. It just seems to me that the community could come up with simple tasks like this, stuff that anyone can test and report success or failure on, without any real experience.
I started thinking how I could make this better. Bugzilla is not really well suited for this. I might know what components to file bugs against, but Pam probably doesn't. So, I started brainstorming (hold on, it may have lightning):
How cool would it be to have a Fedora "Simple Tasks" (i'm sure someone can come up with a better name) website? I boot into the Fedora Beta, open a web browser, and log into my Fedora Account. On the Simple Tasks website, I see a list of Fedora 10 "Simple Tasks" to test, maybe even see how many people have already tested the task. I see "Digital Pictures on a CD" and click it for more information. It expands to explain the task:
Requires:
* Digital camera (any make/model) with USB cable connection
* CD/DVD Recorder
* Blank CD-R or DVD-R
Task:
* Take some pictures with the digital camera.
* Connect the camera to the computer with the USB cable
* Copy the pictures into a folder in your home directory
* Disconnect the camera
* Burn a copy of the pictures onto the blank CD or DVD.
* Confirm that the pictures are on the burned CD or DVD.
* [OPTIONAL] Put the burned CD or DVD into some other computers (Linux, Mac, Windows, etc) to confirm that they can also see the pictures on it properly.
I accept the task by checking a box. When I finish the task, I return to the website and see it in the list of tasks I have accepted ("Tasks In Progress"). I'm presented with options of "Success" or "Failure", along with a box to explain both. If we're clever, we'll also have fields to input the type of computer I used, the type of CD-R drive, media, and camera. If we're super clever, we'll have a way to detect some of that from the webpage. It may also ask me what software I used to accomplish this task (Some tasks may specify specific software to use) When I'm done, my report gets sent. Others can then see my report.
Because we're Fedora, anyone can add their own Simple Tasks at the same web page. The helper lets you setup the "Requires" and the task steps, as well as the custom data fields for post-task reporting. Our Task moderators can help look over submitted tasks, merging duplicates together and cleaning them up. People can cast a vote on each task (think Amazon rating), rank the complexity of the task (from newbie to guru), add keywords to a task, and mark their "favorites". The QA team can also mark tasks as interesting or recommended.
When you complete a task (success or fail), you get a karma point. Maybe if you gave a good post-task description, someone from the QA volunteer pool could give you another bonus point. You could also get karma points for creating a new, quality, unique, task. Karma points might even earn you Fedora schwag, and at a certain point, invite you to join the Fedora Task Moderator team.
We'd be doing QA. As a game. :) Sure, its not automated, but it sure is distributed. Task text can be translated, so it can be international, and we want to encourage simplicity (but not discourage complicated tasks, as long as they are marked as such).
Can you picture it?