Here’s what’s new in mobile Web compatibility this week. (Note: This post was slightly delayed as I didn’t get it published before the Canada Day weekend.)
Firefox for Android release!
Maybe you heard that the Firefox for Android rewrite released this week. Yes it did. The initial reviews are resoundingly positive. You can read some here, here, and here.
Site testing and outreach
Twitter released an update to their mobile site and it is now working very well in the newly released Firefox for Android. Thanks Twitter!
We will be wrapping the call for comments on the A-Team proposal to automate user agent sniffing and CSS property usage issues in the long tail of the Web. Next week the feedback will be incorporated and the proposal revised at which point a final call for review will be sent out. Give it a read and let us know what we can do to make this tool useful for you.
Lawrence smoke tested the NHL, NBA, MLB, and NFL sites this week and, along with reading some sports news, filed a few bugs. Overall these sites work pretty well in Firefox with, for the most part, minor issues.
- Duration: the previous effort lasted~5 years. This time around we’re in a different and I think better position. In most cases today we are not advocating for entire site rewrites. The scope of the problem also seems to be smaller in that the size of the mobile Web is nowhere near the size of the Web itself. (Many of the long tail sites don’t yet have mobile versions.)
- Tactics: The previous effort used many of the same tactics that we are already using today: a tech evangelism team was created (and still exists), documentation about standards based coding practices was written, and we worked with top sites such as MSNBC and ESPN directly to fix issues. We are doing all of these things again today and have already engaged with top sites including Google, Facebook, Twitter, and Instagram.
- Show value: Back in the Firefox 1.0 days, the effort emphasized the value of moving to standards based Web development. This included reduced maintenance and hosting costs (by using technologies and techniques that better support caching). Once Firefox 1.0 released, they were also able to leverage the ~5% market share that Firefox had accumulated to drive adoption. We too should push on the value proposition of working with standards. We can use the combined market share of Firefox for Android, Opera mobile, and Internet Explorer mobile to show the market that sites are missing when only coding for Webkit.
- Change Gecko: While we were hesitant to compromise our values and try to mimic Internet Explorer’s DOM in the name of compatibility, we did take a practical approach. As part of the previous effort we added features to Gecko that helped compatibility, such as implicit support for docment.all. We should continue be careful in the type of changes that we make to our platform but should balance idealism with pragmatism and consider changes where they make sense and can favourably affect the mobile Web and Web standards.
- Engage community: We previously created e-mails and templates to help users contact sites. We are currently working on the tools that the community needs to contribute. This includes documentation on how to test and how to contact sites.
Message when contacting site authors
Here are two key messages when contacting site authors:
- The mobile compatibility effort is about opening up the mobile Web. While Firefox is a part of the mobile Web it is not the only browser.
- Browser detection or user agent (UA) sniffing should be discouraged in favour of feature detection. However, if a site is going to make use of UA sniffing, we should encourage sniffing for the mobile identifier “Mobi” instead of “Android”. (Note: “Mobi” is preferred to “Mobile” in order to support Opera.) It is important to detect the mobile identifier as Firefox currently runs on Android and B2G and has the potential to run on more platforms in the future. We need to push a strategy that prevents the need to contact sites every every time Firefox supports a new platform.
The B2G/Gonk user agent string discussion is still going in the dev-planning mailing list.
that’s an awful name “Gonk”, i suggest you use something else, please pass this info to those that decide on such things:
“Any high tech device that should make your life easier, but, in effect, has the opposite effect.”
“A person who is stupid. A general insult.”
I asked around. Seems “Gonk” is after the Gonk Droid. http://starwars.wikia.com/wiki/GNK_power_droid