Nie można wyświetlić tego widżeta.
Nie można wyświetlić tego widżeta.
Nie można wyświetlić tego widżeta.
Poziom 20, Odkrywca Przestworzy

Pobieranie listy usług w tle

Po uruchomieniu aplikacji mamy oczekiwanie na pobranie informacji o środkach na potrzeby ekranu głównego.

 

Przy przechodzeniu do usług znów jest oczekiwanie bo aplikacja pobiera listę usług. Może zamiast tego zrobić pobieranie tych danych w tle po pobraniu danych ekranu głównego?

 

Do tego jakiś znacznik ważności listy i przechowywanie w pamięci podręcznej. Skoro zapytanie i tak leci do serwera to jak ten dostanie info "mam listę z 2017.10.10 13:23" to może odpowiedzieć "no to masz najnowszą" i nie trzeba czekać na dane.

11-10-2017 w Pomysły

  • 1

    Otwarty

  • 2

    Realizowany

  • 3

    Zrealizowany

Komentarze
Poziom 33, Ekspert Galaktyczny

Czyli gdy już załaduje się i wyświetli ekran główny to w tle pobierają się od razu dane dot. usług, aby można było szybciej je wyświetlić. Dobrze zrozumiałem?

Co do znacznika danych to czasami będzie tak, że lista pobrana o 11:31 zawiera dane z 11:00 (na niektórych systemach nie będzie można wymusić częstszego odświeżenia danych). Czy dobrze rozumiem, że wtedy appka powinna wyświetlać coś w stylu "Stan środków z 11:00. Jeszcze nie ma nowszych danych." ?

11-10-2017

Poziom 45, Pionier Misji

A czy naprawdę dziś czas oczekiwania jest długi?

Na ile potrafię analizować apkę od zaplecza obecnie długi czas ładowania to chyba wyniki "decyzji designu" by był efekt "wow" a nie konieczność.

11-10-2017

Poziom 20, Odkrywca Przestworzy

@Artur  no właśnie chodzi o to by w tle pobrał do szybszego wyświetlenia.

 

@Piotrekk85  nie jest długi ale aplikacja sprawia wrażenie "ociężałej" bo gdzie nie klikniesz to "proszę czekać". Możliwe, że ktoś miał taki pomysł projektowy ale jak dla mnie nie wygląda to dobrze.

11-10-2017

Poziom 33, Ekspert Galaktyczny

Ok, pewnie trzeba byłoby sprawdzić jak często używane są inne - poza stroną główną - zakładki. Niemniej wydaje się sensowne i głosuję na tak. A wyświetlanie czasu aktualizacji danych o dostępnych środkach? Napiszesz coś więcej jak mogłoby to Twoim zdaniem wyglądać?

11-10-2017

Poziom 20, Odkrywca Przestworzy

Czas aktualizacji środków nie ma nic do tego. Kwestia z czasem odnosiła się bardziej do komunikacji aplikacja<>serwer przy pobieraniu listy aktualnych usług.

11-10-2017

Poziom 33, Ekspert Galaktyczny

Status zmieniony na: Sprawdzany

Poziom 33, Ekspert Galaktyczny

Status zmieniony na: Realizowany

Pomysł został przeanalizowany i jego prostota bardzo się spodobała 🙂 Jest jednak spora przeszkoda… Zwiększanie liczby pobieranych danych, nawet w tle, to dodatkowe obciążenie dla systemów, z których pobierane są dane. Obecny czas pobierania danych wynika nie z tego, że jedna aplikacja pobiera paczki z danymi tylko z tego, że cały czas mnóstwo aplikacji korzysta z tych systemów, czyli to nie jest tak, że systemy są obciążane tylko podczas startu, ale są cały czas obciążane.

Gdybyśmy dodali dodatkowe dane do pobierania w tle to wydłużylibyśmy czasy ładowania danych na ekranie początkowym. No i o ile wszyscy korzystają z ekranu głównego to zakładki są używane sporadycznie, więc chyba lepiej nie wydłużać ładowania czegoś, z czego korzystają wszyscy, aby przyśpieszyć ładowanie opcji, z których korzysta niewiele osób?

 

Dobra wiadomość jest taka, że zespół aplikacji bardzo mocno pracuje nad innymi zmianami, które przyśpieszą ładowanie ekranu początkowego. Zmiany będą stopniowe, więc wielkiego przyśpieszenia nie odczujemy od razu, ale wraz z każdą kolejną wersją appki czasy ładowania powinny być krótsze, więc cel pomysłu – będzie zrealizowany. Dodatkowo, zespół aplikacji rozpoczął prace nad możliwością sprawdzenia w appce daty i godziny aktualizacji danych i wstępne plany zakładają pojawienie się tej funkcji za kilka miesięcy 🙂

16-11-2017

Poziom 20, Odkrywca Przestworzy

@Artur Jak często usługi się zmieniają?

 

Aplikacja wysyła zapytanie do serwera o listę usług. Dostaje listę ze znacznikiem "wersji" listy (niech to będzie 201711173). Zapamiętuje to w pamięci podręcznej na urządzeniu.

 

Następnym razem aplikacja widzi, że w pamięci podręcznej ma wersję 201711173. Wysyła info do serwera "daj mi listę usług, mam 201711173". Serwer odpowiada "lista aktualna, cześć" jak nie ma zmian lub przesyła całą listę jak są zmiany.

 

Poza tym ładowanie listy usług dopiero po obsłużeniu ekranu początkowego. Użytkownik odpala aplikację ładuje mu się ekran początkowy z danymi. Radośnie (lub nie) przegląda sobie co tam ma za info. W tym czasie aplikacja w tle może zaktualizować listę usług. W końcu ile to transferu będzie? Kilka(naście) KB spakowanych danych.

16-11-2017

Poziom 20, Odkrywca Przestworzy

No i można wtedy rozdzielić listę na dwie części: lista usług + lista włączonych usług.

16-11-2017

Poziom 20, Odkrywca Przestworzy

Ile ruchu w jednej minucie ;D

15-02-2018

Poziom 33, Ekspert Galaktyczny

Status zmieniony na: Wdrożony

Małe zawirowania techniczne ze statusami, przepraszam 😄 @TJZS, dzięki wielkie za pomysł. Nie można było wykorzystać go w 100% w ten sposób, czyli od razu wysyłać zapytania do wszystkich serwisów, ze względu na ich obciążenie, ale taka "strategia" pobierania danych, nie tylko w usługach będzie wykorzystywana w aplikacji już od najbliższej wersji (zapewne pojawi się pod koniec lutego/na początku marca). Spowoduje to poprawienie szybkości pobierania danych. Może nie będzie to super duża zmiana, ale na pewno będzie choć trochę szybciej.

15-02-2018