Ze zákulisí Lovců kjůárů (QR Hunters)
Včera proběhla v Praze vývojářská konference Google Developer Day 2009, kde se kromě mnoha zajímavých přednášek odehrála také námi vymyšlená a pořádaná „dobrodružná hra“ – Lovci kjůárů (QR Hunters). V tomto článečku Vám odhalíme pár zajímavých detailů o tom, jak příprava hry probíhala a co zajímavého jsme vyčetli ve statistikách po skončení akce. Pokud si chcete nejdříve přečíst o principu a pravidlech hry, mrkněte na náš předchozí článek na tomto blogu.
Nápad hru uspořádat se zrodil už před mnoha týdny, po povídání s Lukášem Puldou ze Seznamu, na konferenci MIF. Hodně QR kódů bylo vidět také na letošním Google I/O, tam jsme se však hry nezúčastnili, takže bohužel srovnávat nedokážeme.
Když jsme vše několikrát promysleli, navrhli jsme uspořádání hry kolegům z Google ČR. Idea se libíla a nic tedy nebránilo tomu, abychom se pustili do realizace. A nebylo toho málo, co jsme museli připravit… microsite, pravidla, blogposty, kódy, a hlavně komplet vizuální podobu soutěže (za kterou moc děkujeme Martinu Cohenovi) a backend, který běh celé hry zajišťoval.
Volba technologie pro přípravu backendu byla poměrně přímočará – deployment do cloudu nebylo potřeba dlouho zvažovat a co jiného v této oblasti zvolit, než AppEngine, když už nějaký ten pátek umí Javu a jeho příprava je určitě nejsnadnější. Za vším stálo dohromady 5 poměrně jednoduchých Java Servletů a sada JSP šablon, data se usídlila samozřejmě v BigTable (skze JDO).
Když jsme pustili proti backendu první sadu zátěžových testů, ukázalo se ale, že ještě máme co zrychlovat. Po nagenerování většího množství záznamů (simulovali jsme hru 1000 hráčů) začaly být naše „databázové“ dotazy neúnosně pomalé. Nezřídka vypadla z requestu i výjimka způsobená překročením 30-ti sekundového limitu na odpověď. Nezbývalo než vyhrnout rukávy a pustit se do optimalizace. Už vyhození zbytečných operací a správné indexovaní dat všemu výrazně pomohlo. Když jsme ještě přidali cacheování seznamů, rázem byla aplikace v průměru asi 100x rychlejší než předchozí den. Po dalších zátěžových testech jsme pro jistotu nastavili pro naši aplikaci i billing (provoz na AppEngine je zdarma jen do určitých limitů, nad nimi je potřeba provoz platit, ale opravdu spíše symbolickými částkami). Ráno v den konference pak už zbývalo jen rozvěsit první sadu kjůárů (ty příbývaly v průběhu celého dne) a můžeme vše odstartovat!
Úplně prvním soutěžícím byl Jozef Janitor, další ale rychle následovali – v 9:00 (po půlhodince hry) už bylo přijato 484 nalezených a dekódovaných kjůárů, úvodní špička ale nekončila – za další půlhodinku už tohle číslo vzrostlo na 1243. Nejlíp to ale půjde vidět z následujícího grafu, který ukazuje množství kódů přijatých v jednotlivých 10-ti minutových intervalech:
Jak je vidět, největší špičky byly hned po ránu (kdy během 10 minut dorazilo i víc než 250 kódů) a pak hned po keynote. Nejzajímavější přednášky pak zřejmě byly mezi 14. a 15. hodinou, kdy přicházelo kódů nejméně. Co se samotných requestů na server týká, v nejostřejší špičce jsme stoupli až k 5 za sekundu.
Na druhém grafu mrkneme na to, kolik našli jednotliví lovci (kterých bylo dohromady přesně 90) kódů:
Největší borci měli ve finále na kontě skoro 160 nalezených kódů, to je vynikající výsledek, vzhledem k tomu, že celkem jsme jich rozmístili přibližně 185. Přesný počet rozmístěných kódů bohužel nevíme. Protože nás nejaktivnější hledači brzy začali krok za krokem sledovat, muselo nám s rozmístěním kódů pomoci i pár přátel, kteří se soutěže neúčastnili (moc tímto děkuji Honzovi Holčapkovi, bez kterého bychom schování finálních kjůárů nezvládli). Přesná čísla se tak bohužel rozmělnila.
Nejčastěji nalezený kód (v hlavní foyer) objevilo 58 lovců. Bonusový kjůár, který měla na zádech Katka Holcmanová (viz obrázek nahoře) při keynote získalo 23 lovců, některé kódy nebyly nalezeny vůbec a 3 z nich byly nalezeny pouze jedním z lovců.
Těsně před vyhlášením výsledků jsme důkladně analyzovali logy, abychom ověřili, že nedošlo k žádným podvodům. A to se naštěstí opravdu nestalo. První dva pánové sice při hledání spolupracovali, ale to letos pravidla nezakázala (ostatně, naučit se týmové práci je přeci přínosem, nikoli porušením pravidel :), navíc hned třetí v pořadí dokázal, že se i dvoučlennému týmu dá směle konkurovat (většinu doby sbíral kódy docela sám).
Co ale budeme muset případně příště vylepšit, je provázání s přednáškami samotnými. Lovci na předních pozicích totiž bohužel obětovali i ty nejzajímavější sessions jenom proto, aby získali bodů co nejvíce. Příště tak asi přidáme povinnost odpovídat na otázky z přednášek či jiný znalostní atribut, abychom k talkům lidi spíše nalákali než naopak. Celkově jsme ale z výsledku našeho snažení nadšení. Bylo vidět, že účastníky konference hra opravdu zaujala, za což jsme moc rádi.
A jak vypadá finální výsledková listina? Telefon s Androidem vyhráli tři lovci s nejvyšším počtem bodů, konkrétně Martin Koutný, David Jirovec a Martin Pelant. Gratulujeme!
A jak se hra líbila Vám? Máte nějaké náměty na zlepšení? Podělte se s námi, ať může být hra příště ještě lepší, objektivnější či zajímavější.







Nedalo mi to, a musím napsat své dojmy z 2 denního používání nového Androida.
První věcí, která mě velice zklamala je, že SIM karta po vložení do telefonu nejde vyndat (to bude asi hlavní příčinou mého již 2 denního neustálého testování). Po vložení do telefonu se prostě zasekla a nejde ji vysunout. Včera jsme se sešli s kamarádem Davidem, který vyhrál druhý telefon. Měl ten samí problém, ale podařilo se mu SIM kartu vyndat pomocí druhé karty. Zkoušel to i na mém Androidu ale neúspěšně. Moje super SIMkarta s voláním za 0,10 Kč za minutu je tedy zatím uvězněna :-(
Druhá věc, která mě velmi mrzí je nefunkční interní paměť. Jelikož nemám paměťovou kartu (iPhone ji nepotřebuje), nelze do telefonu nahrávat žádné další aplikace, mp3, obrázky, ale ani fotit nebo natáčet video. V nastavení telefonu se mě zobrazuje Volné místo: „0″. Pozor, nikoliv „0 MB“ ale opravdu pouze jen „0″. Davidovy tatéž hodnota ukazuje volných cca. „250 MB“. Ani reset do továrního nastavení samozřejmě nepomohl :-(
Chtěl bych se tedy zeptat, zda jsme dostali nějaké předprodukční verze a zda by bylo možné telefon vyměnit za funkční model? Protože můj telefon opravdu není moc použitelný :-/
Jinak z funkcí, které jsem zatím mohl otestovat musím pochválit aplikaci Mapy, která je díky větší provázanosti s Google přece jen o něco propracovanější než na iPhone :-)
Jinak musím říct, že QR Hunters byla parádní hra. A mě jako geocacherovi se opravdu líbila a lov jsem si užil :-)