TPAC/2012/microformats2
Topic: http://microformats.org/wiki/microformats2
(16:12:54) hober [~ted@public.cloak] er komen inn i rommet. (16:13:18) tantek [~tantek@public.cloak] er komen inn i rommet. (16:13:31) tantek har endra emnet til: /join #microformats (16:16:29) lstorset: tantek describes Microformats 2, assuming knowledge of 1. (16:16:29) lstorset: … shows hCard wiki page (16:16:29) lstorset: … in 2, h-card, single element is enough. (16:16:40) lstorset: Simplified the property model (16:16:55) lstorset: … prefix shows what kind of property it is. h- for root props (16:17:09) lstorset: hober: Due to structure, you can write a parser wihtout knowledge of vocab. (16:17:26) lstorset: … Previously you had to know hCard to parse it (16:17:43) lstorset: … Now, parsing is vocab-agnostic for generic parsers (16:17:51) lstorset: tantek: Less markup in the common case (16:18:09) lstorset: … Huge advantage. Using common prefixes, the parsing algorithm is really short (16:18:12) lstorset: (shows wiki page) (16:18:53) lstorset: … The nice thing is that we actually have an impl to play with (16:19:27) lstorset: … parses as expected (16:19:38) lstorset: http://waterpigs.co.uk/php-mf2 (16:19:50) lstorset: … Pretty powerful, you can easily expose read-only API on your site (16:20:05) lstorset: … Run a parser and generate JSON data model (16:20:35) lstorset: jet: Does generic model mean there are parts they can't ignore? (16:21:09) lstorset: tantek: If parser encounters unknown element (e.g. <span class=p-tpac-demo>) it works (16:21:27) lstorset: hober: Parsers can look at what they know (16:21:38) lstorset: jet: Performance. Do we have to pass on everything? (16:22:00) lstorset: tantek: Designed in terms of CSS selectors so we can take advantage of dom client side. (16:22:08) lstorset: … server side you can use libraries (?) (16:22:32) lstorset: hober: Should probably have a way to "stop processing here" (16:22:56) lstorset: tantek: e.g. Marking someone's name up (16:23:05) lstorset: … you use one class name "h-card" (16:23:10) lstorset: … the rest it will infer (16:23:15) lstorset: … Requires SO little markup (16:23:26) lstorset: … Improves usability for webdevs a lot (16:23:42) lstorset: … This was major feedback. They like mf, but can't be bothered with divitis/spanitis (16:23:47) lstorset: … So we optimise for that (16:24:05) lstorset: … the other thing we got from authors re: rdf/microdata (16:24:36) lstorset: … while they're dropping in that, they can easily drop in mf too without mkaing learning effort. (16:24:42) lstorset: jet: … (16:24:53) lstorset: tantek describes implicit properties (16:25:16) lstorset: tantek: A lot of things tend to have name or photo or photo with alt (16:25:29) lstorset: … so common pattern that it's powerful to be able to mark that up (16:25:46) lstorset: jet: If there was a photo it would sniff it from alt tag? (16:25:49) lstorset: tantek: yeah (16:26:01) lstorset: tantek describes parsing rules to infer such things (16:26:09) lstorset: tantek: Based on markup patterns on the web (16:26:41) lstorset: tantek: Has anyone done any data markup on the web? microdata, rdf? Json data models? (16:26:51) lstorset: … Should take much less markup to make it happen (16:26:58) lstorset: … and enable generic parsers (16:27:15) lstorset: … The only thing is some publishers want to keep data outside class attribute (16:27:37) lstorset: … We say, just use microdata and rdfa, you can still use our vocabularies in another syntax. (16:27:42) lstorset: … e.g. h-adr (16:27:49) lstorset: … You get the same json model (16:28:02) lstorset: … Should be close enough to json-ld for easy conversion (16:28:37) lstorset: tantek: Questions from IRC? (16:28:50) lstorset: jet: Is ?? here to track the vCard specs and shadow it forever (16:29:09) lstorset: tantek: Over the years so many attempts at defining contacts standard, always diverge from vCard (16:29:19) lstorset: … I tell them to join vCard mailing list (16:29:32) lstorset: … If we can agree on vocab there, we can apply to any number of syntaxes (16:29:49) lstorset: … e.g. contacts API I wrote for Firefox OS is strict subset of vCard (16:29:58) lstorset: … I'm not bothering to fix or rename any terms (16:30:05) lstorset: … I think that's important for compat and understanding (16:30:22) lstorset: … So far vCard ML has been good enough forum for that, with history of concerned participants (16:30:30) lstorset: … has moved forward reasonably enough (16:31:06) lstorset: jet: The UC I hear used to throw darts at MF is Queen Elizabeth's vCard, so complex (16:31:14) lstorset: … how can you represent that in that schema? (16:31:26) lstorset: tantek: Honorific fields, optional _and_ multi-value (16:31:33) lstorset: … dr., esq., etc. (16:31:43) lstorset: … Consuming app descides what to do with them (16:32:03) lstorset: jet: Does Boot to Gecko follow MF 2? (16:32:12) lstorset: tantek: Not yet. Current impls in Node and PHP (16:32:27) lstorset: tantek: Node is based on Gecko impl (16:32:57) lstorset: … We have MF 1, but need to check in patches from Node version beta. Needs heavy testing before we can request pull (16:33:24) lstorset: lstorset: Anything new but parsing? (16:33:30) lstorset: tantek: No, that's pretty much it (16:33:34) lstorset: … can still use MF 1 at the same time (16:33:53) lstorset: … works fine (16:34:03) lstorset: … forward and backward compat (16:34:24) lstorset: … Personally I'm using the minimal markup in single-element cases. Only in complicated cases am I adding both. (16:34:40) lstorset: … With single element, adding compat is much more expensive (16:34:52) lstorset: … type <span> and single class name, done! (16:35:20) lstorset: hober: … Mentioning friends in blog posts, would be a hassle to find their urls (16:35:42) lstorset: tantek: A lot is for hand-authoring convenience. Low barrier, higher adoption (16:36:02) lstorset: jet: For core UCs of contacts and calendar, have you seen styling in blogging engines etc.? (16:36:12) lstorset: tantek: yeah, let me pull up some (16:36:34) lstorset: [shows hcard-examples wiki page, Jared Hanson] (16:36:54) lstorset: tantek: I'm using MF addon for Mozilla, good way of testing mf (16:37:00) lstorset: [shows tim van damme] (16:37:41) lstorset: … the JSON has all the information you see. On page styled with cute icons (16:38:12) lstorset: jet: What's next? (16:38:27) lstorset: tantek: What new MF should we create? is always the tension (16:38:37) lstorset: … we have empirical process (16:38:46) lstorset: … e.g. examine reviews on the web (16:38:51) lstorset: … for mf reviews (16:38:59) lstorset: … We are developing MF for citations (16:39:27) lstorset: [shows Citations Brainstorming] (16:39:38) lstorset: … Example of a MF in progress (16:39:59) lstorset: … If enough people are publishing some data, it has some value in aggregate, valuable to mark it up (16:40:34) lstorset: … If organizations come up with similar ways of showing metadata (thumbnails, descriptions): Can we unify that innto one model? (16:40:44) lstorset: … Typically new formats get added pretty slowly (16:40:50) lstorset: … We have high bar for research (16:41:12) lstorset: … Come up with use cases, starts feedback loop (16:41:39) lstorset: jet: Writing a paper, publishing on the web with citations, how do I … (16:41:48) lstorset: hober: In the old days you would point to BibTeX entry (16:42:05) lstorset: jet: "You are free to put my name there, but please use this format." (16:42:26) lstorset: jet: Wikipedia guidelines for that (16:43:23) lstorset: tantek: You could display the full microformat hyperlink (?) (16:43:49) lstorset: jet: I imagine new formats are prone to bikeshedding. How do you manage that? (16:44:18) lstorset: hober: One way is to reuse existing names. Rely on earlier bikeshidding (16:44:27) lstorset: tantek: Did that with vcard (16:44:37) lstorset: … Challenge with citations, because dozens of formats exist (16:44:43) lstorset: … Different styles, visually (16:44:58) lstorset: … Also different schemes (16:45:07) lstorset: … All slightly different, no clear winner (16:45:15) lstorset: … Some efforts to find intersection (16:45:23) lstorset: … We ended up going with actual web citations (16:45:31) lstorset: … instead of every single kind of work (16:45:56) lstorset: … That way we came up with these 8 props