Skive

Skive - Avoid work or a duty by staying away or leaving early; shirk.

Tytułem wstępu

Zanim przedstawię mój projekt chciałbym zwrócić uwagę na pewną rzecz. Chciałem żeby mój projekt połączył dwie rzeczy, które są dla mnie równie ważne - technologię którą chciałem się pobawić, i fakt że chciałbym żeby temat był przydaty i miał praktyczne zastosowanie - przynajmniej dla mnie.

Technologia

Wybierając technologię w której chciałbym realizować swój projekt nie miałem dużego problemu. Chciałem pobawić się się django. i napisać jakąś aplikację webową. Django będzie tak naprawde podstawą, bo chciałbym potraktować troszkę ten projekt jako taki maly plac zabaw. Obecnie istnieje bardzo dużo narzędzi które są wykorzystywane do pomocy w prowadzeniu projektu i chciałbym troszkę z nich przetestować. A DSP17. to idealna okazja do tego :) Konkretne szczegóły dotyczące sprawy technicznej pojawią się w następnym wpisie.

Projekt

Patrząc teraz na listę projektów które zostały zgłoszone do DSP17 widzę że mój projekt nie należy do jakoś bardzo oryginalnej kategorii. A wręcz odwrotnie :)

Tak, będę robił kolejna listę TODO.

Wydaje mi się że jednak sam pomysł nie jest bardzo istotną rzeczą. Zwłaszcza że mam zamiar głównie pobawić się nowymi frameworkami o których nie wiem zbyt dużo teraz. Chciałbym mimo to podejść do tematu troszkę inaczej. Klasyczne listy pomagające nam w ustalaniu i porządkowaniu codziennych zadań opierają się przeważnie na metodyce gtd. Jednak w swoim projekcie chciałbym żeby to był tylko początek. Moim celem jest utworzenie aplikacji która będzie posiadała w sobie element grywalizacji.

Grywalizacja?

Podczas ostatniego roku testowałem przynajmniej kilka narzędzi pomagających zarządzać swoją listą zadań. Jak chodźby todoist czy nozbe. Bardzo często zdarzało mi się jednak że mimo dość dobrego rozpisania sobie rzeczy do zrobienia, i mimo dość jasnego wyznaczenia sobie celów coś szło nie tak. Problem nie leżał do końca w samym narzędziu. Problem był gdzie indziej.

“Nie chce mi się”

Brak motywacji. Każdy korzystający z jakiegoś agregatu zadań zna chyba tą sytuacje że niby już wszystko zostało dobrze zaplanowane, i tak naprawdę wystarczyło tylko usiąść i robić to jednak się nie udało. Najgorsze w tym jest to że bardzo cieżko z tym problemem walczyć. O ile jeszcze dość łatwo można znaleźć w sobie motywację do nauki/pracy/rozwoju to jednak czasem trzeba zrobić coś co jest o wiele mniej ekscytujące czy rozwijające - np. zmywanie naczyń.

I w tym momencie wchodzi do gry grywalizacja ;)

Zombie Run

Chciałbym zacząć od wytłumaczenia czym jest grywalizacja . Taka sucha definicja mówi że jest to proces wykorzystania mechanik znanych dotychczas z gier fabularnych (komputerowych jak i “papierowych”) w celu zwiększenia zaangażowania “gracza”.

Definicja ta, technicznie poprawna, nie oddaje jednak moim zdaniem tego czym tak naprawde jest ta “grywalizacja”. Najlepszym pomysłem by zrozumieć to pojęcie jest po prostu spojrzenie na jakiś działający przykład. A jest nim moim zdaniem “Zombie Run”. Jest to prosta aplikacja umożliwiająca bieganie. Posiada ona jednak jeden dość ciekawy element - symuluje ona apokalipsę zombie w naszych słuchawkach. Dzięki temu podczas biegania wcielamy się w postać osoby ktora dosłownie ucieka przed hordą zombie. Poprzez głos osoby, która pomaga nam uciec słyszymy informacje o tym ile musimy przebiec i kiedy powinniśmy przyspieszyć bo zaczyna nas otaczać horda. Tak naprawdę nie wiadomo kiedy przestajemy myśleć o samym “bieganiu”, a zaczynamy po prostu grać w grę. I mamy naprawdę dużą motywację do biegania.

Bo, czy goniący nas zombie to nie wspaniały pomysł na znalezienie motywacji do biegania? :)

Grywalizacja to właśnie proces dodania paru zasad i elementów z gier (uciekanie przed zombie, głos osoby która nam pomaga) do prostej czynności która staje się dzięki temu o wiele bardziej interesująca (bieganie). Grywalizacja potrafi dodać motywację do działania.

Skive

Tematem mojego projektu będzie stworzenie aplikacji webowej służącej do zarządzania swoimi taskami. Dobrym przykładem jest tutaj wspomniany już nozbe. Chciałbym jednak dodać do niej elementy grywalizacji które powinny spowodować u grającego wieksza motywacje w wykonywaniu codziennych zadań.

Sam projekt będę prowadził na następujących zasadach:

W każdy piątek/sobotę chciałbym opublikować post dotyczący problemów związanych bardziej z designem i podjętymi decyzjami co do kierunku projektu. Poza projektowaniem kodu i go pisaniem bardzo istotnym aspektem będzie samo projektowanie zasad i ich implementacja w mojej aplikacji.

W każdą niedzielę chciałbym publikować natomiast podsumowanie moich prac z ubiegłego tygodnia. Można w sumie powiedzieć że będę pracował w krótkich tygodniowych sprintach. W najbliższą niedzielę mój projekt oficjalnie wystartuje wraz z postem w którym chciałbym opisać narzędzia których będę używał i podstawowe wymagania aplikacji.