<div dir="ltr">This is so useful! Thanks for taken care of getting this going. <div><br></div><div>Rather than npm I think a better analogy is bower: <a href="http://bower.io/">http://bower.io/</a> </div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Aug 13, 2014 at 5:15 PM, Hay (Husky) <span dir="ltr"><<a href="mailto:huskyr@gmail.com" target="_blank">huskyr@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hey everyone,<br>
for those who attended Wikimania, i hope you all had a wonderful time!<br>
<br>
One of the things that i've talked about at Mania with a few people is<br>
the current way of 'tool discovery', or rather, the lack thereof.<br>
We've seen really cool things done by the community, but i have a<br>
feeling many of the tools go by unnoticed, simply because nobody knows<br>
that they exist. Maybe they've been send around here or posted on IRC,<br>
but after the initial interest many of them are forgotten and lead a<br>
lonely life on our virtual servers.<br>
<br>
I think this is especially problematic for non-community members for<br>
whom the tools might be very useful. For example, as a Wikipedian in<br>
Residence and GLAM advocate i have sent numerous mails with links to<br>
the various GLAM tools made by Magnus, <a href="http://stats.grok.se" target="_blank">stats.grok.se</a>, etcetera.<br>
<br>
But, you might say, we run all these knowledge sites called wikis<br>
right? And there are some pages there that list tools, don't they?<br>
You're right, the community has put some efforts in a few pages (1).<br>
However, IMHO, a wiki doesn't lend itself to easy tool discovery:<br>
<br>
* The format on how to describe a tool is unclear, thereby leading to<br>
both very long and very short descriptions.<br>
* It's not possible to easily search for tools in a certain category<br>
(e.g. 'GLAM' or 'editcount').<br>
* The categorization of tools leads to much clicking around,<br>
distracting and confusing users.<br>
* There's no way to sort results, for example by the number of people<br>
using the tool.<br>
<br>
The biggest problem of all is the disconnection between the actual<br>
code of the tool itself (hosted in a Git repo), and the description<br>
advertising it. People update their tool to do something different (or<br>
deprecate it), but they forget the documentation on the wiki, don't<br>
remove it when the tool doesn't work anymore, etcetera.<br>
<br>
I believe we can, and should do better.<br>
<br>
THE PROPOSAL<br>
<br>
My proposal is to use the same mechanisms that already exist for<br>
package managers such as NPM (2) or 'app stores', such as the Chrome<br>
store (3). Basically this involes adding a small JSON file to your<br>
project, including a few key properties such as 'title' and<br>
'description'. These files get indexed, and an easy to use frontend to<br>
search to all the tools is provided to end users. You could imagine a<br>
'toolinfo.json' file to look something like this:<br>
<br>
    {<br>
        "name" : "WikiDataQuery",<br>
        "description" : "An API for Wikidata items and properties.",<br>
        "url" : "<a href="http://wdq.wmflabs.org/" target="_blank">http://wdq.wmflabs.org/</a>",<br>
        "keywords" : "wikidata, api, query",<br>
        "author" : "Magnus Manske"<br>
    }<br>
<br>
If you have a web-hosted tool, simply stick it in the root of your<br>
tools directory so that it's reachable by the crawler. Whenever your<br>
tool data changes, just update the file and the directory will<br>
automatically update the directory site.<br>
<br>
The link to your toolinfo.json could be added to a Wiki page so that<br>
it's easy to remove your tool from the directory or change the URL to<br>
the JSON file.<br>
<br>
I'm a firm believer in putting code where your mouth is, so i've<br>
hacked up a working tool directory here:<br>
<br>
<a href="http://tools.wmflabs.org/hay/directory" target="_blank">http://tools.wmflabs.org/hay/directory</a><br>
<br>
Try searching for stuff, clicking on the labels. To add your own tool,<br>
scroll the page down for instructions.<br>
<br>
Current this only lists my tools, but i hope that this directory will<br>
soon grow with everything the Wikimedia community has to offer.<br>
<br>
I'm interested in your opinion in this proposal and, if you like it,<br>
add a toolinfo.json to your project!<br>
<br>
Kind regards,<br>
-- Hay / [[User:Husky]]<br>
<br>
1: <a href="https://en.wikipedia.org/wiki/Wikipedia:Tools" target="_blank">https://en.wikipedia.org/wiki/Wikipedia:Tools</a><br>
2: <a href="https://www.npmjs.org/" target="_blank">https://www.npmjs.org/</a><br>
3: <a href="https://developer.chrome.com/apps/manifest" target="_blank">https://developer.chrome.com/apps/manifest</a><br>
<br>
_______________________________________________<br>
Labs-l mailing list<br>
<a href="mailto:Labs-l@lists.wikimedia.org">Labs-l@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/labs-l" target="_blank">https://lists.wikimedia.org/mailman/listinfo/labs-l</a><br>
</blockquote></div><br></div>