Program Management/Programs/Apps/Site Compatibility
Contents
App/Site Compatibility
There are a number of issues that can affect the overall app/site experience (appearance and functionality) on Gecko. This page contains a breakdown of the issues that impact app/site compatibility on Gecko and affect apps, mobile, and B2G.
Note that the while apps span desktop and mobile the initial focus is on mobile apps.
Note also that the compatibility effort is focused on existing apps/sites. There is a desire to bring new partners to the Mozilla Marketplace. This work is outside the scope of this project. Business Development is working on these partnerships and maintains a separate list for this focus. Contact Ron Piovesan about this effort.
Issues that impact app/site experience
The are 4 main buckets of issues that affect the appearance and functionality of a mobile web app/site on Gecko:
- UA Sniffing, aka not serving Gecko the right site
- Use of WebKit-prefixed CSS properties without using the moz-equivalent prefixed properties or where no moz-equivalent property exists
- Performance of CSS rendering and transitions
- WebKit/Android/Safari-specific JavaScript
Investigation
There are two paths for the investigation of existing apps/sites: automated testing and deep dives. QA is currently engaged on both.
Automated Testing
In order to cover the breadth of apps/sites that are needed to ensure success and measure progress an automated test framework will be developed to help identify issues. This requirements of this framework are:
1. compare the Firefox mobile (Fennec), Android stock, and iOS Safari browsers
2. identify apps/sites that render substantially differently in the different browsers
3. identify the use of webkit prefixed CSS properties with no moz equivalent
4. run on a regular (weekly) schedule
See Aaron Train's screenshot tool.
John Jensen has also created a database with data on vendor-specific CSS property usage data from 127m CSS properties taken from 1.1m pages on 18,000+ sites. See bug 708406 for summary charts and details.
Using the same data, and the "greedy" set cover algorithm, John prepared this Google Docs Spreadsheet that summarizes the ordered minimum set of properties that are required to "fix" the maximum number of sites.
In the spreadsheet, a site is considered "broken" if it has at least one rule that includes a property without a -moz- or unprefixed CSS property. There were a total of 2,400 sites that had at least one such rule. The order of the properties listed in the spreadsheet maximizes the number of sites "fixed" with the minimum number of properties.
TODO: File bugs
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Deep Dives
The automated testing can identify potential issues with layout rendering and CSS usage. Technical deep dives are required in order to confirm issues identified by the automated framework and to identify functional issues.
TODO: File bug for each deep dive.
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Related links
Serving the right site
Many sites have mobile specific versions but these versions are not served to Firefox mobile. The primary reason is that the sites are sniffing the UA string and do not correctly identify the Firefox mobile UA string. In these cases either the full desktop site or an older WAP site may be returned to Firefox.
Evangelism is solving this problem by speaking directly with site owners to update the UA sniffing logic to include the Firefox UA.
See also the mobile evangelism wiki page.
Fennec Native Evangelism bugs
Tech Evangelism Android bugs
Top apps bugs
website-compatibility bugs
- Related Pages
Mobile evangelism
Mobile evangelism taxonomy
Fennec user agent spec
CSS
There are two CSS issues that relate to site compat:
- performance of graphically intensive properties
- -webkit and -moz prefixed properties
The layout team is currently focusing on mobile performance to meet or exceed webkit capabilities on identical hardware. The focus is on -webkit and -moz CSS properties that are graphically intensive (transforms, transitions, and animations.) The plan is to improve our performance first and, in parallel, to work on unprefixing those properties in the W3C CSS standards.
ID | Summary | Priority | Status |
---|---|---|---|
524925 | Avoid reflows for transform changes | -- | RESOLVED |
539356 | Replace Invalidate() calls in reflow with display list analysis | -- | RESOLVED |
702739 | Pre-render overflow area of frames translated by CSS transforms, that are active and partially visible | -- | RESOLVED |
725095 | [Meta] OMTC: Land Android compositor | P1 | RESOLVED |
4 Total; 0 Open (0%); 4 Resolved (100%); 0 Verified (0%);
Firefox browser specific issues
There are issues that may be Firefox specific as well, such as not recognizing touch inputs. These issues may be due to differences between gecko and webkit.