Planowanie to jeden z najważniejszych procesów w każdej pracy. Nie każdy umie to robić. Nie każdy też lubi to robić. Ale mimo wszystko u każdej osoby daje to wymierne korzyści. Jakie? Przekonajcie się sami.
1. Research
Jak dla mnie zawsze 1 krokiem jest research. W tym wypadku nie do końca wiedziałem czego sam oczekuję od swojego projektu, dlatego potrzebowałem przemyśleć wiele kwestii. I zacząłem czerpać inspiracje. Nie znam wszystkich komunikatorów. Ale w swoim życiu spotkałem ich kilka. I jest kilka rzeczy, których mi osobiście brakuje:
- Stabilności
- Lekkości
- Świeżego podejścia
To bardzo takie wysokopoziomowe stwierdzenia. Ale wyznaję zasadę, że od ogółu do szczegółu. Ale gdzie szukać inspiracji? No i generalnie jestem zdania, ze najwięcej inspiracji szukać można u grafików. Dlatego często odwiedzam portal Behance. Spotkać tam można grafiki wybitnych artystów z całego świata. Ich portfolio i podejście do przeróżnych tematów. Dlatego rozpocząłem swój research właśnie tam.
Po kilkugodzinnym poszukiwaniu odnalazłem kilka dość interesujących prac:
- U&Me - zainspirowało mnie do ekranu logowania
- Qwirc - przycisk do udostępniania treści
- Facebook redesign - ekran aktywności/społeczności
- Thrive - planowanie i wyświetlanie wydarzeń
- Osome - ogólny wygląd i rama, kolorystyka, czystość
2. Funkcjonalności
Jak już zdecydowałem co mi z jakiego projektu się podoba to przyszedł czas na rozplanowanie funckjonalności. Wyróżniłem kilka głównych modułów:
- Aktywności
- Wyszukiwarka
- Zespoły
- Wiadomości
- Społeczność
Kolejnym krokiem to już głębsze rozkminianie i rozpisanie. Na dziś dzień rozpisałem moduły w następujący sposób:
Aktywności
Krótkie notatki co do funkcjonalności jaką ma pełnić ta część aplikacji:
- Upcoming - nadchodzące wydarzenia
- Stars - wszystkie kanały obserwowane
- Mentioned - Wszystkie wiadomości, w których było się wspomnianym (wywołanym)
- Teams news - zbiorcze aktualności ze wszystkich zespołów (dynamiczna lista z max 5 ostatnimi wiadomościami)
- Statuses - historia stanów użytkowników
Generalnie plan jest taki, aby pokazywać domyślnie wszystko z możliwością odfiltrowania poszczególnych kategorii.
Zespoły
Tutaj troszkę więcej, ponieważ uznałem, że to będzie jeden z ważniejszych modułów w aplikacji. Dlatego najpierw dodawanie (duży przycisk plus):
- Nazwa
- Określenie prywatności a. Publiczne - każdy może znaleźć i dołączyć b. Moderowane - można szukać i poprosić o dostęp c. Prywatne - nie można wyszukać, jedynie moderator może dodawać osoby
Następnie sam ekran będzie podzielony na dwie sekcje:
- Lista zespołów - tych, w których użytkownik aktualnie bierze udział.
- Wyszukiwanie - możliwość dołączania do poszczególnych zepsołów i wyszukiwanie po nazwie i opisie
Natomiast ekran już konkretnego zespołu będzie posiadał takie zakładki:
- Main screen a. Możliwość przejścia do czatu zespołu b. Nazwa c. Data utworzenia d. Opis ze wsparciem markdown e. Lista uczestników
- Kalendarz zaplanowanych spotkań i deadlinów
- Notatki a. Możliwość dodawania przez uczestników i akceptacji przez określonych moderatorów b. Notatki będą mogły być różnego typu: markdown, file, poll, video, image
Wiadomości
Skoro to komunikator, to nie mogło zabraknąć również samego modułu konwersacji.
- Lista konwersacji - z uczestnikami i zespołami + odfiltrowanie i przeszukiwanie po tytule
- Konwersacja a. Tytuł - nazwa lub automatyczny tytułz nazwami uczestników b. “i” - ikona przejścia do informacji o uczestniku lub do karty zepsołu c. “x” - ikona opuszczenia konwersacji d. Lista wiadomości - każdy wzbogacony wpis (inny typ niż clear text) powinien mieć możliwość podglądu w prawej częsci ekranu lub na full screen e. mention - oznaczanie kogoś przez @ f. tagowanie - tagi już wkradły się w nasze życie, więc jest to niemal obowiązek aby umozliwić bogate użycie # g. Współdzielenie bogatszej treści
Społeczność
Cóż - to będzie taka mała kopia Facebooka. Możliwośc udostępniania treści różnorakich publicznie (taka jakby tablica firmowa). Dodatkowo osoby typu moderator będą mogły niektóre wpisy przypinać jako takie ważniejsze.
Jednocześnie ekran ten będzie umożliwiał przeglądanie kontaktów w firmie i dostęp do nich.
Podsumowanie
Cały projekt próćz masowych konwersacji - ma być komunikatorem bardziej dla większych zespołów pracowników. Często w pracy programistycznej spotyka się potrzebę pracy nad określonymi zadaniami (zepsoły) i wymianę treści pomiędzy nimi. Wszyscy w pracy się znają (Społeczność) i dzielą newsami, treściami różnego rodzaju i ogłoszeniami. Ekran aktywności ma być podsumowaniem i pierwszą zakładką, do której bedzie się zaglądać po rozpoczęciu pracy. A same konwersacji to podstawa komunikacji rozproszonej.
Co dalej?
Plan jest. Teraz wielką korzyścią jego jest to, że wiadomo, co trzeba zrobić. Dzięki temu nie zastanawiam ysię przy każdej czynności co jeszcze pozostał odo zrobienia. Oszczędzamy czas. Raz poświęcony owocuje w przyszłości. Oczywiście planować można częściej. Przy każdym module. Można też modyfikować plany na bieżąco. To wszystko jest możliwe. Ale pierwsze planowanie jest ziarnkiem, o które trzeba pielęgnować. Polecam każdemu. A już kolejnym razem rozpocznę pisanie poszczególnych modułów. Dlatego zachęcam do śledzenia kolejnych wspisów. Już w kolejnym będzie o modułach w Angularze oraz o routingu. Zapraszam i do usłyszenia!