{"id":446,"date":"2017-04-10T10:09:55","date_gmt":"2017-04-10T09:09:55","guid":{"rendered":"http:\/\/blog.magnusmanske.de\/?p=446"},"modified":"2017-04-10T10:09:55","modified_gmt":"2017-04-10T09:09:55","slug":"comprende","status":"publish","type":"post","link":"http:\/\/magnusmanske.de\/wordpress\/archives\/446","title":{"rendered":"Comprende!"},"content":{"rendered":"<p><strong>tl;dr:<\/strong> I wrote a <a href=\"https:\/\/tools.wmflabs.org\/comprende\/\">quiz interface<\/a> on top of a MediaWiki\/WikiBase installation. It ties together material from Wikidata, Commons, and Wikipedia, to form a new educational resource. I hope <a href=\"https:\/\/github.com\/magnusmanske\/comprende\">the code<\/a> will eventually be\u00a0taken up by a Wikimedia chapter, as part of an OER strategy.<\/p>\n<hr \/>\n<h2>The past<\/h2>\n<p><a href=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.50.09.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-449\" src=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.50.09-206x300.png\" alt=\"\" width=\"206\" height=\"300\" srcset=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.50.09-206x300.png 206w, http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.50.09.png 669w\" sizes=\"auto, (max-width: 206px) 100vw, 206px\" \/><\/a>There have been many\u00a0attempts in the WikiVerse to get a foot into the education domain. Wikipedia is used extensively in this domain, but it is more useful for introductions to a topic, and as a reference, rather than a learning tool. <a href=\"https:\/\/www.wikiversity.org\/\">Wikiversity<\/a> was an attempt to get into university-level education, but even I\u00a0do not know anyone who actually uses it. <a href=\"https:\/\/www.wikibooks.org\/\">Wikibooks<\/a> has more and better contents, but many wikibooks are\u00a0mere sub-stub equivalents, rather than usable, fully-fledged textbooks. There has been much talk about <a href=\"https:\/\/en.wikipedia.org\/wiki\/Open_educational_resources\">OER<\/a>, offline content for internet-challenged areas, etc. But the fabled\u00a0&#8220;killer app&#8221; has so far failed to emerge.<\/p>\n<p>Enter <a href=\"https:\/\/www.wikidata.org\/wiki\/User:Charles_Matthews\">Charles Matthews<\/a>, who, like myself, is situated in Cambridge. Among other things, he\u00a0organises the Cambridge Wikipedia meetup, and we do meet occasionally for coffee between those. In 2014, he started talking to me about quizzes. At the time, he was\u00a0designing teaching material\u00a0for <a href=\"https:\/\/wikimedia.org.uk\/\">Wikimedia UK<\/a>, using <a href=\"https:\/\/en.wikipedia.org\/wiki\/Moodle\">Moodle<\/a>, as a component in Wikipedia-related courses. He quickly became aware of the limitations of that software, which include (but are not limited to) general software bloat, significant hardware requirements, and\u00a0hurdles in re-using questions and quizzes in other contexts.\u00a0Despite all this, Moodle is rather widely used, and the MediaWiki <a href=\"https:\/\/www.mediawiki.org\/wiki\/Extension:Quiz\">Quiz extension<\/a> is\u00a0not exactly representing itself as a viable replacement.<\/p>\n<p>A quiz can be\u00a0a powerful tool for education. It can be used by teachers and mentors to check on the progress of their students, and by the students themselves, to\u00a0check their own progress and readiness for\u00a0an upcoming test.<\/p>\n<p>As the benefits are obvious, and the technical requirements appeared rather low, I wrote (at least) two versions of a proof-of-concept tool named <a href=\"https:\/\/tools.wmflabs.org\/wikisoba\/\">wikisoba<\/a>. The interface looked somewhat appealing,\u00a0but storage is a sore point. The latest version uses JSON stored as a wiki page, which needs to be edited manually. Clearly, not an ideal way to attract users these days.<\/p>\n<p>Eventually, a new thought emerged. A quiz is a collection of &#8220;pages&#8221; or &#8220;slides&#8221;, representing a question (of various types), or maybe a text to read beforehand.\u00a0A question, in turn, consists of a title, a question text (usually), possible answers, etc. A\u00a0question is therefore the main &#8220;unit&#8221;, and should be treated on its own, separate from other questions. Questions can then be bundled into quizzes; this allows for re-use of questions in multiple quizzes, maybe awarding different points (a question could yield high points in an entry-level quiz, but less points in an advanced quiz). The separation of question and quiz makes for a modular, scalable, reusable architecture. Treating each question as a separate unit is therefore a cornerstone of any successful\u00a0system for (self-)teaching and (self-)evaluation.<\/p>\n<p>It would, of course, be possible to set up a database for this, but then it would require an interface, constraint checking, all the things that make a project complicated and prone to fail. Luckily, there exists a software that already offers adequate storage, querying, interface etc. I speak of <a href=\"https:\/\/www.mediawiki.org\/wiki\/Wikibase\">WikiBase<\/a>, the MediaWiki extension used to power <a href=\"https:\/\/www.wikidata.org\/\">Wikidata<\/a> (and soon Commons as well).\u00a0Each question could be an item, with the details encoded in statements.\u00a0Likewise, a quiz would be an item, referencing question items. WikiBase offers a powerful API to manage, import, and export questions; it comes with build-in openness.<\/p>\n<h2>The present<\/h2>\n<p><a href=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.47.49.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-448\" src=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.47.49-216x300.png\" alt=\"\" width=\"216\" height=\"300\" srcset=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.47.49-216x300.png 216w, http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.47.49-768x1066.png 768w, http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.47.49-738x1024.png 738w, http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-07-at-17.47.49.png 927w\" sizes=\"auto, (max-width: 216px) 100vw, 216px\" \/><\/a>There is a small problem, however;\u00a0the default WikiBase interface is not exactly appealing for non-geeks. Also, there is obviously no way to &#8220;play&#8221; a quiz in a reasonable manner. So I decided to use my <a href=\"http:\/\/magnusmanske.de\/wordpress\/?p=441\">recent experience<\/a> with <a href=\"https:\/\/vuejs.org\/\">vue.js<\/a> to write an alternative interface to MediaWiki\/WikiBase, designed to generate questions and quizzes, and to play a quiz in a more pleasant way. The result has the working title\u00a0<em><a href=\"https:\/\/tools.wmflabs.org\/comprende\/\"><strong>Comprende!<\/strong><\/a><\/em>, and can be regarded as a fully functional, initial version of a WikiBase-driven question\/quiz system. The underlying &#8220;vanilla&#8221; WikiBase installation is also <a href=\"https:\/\/tools.wmflabs.org\/comprende\/index.php\">accessible<\/a>. To jump right in, you can test your <a href=\"https:\/\/tools.wmflabs.org\/comprende\/interface.html#\/quiz\/Q80\">biology knowledge<\/a>!<\/p>\n<p>There are currently three question types available:<\/p>\n<ul>\n<li>Multiple-choice questions, the classic<\/li>\n<li>&#8220;Label image&#8221; presents an image from Commons, letting you\u00a0assign labels to marked points in the image<\/li>\n<li>Info panels, presenting information to learn (to be interspersed with actual questions)<\/li>\n<\/ul>\n<p>All aspects of the questions are stored in WikiBase; they can\u00a0have a title, a short text, and an intro section; for the moment, the latter\u00a0can be a specific section of a Wikipedia article (of a specific revision, by default), but other types (Commons images, for example) are possible. When used in &#8220;info panel&#8221; type questions (<a href=\"https:\/\/tools.wmflabs.org\/comprende\/interface.html#\/question\/Q87\">example<\/a>), a lot of markup, including images, is preserved; for intro sections in other question types, it is simplified\u00a0to mere text.<\/p>\n<div id=\"attachment_457\" style=\"width: 310px\" class=\"wp-caption alignright\"><a href=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-10-at-09.15.06.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-457\" class=\"wp-image-457 size-medium\" src=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-10-at-09.15.06-300x171.png\" alt=\"\" width=\"300\" height=\"171\" srcset=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-10-at-09.15.06-300x171.png 300w, http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-10-at-09.15.06-768x439.png 768w, http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-10-at-09.15.06.png 796w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-457\" class=\"wp-caption-text\">Live translating of interface text.<\/p><\/div>\n<p>Wikidata is multi-lingual by design, and so is <em>Comprende!<\/em>. An answer or image label can be a text stored as multi-lingual (or monolingual, in WikiBase nomenclature)\u00a0strings,\u00a0as a Wikidata item reference, giving instant access to all the translations there. Also, all interface text is stored in an item, and translations can be done live within the interface.<\/p>\n<p>Questions can be grouped and ordered into a quiz. Everyone can &#8220;play&#8221; <a href=\"https:\/\/tools.wmflabs.org\/comprende\/interface.html#\/design\/quiz\/Q80\">and design<\/a> a quiz (Chrome works best at the moment), but you need to be logged into the WikiBase setup to save the result. Answers can be added, dragged around to change the order, and each question can be assigned a number of points, which will be awarded based on the correct &#8220;sub-answers&#8221;. You can print the current quiz design (no need to save it), and most of the &#8220;chrome&#8221; will disappear, leaving only the questions; instant old-fashioned paper test!<\/p>\n<p>While playing the quiz, one can see how many points they have, how many questions are left etc. Some mobile optimisations like reflow for portrait mode, and a fixed &#8220;next question&#8221; button at the bottom, are in place. At the end of the quiz, there is a final\u00a0screen, presenting the user with their quiz result.<\/p>\n<p>To demonstrate the\u00a0compatibility with existing question\/quiz systems, I added a rudimentary <a href=\"https:\/\/tools.wmflabs.org\/comprende\/interface.html#\/import\/moodle_xml\">Moodle XML import<\/a>; an example quiz\u00a0<a href=\"https:\/\/tools.wmflabs.org\/comprende\/interface.html#\/quiz\/Q70\">is available<\/a>. Another obvious import format to add would be <a href=\"https:\/\/en.wikipedia.org\/wiki\/GIFT_(file_format)\">GIFT<\/a>. Moodle XML export is also on the to-do-list.<\/p>\n<h2>The future<\/h2>\n<p><a href=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-09-at-21.50.20.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-454\" src=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-09-at-21.50.20-226x300.png\" alt=\"\" width=\"226\" height=\"300\" srcset=\"http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-09-at-21.50.20-226x300.png 226w, http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-09-at-21.50.20-768x1021.png 768w, http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-09-at-21.50.20-770x1024.png 770w, http:\/\/magnusmanske.de\/wordpress\/wp-content\/uploads\/2017\/04\/Screen-Shot-2017-04-09-at-21.50.20.png 972w\" sizes=\"auto, (max-width: 226px) 100vw, 226px\" \/><\/a>All this is obviously just a start. A &#8220;killer feature&#8221; would be a SPARQL\u00a0setup, federating Wikidata.\u00a0Entry-level quizzes for molecular biology? Questions that use Wikidata answers that are chemicals? I can see educators flocking to this, especially if material\u00a0is available in, or easily translated into, their language.\u00a0More questions types\u00a0could emphasise the strength of this approach. Questions could even be mini-games etc.<\/p>\n<p>Another aspect I have not worked on yet is logging results. This could be done per user, where the user can add their result in a quiz to a dedicated tracking item for their user name. Likewise, a quiz could record user results (automatically or voluntarily).<\/p>\n<p>One possibility would be to live for the questions, quizzes etc. in a dedicated namespace on Wikidata (so as to not contaminate the default namespace). That would simplify the SPARQL setup, and get the existing community involved.\u00a0The Wikitionary-related changes on Wikidata will cover all that is needed on the backend; the interface is all HTML\/JS, not even an extension is required, so next to no\u00a0security or\u00a0integration issues. Ah, one can dream, right?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>tl;dr: I wrote a quiz interface on top of a MediaWiki\/WikiBase installation. It ties together material from Wikidata, Commons, and Wikipedia, to form a new educational resource. I hope the code will eventually be\u00a0taken up by a Wikimedia chapter, as part of an OER strategy. The past There have been many\u00a0attempts in the WikiVerse to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,7],"tags":[],"class_list":["post-446","post","type-post","status-publish","format-standard","hentry","category-wikidata","category-wikimedia-2"],"_links":{"self":[{"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/posts\/446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/comments?post=446"}],"version-history":[{"count":12,"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/posts\/446\/revisions"}],"predecessor-version":[{"id":462,"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/posts\/446\/revisions\/462"}],"wp:attachment":[{"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/media?parent=446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/categories?post=446"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/magnusmanske.de\/wordpress\/wp-json\/wp\/v2\/tags?post=446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}