Mobile/Evangelism: Difference between revisions

Fixed bug link
mNo edit summary
(Fixed bug link)
 
(33 intermediate revisions by 6 users not shown)
Line 1: Line 1:
__NOTOC__
=Mobile Web Evangelism=
{{draft}}
Ten years ago, Netscape and Mozilla together put together a massive technical evangelism program to persuade an IE-focussed web to consider Gecko and other rendering engines. Today, we need the same thing for a Webkit-focussed mobile web.


Here is what a kick-ass, successful Mobile evangelism program would involve:
Ten years ago, Netscape and Mozilla together put together a massive technical evangelism program to persuade an IE-focussed web to consider Gecko and other rendering engines. Today, we need the same type of program for the Webkit-focussed mobile web.


== Site Testing ==
==Goal==
The high level goal is to move Web producers (sites, tools, frameworks, etc.) from a Webkit centric approach to an open approach that works with non Webkit based browsers. This evangelism effort will specifically focus on Firefox for Android and Firefox OS.


===Scope===
* sites with mobile versions
* tools and frameworks that are included in the development and production of mobile sites
* Out of scope
** partners with whom Mozilla is already engaged, for ex. companies developing apps for the Firefox Marketplace
** changes to the Gecko platform (subject of another project)
==Projects==
===Mobile Web Compatibility===
The focus of [[Compatibility/Mobile|Mobile Web Compatibility]] is to work with companies and individuals to make existing mobile content functional on non Webkit based browsers, specifically [[Mobile/Fennec|Firefox for Android]] and [[FirefoxOS]]. It is part of the wider [[Compatibility|Web Compatibility]] effort.
===Developer Evangelism===
To promote best practices to site developers and ensure that the tools and frameworks they use support non Webkit based browsers, specifically Firefox for Android and Firefox OS.
===PR===
This project has not yet been scoped. Ideas include a compatibility pr push and case studies for changing a site to function with non Webkit based browsers.
===Documentation===
To create/update MDN documentation for mobile development best practices and mobile specific topics.
Note: need to revisit this project to ensure doc links are up-to-date
MDN needs to become the go-to destination for HTML mobile site development, just as it aims to be on the desktop, with information about all browsers. We particularly need authoritative articles on:
* How to properly detect Desktop vs. Tablet vs. Mobile devices
* How to design a web site to support a Mobile or Tablet device
But also, our browser compatibility information must include the mobile web, and we need to make sure that angle is well represented in our writing.
User Agent
* https://developer.mozilla.org/en/Gecko_user_agent_string_reference
* http://hacks.mozilla.org/2010/09/final-user-agent-string-for-firefox-4/
* https://developer.mozilla.org/en/Browser_Detection_and_Cross_Browser_Support  (way out of date)
CSS
* any place that has summary of vendor prefix status?
* some stuff on current prefix usage http://peter.sh/experiments/vendor-prefixed-css-property-overview/
* {Bug 708406|https://bugzilla.mozilla.org/show_bug.cgi?id=708406} - Analysis of the use of vendor-specific CSS property prefixes on the web
===Tools===
To create tools to assist with evangelism efforts.
* Site evangelism report: [http://arewecompatibleyet.com arewecompatibleyet.com]
* Framework and tools evangelism report: [http://people.mozilla.org/~lmandel/arewecompatibleyet/frameworksandtools.html arewecompatibleyet.com frameworks and tools]
==Communication==
{| class="wikitable fullwidth-table"
! Communication Type !! Mechanism !! Audience
|-
| Announcements || [https://lists.mozilla.org/listinfo/dev-platform dev-platform] and [https://lists.mozilla.org/listinfo/dev-planning dev-planning] lists || all
|-
| General discussion || [https://lists.mozilla.org/listinfo/dev-platform dev-platform] list || devs
|-
| Meetings || meeting time
{{conf|conf number}}
* Vidyo: video room
* IRC: [irc://irc.mozilla.org/ircchannel #ircchannel]
* Agenda: 
|| all
|-
| Meeting summaries || [[Program Management/ProjectPlanTemplate | this wiki]] || all
|}
===Press & Blog Posts===
* October 30, 2012 - [http://blog.gerv.net/2012/10/website-evangelism-mobilizing-mozilla/ Gerv Markham: Website Evangelism: Mobilizing Mozilla]
===Minutes and Progress Reports ===
Minutes and progress reports are tracked on the [[Compatibility/Mobile#Minutes_and_Progress_Reports | Mobile Web Compatibility wiki page]]
==People==
{| class="wikitable fullwidth-table"
| Project Champion ||
|-
| Program Management || Lawrence Mandel
|-
| Web Compatibility Analysis and Contacts || Karl Dubost, Hallvord R. Steen
|-
| Product || Chris Lee (B2G), Karen Rudnitski (Mobile browser)
|-
| Incoming Bug Triage || Jason Smith, Aaron Train
|-
| QA || Tony Chung, Jason Smith, Aaron Train
|-
| Market Strategy || John Jensen
|-
| Dev Engagement || Jean-Yves Perrier, Ali Spivak
|-
|}
==Milestones/Iterations/Tasks==
high level milestones can be included in this page. more complex milestones and tracking information (typically bug lists) should be included on a milestone specific tracking page
==References==
===Site Testing===
* Gather a list of mobile sites to test (top N worldwide, plus regional lists)
* Gather a list of mobile sites to test (top N worldwide, plus regional lists)
** Our own [https://wiki.mozilla.org/Mobile/Evangelism/TopMobileSites short list] of most popular mobile sites
** Our own [https://wiki.mozilla.org/Mobile/Evangelism/TopMobileSites short list] of most popular mobile sites
Line 15: Line 110:
** Also, [http://www.mobileawesomeness.com/ this site] provides ratings on based on effectiveness on mobile devices
** Also, [http://www.mobileawesomeness.com/ this site] provides ratings on based on effectiveness on mobile devices
** Top Crashing mobile sites for Dec 2011  https://wiki.mozilla.org/Mobile/TopMobileCrashDomains
** Top Crashing mobile sites for Dec 2011  https://wiki.mozilla.org/Mobile/TopMobileCrashDomains
** [https://wiki.mozilla.org/Mobile/Evangelism/iPhoneAndroidTargetSites John Jensen's Sites Targeting Mobile]
** [https://wiki.mozilla.org/Mobile/Evangelism/Automation Automation Tool] Requirements (a-team is helping)


* Develop a way to track the testing of these sites, and organize testing sprints to accomplish the testing.
* Develop a way to track the testing of these sites, and organize testing sprints to accomplish the testing.
Line 27: Line 124:
* Getting correct mobile content vs. engine-specific mobile content vs. overly-dumbed-down mobile content (feature phone content) vs. desktop content which doesn't degrade nicely
* Getting correct mobile content vs. engine-specific mobile content vs. overly-dumbed-down mobile content (feature phone content) vs. desktop content which doesn't degrade nicely
* Getting Webkit-specific CSS
* Getting Webkit-specific CSS
** plans -> https://wiki.mozilla.org/Platform/Layout/CSS_Compatibility
** tracking -> https://bugzilla.mozilla.org/show_bug.cgi?id=690985
** analysis -> https://bugzilla.mozilla.org/show_bug.cgi?id=708406


We need to continue to have the recently-added feature that allows toggling between mobile and desktop content to help with this kind of testing.
We need to continue to have the recently-added feature that allows toggling between mobile and desktop content to help with this kind of testing.


===Problems That Have Been Already Found===
===Testing Results Problems That Have Been Already Found===


Current problem lists:
Current problem lists:
Line 36: Line 137:
* Whiteboard: [website-compatibility] ([https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=website-compatibility search])  
* Whiteboard: [website-compatibility] ([https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=website-compatibility search])  
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=616348&hide_resolved=1 Dependencies of bug 616348] - [meta] Web compatibility for Mobile Firefox (Fennec)
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=616348&hide_resolved=1 Dependencies of bug 616348] - [meta] Web compatibility for Mobile Firefox (Fennec)
* AaronMT Screen Shot Results
** http://people.mozilla.com/~atrain/mobile/Evangelism/01-2012-topsites-01/topsite-01-ics/topsite-01.html
** http://people.mozilla.com/~atrain/mobile/Evangelism/01-2012-topsites-01/topsite-01-gingerbread/topsite-01.html
** http://people.mozilla.com/~atrain/mobile/Evangelism/01-2012-topsites-01/topsite-01-ics/topsite-01.html


== User Testing ==
== User Testing ==


We need something like the "Report a Broken Website" tool which used to be in Firefox. It could be that [http://http://input.mozilla.com/ Input] is that thing, if it can be asked for broken website reports specifically from Mobile Firefox. However, currently, volumes of Input data from Mobile Firefox are pretty low, and that may be to do with access points and workflow - the only access point is XUL Fennec a "Give Feedback" button on the start page, which is not very mentally connected with a problem on a particular site. And the "include your last visited site" option is not auto-populated, so it's very unlikely that a user would type in a full long URL there from memory! I can't find an access point for Input in Native Fennec at all.
We need something like the "Report a Broken Website" tool which used to be in Firefox. It could be that [https://input.mozilla.com/ Input] is that thing, if it can be asked for broken website reports specifically from Mobile Firefox. However, currently, volumes of Input data from Mobile Firefox are pretty low, and that may be to do with access points and workflow - the only access point is XUL Fennec a "Give Feedback" button on the start page, which is not very mentally connected with a problem on a particular site. And the "include your last visited site" option is not auto-populated, so it's very unlikely that a user would type in a full long URL there from memory! I can't find an access point for Input in Native Fennec at all.


A "Report Broken Web Site" menu item on the "Site Options" list, either in all versions of Firefox or in all of them up to Beta, might well get us more data. (Site Options doesn't yet seem to exist on Native Feenec, although one would assume something Larry-like will appear before too long.)
A "Report Broken Web Site" menu item on the "Site Options" list, either in all versions of Firefox or in all of them up to Beta, might well get us more data. (Site Options doesn't yet seem to exist on Native Feenec, although one would assume something Larry-like will appear before too long.)
Line 57: Line 163:


== Tracking Progress Though Effective Metrics ==
== Tracking Progress Though Effective Metrics ==
We need a tool for tracking progress of the testing, engineering, and evangelism efforts. The tool should make it clear what actions are required to make a site compatible. The tool will capture the following bits of information.
List of the sites we are consistently testing against. (About 1700?)
- it would be useful to be able to categorize the sites (alexa, phonegap, etc.)
For each of those sites:
* when the site was last evaluated
* who or what tool did the evaluation
* which browser where used in the evaluation
* overall evaluation of the site.  e.g. site is working, minor visual problems,  major display problems, interaction problems, not getting right content
** break site problems down by category: UA sniffing (wrong site served), visual problems (-webkit or general layout issues), performance issues (probably layout), interaction (touch or other functionality)
* links to bugs found in the testing
** let's tag all of the bugs so that we can easily query for them. we can use site-compatibility, top-apps, something else?
* who has the next action on the site (QA, Evangelism, Engineering)
** there may be multiple next action if we need to follow up on UA and fix a layout issue
* do we have a contact at the site?
** who has the contact, or is in contact with the site.


We need to develop some metrics for monitoring progress:
We need to develop some metrics for monitoring progress:
Line 68: Line 192:


Stats could be broken down to: mobile aware, but not fennec aware vs. not mobile aware at all.
Stats could be broken down to: mobile aware, but not fennec aware vs. not mobile aware at all.
Wishlist:
* automated tool to perform regression testing on a regular schedule (weekly)
* table that displays sites and issues. columns including: site name/URL, UA identified correctly (yes/no), layout correct (yes, no + reason -webkit, performance, other), functional interaction (yes/no), open bugs
** for bonus marks allow filtering of table based on site categories, issue type
===Sample table showing rollup===
{| border="1" cellpadding="2"
! Site Category || Compatible || Minor Issue || Major Issue || Total
|-
| Alexa || 25 || 26 || 27 || 78
|-
| PhoneGap || 5 || 6 || 7 || 18
|}
Each of the numbers should be a link that when clicked drills into the details for that category. For example, clicking on 26 will take me to a page that shows the list of apps that have minor issues. This page should then detail all of the minor issues for a specific app such as UA, -webkit, performance, etc.
* Note that to begin with we could just roll minor and major issues together. We can separate these later if we determine some criteria.
* Note that all of the links may go to the same page. We should provide a way to identify the apps that fit into each bucket within that page - show/hide.
===Sample table showing issues===
{| border="1" cellpadding="2"
! App || UA || -webkit || performance || other
|-
| App1 || No || No || No || No
|-
| App2 || No || Yes || Yes || No
|-
| App3 || Yes || No || No || No
|}


==Documentation==
==Documentation==
Line 77: Line 229:


But also, our browser compatibility information must include the mobile web, and we need to make sure that angle is well represented in our writing.
But also, our browser compatibility information must include the mobile web, and we need to make sure that angle is well represented in our writing.
=== Current Docs ===
User Agent
* https://developer.mozilla.org/en/Gecko_user_agent_string_reference
* http://hacks.mozilla.org/2010/09/final-user-agent-string-for-firefox-4/
* https://developer.mozilla.org/en/Browser_Detection_and_Cross_Browser_Support  (way out of date)
CSS
* any place that has summary of vendor prefix status?
* some stuff on current prefix usage http://peter.sh/experiments/vendor-prefixed-css-property-overview/
* {Bug 708406|https://bugzilla.mozilla.org/show_bug.cgi?id=708406} - Analysis of the use of vendor-specific CSS property prefixes on the web


== Developer Evangelism ==
== Developer Evangelism ==
Line 119: Line 283:
One of the people involved in the original Netscape Tech Evangelism program said:
One of the people involved in the original Netscape Tech Evangelism program said:


==Mozilla Meetings==
<blockquote style="background-color: lightgray; border: 1px black solid; padding: 1em">
"Tech Evangelism was a thankless, never-ending task that was repetitive, intellectually draining, and a technical and career dead-end. The good things were that we had a great team and actually did have a positive effect and laid the groundwork for Firefox's success."
</blockquote>
 
So what are we waiting for? :-) Let's get stuck in!
 
==Meetings==
Thurs. 9am PT<br/>
US/International: +1 650 903 0800 x92<br/>
US toll free: +1 800 707 2533 (pin 369)<br/>
Canada: +1 416 848 3114 x92<br/>
Dial-in: conference# 95346<br/>
Vidyo: PB&J<br/>
IRC: #planning
 
{| class="wikitable collapsible" style="width: 100%"
{| class="wikitable collapsible" style="width: 100%"
! 2012   
! 2012   
|-
|-
|
|
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120726 July 26th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120719 July 19th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120712 July 12th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120705 July 5th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120621 June 21st, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120614 June 14th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120607 June 7th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120531 May 31st, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120524 May 24th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120517 May 17th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120510 May 10th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120503 May 3rd, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120405 April 5th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120308 March 8th, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120209 February 9, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120126 January 26, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120119 January 19, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120112 January 12, 2012]
*[https://etherpad.mozilla.org/techevang-qa-meeting-20120112 January 12, 2012]
|}
|}


<blockquote style="background-color: lightgray; border: 1px black solid; padding: 1em">
"Tech Evangelism was a thankless, never-ending task that was repetitive, intellectually draining, and a technical and career dead-end. The good things were that we had a great team and actually did have a positive effect and laid the groundwork for Firefox's success."
</blockquote>


So what are we waiting for? :-) Let's get stuck in!
[[Category:Web Compatibility]]
Confirmed users
514

edits