Browser-chrome tests on the Fennec front end – Summary

The wonderful program of the Google Summer of Code is nearing to a close. And it’s time the student participants finish their last bit of coding. The ultimate aim of this program is to encourage more people to venture into world of Open Source. So am I inspired?
After 3 months since the coding began, I have done some work. Though effectively I could complete 50% of it. But there were factors not in favour of me. But I relish these 3 months and I definitely would look forward to contribute much, much more.
The aim was to write automated tests to test the fennec front end, mainly the Preferences, Awesome bar, Zooming/Panning and Download Manager. I started on the preferences, which was broken into 4 main tests – basic, checking on/off states, text and colors, and the core functionality. Since being the easiest of the lot, I assumed it would take less time. It was not to be. I submitted the first patch for the basic testing, which got landed pretty soon. Then there was a long period were I had times when I scratched my head wondering what to do next. At times the tests simply timed out, which was simply frustrating. The mobile had landed the e10s, which kind of messed up with the fennec build. And so there was a lull, unable to test what I have written. Finally things began to change for the better, I started working and testing. I submitted all the patches for the Preferences test, of which one landed. Few problems still persist, but I am confident that these would be sorted out.
Then jmaher suggested I start with zooming/panning test. I thought this to be the toughest of the lot. But I began to understand ( I had a bit of the testing in the preferences tests, so there ). And soon I had written the full test in a very short time. But the problem with this test was the use of timeouts, that which simply waits for certain amount of time, to wait for the zooming or panning of pages. Instead it was desired that I wait for events to occur, events that notify whether the zooming has ended or panning has stopped ( the extra problem with panning was the kinetic scrolling, which made it hard to predict, theyby cannot wait for the mouseup event ). So this patch cannot be landed without necessary changes.
I also written a small test to check for favicon visiblity and also the display of title in the awesomebar. But after the e10s were landed, there seemed to be problems with awesomebar, at times the autocompletepopup after focussing on the awesomebar won’t finish loading. And this became the stumbling block for the main awesomebar tests, and I made no further progress in the test.
As for download manager, well it is the toughest of the lot for me. The code behind the download manager was hard to comprehend, and even after a week pondering over it, I managed no result. Now though I have a pretty good idea of how to conduct the test, but it won’t make it before the firm “pencils down” date, so you will see me posting about this test in this blog. 🙂
So, am Inspired? Inspired!? That’s an understatement actually. I’m fired up! Well you can say that because Mozilla invited me to the awesome Mozilla Summit 2010. But the real joy was the project itself. The kind of work that was involved, designing, writing code, testing and deploying. These were the words that popped up so many times during my software engineering classes with me making little sense of them. Now after this, I realize how important these terms are. Technically I learnt more of javascript, and also a bit of python and how they use them. And to be in the middle of a great product on the rise is an awesome experience. It’s fun being a member of the Mozilla Community, and I love to contribute more for the benefit of the people of the World. Thank you Google for giving me this great opportunity to be a part of a wonderful open source organisation.

The wonderful program of the Google Summer of Code is nearing to a close. And it’s time the student participants finish their last bit of coding. The ultimate aim of this program is to encourage more people to venture into world of Open Source. So am I inspired?
After 3 months since the coding began, I have done some work. Though effectively I could complete 50% of it. But there were factors not in favour of me. But I really relish this time, and I definitely would take forward and contribute.
The aim was to write automated tests to test the fennec front end, mainly the Preferences, Awesome bar, Zooming/Panning and Download Manager. I started on the preferences, which was broken into 4 main tests – basic, checking on/off states, text and colors, and the core functionality. Since being the easiest of the lot, I assumed it would take less time. It was not to be. I submitted the first patch for the basic testing, which got landed pretty soon. Then there was a long period were I had times when I scratched my head wondering what to do next. At times the tests simply timed out, which was simply frustrating. The mobile had landed the e10s, which kind of messed up with the fennec build. And so there was a lull, unable to test what I have written. Finally things began to change for the better, I started working and testing. I submitted all the patches for the Preferences test, of which one landed. Few problems still persist, but I am confident that these would be sorted out.
Then jmaher suggested I start with zooming/panning test. I thought this to be the toughest of the lot. But I began to understand ( I had a bit of the testing in the preferences tests, so there ). And soon I had written the full test in a very short time. But the problem with this test was the use of timeouts, that which simply waits for certain amount of time, to wait for the zooming or panning of pages. Instead it was desired that I wait for events to occur, events that notify whether the zooming has ended or panning has stopped ( the extra problem with panning was the kinetic scrolling, which made it hard to predict, theyby cannot wait for the mouseup event ). So this patch cannot be landed without necessary changes.
I also written a small test to check for favicon visiblity and also the display of title in the awesomebar. But after the e10s were landed, there seemed to be problems with awesomebar, at times the autocompletepopup after focussing on the awesomebar won’t finish loading. And this became the stumbling block for the main awesomebar tests, and I made no further progress in the test.
As for download manager, well it is the toughest of the lot for me. The code behind the download manager was hard to comprehend, and even after a week pondering over it, I managed no result. Now though I have a pretty good idea of how to conduct the test, but it won’t make it before the firm “pencils down” date, so you will see me posting about this test in this blog. 🙂
So, am Inspired? Inspired!? That’s an understatement actually. I’m fired up! Well you can say that because Mozilla invited me to the awesome Mozilla Summit 2010. But the real joy was the project itself. The kind of work that was involved, designing, writing code, testing and deploying. These were the words that popped up so many times during my software engineering classes with me making little sense of them. Now after this, I realize how important these terms are. Technically I learnt more of javascript, and also a bit of python and how they use them. And to be in the middle of a great product on the rise is an awesome experience. It’s fun being a member of the Mozilla Community, and I love to contribute more for the benefit of the people of the World. Thank you Google for giving me this great opportunity to be a part of a wonderful open source organisation.

Change in my blog…

Looks like I need a makeover here. If you are a follower of my blog, then you will notice that I have moved to a subtler theme, dark to white.

The makeover is not over. There will be rearranging of the widgets, maybe remove/add widgets. It will take some time for me as the GSoC is nearing it’s end. Also I’m planning to have a new domain for this blog, and then gradually my own theme.

Yeah, creating a new blog would be better, you had say. But for me managing one takes a lot of time. In the course of time I will have another blog, meanwhile I’ll freshen this one up. So you will notice different layouts in the coming few days, bear with me! Wish WordPress had added the kind of makeover room, that is I can change theme, arrange widgets, change background, etc, while the old one is still public. And then, when ready, I can replace the old site. Hmm…. what do you think?

Week no 10 – Bugs Bugs Bugs!

The summit has given me energy to go all in for the automated tests ( also partly that there is only a month left! ). This week was quite engaging. I was working on multiple tests at a time. I filed patches for checking the states of the preferences options and the awesome-bar url check and the favicon check. Also was engrossed on the tests on core functionality of the preferences, as also tests on the tab loading behaviors of the awesome bar.

The one problem I had with writing the patches was the use of window.messageManager. The mobile team would like every tests to use messageManager instead of eventManager and waitFor, for like waiting for events and pages to load. But it is not the case in mine though. I tried using them for page loads, but it does not wait and often the results show fail which it is not. Anyways the guys are working on it, and I have used the other two options for this.

The core functionality tests are the major stumbling block for now. One of the tests to check whether the remember passwords dialog is prompted when the option is switched off. But the problem is that once a textbox is clicked, the form helper loads. After entering a string to it ( password ), it cannot “click” the next element, that is the submit button. Actually it cannot do any clicks on other elements. Anyways I think this issue will be resolved and by the next week I am hoping to see a patch for it done.

The next step would be to work on more tests. I would be concentrating on the preferences options ( checking text and color ), the awesome bar and start work on the download manager. A busy week ahead!

The mountains, keynotes and fun! ver 0.2

When you are 39000ft above the surface of the earth, moving at 500miles/hour, and cramped in an economy class seat for 20 hours, what do you get? A seat in a bus stationed at the YVR Vancouver International Airport, headed to Whistler, 120km away. 🙂 😀 😉 .

The flight was really a tiring one, luckily no one was seated next to me in either of the flight from Bengaluru to Hong Kong, or from Hong Kong to Vancouver. And was enlightened by the conversation an Indian-American professional working in Intel! There was a 4 hour stopover at Hong Kong, which was enough to make me to buy a leica point and shoot camera, 14 mega-pixels of it! ^^

The tiring journey though did not suppress my excitement being in Vancouver, though there was a lull for nearly an hour where I’d to queued up for the immigration center to get clearance. After a burger-combo from the Burger King at the YVR Vancouver airport, I boarded the bus that took us through the bustling city of Vancouver, a city of 2 million people. And once out of the city, my eyes was blessed with beauty! There it was, formerly the World’s longest highway – the Trans Canada highway, winding on the side of the mountain with the sea on the one side with it’s waters ashore the snow peaked mountains. It was natural beauty at it’s best! The water had a tinge of green as it is fed by the glaciers. The bus whistled past the town of Squamish, one the rock climbers would love to visit! The driver would occasionally enlighten us with the info of the places and many other things. And oh yeah, the bus was filled with mainly the Europeans and other countries!

At 5 pm local time, 2 hours since we left the airport, we arrived at The Fairmont Chateau Whistler hotel, where I would make myself home for the next 3 days! And as I hopped out of the bus, I could see mountains, their peaks covered with snow, in every direction I could find! Ah that was beautiful! But my eyes finally began to drool over the exhaustion and all I remember was to get the card for entry into my room ( 351 ) and hit one of the two cosy beds.

I somehow managed to wake up an hour later, freshened up, and ventured out to check the welcome reception. It was in the rooftop restaurants, and was baffled to see lots of people chatting, with glasses, beer bottles in their hands! It was eat, drink and chatter all around as Mozillians greeted each other. I was finally able to meet the Red Hat guys ( 7 of them ) and another from IIT Kanpur, who helped me in getting my visa approved (Read the previous article). The reception went on till late in the night as I met new people and had lots to eat. As the place is pretty north, the Sun sets later that 10 pm! After all the merry, I climbed down the stairs to take a good night rest, and I find another room filled with Mozillians. As it turns out, the room is unofficially called the “Game room”. It had the PlayStation 3, Nintendo Wii and the crowd puller XBox 360 with the rock band instruments! There was food and drinks 24/7!

Finally, I dragged myself back to the room, brimming with excitement of the next day. Can’t help myself thinking how wonderful it has been, something a sort of a dream, how lucky I have been. I closed my eyes only to see the many thoughts of the events next day and many new people to meet, especially my mentor for the GSoC project…….. Wait for ver 0.3!

This slideshow requires JavaScript.

The mountains, keynotes and fun! ver 0.1

Last week, I finally made it to the Bengaluru International Airport with a valid Canadian visa in my passport after what proved to be quite an ordeal. The application for visa which I sent by courier to the Canadian High Commission at New Delhi ( That’s the only one in India ) in May was rejected and I got to know of this decision only a month later, 25 of June to be precise. The decision was taken on 11 June, but they neither told me about it over email nor they bothered to send the decision by a quicker delivery method, choosing the snail pace registered post that managed to arrive more than a week later.

With only a week left for the flight, my shoulders dropped and all hope lost, thinking I will never get to the Mozilla Summit. But the lawyer in Canada, who helped me with the proceedings, had other plans. He strongly recommended that I reapply again with more proof of the Mozilla Summit. So with nothing to lose, I then went to VFS application center at Bangalore, which generally takes 5 working days for the whole process. I submitted and waited patiently for the news. Finally good news came on Friday that the application was approved and can be received at Bangalore on Monday. Without the help and great support from the Canadian Lawyer Avi Gomberg, I would have been scanning the pictures of the Mozilla Summit at home!

Ok, my visa was approved, but there was this part that I must have the passport in hand, that in many stories they generally don’t bother to talk about. Not in this case though. The oil price in India was hiked that week, and as usual the opposition parties went on strike. Now they called for a bandh on Monday, the same day when I am supposed to get the passport and also catch the flight later that night! You can imagine how tensed I was! My Dad too! Though the VFS guys said they won’t close the shop on that day, over and over again!

So taking their trust, I went to walk through the empty wide roads of Bangalore, walked past the Vidhana Soudha, and made it to the VFS center which luckily was open and also I got my passport! So so lucky I was! With that I spent rest of the day roaming or sleeping ( Actually I couldn’t sleep because the bed bugs in the room of the lodge I was staying in gave me company… :X ). In the evening the city sprang to life as though they were held back by a long way from their work because of the bandh. And I had a nice time with a friend of mine from IISc and had a great dinner at the Adiga’s restaurant.

Later that night I took a bus, the Vayu Vajra, from the biggest bus stand in the world at Kempegowda Bus Stand to Devanahalli, the Bengaluru International Airport, at 9 p.m. Due to the bandh, the traffic was less and so the journey was just an hour and 15 minutes, and so 10:15 p.m I was at the airport. Being the first time at any airport ( except the Kochi Airport and the Kozhikode Airport when I was in class 8 ), I was pretty stunned seeing it’s size. I was all at sea there, thinking what to do, what not to do. My flight being at 2:40 a.m and since I had already checked in online, I was only needed to arrive 45 minutes earlier. So there I was, with 3 hours left to do nothing but wait. So taking the suggestion from my Dad, uncle and sister, I went in through the immigration customs ( the guy didn’t even know there is a company called Mozilla, more than that he didn’t know of a place called Vancouver in Canada! ). And after all the security checking and stuff, I was inside with another 2 hours to go. So I sat there, dreaming about being in Canada, which I have never been in my life!

************* So read this much eh? Then wait for the next post about the flight and on arriving at Canada! ***************

Week no….. ah I lost the track!!!

Yeah, seriously I lost the track on the current week number, all because of the awesome awesome Mozilla Summit 2010. Not only a week that was gone for the summit ( that includes 2 days of flight), but also a week before that because of the visa refusal ( more on that in the coming blog post(s!) ).

So what about the GSoC? Sure, it’s lagging behind, maybe by a week or so. But I got all the things on note and surely be taken care of with few extra hours of work. The best part is that I met my mentor there ( Joel Maher ) and also other people that count like Mark Finkle, Clint Talbert, Gerv, and many others. The summit was a enthralling experience and has only made me more committed to Mozilla, Mozilla ROCKS!!!

So the next few weeks will be tight for sure, with the mid-term evaluation round the corner (July 16). But I am pretty confident that I can pull the things through, that I have got all things in order and now more than ever I know what to do (Pretty strong words eh!). The summit has given me whole bunch of experiences that has enriched my knowledge on the mobile firefox and other related stuff. The discussion with jmaher was great and he turns out to be an amazing guy with tons of experience in the field of automation. I feel so lucky to have him as my mentor and now we are both ready to put things on the fast track and get them done for the benefit of getting the first version of Mobile Firefox into the many phones round the world!

So the next week, I’ll be concentrating on putting new patches for testing the preferences options like the homepage selection, checking the core functionality, and also text and colors. Also I am hoping that I’ll put a patch through for testing the awesome bar favicon and trivial stuff. So that’s the plans for the week and I will be updating the next week.

Oh yeah, for the records, I’ll put this week as week no. 9 as I can find it in the calendar… 🙂

Week no 6 – First Patch through!

Due to unfortunate circumstances, I had to skip off week no. 5 post. Anyways, here I am with the latest updates of what has happened so far in the automation tests for Fennec front end.

The first patch, that was basic panning of preferences pane of Fennec, has undergone a lot of ridiculous changes (which you can see from this bug489158). But finally I found out the way to compare the panning values with that of variables that depend on the Fennec size. This way I got rid of all the hard-coded values except one which has no possible way to find out. After all that and few silly changes Continue reading