Jak utrzymujemy spójność danych w różnych częściach ekranu? Jak i kiedy uspójnić lokalne dane z tymi na serwerze i na odwrót?
Ludzie są w stanie tolerować brak wizualnej odpowiedzi na ich akcje przez ograniczony czas. (16ms, 100ms)
Jak możemy “elegancko” rozwiązać kwestię latencji bez wyświetlania “kaskady” spinnerów albo pustych widoków? Jak uniknąć skakania layoutu?
Jak zaprojektować aplikację tak, by radziła sobie z arbitralnym nawigowaniem bez utraty ważnego kontekstu?
caching powoduje także problemy. Cache się dezaktualizuje
W każdym momencie nasza aplikacja może znajdować się w jednym z zaskakująco wysokiej liczby możliwych stanów.
W jaki sposób sprawić, aby niezależne widgety współpracowały, a nie rywalizowały ze sobą o zasoby? (chodzi o widoczność, miejsce we viewport)
Kontrast, nawigacja klawiaturą. Jak sprawić, żeby dostępność była domyślnym założeniem, a nie tylko pozostawała w sferze refleksji?
Jak wspierać różne języki bez poświęcenia latencji i responsywności?
Jak zdecydować, w którym momencie wprowadzić latencję? (Szybka odpowiedź + dociąganie danych i kodu)
Jak pisać kod tak, aby błędy renderowania i pobierania danych były izolowane i pomimo ich pojawienia, reszta aplikacji mogła dalej działać?
Jak stworzyć abstrakcję, która ukrywa implementację szczegółów różnych części UI? Jak uniknąć ponownego pojawiania się, wraz z rozrostem aplikacji, problemów, które dopiero co rozwiązaliśmy?