Shopping Advisor – podsumowanie trzech miesięcy #dajsiepoznac

Ponieważ koniec konkursu Daj się poznać dobiega końca chciałabym najbliższe dwa wpisy poświęcić trochę na podsumowanie a trochę na opisanie moich planów na przyszłość względem aplikacji, którą tworzyłam. Dziś zajmę się właśnie omówieniem i przypomnieniem, do czego ona służy i jak działa.

Otóż celem aplikacji jest wspomaganie nas w planowaniu zakupów codziennych produktów a także tych, które kupujemy rzadziej. Naszym jedynym zadaniem jest regularne wprowadzanie do niej informacji o tym, które produkty nam się skończyły – masło, mleko, proszek do prania itd. Po jakimś czasie aplikacja jest w stanie coraz lepiej przewidywać jak często kończą nam się poszczególne produkty i na ekranie prognoz, który jest podzielony na trzy sekcje – wszystkie, tydzień i miesiąc pokazuje co powinniśmy kupić w najbliższym tygodniu i najbliższym miesiącu. Obok każdego produktu mamy przewidywaną datę, kiedy nam się skończy.

Na wspomnianym ekranie prognoz możemy dokonywać różnych akcji związanych z wprowadzanymi przez nas produktami:
• nowe produkty, które nam się skończyły możemy dodawać korzystając z przycisku + (plus) umieszczonego na dole ekranu. Przycisk ten wyświetla nam okienko dialogowe, które umożliwia wpisanie nazwy produktu, który chcemy dodać. Pole tekstowe posiada funkcję podpowiadania nazw, które użytkownik już kiedyś wprowadził.

screen2

Od razu również aplikacja pyta użytkownika czy chce dodać kolejny produkt.
anotheritem
• produkty, które już mamy na liście również możemy oznaczyć jako skończone – wybieramy z listy produkt lub produkty (pojawi się nam w menu liczba zaznaczonych elementów – w tym przypadku dwa) poprzez pojedyncze tapnięcie i wybieramy z górnego menu przycisk z ikonką smutnej buźki.

• jeśli produkt kupimy, możemy go oznaczyć jako kupiony wybierając go z listy poprzez pojedyncze tapnięcie i wybranie z górnego menu przycisku z ikonką koszyka. Spowoduje to oczywiście zmianę prognozy dla tego przedmiotu.
markasbought
• ostatnie co możemy zrobić na tym ekranie to zarchiwizować dany produkt – podobnie jak poprzednio, zaznaczamy go i wybieramy z menu przycisk z ikonką archiwizacji. Wówczas znika on z ekranu prognoz, ale nadal przechowujemy dane na jego temat. Jeśli użytkownik korzystając z przycisku + (plus) wpisze znów nazwę tego przedmiotu, zadziała podpowiadanie w polu edycyjnym o którym wspomniałam wcześniej i będzie mógł wybrać z listy z podpowiedziami interesujący go produkt. Podpowiadanie działa oczywiście nie tylko dla produktów zarchiwizowanych, ale dla wszystkich, które kiedykolwiek użytkownik do aplikacji wprowadził.
markasarchived

Jak zacząć?
Dla nowych użytkowników, który jeszcze nie mają żadnych produktów w bazie danych uruchamiany jest przewodnik, który pozwala na wprowadzenie produktów, jakie użytkownik kupił w ciągu ostatniego tygodnia a także ostatniego miesiąca.

7days - Wizard

30days - Wizard

Pozwoli to stworzyć wstępne prognozy, które będą stawały się coraz bardziej dokładne w miarę korzystania z aplikacji i regularnego wprowadzania informacji o produktach, które się skończyły.

W kolejnej notce opiszę moje dalsze plany na rozwój aplikacji a także parę przemyśleń na temat konkursu , czasu jaki na to wszystko poświeciłam i czego się nauczyłam.

Shopping Advisor – nie koniec problemów:( #dajsiepoznac

Kiedy już udało mi się uratować zakładki o czym pisałam w poprzednim wpisie okazało się, że parę rzeczy trzeba było przerobić i niestety idzie to dość mozolnie. Przez to kompletnie straciłam nadzieję na to by aplikację udało się umieścić w Google Play w tym miesiącu – bardzo mi z tego powodu smutno. Na początku maja sytuacja przedstawiała się dość optymistycznie jednak, gdy zaczęłam pracę nad wizardem wszystko się nieco skomplikowało i niestety pokrzyżowało szyki.

Wizard również ma swoje problemy – dość powoli działa. Zapewne jednak będę musiała pewne rzeczy zoptymalizować, więc sporo pracy mnie czeka:) Pojawiło się też oczywiście parę błędów i moja tablica na Trello, o której pisałam tutaj zaczęła puchnąć. Nie mniej – nadal się uczę, ale też wiele rzeczy idzie mi już dużo sprawniej niż na początku.

Pracy niestety nie ułatwia mi też Android Studio, które muszę przyznać, na Windows działa okrutnie powoli w porównaniu z Linuxem. Co prawda zawiesiło mi komputer na amen tylko raz, ale samo zawiesza się dość rzadko – raz na 2-3 dni tak, że muszę zabijać proces. Ostatnio jednak często muszę czyścić pamięć urządzenia i ewentualne uruchamianie od zera emulatora trwa bardzo długo.

Z kolei po którejś aktualizacji SDK trzeba było doinstalować jakiś dodatkowy pakiet, bo aplikacja tajemniczo się nie budowała. No nic, mam świadomość, że brakuje mi obycia i znajomości różnych ułatwień pracy jakie zapewne wypracowali sobie Androidowcy:)

Shopping Advisor – odpoczynek się przydał #dajsiepoznac

Wspomniałam ostatnio o sporym problemie z zakładkami, które totalnie nie chciały działać tak jakbym sobie życzyła przez co pogrążyłam się w chaosie i zwątpieniu 😉 A tak poważnie to faktycznie przydał mi się wakacyjny odpoczynek, ponieważ po powrocie usiadłam do tego ze świeżą głową. Zrobiłam sobie na boku od zera aplikację z zakładkami korzystając z szablonu, którego dostarcza Android Studio i w ten sposób mogłam ogarnąć różnice jakie miałam i to czego mi brakowało. Tym samym zakładki w końcu zaczęły działać jak należy. Jednak po tak dużej zmianie z kolei pojawiły się problemy z górnym menu i zaznaczaniem elementów oraz odświeżaniem, ale ostatecznie i to udało się rozwiązać.

Obecnie zajmuję się dopracowaniem wizarda dla nowych użytkowników.

Shopping Advisor – krnąbrne zakładki #dajsiepoznac

Znalazłam wczoraj dość duży problem, który zauważyłam dopiero, gdy testowałam poprzednio opisanego wizarda dla nowych użytkowników. Mianowicie dzieją się jakieś dziwne rzeczy związane z zakładkami. Do adaptera wchodzą trzy – All, 7 Days, 30 Days, ale tylko na dwóch z nich (pierwszej i ostatniej) odpalają się metody onCreateView czy onActivityCreated. Konstruktory odpalają się na wszystkich trzech. W adapterze też są trzy.

Na dodatek, gdy wybieram drugą z zakładek tak naprawdę wywoływana jest…trzecia. Albo to już przemęczenie albo ekscytacja nadchodzącym urlopem, ale totalnie nie mogę tego ogarnąć i wątpię by udało mi się to w najbliższych dniach:( Chyba potrzebuję odpoczynku;) Nie pomogła też premiera nowej książki Remigiusza Mroza „Trawers”, która skutecznie w ostatnich dniach odwracała moją uwagę od wszystkiego innego.

Ale, żeby nie było, że jest tylko źle to z sukcesów z kolei udało mi się podpiąć logikę liczącą i zapisującą te prognozy, które pobieramy na podstawie danych od użytkownika w wizardzie:) Zatem cały czas do przodu, tylko troszkę wolniej:)

Shopping Advisor – Wizard #dajsiepoznac

Niedawno w jednym z komentarzy na blogu zaproponowano mi pomysł zrobienia pewnego „wizarda” by zademonstrować użytkownikowi działanie aplikacji i łatwiej go w nią wprowadzić. Początkowo pomysł nie wydał mi się dobry – idea miała polegać na zaproponowaniu użytkownikowi jakiejś założonej z góry grupy produktów na podstawie zainteresowań użytkownika.

Idea ta jednak na tyle utkwiła mi w głowie, że dość szybko przyszedł pomysł jak zrealizować taki przewodnik, tak by był bardziej zgodny z założeniami aplikacji. Nie chciałam z góry zakładać jakiejś grupy produktów jednakowej dla każdego użytkownika. Zależało mi na tym, by od początku aplikacja była jak najbardziej spersonalizowana względem tego kto jej używa.
I tak wymyśliłam coś takiego, by każdy użytkownik na starcie jeśli jeszcze nie ma żadnych produktów dodanych do bazy, musiał podać 5 dowolnych rzeczy, które kupił w ciagu ostatniego tygodnia i kolejne 5 – w ciągu ostatniego miesiąca (innych niż poprzednie 5). Pozwoli mi to, bardzo ale to bardzo zgrubnie, zaproponować mu pewne prognozy na produkty, które wprowadził w ten sposób. Tym samym użytkownik nie będzie miał pustego ekranu prognoz na początku. Z czasem używania prognozy będą się coraz lepiej dopasowywały.

Mimo, że ostatnio miałam zamiar poświęcić się już tylko doskonaleniu aplikacji i dopracowaniu jej, by mogła zostać wrzucona do Google Play, zdecydowałam się zrealizować opisaną funkcjonalność.

Póki co mam zatem dwa wstępne ekrany – bardzo podobne – dla produktów z 7 dni:

7days - Wizard

Dla produktów z 30 dni:

30days - Wizard

Wizualnie jeszcze nie do końca mi się to podoba, ale myślę, że spełni swoje zadanie. Do zrobienia zostało jeszcze obsłużenie tych dwóch formularzy, ponieważ na razie udało mi się zrobić tylko część interfejsu użytkownika.

Nie mam zamiaru zmuszać użytkownika, by ten formularz skrupulatnie wypełnił, ale jeśli tego nie zrobi, aplikacja będzie go do tego zachęcać przynajmniej do momentu dodania czegoś do bazy danych.