Thoughts On Cross Browser Testing (And a Tool to Simplify the Process)
If I were asked to identify one primary annoyance associated with a web development career path, it’d be the abundance of browser inconsistencies. From the consumer’s point of view, the web is an endless source of content, and they are given the ability explore that world. Browsers permit such exploration, but the resulting experience depends on a multitude of factors, most of them transparent to the consumer.
There’s an organization known as the World Wide Web Consortium (W3C), and their entire goal in life is to ensure the long term growth of the Internet. In accordance with this objective, the W3C took the time to define standards for the core technologies they created, such as HTML and CSS. Yet, the reality is that browser developers don’t necessarily adhere to these standards, as there’s no way to enforce their adoption. While some respect the standards, others instead travel the road of partial compliance, with proprietary technology added in. As a result, when a consumer tries to access a website, he may face a situation where it:
- loads properly, and all appears to run well.
- encounters issues when loading, but remains usable.
- encounters issues when loading, resulting in a broken interface that cannot be used.
- refuses to load, and asks the consumer to launch a supported browser.
Even with the best outcome, scenario 1, there may still be “problems” that are invisible to the user. For example, it is very possible that the source code includes browser detection logic that is used to cater the content to the consumer’s browser. If all browsers supported the standards fully, such handling would be unnecessary, and developers wouldn’t need to worry about browser-specific code. As a result, the web would speed up for all. On desktop computers, that performance gain won’t necessarily be crucial to the experience; however, keep in mind that mobile phones are increasingly web-enabled, and yet, have a fraction of the resources that desktop computers do.
Scenarios 2 and 3 suggest that the website creators may not have devoted enough time to testing with different browsers. After all, in most cases, a website should be identical regardless of what browser is being used to access it. Without such a guarantee, some users may suffer a flawed experience.
Scenario 4 is rare, but is usually encountered in a business context with highly specialized web applications. The rejection of a particular browser doesn’t necessarily mean that the standards weren’t being followed – perhaps the web application was designed to take advantage of one specific browser’s feature, one that isn’t offered elsewhere. This is not necessarily a bad thing, though I would argue that it enforces limits that would otherwise not be there. However, if we’re talking about a public website that refuses a visitor solely because they are using a specific browser, I’d consider it more of an insult to the open nature of the web.
So finally, a web developer must take browser differences into consideration. Thankfully, things are improving – for example, the infamous Internet Explorer 6 is now finally on its way out. Good news, sure – but it isn’t a magic pill. There are still plenty of browsers and browser versions out there, and like it or not, they differ. To test properly, a developer must have a way to run their code in multiple browsers, which usually requires the use of virtual machines. At least that’s how I used to do it, until I found a better approach.
Meet BrowserStack, a web-based cross-browser testing tool. How does it work? Well, it’s actually a pretty clever idea. Users are simply asked to enter the site they wish to view, the browser they want to view it with, the browser version, and the operating system. They will then be given web access to a virtual machine that has the requested webpage loaded, in the right environment and browser. Here’s an example below:
The panel on the left makes it very easy to change any of the parameters, while also offering popular debugging tools. I was initially impressed by their ability to switch between configurations with relative ease. Then, I found out that they also allow you test local content by using SSH tunnelling – now that, I found even more impressive. Add the fact that they have multiple versions of Safari, Chrome, Firefox, Internet Explorer, and Opera – and you’ve got quite a service.
For those interested in testing it out, they’re offering 30 mins of use for free, but beyond that, you’d have to look at their pricing plans. If I were still doing web development as a full time job, I’d love to have access to such a tool – the time it saves would add up quickly.
Detained While Reporting Spam in Livemocha
Ah, yes, Livemocha. If you haven’t heard, Livemocha is a site that allows you to learn languages with the help of a community. While it does offer exercises and quizzes that are similar to Rosetta Stone, the most powerful feature is the fact that other users review your submissions. That alone is worthy of a recommendation, so check it out if you haven’t already. The community support goes a long way towards motivating a person, and also ensures only native speakers of a language are the ones reviewing. This idea is a very powerful one, but unfortunately, the interface that they offer – the website – is flawed in many ways. Today, I’d like to share my experiences with one of these flaws, which, in my opinion, is a major usability issue.
Consider this Livemocha e-mail notification:
Alright, so “maxwevictor96″ sent me a message. The name is a bit weird, so I’m pretty sure it is spam – but there’s no way for me to read the message content from the inbox. If I click on the link, I’m forced to log into Livemocha before I’m allowed to see the content. Seeing as Livemocha also offers paid learning services, I can see why they might want us to log in as often as possible. After all, the more time we spend on the site, the more time we have to consider paying for advanced services. Of course, I’m just speculating – it’s possible they didn’t intentionally design it with that in mind.
Anyway, provided I do log in, I’m brought to the message:
So, yeah, definitely spam, and it’s up to me to either flag it, or ignore it completely. In an effort to improve the services that I use, I usually go out of my way to flag spam. Notice the Report abuse button on the left? Seems clear enough, so let’s click that.
A gray overlay appears over the site, and after about 2 seconds of loading, the above dialog appears. So far, I can’t really complain – apart from the long load time. The form seems pretty standard, so I select Spam from the Category dropdown, and click Submit.
Instead of the dialog disappearing, an error message appears, telling me that the “Message cannot be blank“. Apparently, saying the e-mail is spam is not enough. I actually have to type something in the comments box… but what do they want me to enter at this point? The first few times, I wrote “This is spam”, what else do they expect? Seems to me that the form should not require comments if you’re simply flagging spam. After doing this on many separate occasions, and cursing at the unknown designer that came up with this process, I actually caught myself adding random characters to the Comments textbox, just so I could submit quickly. In other words, I spammed the report spam feature, to save time - all because of this bizarre design choice. It reminds me of the Windows Server 2003 dialog that appears whenever you boot, where you have to explain why the machine was taken offline. Sure, it can be useful in specific environments, but for a simple test machine – I really don’t care when it goes offline, so I learned to enter random garbage into that textbox just to get past it. Funny how design choices can turn well-intentioned users into annoyed pseudo-spammers.
Anyway, provided you spend time entering something in the comments box, you can successfully click Submit. Then, this message appears:

"Thanks for helping us keep Livemocha clean. Your Abuse Report has been submitted successfully. (This form will close automatically in 5 seconds.)"
I get thanked for keeping Livemocha clean, and it tells me my report has been submitted successfully. Okay, fine – then I’m told the dialog will disappear in 5 seconds, so I don’t need to do anything. They offer a small close button, but it’s far enough away from where my mouse cursor is (after clicking Submit) that I never actually felt like it was worth it to try and close the window early. If at least they would count clicks outside the dialog, I could hide it immediately by clicking the gray zone. But no, instead, I’m subject to time-limited target practice – if I can click the little Close button quick enough, I can save maybe 2-3 seconds. That, or sit idly and let the 5 seconds elapse – after all, once you’ve read the message one time, there’s really no value in re-reading it.
So why do you feel the need to waste my time, Livemocha? I lose 2 seconds waiting for the dialog to appear, then I have to select Spam, enter redundant information in the comments box, click Submit, and then wait 5 more seconds. I have a suggestion, guys – how about a Report Spam button with no questions asked?
Update: I posted a feature request on LiveMocha’s feedback site.
Online Coupons With Coupon Chief
Historically, I’ve always used RetailMeNot for my coupon code needs, as I knew of no viable alternatives. When Coupon Chief contacted me to know if I would review their site, I was glad to agree – after all, competition always tends to produce better products, overall. Before I continue, I want to be clear about the fact that Coupon Chief is paying me to write the review below. Despite their sponsorship, rest assured – the review represents my own honest, unbiased opinion.
Presentation
My first impression of their website was a positive one, thanks to a very clean design, and no visible ads. The content featured on the main page is well placed, and represents what I think will be the most practical shortcuts for users. The search feature is also prominent, and instead of using a proprietary search engine, it utilizes the Google Custom Search. Google’s prowess in the search market is widely known, so I have no doubt in the effectiveness of the search feature.
While Coupon Chief does not currently have ads on the front page, they do feature them on store, coupon, and search result pages. Largely text-based, these ads all seem to be respectfully placed, and currently do not obstruct the user experience. As necessary as advertisements are, I feel caution is necessary to ensure they don’t end up harming the user experience. I’m glad to see that Coupon Chief did this tastefully.
Rating: 



Features
Considering the simple nature of copying a coupon and using it towards a purchase, I approached Coupon Chief expecting to do just that. Sure enough, using the site can be as simple as that – but I was happy to see that they also made a few unique additions.
A feature called Coupon Pulse provides users with a statistical breakdown of the coupon’s success. The color coding makes it easy to quickly determine the general health of the coupon, while also offering specific details should the user be interested. I really appreciated this feature, and felt it was a definite improvement over having just a percentage success rate.
There is also a way for users to get e-mail notifications whenever a coupon is added for a particular store, or a particular tag. I like that this is completely customizable, with fairly generous alert limits (12 stores, 12 tags). I wasn’t able to find a similar feature on the RetailMeNot side – all they offer is a global newsletter that showcases the most popular coupons, which Coupon Chief does also.
For those looking to for extra income, Coupon Chief offers an intriguing feature known as “Pays-2-Share“, which rewards users when the coupons they uploaded are used by others. According to the description, every time someone uses a coupon you’ve uploaded, 2% of the sales are awarded – up to a max of 25$ per store, per month. I was unfortunately unable to try the “Pay-2-Share” feature, as I am not a U.S. resident; however, I really like the idea of paying users, as it could potentially drive merchants to make their coupons easily accessible. Also, the efforts of regular, every day individuals would be rewarded.
“Coupons-4-Causes” is another promising feature, allowing users to contribute to charities whenever they use Coupon Chief coupons. Coupon Chief states that they’ll donate up to 20% of the purchase price to the charity, school, or church of the user’s choosing.
In the future, I’d like to see them release power tools, further facilitating the process of exploiting online coupons. For example, a browser extension that is able to automatically look up websites, as RetailMeNot currently offers.
Rating: 



Usability
Given the simplicity behind the concept of copying coupon codes, one would expect that using such a website would be obvious, and it usually is. Yet, in the top right corner of their menu, Coupon Chief has a helpful “How it works” page. When visited, the user is presented with a video tutorial that explains how to use the site efficiently. For further detail, there is a clear list of steps right below that video, further explaining how it all works. I really like it when sites do this, as what is obvious for one user may not be for another.
In general, I found that Coupon Chief was pretty good in terms of usability. I only spotted one problem throughout my review: When reviewing coupon entries, I noticed that the name of the user was preceded with an image that included a color code in the top left corner. At first glance, I wasn’t sure what this image meant; however, when I hovered over it, the tool tip revealed that it was a user trust score of sorts. That explained it to me, but I still felt like it could have been represented in a better way. Perhaps the avatar and trust score would be better if kept separate, as in some cases, the color code might blend too well with the avatar, making it difficult to see.
Rating: 



Security
Whenever I encounter a new website, I typically lookup the domain on Web of Trust, to get a sense of what the public already thinks about it. In this case, Coupon Chief has a fairly negative reputation, but I think I understand why. The problem seems to be that users can submit coupons, and along with them, links to other websites (domains). The submitted websites could potentially be malicious by nature, or simply have shady practices. There needs to be some sort of a system in place to ensure that such domains are rejected.
As a test of my theory, I tried to see if I could create a completely bogus (and harmless) coupon, associated with mattrefghi.com. Sure enough, I was able to do so – and it immediately was allowed to show up in the search results. I feel that there should be a validation procedure, automated or not. Otherwise, I can see users potentially getting spyware, or even viruses by clicking links submitted by certain malicious users. Now, users do have a “Trust score” on Coupon Chief, and that’s a good step; however, I feel it needs to be exploited further. For example, if the trust score is bad enough, maybe coupons from that user should require validation before appearing on the site.
Coupon Chief also currently has problems with comment spam, as it allows any users to post comments under coupons, without a CAPTCHA, or any detectable form of moderation. I feel they need to implement some counter-measures here, to ensure the quality of their service isn’t compromised.
Rating: 



Stability
In general, Coupon Chief runs pretty smoothly – I only encountered two minor issues when reviewing it, and felt only one was worth mentioning here.
I found certain cases where the coupon code itself is partially obstructed by the scissors icon, preventing users from reading it fully. Clicking on the coupon will still launch another window, and will apply the right code. However, if a user tries to do it manually, he may think the code doesn’t work, when in reality, he likely just didn’t see the last letter.
I found this issue while using Google Chrome 10.0.648.204, so it may not be reproducible in other browsers. Also, it seems that it doesn’t always occur – sometimes the scissors don’t overlap, and you see the code properly.
Rating: 



Consensus
Coupon Chief is a welcome addition to the world of coupon codes, introducing unique new features, and an attractive way to get paid for submitting content. The security problems I noted earlier are my only concern at the moment, so until they correct those issues – I suggest sticking to well known stores and coupons within the site.
Rating: 






















