wtorek, 20 lutego 2018

LockMe has stopped

Taaaa... moja aplikacja działa właściwie dobrze. Po zaledwie 3 uruchomieniach już robi to co powinna.
Moja świeża jeszcze dusza programisty mówi Przecież działa.
Moja utrwalona, stara dusza QA mówi Aplikacja wyświetla "LockMe has stopped po pierwszym uruchomieniu. Ja tego nie zatwierdzę!
No więc szukam. Googlam oczywiście - że się zatrzymała, co wtedy robiła, nic nie znajduję. Aż gdzieś w końcu w jakimś komentarzu jakieś delikatne wspomnienie o logach. Logach. LOGI! No przecież! Dotąd nie dotrwałam jeszcze aż tak dalego z aplikacją (zawsze coś się psuło wczesniej) i nie pomyślałam nawet, że z tego będą logi.
Eh... już chciałam się usprawiedliwiać dlaczego o tym nie pamiętałam. Ale zamiast tego - zanotować i zapamietać - zawsze sprawdź logi.

poniedziałek, 22 stycznia 2018

LockMe - początki

Mój stary telefon ma wiele problemów - pęknięta szybka, często niestykające połączenie USB, niedziałający przycisk Power. Nauczyłam się już go uruchamiać bez tego przycisku poprzez tryb serwisowy, ale bez niego nie mogę też zablokować ekranu (a czasami nie mogę czekać aż minie timeout).
Postanowiłam więc napisać sobie apkę, która będzie wywoływać blokowanie ekranu.
Myślałam, że to będzie banalne - ot kilka linijek i tyle. Zaczęłam szukać odpowiednich komend - już samo to było trudniejsze niż myślałam - na hasło "lock screen" wyskoczyło wiele podpowiedzi, z któych żadna nie miała nic wspólnego z tym, czego szukałam. W końcu jednak znalazłam:
https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#lockNow()
I znów pomyślałam - no proszę - kilka linijek i będzie gotowe - już widziałam oczyma wyobrażni kilka wersji gotowej apki. A tu nie - okazało się, że to początek przygody z uprawnieniami administratorskimi :)
Znalazłam nawet to:
https://developer.android.com/guide/topics/admin/device-admin.html
O - pomyślałam - gotowy wzór, teraz to już prawie koniec.
I potem pojawiły się FATAL EXCEPTION...

sobota, 9 grudnia 2017

Co mogę i powinnam wiedzieć o moim użytkowniku?

Przy projektowaniu aplikacji warto dokładnie zastanowić się kim jest i jaki jest mój potencjalny użytkownik - można wtedy dopasować aplikację do jego stylu życia.
Następnie można się zastanowić czego o użytkowniku może dowiedzieć się aplikacja - jak to wykorzystać na jego korzyść, jednocześnie nie nadużywając jego prywatności i zapewniając bezpieczeństwo jego danym.
  • Co robi?
    • czy w danym moemencie używa telefonu
    • czy mogę mu w danym momencie wysyłać powiadomienia
    • czym zajmuje się zazwyczaj - jak się dopasować do jego dnia
  • Gdzie jest?
    •  gdzie przebywa obecnie
  • Co znajduje się niedaleko?
    • gdzie mieszka
    • gdzie często bywa
    • jakie miejsca lubi odwiedzać
  • Kim jest?
    • co robi
    • co lubi
    • czego potrzebuje
    • kim są jego znajomi

piątek, 8 grudnia 2017

Nowa apka ze starej

Aplikacja, nad którą teraz pracuję, jest bardzo prosta.
Założyłam repozytorium - https://github.com/DeTheTurquoise/ThoughtForToday

Jej bazowa wersja ma wyświetlać jakąś myśl na dany dzień.

Ostatnio jednak próbuję się nauczyć więcej o wychowywaniu dzieci. Czytam książki, uczestniczę w kursach. Zastanawiałam się gdzie zapisać myśli i zadania z tych materiałów, aby mi nie umknęły i już wiem - w innej wersji tej aplikacji :)
Nowa baza, kilka nowych funkcji i będzie w sam raz :)

środa, 6 grudnia 2017

TODO, TODO...

Dziś znowu myślałam o moim nowym projekcie. To takie przyjemne uczucie, kiedy w mojej wyobraźni powstaje nowy projekt - widzę go ogólnie, dzielę na części - w końcu powinien powstawać przyrostowo. Widzę radość mojego użytkownika. Wszystko super, tylko mam wcześniej przynajmniej 2 inne projekty do skończenia...
TODO:
- porozmawiać z pomysłodawcą aktualnego projektu - co dalej?
- dodać kod do GitHub (zanotować sobie, żeby to jednak robić na początku...)
- poprawić UI w aktualnym projekcie
- nadać temu projektowi nazwę roboczą
- dowiedzieć się więcej o testach w apkach mobilnych
- zastosować wiedzę w tej apce
- oddać apkę użytkownikowi
- skończyć kurs UX
- sprawdzić jaki jest stan poprzedniej apki
- podzielić to co jest do zrobienia na zadania
- skończyć kurs dev
- pogadać z kolegą jaki robimy razem projekt
- ogarnąć ten projekt
- zrobić kurs UI
Hmmm...
- znaleźć wygodny Task Tracker

niedziela, 3 grudnia 2017

UX czyli co?

UX - User Experience - wszystko to w aplikacji, co wpływa na jej użyteczność. To, w jaki sposób aplikacja jest odbierana przez użytkownika

* Bezbłędne działanie
** funkcji
** aplikacji
* Dobór funkcji
** Automatyzacja działań użytkownika, koncentracja na głównych funkcjach
** Zaspokajanie potrzeb użytkownika
* Szybkość
** działania aplikacji
** ładowania danych
** Zapisywania danych
** Uruchamiania aplikacji
** Przechodzenia aplikacji do innego trybu (np. obrót ekranu)
* Wygląd
** Wielkość elementów interfejsu
** Dopasowanie układu interfejsu do możliwości użytkownika w momencie użytkowania
** Przejrzystość interfejsu
** Intuicyjna obsługa
* Korzystanie przez aplikację ze współpracujących lub wbudowanych elementów wprowadzania, pobierania i prezentowania danych
* Ustawienia
** Możliwość zmiany ustawień
** Wygodne ustawienia domyślne

piątek, 1 grudnia 2017

15 minut bliżej do programisty

Od dziś postanawiam - spędzę codziennie przynajmniej 15 minut na jakimkolwiek zajęciu, które pomoże mi być lepszym programistą. I napiszę co robiłam i czego się nauczyłam.
Mogę np.:
  • napisać fragment kodu
  • poszukać rozwiązania jakiegoś problemu developerskiego
  • przejść fragment kursu związanego z programowaniem
  • przeczytać fragment książki lub bloga o tematyce programowania
  • wykonać analizę wymagań jednego ze swoich projektów
  • przygotować testy dla jednego ze swoich projektów
  • zaprojektować kolejny fragment swojej aplikacji
  • przejrzeć dostępne aplikacje i zastanowić się jakie są ich plusy i jak mogę to zastosować w swoich aplikacjach
  • przejrzeć dostępne aplikacje i zastanowić się jakie są ich minusy i zastanowić się jak mogłyby działać lepiej i jak to odnosi się do moich aplikacji
Tak więc - koniec wymówek, czas zacząć działać :)