Browsers, Web testing and crowdsourcing
This post would talk about testing recent builds of various browsers and the explosion of various browsers and thoughts about crowd-sourcing involvement in that.
Confession time first, I am not a web programmer/designer just a guy who loves where the web is going. Having said that my first brush with testing was when I joined the mozilla forums circa August 2005. I did quite a bit of testing before that in a p2p framework which was a proprietary product on a proprietary platform before that (circa 2001-2003). In 2005, I was testing most of the builds on MS-Windows as there wasn’t the concept of builds for Linux or it was there but very very hard. There was also no concept of Personal Package Archives and no dedicated teams for browsers in Ubuntu.
Jump to today and you have something like 170 odd browsers targeting the desktop, mobile space and everything in-between.
Now, for a web-project (which has been now put on hold) I have been testing the various builds of Firefox ( 3.0, 3.5, 3.6a2 as well as 3.7a), google chrome/chromium, midori, Opera builds and Apple Safari on a spare windows box as a backgrounder for what things are possible/achievable.
I have been testing something in the range of 300 odd hours. Some analysis, thoughts from all the testing rigors I put myself through.
a. As of right now, there are four basic layout engines which one has to know/contend with. They are trident (which is responsible for the various Internet Explorer versions), Presto (which is responsible for the various Opera builds) , Gecko (which is responsible for all Mozilla as well as mozilla-based browsers) and Webkit (loved by Google Chrome as well as responsible for Apple Safari) . You can find a comparison of the layout engines at Wikipedia
b. Of the five major browsers, three have fantastic to excellent community relationships. Mozilla by far the best in terms of engaging people, Opera comes a distant second with Google Chrome catching up. Apple Safari and IE don’t have good channels for prospective testers.
c. Coincidentally or not, all the three are present on all the three Operating systems i.e. GNU/Linux, Windows and Macintosh. They are also have presence or desire to have presence in the mobile market as well. Opera with Opera mobile, Mozilla with Fennec and Android/Google Chrome which has announced intentions of having a mobile version when it unveiled the desktop one. There is already an apps. page for Google mobile .
d. Except for Trident (ie Internet Explorer) all are standards-based and trying to outdo each other in being standards-compliant. An interesting news (good or bad depends on your point of view POV) is that Microsoft has expressed interest in being part of the process/standard for HTML 5. This should/could mean good things for users but only time will tell.
e. I was really amazed by the kind of web development and testing extensions which are there on the Mozilla/Firefox platform. Google Chrome does have lot of catching up to do but I’m excited with what they will unveil.
f. On GNU/Linux except for Trident, all the other layout engines are well-represented so as users, testers,developers the whole ecosystem benefits.
g. While being involved in testing, also became curious as to what the future holds and hence joined the whatwg mailing list and learnt a lot about where and how things are going.
h. All the browsers are gaining ground except for Internet Explorer .
i. Fennec in particular has been generating quite a bit of interest and it unveiling the 3.5 version today has quite a bit of excitement as well.
j. From 0-day exploits and security perspectives, the browsers who have their hands on all the three platforms have much better QA and hence are more in-tune to fixing whenever vulnerabilities crop up. Secunia is a good site to find what the state of many of the products are.
Now obviously, as all these have been happening, have also been contributing in terms of either reporting bugs directly/indirectly, asking queries on the mailing list where documentation is or isn’t. This practise would come under crowdsourcing .
Citing wikipedia its described as
Crowdsourcing is a neologism (the act of inventing a word or phrase) for the act of taking a task traditionally performed by an employee or contractor, and outsourcing it to an undefined, generally large group of people or community in the form of an open call.
Now while crowdsourcing is relatively a newer term, it has been in existence in one form or the other since the time that somebody invited somebody to test some software/hardware and the other guy doing it as he/she gets a sneak-peek into the latest bleeding edge. Now while before they used to have dedicated people for this and still might do, there are today a myriad of hardware and software components which coexist. Looking at all those use-cases is just not practical/possible when you have time and budget constraints to release a product on time. This is the reason where product managers along with their developers use crowdsourcing .
Ok, so one is gonna be doing crowdsourcing whether he/she is aware or unaware of the fact when he/she is using an alpha/beta product. So atleast for me it makes sense to do alpha/beta tests of FOSS products as the lessons learned are learnt by all who are part of the community.
Another thing, crowdsourcing also helps to make that specific network much more valuable. A fine example of the same would be say OpenDNS which uses ideabank as well as domain tagging which makes all the data acquired by opendns more valuable as the data has been verified by humans rather than an algorithim/robot.
There is actually a lot more to the discussion but each thing takes time. For e.g. while researching I came to know that most developers look at a 5 year range for browser compatibility tests. That is a lot. Also came to know of many interesting/great sites, an example would be quirksmode which makes for a lot of interesting reading.
There are some caveats as well. Just having a nice site doesn’t work. Most of the sites which have been able to use crowdsourcing made lot of investment of time as well as money to make sure that there is infrastructure whenever the site/traffic grows as well as human infrastructure which is welcoming and making sure that questions are answered. Another hall-mark of these communities have been that they are open and do share what they are planning and ask for community opinion on the road ahead.
Many of them would have also a dedicated community managers to reef through all the traffic and make sense of the trends and gems within the answers given.
While there are still many issues and many ideas which will play out in the coming months and years, the network is never gonna be the same again. I would argue that we are entering the golden age of innovation as far as the network is concerned.
Comments, suggestions, brickbats all welcomed 🙂