jump to navigation

Litmus – An Analytical Approach (Update) June 13, 2007

Posted by ashughes in Uncategorized.
1 comment so far

As some of you may already know, I have been working on a spreadsheet to track and log testday results from Litmus. My first release on Google Spreadsheet ha received some excellent feedback and some good suggestions. After deciding to implement these suggestions, I toiled with Google Spreadsheets for a good couple hours trying to get it to do what I want (mainly with charts). The best analogy I have for how that went is that it was like two children sitting in opposite corners of a small room, nose to the wall screaming “YOU DO IT!”, “NO, YOU DO IT!”, “NO, YOU DO IT!”…

You get the idea.

So I started to chew on ideas of how I could improve on the spreadsheet, without Google, but still allow the spreadsheet to be shared. I eventually settled on Microsoft Excel 2007 as my program of choice for the spreadsheet. I wanted to use Open Office, but found Microsoft Excel 2007 to be much more prepared for the task at hand. Once I had exported my Google spreadsheet to .xls and imported it into Excel, it was just a matter of making the improvements.

Now that I had the spreadsheet set up the way I wanted, I ran into the second dilemma. How am I going to share this as easily as Google does it. My first thought was, “Google must know!”. So I googled a bunch of different searches trying to find a way to “share” Excel spreadsheets.

After about an hour of no luck, I remembered that Microsoft Office 2007 allows sharing documents on a network and over the internet through Sharepoint. After a little research, I realized that I would have to set up a Sharepoint server. Something I was not prepared to do. It sounded way to grandiose a thing just to share out one little spreadsheet.

I finally thought to myself, “what if I can convert the spreadsheet into html? People won’t be able to modify the spreadsheet, but they will at least be able to get to it and view it easily enough.” So I did a little digging through the Excel menus and found that it has a facility that allows me to convert XLS files to “Web Pages”.

But wait! This is a Microsoft product. It is probably going to convert it to html and add all kinds of ActiveX crap and thus won’t work properly in Firefox.

Much to my surprise, this was not the case. Excel quickly converted my spreadsheet into a bunch of files that made it cross-browser compatible. Each worksheet of the spreadsheet was created in it’s own .htm file, all the charts were conveniently converted into .gif and .png images, and excel even kept all my formatting and styling through a .css file.

All that was left was to try it out. Upon loading the main .htm file from my desktop, I noticed that everything was laid out as it was in the excel file. The charts had become a bit degrade, but it is still quite readable. Excel even created tab buttons at the bottom of the screen so that I could navigate from sheet to sheet.

That being successful, I just uploaded the files to the appropriate locations on my people account, which is where it exists now.

For your viewing pleasure:
http://people.mozilla.com/~ahughes/Litmus_Results.htm

While this isn’t a perfect solution, at the very least it allows people to view the Litmus Testday results quite easily now. I can also modify the spreadsheet, save to html and easily upload any changes. I can also import the raw data into Google Spreadsheets for collaboration if needed. It just won’t have the pretty charts there.

I hope you find it somewhat useful.

Giants 3, Blue Jays 2 June 13, 2007

Posted by ashughes in Uncategorized.
add a comment

Last night, Cesar and I were given the opportunity to go see the San Francisco Giants play my Toronto Blue Jays at AT&T Park thanks to a free ticket courtesy of Dan Portillo. Thanks Dan.

Unfortunately, since we took the Caltrain and didn’t board until 7:01p, we missed the first 3 innings of the game. Which, coincidentally, would turn out to be the most exciting innings of the game. You see, all of the runs were scored within the first 3 innings.

It wasn’t a total loss however. I was able to see AT&T Park, which was a good experience. For anyone who hasn’t been inside the walls of AT&T Park, it feels like an old ball park and overlooks the bay. It definitely felt a lot different from watching my Jays play back home in the Skydome. I also was able to snap a few pictures while at the game, which I have posted on my flickr. To see them, follow the link I added at the top of this page.

On a final note, next time I need to dress warmer. A t-shirt, shorts, and cons are not ideal attire for a San Francisco night. As I learned the hard way.

I look forward to the next time I can watch the Jays play the Giants. Hopefully we can do better next time. Go Jays!

Litmus – An Analytical Approach June 11, 2007

Posted by ashughes in Uncategorized.
1 comment so far

As promised, I am writing about my experience with Litmus this week and my findings. I have heard mention that there is some worry about the turn-out for this weeks testday. So I decided to go and look at the numbers.

Upon first glance, these feelings seemed to be completely unfounded. Especially since I had completed 197 tests on my own. So I decided to conduct a little research on my own.

I took my time and queried every test day completed since August 2005, in search of the number of testers and the number of results in a given test day. Having found these numbers, I plugged them into a spreadsheet and analyzed the numbers. To make it easier to see, I also created three charts. One for the results of the tests for each testday, another for the number of testers for each test day, and a final chart displaying the ratio of tests complete to testers. This last chart is used to “score” how well that test day went.

Before I go into my findings I would like to show you copies of the charts for your reference:

Number of Results Per Testday

Number of Testers Per Testday

Testday “Score” – Results per Tester

After going over these numbers, I can theorize the following:

  • Thunderbird tests have always had a low turnout when compared to Firefox tests. Since 2007-06-08 was the first time Firefox and Thunderbird were separated into their own test-days and held during the same time, we are seeing the results more accurately than before.
  • Our highest results for number of testers always falls during school semesters, so the fact that school is out in the summer could be contributing to low numbers as well
  • It was mentioned that IRC traffic was low during testday. In my opinion, IRC traffic is not a good indicator of a successful test day. A low amount of traffic tells me that there were few issues, which is a good thing.
  • Looking at the charts as they stand, it is tough to extract any particular pattern.
  • It should be noted that all this does it show that the current situation isnt on a big decline. We should still try to come up with ideas on how to promote the testdays better to get even more exposure.
  • The days where we had 30+ user participation were Seneca test days.

It is my hope that this will become a good initial dataset to help with deciding how to draw more people to the testdays.

I think the best line of defense is to get out to the schools more. Not just the colleges and universities either. Perhaps try to get to graduating high school students entering into this field.

As a sidebar, I have a couple ideas for Litmus and Bugzilla that I would like to air.

First off, the test cases in Litmus need to be cleaned up. Often when I run a Litmus test on a specific platform, there will be tests that say “mac only” or “linux only” when I am running windows tests (for example). This means that I either have to go run that test on the other platform so I can mark the test as “pass” just to get my 100% coverage, or I have to leave it as “not run” never achieving 100% coverage.

Secondly, Litmus should be able to recognize multiple build ids for one program. For example, every night there is a nightly of Minefield put out with a different build id. So if I want to continue my tests from last day, I have to fool Litmus into thinking I am still running the old build id. Perhaps we can program a window of build ids into Litmus?

My final idea I had was related to Bugzilla. Is there a way we can implement some kind of duplicate bug detection like Digg’s duplicate story submission detection. For those that do not know, when a user submits a story to Digg, it checks to see if that story might already be submitted. I believe this is based on URL and the title and description the user gives for the story. It then returns a list of possible duplicate stories that the user can read to verify that they aren’t dupes or submit their story anyway. I know the system isn’t perfect, but I believe that we could learn something from this and that it would make Bugzilla better. Both from the end-user perspective and from Bugzilla’s maintainers’ perspective. I realize that this will not help with our current duped bugs, but it will help as a preventative measure for avoiding future duplicate bugs.

Before I leave you for today, I would like to mention an idea that tchung mentioned to me today. What if testers on Litmus could vote on whether they found a certain test useful or not? Like digg, reddit, delicious, or any of those sites. Sounds kind of interesting to me.

Anyway, that is all for today.

Stay tuned for another post later this week.

Asus $189 Laptop runs Firefox June 7, 2007

Posted by ashughes in Uncategorized.
add a comment

Asus unveiled their $189 laptop this week at Computex which they say will be available all over the world, not just developing nations. It is running “something that looks like Windows” *cough* linux, “an office system compatible to Microsoft Office”; Open Office anyone? and uses Firefox.

Dubbed the 3ePC, it uses a more conventional interface than the OLPC, comes with a 2GB flash drive and 512MB of ram.

Read the full article here:
http://www.pcpro.co.uk/news/114773/asus-stuns-computex-with-100-laptop.html

I choose you AUS2 June 4, 2007

Posted by ashughes in Uncategorized.
add a comment

Last week made for a very interesting and busy week. The high point of the week was getting the next update to Firefox 1.5/2 and Thunderbird 1.5 out the door. There was a lot of testing to be done to make sure that there would be as little negative user impact as possible. A few of us had to work into the night, but the hard work paid off. Ultimately, we were able to get Firefox 1.5.0.12 and Firefox 2.0.0.4 out to the user.

Everything didn’t go completely smoothly, as things rarely do in the real world. Once users started getting their updates, we saw a 3-fold increase in bandwidth. We were able to work our way through the bandwidth issues however, and everything turned out pretty well. Once we got over that hurdle it was just a waiting game to see if there were any major problems reported by users. I think we can safely say that the minor update launch was a success.

What is involved in testing Firefox to ensure smooth updates? It is a fairly straight forward process. I will not go into all the details, but it generally involves downloading an older version of Firefox. Then, changing a config file so that when Firefox checks for updates from a test server. Once the update is installed, we ensure the browser is not “broken” by running a few checks.

For those who are curious, there are a couple terms you should be aware of when working on updates for the community. The first is a “partial” update. This is when you are updating from one version to the next version of said software. The second is a “complete” update. This is when you are updating from one version to the latest available version of said software. The third type of update check is known as a “fallback”. A fallback is tested by updating to a new version of the software, but instead of accepting the update, we tell Firefox to update later. We then go into a config file and change the update status from “pending” to “failed”. This makes Firefox think that an update was unsuccessful and it attempts to update to the latest version. While this process is fairly straightforward, there is a lot of work to do for update testing because Firefox has a lot of different versions, locales, and is in use on many different platforms by our users. But this hard work pays off in the end and gives you a feeling of self-satisfaction once the project is deemed a success.

As soon as we got that project out the door, we immediately switched gears and started working on the next major project. I am quickly learning that in the software business, there is a constant flow of work. As soon as one project is complete, the next project begins, if it hasn’t already. This makes for a very interesting career, if you are up to the challenge. I can honestly say that my experience from other industries, mainly the automotive industry, has prepared me for this aspect of the software industry.

The next big project this week was starting some of the testing on Firefox 3, currently dubbed Minefield 3.0 Alpha 5 Pre. The extent of testing Firefox 3 this past week was running Basic Functionality Tests (BFTs) on each of the main platforms. These platforms are Windows XP, Windows Vista, Mac OSX and Linux. Running the BFTs themselves is again fairly straightforward, but ultimately there is a lot of work involved. The BFT series of tests consists of 196 tests ranging from installation to GUI and layout to security checks to software updates. Using a program called Litmus, we can track the progress of these tests. While running these tests, it is not uncommon to come across a bug that is unrelated to the test you are running.

While running the BFTs for Minefield on Friday, I came across five bugs. Some related to the test I was running, some completely unrelated. If you are ever in doubt, ask someone on irc to confirm what you are seeing and then file a bug.

After all of this testing is complete, we use another tool of the trade: the wiki. Using a wiki, we log what tests we ran, on what version, on what platform, who ran the tests, and any problems we noticed along the way. This allows everyone to get a snapshot of where the problems exist and where we were successful.

The third major task of the week was triaging bugs. Using, bugzilla, a tracking system used to log bugs or issues with our software, we go through and double check any bugs that are sitting as “unconfirmed”. This allows us to identify any serious problems or items that were isolated incidents and have long since been fixed. This process involves finding bugs in bugzilla that need to be checked, try to reproduce the issue noted in the bug. If you want to get involved in this aspect of QA, I suggest you come to #testday on irc sometime. Be wary, some bugs in bugzilla can be pretty technical. Just seek out the ones that you think you can handle. No one is expected to know everything.

As you can see from my ever expanding post here, that Mozilla had quite a busy week. The way things are looking, there are going to be many busy weeks to come. I think I would be more worried if we weren’t busy. So this is definitely a good sign.

On that note, I must bid you adieu.

See you next week!

B2B 2K7 May 28, 2007

Posted by ashughes in Uncategorized.
add a comment

No, it isn’t a postal code. B2B 2K7 refers to the Bay to Breakers 2007 race in beautiful San Francisco, California. Don’t let the name confuse you though. It is only a race for the choice few (1000 people or so) who come out to race the 7 miles from the Bay to the Breakers on the west end of Golden Gate Park. For the remaining 50,000 to 90,000 people, it is a 7 mile alcohol induced haze. You can learn more about the Bay to Breakers event at the following two links:

Official Bay to Breakers website
Bay to Breakers (Wikipedia)

For your viewing pleasure, I have added some links at the top of this blog to some of the media content that came back with us from this “event”. I plan on using that top section to add more media content as I experience more and more of California.

So what was my involvement in the event? Well I was part of the Mozilla group! A good crowd of us Mozilla folks pushed, pulled, and dragged a Firefox float through the thousands of people. I am quite proud to say we made it to the 3 mile mark after 2:24:50. We didn’t make it much farther than this however. Overall, it was a fun time had by all.

Initially, I was very skeptical about going to this event. I really wasn’t looking forward getting up at 5am to walk 7 miles on a Sunday. Boy was I wrong! This was bedlam from the get-go.

Myself and a few other Mozilla people (mainly interns) made our way to the Caltrain, half asleep. We woke up pretty quick getting on the train however. The train was full of people going to Bay to Breakers, 99% of which were already drinking or drunk. This was at 6:15am by the way.

After the Van Wilder train ride, the mob made their way to the Bay. All the Mozilla folks congregated together and we eventually made our way to the start line.

As pitas rained down upon me, I thought to myself, “What the hell have I got myself into?!”. After about the first hour, that feeling subsided and I really got into it. There were some great sights to see along the way. Some amazing scenery and architecture, and lots of “interesting” people. The procession snaked it’s way through the streets of San Francisco, played on by multiple bands along the route. Once we climbed the hill near mile 3, the mob kind of died. Us Mozilla folks worked I way farther up into the hills and eventually rested at Meister Burger.

It was a long day, but an interesting one. I have no regrets whatsoever for going to this event. In fact, I definitely would have had regrets if I had not gone. The lesson I learned that day: Do not be afraid to jump into anything, you never know what you might find. There were some real interesting floats too: Chuck Norris, Sesame Street with a Snuffleupagus, Life guards, a Fish tank, the salmon swimming upstream (aka. walking the opposite direction), and last but not least Jonas the Fox!

I look forward to many more events to San Francisco and exploring more of California as the weeks go on.

Oh, and on a closing note. As crazy as Bay to Breakers was, I thought, “OK, that was insane, but that can’t be normal. That was like just a yearly thing right?” Wrong again! Reading the news this week (only 1 week later), I discovered another event unfolding that was just as crazy, if not crazier: A mob of people dressed up as zombies harassing people in the downtown area (Disney Store, Apple store, etc). I am starting to think this kind of thing is commonplace in San Francisco. I clearly have a lot to learn.

Until the smoke clears… May 25, 2007

Posted by ashughes in Uncategorized.
2 comments

Well, another week has passed, so it is about time that I give an update about how things are going. First off, I would like to say that this week has been excellent. I am learning a lot of new things, and getting better at things I learned last week. Mozilla is a very dynamic work place.

What I mean by that is that there seems to be an endless supply of things to learn. This makes it my ideal workplace. One of the main reasons I went back to school is that I crave learning new things. It is my fuel! This is one of the main reasons that I didnt last more than 3 years in the military and why I didnt enjoy Honda. At some point, in most jobs, you get to a point where there is nothing more to learn. You get set in a routine and do the same thing day in, day out. This routine causes stagnation and you start to dislike your job, even grow to loathe going in every day. With Mozilla, there is always something new to learn. Even if you get set into a routine, you know that there is something completely new just around the corner (ie. A new program, a new feature, etc).

Mozilla is more of a community than it is a workplace. Just because you are working on one thing, it doesn’t mean that you are pigeon-holed into that “area of expertise”. If you have skills that can be applied to another area, you are free to have at it. Also, with any aspect of Mozilla you want to work on, there is typically a bunch of people working on that area that will help you get off the ground.

But this is not what I wanted to write about today. The first thing I wanted to write about is what you need to be prepared for re: travel when getting ready for your trip to the U.S.

Mozilla was extremely helpful in getting things set up for me so that I would have no, or as little hassle as possible, when it came try to interact with the customs officials. Before I list what you definitely will need, I would like to thank Tim, Karen, and the folks at AEISEC US for making everything as smooth as possible. The following is a list of items that I needed to get into the US:

  • Canadian Passport
  • DS-2019
  • SEVIS Fee
  • Job Offer Letter
  • I-94

The following is a list of other items I recommend you bring, however I did not need them to pass customs:

  • Driver License
  • Health Card
  • SIN Card
  • Student Card
  • Any and all paperwork received from AEISEC
  • A credit card

I will now explain what and why you need the above items.

Canadian Passport:
This one is a no-brainer. Any time you are traveling outside of Canada you need to have a passport. If you don’t have one, get one.

DS-2019:
This is a two page form that certifies you for your J-1 Visa, which will be stamped on your I-94 and stapled to your passport (the J1 Visa, not the DS-2019). The DS-2019 essentially says who you are and who is sponsoring you to enter the country. It also details some of the requirements to keep you J-1 Visa valid.

SEVIS Fee:
If you are coming into the country to work for Mozilla, you will most likely get a lot of your paperwork from AEISEC US. This form will be one of them. It should already be completed by AEISEC US as they are the ones getting you into the country. This form essentially confirms you for enrollment into the Student Visitor and Exchange Program.

Job Offer Letter:
This will be from Mozilla directly. It essentially confirms that Mozilla does want you to come and work for them. It will detail the terms of your employment (ie. pay, start and end date, etc).

I-94:
This form is for customs use. It is how you declare why you are entering into the country. The information you will receive will probably say that you have to make an appointment at your local US Consolate. If you are a Canadian citizen, all you need to do is fill out this I-94 form and show it to the Customs officer at the airport. You can pick up I-94 forms at the airport check-in counter for free.

Credit Card:
I recommend you get a credit card, if you haven’t already. You may run into some issues if all you have is cash and a debit card. Some businesses may down right refuse to take your debit card as the clerk does not recognize it. If you do not have a credit card, your best bet is to try to get by on cash. If you decide to go this method, I recommend taking out what you need at an ATM on a weekly basis. If your bank is anything like my bank (TD rocks!), you will get charged a small astronomical fee each time you use your bank card. TD charges me $5 on top of whatever the ATM takes off. Having a credit card will also help you secure other items of interest (ie. plane tickets, rental car, etc).

One last thing to mention about traveling in to the US, I would give yourself anywhere from 2-3 hours prior to boarding. I got through the airport in about 30 minutes, but I traveled on Mothers’ Day, so their was not much people traffic.

So this is all you need to get into the country. Be prepared for an uncomfortable ride with some amazing views. By the end of the 5 hour trip, my entire body ached, but it was worth it because of the sites from the plane window.

Once you land at San Francisco International (SFO), yes you should book your flight from Pearson to SFO, just follow the signs to baggage pickup. SFO is pretty straightforward to get around. It is actually quite smaller than Pearson. Once you get out of the airport you will need to find a way to get to Mountain View.

There are two main options: Caltrain and a cab. The Caltrain will take you about 1.5 hours and drop you off about a 10 minute walk from the Oakwood apartments. It should cost you around $8 US. The taxi cab will get you to the apartment front door in about 40 minutes, but it will cost you about $92 before tip. Cabs from the airport charge “meter and a half”, which means they tack on 50% of the fare. So my fare of about $61 cost me $92…$110 with tip.

One last thing about the Caltrain, you want to go to “zone 3″. The Caltrain system is broken into “zones”. San Francisco is Zone 1, and Mountain View is Zone 3. You pay by the zone for Caltrain, so if you travel within your zone it is actually pretty cheap. It is similar to taking the Go train in the GTA.

This brings me to my most solid piece of advice: Bring about $200 US cash!
Trust me, you may not need this money yet, but you surely will at some point. It is when you do not have the cash that you will need it, so just carry some on you for an emergency.

On a final point of interest, when you get here, the office is very easy to get to. If you are going to walk it, be prepared for about a 45 minute walk. From the apartment:

  • Walk down Middlefield in the direction of the convenience store until you hit Shoreline. You will see a Shell gas station on the right.
  • Make a right onto Shoreline and walk until Charleston and make a left (it is a couple lights passed the overpass.
  • Follow Charleston passed Google and turn onto Landings dr, to the left.
  • Mozilla occupies building K and building S (see map below)

I hope this makes your trip a little easier.

Stay tuned for a post about my Bay 2 Breakers experience.

Prelude May 18, 2007

Posted by ashughes in Uncategorized.
add a comment

Let me start off by saying that my opportunity to work for Mozilla Corporation completely took me by surprise. I was just sitting around, minding my own business when a great man, one Dave Humphrey, emailed me asking if I wanted to take part in an internship at Mozilla for the summer.

Now at this point, I already had a job lined up. Not a great job, but it paid pretty good. So obviously I had to tip-toe my way into this and give some serious thought as to what I wanted to do.

Ultimately I decided to take the opportunity at Mozilla, and it is an opportunity, a HUGE opportunity. My reasoning behind this was:

  1. I saw it as an awesome experience opportunity.
  2. I had done some volunteer work for Mozilla and saw this as an opportunity to dig deeper.
  3. Icing on the cake: I would get to spend the summer in California.

So why write this blog?

The primary reason is that I want to give back to Seneca College. Since this is an opportunity that was completely unknown to myself, this will give future Seneca students the knowledge to walk down this path without flying blind (or at least let’s them know the path exists).

The secondary reason is that I want to have a record of my experiences this summer for my own personal recollection.

My intention with this blog is to give weekly updates on things I have done or experienced, both at the office and extracurricular.

I hope you enjoy reading this as much as I expect to enjoy working at Mozilla this summer.

Later days,

ashughes