Tutto Tracker is een webapp. Je installeert hem rechtstreeks vanuit je browser, met een eigen pictogram en venster zonder browserbalken. Geen appwinkel, geen account en geen voorwaarden van 47 pagina’s die zelfs de jurist niet heeft gelezen.
Ga in Safari naar tuttotracker.com. Andere iPhone-browsers kunnen werken, maar Apple bewaart het nette bestek nog altijd in de eigen la.
2
Tik op Deel
Tik op de deelknop: het vierkant met de pijl omhoog. Die staat meestal onderaan het scherm.
3
Kies Zet op beginscherm
Scrol omlaag en tik op “Zet op beginscherm”. Laat “Open als webapp” aanstaan als die optie verschijnt.
4
Tik op Voeg toe
Bevestig met “Voeg toe”. Het TUTTO-pictogram staat nu op je beginscherm en ziet er verdacht officieel uit.
▲
Android
1
Open Chrome
Ga in Chrome naar tuttotracker.com.
2
Open het menu
Tik rechtsboven op de drie puntjes.
3
Kies App installeren
Tik op “App installeren” of “Toevoegen aan startscherm”. Android wisselt de tekst soms, vermoedelijk voor de conditie.
4
Bevestig
Tik op “Installeren”. Het TUTTO-pictogram verschijnt tussen je apps en opent zonder browserfrutsels.
Zo werkt het
Voelt als een app
Tutto Tracker opent in een eigen venster en gebruikt het TUTTO-pictogram. Onder de motorkap blijft het dezelfde website, maar dan met een fatsoenlijke broek aan.
Werkt offline
Na één geslaagd online bezoek blijven lokale spellen, spelregels, tips en deze uitleg zonder internet beschikbaar.
Je gegevens blijven lokaal
Lokale scores, spelersnamen en instellingen blijven op je apparaat. Er is geen account en geen cloudprofiel dat stilletjes je huisregels veroordeelt.
Online kamers hebben internet nodig
Gedeelde kamers synchroniseren via een kamercode en hebben daarom internet nodig. Offline dobbelstenen zijn nu eenmaal weinig sociaal.
Updates gaan vanzelf
Als je de app online opent, controleert hij op een nieuwe versie en vernieuwt hij zijn offline bestanden. Geen appwinkel nodig.
Verwijderen doet geen pijn
Verwijder het pictogram zoals iedere andere app. Daarmee verdwijnt de installatie; browsergegevens kunnen blijven staan totdat je die apart wist.
Hoe het technisch werkt (voor engineers)
Het installatiecontract
Het Web App Manifest bevat de appnaam, pictogrammen, themakleuren, start-URL en zelfstandige weergavemodus. De browser gebruikt die metadata om de app op het beginscherm te zetten. Er is geen native wrapper of App Store-binary.
De serviceworker
Een serviceworker zit tussen de app en het netwerk. Hij bewaart de tracker, alle zes taalversies van de spelregels, tips en installatiegids, plus de gedeelde CSS, pictogrammen en het manifest vooraf in een versiegebonden Cache Storage-opslag.
Strategie per verzoek
Paginanavigatie is network-first: online wint de nieuwste versie, offline volgt de gecachete pagina. Statische bestanden zijn cache-first. Verzoeken naar /api/ worden overgeslagen, zodat online roomdata nooit als herbruikbare offline data wordt behandeld.
Lokale status
Lokale spellen worden als JSON in localStorage opgeslagen. Scores, spelersnamen, instellingen en huisregels blijven in dat browserprofiel op dat apparaat. Wie de sitegegevens wist, wist ook deze status.
Online rooms
Een Cloudflare Worker biedt de room-API aan en bewaart de gedeelde spelstatus in Cloudflare D1. Clients schrijven wijzigingen met PUT-verzoeken en controleren ongeveer iedere seconde op een nieuwere status. API-antwoorden gebruiken no-store; een geplande taak verwijdert rooms die 30 dagen niet zijn gewijzigd.
Updates
De serviceworkercache heeft een expliciete versie. Een deployment verhoogt die; de nieuwe worker downloadt de actuele kernbestanden, activeert, verwijdert oude caches en neemt geopende clients over. De volgende navigatie kan daarna de nieuwe build gebruiken.