Gaia/System/Microformats
Status and Team
- Advocate: Tantek Çelik
- Contributing: Shane Caraveo, Josh Carpenter
Phases
Phase 0 - Backfill bugs
B2G Backfill bugs are intended to add simple, quick, obvious functionality we had to drop for v1. For Gaia microformats support this means the following very simple and useful features:
- Call phone numbers - recognize phone numbers on web pages - provide user interface to call
- handle "tel:" links
- handle hCard "tel", "p-tel", "u-tel" properties
- conservative regex for plain text phone numbers
- Map addresses - recognize addresses on web pages - provider user interface to view on map
- handle "geo:" links
- handle hCard "adr", "p-adr", "h-adr", "geo", "p-geo", "h-geo" properties
Phase 1 - add contacts and events
...
Phase 2 - platform support for other apps
...
Design Specs
Interaction
- ...
Visual Design
- ...
Development Components
Update Platform microformats support
Existing Gecko microformats support includes decent (but a bit out of date) hCard and hCalendar parsing support among others.
These are tasks to bring Gecko's microformats parsing (microformats.js) up to date.
Each of these should be fixed by creating a bug (if there isn't one already) for the desired improvement, and then attaching a patch for microformats.js to the bug. Ideally we should get help reviewing and landing these patches in (in priority order) :
bug fixes
- triage existing bugs, then list / direct link to "must fix" bugs here
parser improvements
- upgrade to microformats2 support - there are two liberally licensed open source parsers so this should be imminently doable:
- Shane Caraveo, Glenn Jones, Tantek Çelik working on this to land in Firefox in 2015 Q3.
- complete Value Class Pattern support
- e.g. file/fix bugs for test cases like http://microformats.org/wiki/value-dt-test-YYYY-MM-DD--H-MM
- may happen as a side-effect of adopting a microformats2 parser
- HTML5
time
anddata
element support (per http://microformats.org/wiki/hcard-parsing ). - http://microformats.org/wiki/uf2 support for h-card, h-event, h-adr, h-geo, h-entry at a minimum to support known use-cases.
Implement User Interactions
The following front end development tasks need to be completed to implement the user-facing microformats features/functionality.
Discovery
See design spec for how the browser should visually indicate the presence of microformats for interaction (e.g. "highlight the text contained by the microformat").
Activation
See design spec for what user action should activate a microformat on a page (e.g. make it tappable and/or long press activatable).
Execution
Each microformat has at least a primary action and possible additional actions depending on what's in the microformat.
- hCard & h-card: Add to Contacts App
- if there's a tel: Call (tel#) (primary - it's a phone!)
- if there's an impp: IM (im address)
- if there's an email: Email (email address)
- any presence of nested geo/adr handled by below
- hCalendar & h-event: Add to Calendar App
- adr & h-adr: View in Map App (use name of hCard or hCalendar event if contained therein)
- geo & h-geo: View in Map App (use name of hCard or hCalendar event if contained therein)
- hAtom & h-entry: View in Reader App
Background
Prior Art
- microformats WikiMo home.
- Operator
- Operator (Firefox Add-on)
- Introducing Operator (Mozilla Labs post)
- Operator @ Microformats Wiki
- Michael Kaply's blog
- Microformats for Google Chrome
- Mozilla Contacts