Re: Automatic Data CanIUse Prototype

Hi, folks-

Here's an update to this project. In addition to the compat tables, the 
extension now also generates a summary compat list for the top of the 
page [1], as envisioned in the original design [2].

Lea styled it according to that design, and I think it looks and behaves 

This means that phase 1 of the compat table project is functionally 
complete (though we may still tweak things).

The next phase involves integrating the data from Quirksmode.

I've started the conversation with PPK (Quirksmode) and Alexis (CanIUse) 
about how best to do this, but I thought I'd also ask you in the community.

Both data sets will (likely) be available in JSON format, but they have 
different structures, and will contain conflicting data at times. One 
challenge will be automating the process of managing and merging these 
datasets into a single consistent output, with some logic around 
determining which is the best data for any given feature set. (Part of 
this will involve a judgment around the presence of comprehensive and 
accurate tests.)

So, I'm interested in a conversation around that.

I'm also interested in suggestions for the technical aspects... like, 
what language or framework should I use to merge these data sets. PHP is 
one option, but I'd also like to examine Node.js for this. Any 
suggestions, especially from someone who's dealt with merging datasets 
before, would be welcome.

PPK also discussed providing his own API, but I'm currently inclined to 
suggest he merely publish the JSON data, and let others build around 
that. On the other hand, we might need an API for our own data, so we 
should think if we want to just supply the JSON, or actually make a 
proper API (and what that should look like, and how to build it).

I would also like to see if any discussion emerges around the compat 
table sub-project at the Doc Sprint. There are still some unresolved 
issues and processes, and feedback (or work!) from the community on that 
would be great.

For example: CanIUse doesn't supply data for all properties, such as 
font-size, while our manual data does have that information. Another 
example is that our manual data has some granular details that CanIUse 
doesn't. I propose that we create our own JSON file to merge into the 
master JSON data, even if it's not yet backed by tests, so we can move 
completely to this extension for all pages. Any thoughts about that are 
eagerly awaited.




On 3/30/13 7:05 PM, Doug Schepers wrote:
> Hi, folks-
> Just a little progress report on the automatic compatibility information
> tables...
> Thanks to the miraculous server debugging powers of Denis, I was able to
> move forward on the prototype for the "CompaTables" extension.
> You are probably aware that Alexis Deveria has generously granted us
> permission to use the data on WPD, and is even allowing us
> to use it under CC-BY.
> Denis set up a chron job to pull the CanIUse data from GitHub onto our
> servers on a weekly basis.
> I've thrown together a rough prototype of a MediaWiki extension,
> "CompaTables", that formats the CanIUse data into tables (Denis also
> helped with this). You simply include the following element in a page,
> and it inserts a table:
>    <compatability feature="[feature name]"> </compatability>
> This is still very rough! I don't think it's yet ready for prime time,
> so do not deploy widely yet. But it is a nice proof of concept. This
> paves the way for later integration of QuirksMode and W3C test suite data.
> You can read more on the wiki [1][2], and see an example live on the
> 'border-radius' article [3].
> I welcome feedback on just how we should execute next steps, or just
> thoughts in general. I'm especially interested in figuring out how this
> fits into Doc Sprints and Test the Web Forward.
> [1]
> [2]
> [3]
> Regards-
> -Doug

Received on Tuesday, 2 April 2013 21:14:50 UTC