I en Facebooktråd om slumpartikelfunktionen på Wikipedia och en ny variant som Holger Motzkau har byggt så kom David Castor med en idé om ett frågesportspel baserat på slumpartiklarna. Hans idé var:
Jag gjorde häromsistens en frågesport där jag visade en bild från en slumpmässig och namnen på den och tre slumpartiklar till. Sedan skulle deltagarna gissa från vilken av de fyra artiklarna som bilden var hämtad.
Det tänkte jag kunde vara något för mig att använda som exempel, jag har ju tidigare testat lite med att programmera i PHP och jag har en ganska bra koll på Wikipedias API. Sagt och gjort, jag hackade på lite och nu finns det en färdig prototyp. Inga finesser, bara en enkel frågesport. Den bygger på att man kan fråga API:et efter slumpade artiklar och att man kan begära bilder från dessa. Jag gör dessutom en dubbelkoll så att inte samma bild används två gånger. En utmärkt hjälp till utvecklingen var API-sandlådan på Wikipedia. (I min kod har jag konsekvent använt mig av pageid istället för title på artiklarna som i exemplen nedan, detta för att jag i PHP inte lyckades få mellanslag i artikelnamn att hanteras på rätt sätt, men principen är ju densamma.)
Slumpade artiklar
Detta görs med kommandot action=query&list=random
I mitt fall begär jag dessutom fyra bilder på en gång. Detta är den exakta frågan jag använder: https://sv.wikipedia.org/w/api.php?action=query&list=random&format=json&rnnamespace=0&rnlimit=4
Hämta bilder
Detta görs med kommandot action=query&prop=pageimages
Jag passar dessutom på att i samma anrop begära rätt bildstorlek som jag senare kan använda när jag skapar sidan. Här en hårdkodad variant på anropet (jag använder ju egentligen resultatet från slumpartiklarna):
https://sv.wikipedia.org/w/api.php?action=query&prop=pageimages&format=json&piprop=thumbnail%7Cname&pithumbsize=400&pilimit=4&titles=Stj%C3%A4rtand%7CAnka%7CSn%C3%B6%7CMonotypisk
Hittas inga bilder i någon av de fyra artiklarna begär jag fyra nya slumpartiklar. Under mina testomgångar behövde jag aldrig göra detta mer än en gång, men teoretiskt sett så kan detta ta en stund om man har otur med slumpartiklarna.
Kontrollera dubbletter
Jag väljer helt enkelt en bild från föregående omgång och kolla om den finns i någon av de andra artiklarna. Detta kan göras med kommandot action=query&prop=images
och att skicka med en bild och artiklarna som ska kollas som parametrar. Här en hårdkodad variant på anropet: https://sv.wikipedia.org/w/api.php?action=query&prop=images&format=json&imimages=File%3ANorthern_Pintails_(Male_%26_Female)_I_IMG_0911.jpg&titles=Stj%C3%A4rtand%7CGr%C3%A4sand%7CAnka%7C%C3%84nder
Finns bilden i mer än en artikel gör jag det superlätt för mig och börjar om med fyra nya slumpartiklar. Här skulle man kunna effektivisera det genom att kolla andra bilder i de fyra första artiklarn (om det fanns några).
Kontextualisera
När jag visar svaret hämtar jag även ut det första stycket från Wikipedia så att man kan få ett sammanhang av ämnet. Detta görs med kommandot action=query&prop=extracts
Här en hårdkodad variant på anropet: http://sv.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&explaintext=&titles=Stj%C3%A4rtand
Resultatet
Det färdiga resultatet hittas på: http://nyval.wtf/bildquiz/
Idéer för utveckling:
- Poängräknare
- Använda Holgers slumpgenerator som tar bort de robotskapade artiklarna.
Har du några andra idéer får du gärna höra av dig.
Jag blev lite förbryllad över var man ska klicka. Jag förväntade mig (POMMF?) att det var alternativen man skulle klicka på, för att sedan få fram texten “RÄTT” eller “FEL”, men alternativen leder till artiklarna.
Annars är det en kanonidé.
Ja, jag la märke till det själv när jag la till länkar till artiklarna. Skulle det vara mindre förvirrande om svarsalternativen inte var länkar?
Ja, mycket. Men det hade nog inte skadat med en liten diskret länk bredvid alternativen.
Blåbär (läs artikel)
Hästar (läs artikel)
Offentliga toaletter i Göteborg (läs artikel)
Kanske en liten wikilogga istället för texten “läs artikel” hade kanske varit snyggare kom jag på nu. Och att texten “läs artikel” är som “alt-text” till loggan.
Det var ett bra förslag! Jag bygger!
Klart!
[…] mitt senaste inlägg berättade jag om hur jag skapade ett bildquiz baserat på Wikipedia. Efter att ha spelat det lite grann så är det uppenbart att slumpfunktionen […]