Förslag för att minska dataförbrukningen
Posted: 22 Mar 2012 22:44
Appens dataförbrukning är som jag ser det största problemet med appen. Eftersom den konstant ligger och hämtar och sänder information blir det snabbt många MB. Det gör även att telefonen konstant är i HSPA-läge vilket är förödande för batteriet. Det borde därför vara av högsta prioritet att minska datamängden som skickas till och från appen. Det skulle också minska trycket på servern vilket kanske inte är ett problem nu men det kan bli det.
Eftersom jag inte vet exakt hur allt funkar förslår jag kanske redan sånt som är infört men jag vill starta en diskussion om hur man bäst minskar datamängden som skickas
Bara se spelare aktiva i sin egen region
Jag struntar högaktningsfullt i vad som händer i andra regioner när jag är ute och spelar. När jag kommer hem och har WiFi kan det vara kul att kunna se resten av världen men default borde vara att man bara ser vad som händer i regionen man är.
Cachelagring av kartor
Jag vet att det här har avslagits förut med motiveringen att Google inte tillåter det men jag ställer mig lite undrande. När man läser här http://code.google.com/intl/sv/android/ ... apkey.html så står det ” It provides built-in map downloading, rendering, and caching of Maps tiles”
Är det nya regler eller är det nått jag missar?
Zonerna borde definitivt lagras lokalt. Zonernas status är då det enda som behöver hämtas. Som det är nu tar det lång tid innan alla zoner ens syns. Givetvis är det bara status på zonerna i min region som ska hämtas i första hand. Har man varit aktiv i andra regioner kan statusen på de zonerna även hämtas. Sen bör det vara kopplat till funktionen ovan där man kan välja att se spelare i andra regioner.
Rensa bland meddelanden som skickas till appen
Connect/disconnect är exempel på onödiga meddelanden. Vem som tog vilken krona i andra regioner hör också till sånt jag inte bryr mig om. Andra kan vara intresserad av detta så det ska givetvis vara kopplat till att se spelare i andra regioner.
När skärmen är släckt behövs ingen realtidsuppdatering alls. Det som är intressant då är att servern med jämna mellanrum får veta var jag är och att jag får veta ifall någon tagit mina zoner.
Sänkt uppdateringshastighet
Uppdateringen på positionen man ser i appen bör inte ändras, bara hur ofta den meddelar positionen till servern. Är man i zonen behöver inte heller servern veta exakta positionen hela tiden. Det räcker med att den får en signal att man passerar zongränsen. Det gäller både ut och in och appen kan hålla reda på tidsgränsen. Servern kan även den ha nedräkning för visning för andra spelar/web. När appen har räknat ner klart skickar den GPS-tidskoden (vilken jag antar går att få fram) till servern som då registrerar övertagandet. När servern får tidskoden så väntar den några sekunder innan den tilldelar zonen. Det sista är ifall det är flera som försöker ta zonen så är det viktigt att den som tog den först verkligen får den.
På liknande sätt behöver man inte ha konstant uppdatering av andra spelare ens när dom tar en zon. Det räcker med att min app får veta att viss spelare håller på att ta en zon och har x antal sekunder i take-overtid. Sen kan det räknas lokalt när appen ska kolla om zonen har ny status.
Målet måste vara att så mycket som möjligt görs i appen och jag förstår att det inte är lätta problem att lösa. Jag tror dock att det kommer vara en absolut nödvändighet att göra allt för att minska kommunikationen mellan app och server. När antalet spelare växer kommer det bli problem om inget görs.
Eftersom jag inte vet exakt hur allt funkar förslår jag kanske redan sånt som är infört men jag vill starta en diskussion om hur man bäst minskar datamängden som skickas
Bara se spelare aktiva i sin egen region
Jag struntar högaktningsfullt i vad som händer i andra regioner när jag är ute och spelar. När jag kommer hem och har WiFi kan det vara kul att kunna se resten av världen men default borde vara att man bara ser vad som händer i regionen man är.
Cachelagring av kartor
Jag vet att det här har avslagits förut med motiveringen att Google inte tillåter det men jag ställer mig lite undrande. När man läser här http://code.google.com/intl/sv/android/ ... apkey.html så står det ” It provides built-in map downloading, rendering, and caching of Maps tiles”
Är det nya regler eller är det nått jag missar?
Zonerna borde definitivt lagras lokalt. Zonernas status är då det enda som behöver hämtas. Som det är nu tar det lång tid innan alla zoner ens syns. Givetvis är det bara status på zonerna i min region som ska hämtas i första hand. Har man varit aktiv i andra regioner kan statusen på de zonerna även hämtas. Sen bör det vara kopplat till funktionen ovan där man kan välja att se spelare i andra regioner.
Rensa bland meddelanden som skickas till appen
Connect/disconnect är exempel på onödiga meddelanden. Vem som tog vilken krona i andra regioner hör också till sånt jag inte bryr mig om. Andra kan vara intresserad av detta så det ska givetvis vara kopplat till att se spelare i andra regioner.
När skärmen är släckt behövs ingen realtidsuppdatering alls. Det som är intressant då är att servern med jämna mellanrum får veta var jag är och att jag får veta ifall någon tagit mina zoner.
Sänkt uppdateringshastighet
Uppdateringen på positionen man ser i appen bör inte ändras, bara hur ofta den meddelar positionen till servern. Är man i zonen behöver inte heller servern veta exakta positionen hela tiden. Det räcker med att den får en signal att man passerar zongränsen. Det gäller både ut och in och appen kan hålla reda på tidsgränsen. Servern kan även den ha nedräkning för visning för andra spelar/web. När appen har räknat ner klart skickar den GPS-tidskoden (vilken jag antar går att få fram) till servern som då registrerar övertagandet. När servern får tidskoden så väntar den några sekunder innan den tilldelar zonen. Det sista är ifall det är flera som försöker ta zonen så är det viktigt att den som tog den först verkligen får den.
På liknande sätt behöver man inte ha konstant uppdatering av andra spelare ens när dom tar en zon. Det räcker med att min app får veta att viss spelare håller på att ta en zon och har x antal sekunder i take-overtid. Sen kan det räknas lokalt när appen ska kolla om zonen har ny status.
Målet måste vara att så mycket som möjligt görs i appen och jag förstår att det inte är lätta problem att lösa. Jag tror dock att det kommer vara en absolut nödvändighet att göra allt för att minska kommunikationen mellan app och server. När antalet spelare växer kommer det bli problem om inget görs.