Blog Archives | Mood Up team - software house
Flutter in programming

Co to Flutter i dlaczego ma tak duży wpływ na tworzenie aplikacji

Czym jest Flutter?

Flutter to toolkit UI Google stworzony do budowania natywnych aplikacji dla urządzeń mobilnych, internetowych i desktopowych z wykorzystaniem jednej bazy kodu, a nie dwóch odrębnych. Został wydany 4 grudnia 2018 roku i od tego czasu stale się rozwija. Dziś ma ponad 2 miliony użytkowników, rosnąc z dnia na dzień.

Aby tworzyć aplikacje we Flutterze, musisz znać język programowania Dart. Jest on obiektowym językiem programowania, który ma na celu być tak szybki jak to tylko możliwe, na wszystkich platformach które wykorzystują kompilację AOT (ahead-of-time) z natywnym kodem maszynowym. W tym artykule przejdziemy przez podstawy Fluttera. Dowiesz się jakie są zalety jego używania oraz czym różni się od podobnych rozwiązań, takich jak React Native.

Flutter – podstawy

Widoki

Flutter używa deklaratywnego podejścia przy budowaniu widoków . Oznacza to, że opisujesz efekt, który chcesz osiągnąć. Na przykład, jeśli chcesz wyświetlić listę z tekstem , wskaźnikiem postępu i przyciskiem ,   umieszczasz to wszystko w widżecie kolumna. Nie ma potrzeby pisania dodatkowego kodu, który zajmowałby się renderowaniem elementów UI.

1_code (Column Widget)

Skutkuje to tym:
column animation

 

Widgety

To dobry moment, aby ustalić czym dokładnie są widgety. Są one podstawowym budulcem w świecie Fluttera. Widżet jest częścią interfejsu użytkownika. Może być zarówno widoczny, jak przyciski czy formularze, jak i niewidoczny, służący do definiowania struktury layoutu, jak kolumna, wiersz czy kontener. Wszystko polega na zagnieżdżaniu widżetów wewnątrz innych widżetów i budowaniu bardziej złożonych części UI.

Rodzaje widetów

Istnieją dwa rodzaje widżetów – stateless i stateful. Widżet stateless nie posiada swojego stanu – co oznacza, że jest niezmienny. Nie można go zmienić w czasie działania aplikacji. Widżet stateful, z drugiej strony, może posiadać stan i jest od niego zależny. Za każdym razem, gdy stan się zmienia, widżet jest przebudowywany z nową wartością.

Przyśpiesz pracę dzięki Flutterowi

Wbudowane widgety

Jedną z największych zalet Fluttera jest to, że oferuje on mnóstwo gotowych komponentów. Oznacza to, że nie trzeba się męczyć z mnóstwem kodu, aby coś wyglądało fajnie. Jeśli chcesz zaimplementować jakieś wymyślne, animowane rzeczy, takie jak składany pasek aplikacji, będziesz zaskoczony gdy odkryjesz, że istnieje widżet, który pozwoli Ci to zrobić za pomocą kilku linijek kodu.

Hot reload

Kolejną funkcją, która może przyspieszyć proces tworzenia aplikacji jest funkcja hot reload. Działa ona poprzez implementację zaktualizowanego kodu źródłowego bezpośrednio do działającej maszyny wirtualnej Dart. Innymi słowy, zmiany, które wprowadzasz, są stosowane podczas działania aplikacji. Koniec z przebudowywaniem całego projektu tylko po to, aby zobaczyć zaktualizowany tekst lub kolor!

Jedna baza kodu, wiele platform

Jak już wspomnieliśmy, Flutter polega na pisaniu jednej bazy kodu, która może być dostarczona na różne platformy. Obecnie obsługuje urządzenia mobilne (Android i iOS), webowe, desktopowe oraz wbudowane. Oznacza to, że możesz zbudować aplikację na dowolnej wybranej przez siebie platformie.

Pakety zewnęrzne

Nie ma sensu wymyślać koła na nowo. Jeśli pracujesz nad jakimś rozwiązaniem i masz wrażenie, że widziałeś już coś podobnego wcześniej, wejdź na https://pub.dev/ i sprawdź czy istnieje pakiet do tego rozwiązania. Można tam znaleźć odpowiedzi na różne problemy, z którymi wcześniej zetknęli się inni programiści. Potrzebujesz pracować z bazą danych SqlLite? Wystarczy pobrać pakiet sqllite, zaimportować go do swojego projektu i zacząć z niego korzystać. Nic prostszego.

Łączenie rozwiązań natywnych z Flutterem

Wyobraź sobie sytuację, w której potrzebujesz stworzyć customowy element. Nie ma do tego widgetu lub pakietu (mało prawdopodobne!) i aby to osiągnąć trzeba uruchomić jakiś natywny kod. Czy możliwe jest uruchomienie natywnego kodu Android lub iOS z poziomu Fluttera? Tak!

Nie jest to częste, ponieważ zazwyczaj istnieje wystarczające wsparcie na poziomie Fluttera. Ale jeśli z jakiegoś powodu musisz to zrobić, nie jest to żaden problem.

Używanie natywnego kodu

Flutter używa metod w stylu message-passing do komunikacji z natywnym API. Musisz utworzyć obiekt MethodChannel po stronie klienta (aplikacja Flutter). Następnie można ustawić handler dla wiadomości z tego kanału po stronie hosta (aplikacja natywna). Kanał ten pozwala klientom i hostom komunikować się między sobą.

Spójrzmy na przykład wzięty z życia. Wywołamy metodę Android MainActivity z Dart i otrzymamy wynik. Po pierwsze, musimy utworzyć MethodChanel po stronie Fluttera. Upewnij się, że ma on unikalną nazwę.

 

2_code MethodChanel - client side

Następnie tworzymy metodę w klasie MainActivity i ustawiamy handler dla naszego kanału MethodChannel:

3_code - host side

Teraz możemy wywołać naszą natywną metodę z poziomu Fluttera:

4_code - Calling a method on client side

Powyższy przykład obrazuje pracę dla systemu Android, ale metoda dla iOS jest bardzo podobna.

Wyświetlanie natywnego widoku

Czasami możesz chcieć użyć natywnego widoku w swojej aplikacji Fluttera – na przykład Google Maps systemu Android i iOS. Flutter zapewnia funkcję Platform Views. Używając jej, możesz stworzyć natywne widoki, korzystające z natywnego kodu. Następnie po prostu umieść je bezpośrednio w drzewie widżetów.

Tryby wyświetlania

Obecnie Flutter może renderować natywne widoki Androida za pomocą Hybrid Composition lub Virtual Display.

Z użyciem Hybrid Composition , natywny android.view.View zostanie dodany do hierarchii widoku, co oznacza pełne wsparcie dla dostępności czy obsługi klawiatury.

Z drugiej strony, w przypadku Virtual Display, widok natywny będzie renderowany po prostu jako tekstura i nie będzie częścią hierarchii widoku. Może to powodować pewne problemy z interakcjami, takimi jak obsługa klawiatury.

Jeśli chodzi o wydajność, jest kilka kompromisów. Ogólnie rzecz biorąc, Virtual Display jest bardziej wydajny, ale także bardziej ograniczony niż Hybrid Composition.

iOS używa tylko Hybrid Composition, więc natywny UIView jest dołączany do hierarchii widoku.

Czym Flutter różni się od podobnych rozwiązań, takich jak React Native

React Native i Flutter mają wspólny cel – pozwolić Ci dostarczyć aplikację na wiele platform przy użyciu jednej bazy kodu- ale różnica polega na tym, jak próbują to osiągnąć. Oto kilka podstawowych różnic:

Kompilacja

Dzięki Flutterowi aplikacja jest kompilowana z wyprzedzeniem (ahead-of-time) do natywnego kodu, co przekłada się na lepszą wydajność.

Z drugiej strony, React Native używa mostka JS jako pośrednika pomiędzy kodem natywnym a kodem JavaScript. Kod napisany w JavaScript musi być odpowiednio przetłumaczony na kod natywny – i vice versa. We Flutterze nie ma pośrednika.

Renderowanie

Sposób w jaki aplikacja jest renderowana na ekranie urządzenia mobilnego jest największą różnicą pomiędzy Flutterem a React Native.

React Native używa JS Bridge do tłumaczenia kodu JavaScript na kod natywny, co oznacza, że RN używa natywnych komponentów. Jeśli używasz elementu <Button>, JS Bridge przetłumaczy to na natywny przycisk specyficzny dla danej platformy. Ogólnie rzecz biorąc, React Native jest rodzajem wrappera natywnych komponentów Android/iOS.

Sposób rysowania aplikacji we Flutterze jest diametralnie inny. Zamiast używać natywnych komponentów, Flutter rysuje je na ekranie od podstaw, używając do tego Skia – bardzo wydajnej biblioteki graficznej 2D. Jest ona właścicielem i kontroluje każdy piksel na ekranie. Dzięki temu Flutter jest zazwyczaj bardziej wydajny od konkurencji.

Efekt może być pozytywny lub negatywny, w zależności od punktu widzenia. Ponieważ Flutter nie opiera się na natywnych komponentach i rysuje wszystko sam, aplikacja będzie wyglądała tak samo na każdej platformie i w każdej wersji OS! Twoja aplikacja we Flutterze powinna wyglądać i zachowywać się tak samo na Androidzie 5 i 12. Oznacza to również, że każdy komponent będzie działał identycznie. Natomiast w RN, sytuacja w której komponenty posiadają pewne atrybuty działające tylko na Androidzie lub iOS jest dość powszechna.

Na poniższych zrzutach ekranu możecie zobaczyć tę samą aplikację Flutter działającą na Androidzie 11 i Androidzie 4.1:

Android 11Android 4 app

 

Jak widać, aplikacja korzysta z Material Design, który powstał w 2014 roku. Android 4.1 został wydany 2 lata wcześniej, w 2012 roku – nie posiada więc natywnego wsparcia dla elementów Material Design. Flutter i tak sobie z tym poradzi, ponieważ sam renderuje każdy piksel.

Gotowe komponenty

Jako że React Native jest rodzajem wrappera natywnych elementów UI, dostarcza jedynie podstawowe komponenty. Z Flutterem masz dostęp do bogatego katalogu widgetów. Są to nie tylko proste elementy (jak przyciski), ale nawet bardziej rozbudowane struktury, jak animowane paski aplikacji, rozwijalne widoki i wiele innych. Jeśli chcesz dowiedzieć się więcej, przejrzyj katalog widgetów.

Podsumowanie

Flutter stał się dość popularny na przestrzeni lat. Pozwala tworzyć na różne platformy przy użyciu tej samej bazy kodu i zachować natywną wydajność. Mnóstwo wbudowanych widżetów czeka, aby pomóc Ci stworzyć idealne aplikacje.

Wszystkie te rzeczy sprawiają, że Flutter jest frameworkiem, którego po prostu nie można zignorować.

Jeżeli chcesz dowiedzieć się więcej, sprawdź oficjalną stronę Fluttera.

two people near smarthome

Twój dom twoim zamkiem – czy inteligentne domy to przyszłość?

 

Termin „inteligentny dom” (z angielskiego: Smart Home) odnosi się do aranżacji domu, w którym urządzenia i sprzęty mogą być automatycznie kontrolowane z dowolnego miejsca – wystarczy dostęp do Internetu za pomocą telefonu komórkowego lub innego urządzenia.

Każde urządzenie w inteligentnym domu jest ze sobą połączone, co pozwala użytkownikowi na zdalne sterowanie funkcjami takimi jak bezpieczeństwo, temperatura, czy oświetlenie.

Jak Działają Inteligentne Domy?

Urządzenia w inteligentnym domu są ze sobą połączone i można się do nich dostać za pomocą centralnego punktu – smartfona, tabletu, laptopa lub konsoli do gier. Zamki do drzwi, kamery, telewizory, termostaty, monitory domowe, a nawet urządzenia takie jak lodówki mogą być zarządzane przez jeden zautomatyzowany system, zainstalowany na dowolnym urządzeniu z dostępem do sieci.

Po połączeniu, usługi takie jak inteligentne zamki, inteligentne systemy bezpieczeństwa i wszystkie inteligentne gadżety stają się częścią technologii Internetu Rzeczy (z angielskiego: Internet of Things= IoT), która jest siecią fizycznych rzeczy, które mogą gromadzić i udostępniać dane elektroniczne.

Korzyści inteligentnego domu

Inteligentne domy pomagają zaoszczędzić na kosztach energii. Technologie takie jak Z-Wave i ZigBee ograniczają działanie niektórych urządzeń, mogą one zostać uśpione i ponownie obudzone odpowiednim poleceniem.

Koszty energii elektrycznej spadają, gdy światła są automatycznie wyłączane w nieużywanych pomieszczeniach, dom może być ogrzewany lub chłodzony w zależności od tego, kto jest w nim o określonej porze.

Niektóre gadżety potrafią śledzić, ile energii zużywa każde urządzenie i wydawać polecenia, ograniczające zużycie.
two people near remote

Technologia Smart Home może przynieść znaczące korzyści osobom starszym, które mieszkają same. Inteligentny dom może informować mieszkańca, kiedy należy zażyć lekarstwa, skontaktować się ze szpitalem, jeśli osoba zasłabnie oraz monitorować, ile pacjent je – wszystko w tym samym czasie.

Na przykład, jeśli starsza osoba ma tendencję do zapominania o różnych rzeczach, inteligentny dom może jej pomóc, zakręcając wodę, zanim wanna się przeleje lub wyłączając piekarnik, jeśli szef kuchni wyszedł z domu.

Taki układ pomaga również dorosłym dzieciom, które mogą mieszkać w różnych miejscach, pomagać w opiece nad starszym rodzicem. Zautomatyzowane urządzenia, które są proste w użyciu oferują porównywalne korzyści dla osób z niepełnosprawnością ruchową.

Wady inteligentych domów

Problemy technologiczne

Systemy automatyki domowej mają trudności z dotarciem do szerszej bazy klientów, częściowo z powodu ich technologicznej natury. Jedną z wad inteligentnych domów jest ich złożoność; niektórzy ludzie mają problemy z technologią i zrezygnują z niej, jeśli doświadczą problemów podczas konfigurowania lub używania nowych urządzeń. Użytkownicy na wszystkich poziomach technicznych skorzystaliby, gdyby producenci inteligentnych domów współpracowali nad uproszczeniem systemu i poprawą doświadczenia użytkowników.

Urządzenia w systemach automatyki domowej muszą być ze sobą kompatybilne i wykorzystywać ten sam protokół (lub przynajmniej protokoły komplementarne), aby systemy te mogły odnieść prawdziwy sukces. Ze względu na fakt, że automatyka domowa jest stosunkowo młodą branżą, na razie nie ma złotego standardu. Aby zagwarantować interoperacyjność i bezproblemowe doświadczenie użytkownika, producenci powinni współpracować z twórcami standardowych protokołów.

smarthome 04

Hakerzy

Kolejnym istotnym problemem jest bezpieczeństwo. Według badania przeprowadzonego w 2016 roku przez NTT Data Corp. w Stanach Zjednoczonych 80% klientów martwi się o bezpieczeństwo swoich danych. Jeśli hakerzy odniosą sukces w infiltracji inteligentnego urządzenia, mogą być w stanie wyłączyć światła i alarmy lub otworzyć drzwi, pozostawiając dom podatnym na włamanie.

Hakerzy mogą uzyskać dostęp do sieci właściciela domu, co może prowadzić do wycieku danych osobowych. Seria ataków typu DDoS (distributed denial-of-service) przeprowadzonych przez botnet Mirai Internet of Things w październiku 2016 r. pozostawiła dużą część internetu niedostępną na wschodnim wybrzeżu USA, wszystko z powodu słabo chronionych kamer, rejestratorów i routerów jako punktów wejścia.

Oprócz obaw związanych z bezpieczeństwem w domu, wielu przeciwników inteligentnych domów obawia się o prywatność danych. Według ankiety NTT Data, 73 procent klientów martwi się o prywatność danych dostarczanych przez ich inteligentne gadżety domowe. Producenci inteligentnych urządzeń domowych i platform mogą gromadzić dane o konsumentach, aby lepiej dostosować swoje towary lub zapewnić nowe i ulepszone usługi dla konsumentów. Nie można jednak zapomnieć, że budowanie zaufania i porozumienia z klientami jest niezbędnym czynnikiem do przyciągania nowych konsumentów.

Najlepsze urządzenia i systemy Smart Home

Istnieje wiele kategorii produktów smart home, pozwalających na zarządzanie wszystkim, od świateł i termostatów po zamki i systemy bezpieczeństwa domu. Czynią one również doskonałe prezenty, niezależnie od tego, czy robisz zakupy na święta czy urodziny. Lecz zanim zaczniemy naszą listę, musimy najpierw zrozumieć terminologię inteligentnych domów.

Różnica między inteligentnymi urządzeniami, a inteligentnymi systemami

Inteligentny system jest w zasadzie tym, do czego mówisz, kiedy chcesz aby coś się stało. Pomyśl o Alexa lub Google Assistant jako ogólnym centrum dowodzenia, które zarządza różnymi elementami. Urządzenie, z drugiej strony, jest samodzielnym produktem, który jest zarządany poprzez system – np. żarówki Philips Hue.

Teraz spójrzmy na niektóre z najlepszych inteligentnych gadżetów domowych i systemów smart home.

Najlepsze systemy smart home

Przy zakupie inteligentnego systemu, należy wziąć pod uwagę opinie użytkowników i integracyjność. Opinie konsumentów powiedzą Ci, czy technologia jest wysokiej jakości, a informacje o integracyjności produktów powiedzą Ci, jak wiele urządzeń można podpiąć do systemu.

Podczas badania integracji, pamiętaj, aby sprawdzić kompatybilność urządzeń. Najbardziej efektywne systemy są obecnie napędzane przez najnowocześniejszą technologię i zapewniają wiele opcji integracji stron trzecich. Na przykład, Amazon Alexa i Google Assistant mogą komunikować się z inteligentnymi termostatami stworzonymi przez innych producentów, takimi jak Nest lub Ecobee.

Twoje doświadczenia z inteligentnym domem będą znacznie przyjemniejsze, jeśli wszystkie gadżety będą działać prawidłowo, dlatego warto poświęcić dużo czasu na research.

Oto trzy najpopularniejsze inteligentne systemy:

1. Amazon Alexa

Alexa jest, bez wątpienia, jednym z najbardziej wszechstronnych systemów inteligentnego domu dostępnych dzisiaj, z setkami milionów kompatybilnych urządzeń.Amazon alexa picture

Chociaż prawdopodobnie słyszałeś o użyciu Alexy jako Eco-speaker („Alexa, jaka jest dziś pogoda?”), możesz być zaskoczony, gdy dowiesz się, że Alexa jest teraz zintegrowana z wieloma innymi inteligentnymi urządzeniami, takimi jak termostaty i telewizory. Alexa ułatwia dostęp i zarządzanie każdym elementem inteligentnego domu. Możesz poprosić Alexę o wyłączenie świateł tak samo łatwo, jak możesz poprosić ją o otwarcie aplikacji, takiej jak Spotify.

Ponieważ system Amazona jest jednym z najbardziej dominujących w branży, większość inteligentnych urządzeń, w tym te produkowane przez Philipsa, Samsunga, Nest i Schlage, łączą się bezproblemowo z Alexą. System może teraz zamknąć bramę garażową, zablokować drzwi i zmienić temperaturę w domu.

Wystarczy sprawdzić notkę „Works with Amazon Alexa”, aby przekonać się, czy Alexa będzie działać z danym gadżetem.

Podsumowując, zdolność Alexy do łączenia się i komunikowania z większością innych inteligentnych urządzeń i aplikacji czyni ją jedną z najlepszych opcji dla Twojego inteligentnego domu.

2. Google Assistant

Jeśli istnieje prawdziwy konkurent dla Alexy, to jest nim Asystent Google.
Google assistant picture

Pomimo posiadania mniejszej liczby integracji, Asystent Google potrafi odpowiadać na zapytania i wykonywać niektóre polecenia lepiej niż Alexa. Dzięki dominacji Google na rynku wyszukiwarek, asystent Google ma 92,9 procentową ocenę dokładności, podczas gdy ocena Alexy wynosi jedynie 79,8% (ZDNet).

Jeśli chodzi o rozumienie naturalnej mowy ludzi, Asystent ostatecznie triumfuje.

Na przykład, gdy używasz Spotify i powiesz Asystentowi, „Nie podoba mi się ta piosenka”, przeskoczy on do następnej, podczas gdy Alexa po prostu poinformuje Cię, że „Kciuki w górę i w dół nie są obsługiwane przez Spotify”. Małe różnice tego typu, mogą pomóc stawiać Google na pierwszym miejscu.

Asystent może również współpracować z większością urządzeń głównych producentów, w tym Philips, Belkin, Augusta, Nest, a także popularnych aplikacji, takich jak Spotify i Uber.

3. Samsung SmartThings Hub

System Samsunga łączy się z szeroką gamą inteligentnych urządzeń wielu producentów, takich jak inteligentne termostaty, routery Wi-Fi, żarówki i gadżety bezpieczeństwa. Użytkownicy tego inteligentnego systemu uzyskują pełny dostęp do inteligentnych urządzeń połączonych z hubem za pośrednictwem aplikacji SmartThings dla systemu iOS lub Android.
Samsung smart things hub

Od kilku lat SmartThings Hub Samsung’a rozszerza swoje własne możliwości w zakresie inteligentnych urządzeń. Na przykład, SmartThings Wi-Fi plug, SmartThings Lightbulb, i SmartThings Cam zostały niedawno dodane do portfolio produktów Hub’a.

Używając SmartThings Hub, możesz również zaprogramować kompatybilne inteligentne urządzenia, aby wykonywały różne czynności, takie jak włączanie się, gdy wchodzisz do pokoju. Można również połączyć system z Amazon Alexa lub Google Assistant.

Najlepsze urządzenia inteligentnego domu

Najlepszy inteligentny głośnik:  Amazon Echo (czwarta generacja)

Nie trzeba będzie szukać dużo dalej niż Amazon Echo, poszukując głośnika, który może spełnić swoje codzienne wymagania w rozsądnej cenie. Echo nadal jest królem, dzięki przeprojektowanemu kształtowi przypominającemu kulę, doskonałej mocy dźwięku i kilku przełomowym rozwiązaniom.

„Jest godzina 18:00 i nadszedł czas, aby udać się na lekcję tenisa”, mówi Alexa, sparowana z głośnikiem. Z pomocą Alexy głośnik może również odtwarzać Twoją ulubioną muzykę, wykonywać połączenia telefoniczne lub wysyłać wiadomości, odpowiadać na pytania i ustawiać alarmy.

Echo może również komunikować się z innymi inteligentnymi urządzeniami w domu, co pozwala wykorzystać je jako łącznik między Tobą a np. Twoim inteligentnym telewizorem. Możesz zsynchronizować głośniki razem, aby uzyskać potężny dzwięk przestrzenny sterowany głosowo.

Bez wstawania z kanapy, możesz użyć Echo do sterowania telewizorem, zamówienia pizzy i wygenerowania listy zakupów.

Najlepsze światła:  Philips Hue

Zestaw oświetleniowy Philips oferuje 16 milionów kolorów, w tym 50 000 odcieni bieli, pomagając klientom stworzyć odpowiednią atmosferę. Żarówki Philips Hue pozwalają kontrolować intensywność, a także kolor światła.

Można tworzyć nastroje skoordynowane kolorystycznie – na przykład wybierając w aplikacji motyw „energetyzujący” dla konkretnego pomieszczenia, w którym się znajdujemy, lub synchronizując go z muzyką. Można również ustawić alarmy skoordynowane kolorystycznie, aby zapewnić, że budzisz się w jasnoróżowej sypialni każdego ranka.

Te żarówki są kompatybilne z Amazon Alexa, Google Assistant i Apple HomeKit, co czyni je najbardziej adaptowalną opcją.

Najlepsza inteligentna wtyczka:  ConnectSense Smart Outlet 2

ConnectSense Smart Outlet 2 nie jest najmniejszą inteligentną wtyczką na rynku, za to zapewnia oddzielną kontrolę dla dwóch gniazdek, ma wygodne złącze ładowania USB i informuje, ile mocy zużywa każde gniazdko.

Do włączania i wyłączania gniazdek można użyć aplikacji mobilnej na Androida lub iOS, można też używać komend głosowych z Alexą, Google Assistant i Siri. Użytkownicy Apple HomeKit mogą również budować Sceny i Automatyzacje, aby gniazda reagowały na wyzwalacze z innych urządzeń HomeKit.

Chociaż wadą jest brat wsparcia dla apletów IFTTT, ConnectSense Smart Outlet 2 nadal zasługuje na swoją renomę.

Najlepszy system bezpieczeństwa domowego:  SimplySafe

Szybka i łatwa instalacja oraz przejrzysty system bezpieczeństwa domowego DIY firmy SimpliSafe, to tylko pierwsze plusy tego systemu. Zestaw jest wyposażony w pakiet funkcji, kamer bezpieczeństwa i doskonałą kombinację czujników zasilanych bateryjnie.

Zestawy startowe zaczynają się od 200 dolarów, możesz również zaprojektować swój własny spersonalizowany system alarmowy z dokładną kombinacją gadżetów. Profesjonalny plan zaczyna się od 15 dolarów miesięcznie, ale warto jest zwiększyć budżet do 25 dolarów za miesiąc, po plan, który obejmuje kontrolę aplikacji mobilnych i pomoc głosową za pośrednictwem Alexy i Asystenta Google.

Najlepsza inteligentna automatyka domowa dla Twojego psa:  Furbo Dog Camera

Każdy element Furbo Dog Camera został zaprojektowany z myślą o psach. Furbo jest zalecany przez weterynarzy i trenerów psów i może pomóc złagodzić lęk separacyjny Twojego pupila. Iinteligentne alarmy Furbo mogą wykryć zdarzenia związane z psem i powiadomić Cię o tym, co dzieje się w domu. Kamera zapewnia doskonałą jakość 1080p nawet przy słabym oświetleniu, a także alarmy szczekania i dwukierunkowe audio, dzięki czemu możesz usłyszeć swojego pupila, jak i do niego przemówić.

Być może najlepszą funkcją jest zdalne rzucanie smakołyków swojemu zwierzakowi.

Furbo Dog Camera jest droga, szczególnie w porównaniu z konwencjonalnymi kamerami bezpieczeństwa, ale jest tak praktyczna, jak i zabawna, upewniając Cię, że twój pies i dom są bezpieczne.

Najlepsze inteligentne urządzenie kuchenne:  Brava Oven

Inteligentne piekarniki stają się coraz bardziej popularne, przy szerokiej gamie inteligentnych urządzeń o rozmiarach mikrofal, które mogą m.in. smażyć, podpiekać, piec i podgrzewać.

Piekarnik Brava to jeden z najbardziej zaawansowanych inteligentnych piekarników dostępnych na rynku. Może przygotowywać jedzenie na dziesięć różnych sposobów, ma wiele zautomatyzowanych ustawień gotowania zarówno składników, jak i posiłków.

Dużym plusem są wbudowane kamery, które pozwalają monitorować postęp gotowania na smartfonie.

 

Więc, czy inteligentne domy naprawdę są przyszłością?

Po tym wszystkim co powiedzieliśmy, łatwo stwierdzić, że przyszłość inteligentnych domów naprawdę rysuje się w jasnych barwach.

Według Statista, do 2025 roku liczba gadżetów podłączonych do Internetu ma wynosić 75,4 miliardów.

W dzisiejszym świecie zarówno infrastruktura przemysłowa, jak i komercyjna jest wyposażana w technologię IoT, która jest zasilana przez Power over Ethernet (PoE). Mając to na uwadze, nic dziwnego, że infrastruktura mieszkaniowa jest następna na liście.
smarthome 03

Urządzenia takie jak Google Home i Amazon Alexa stają się coraz bardziej powszechne w typowym amerykańskim domu. Przy odpowiedniej konfiguracji sieci inteligentnego domu, urządzenia te mogą zarządzać  światłami, zamkami do drzwi, oknami, muzyką i nie tylko.

Popularność inteligentnych domów rośnie z dnia na dzień, co sugeruje, że sposób, w jaki żyjemy na co dzień, ulegnie dramatycznej zmianie.

 

mood up android

Co to Jetpack Compose i dlaczego jest potrzebny

Jetpack compose to nowoczesny toolkit Android UI wprowadzony przez Google. Upraszcza on i przyspiesza proces tworzenia aplikacji. Dzięki Jetpack Compose możesz zapisać mniej kodu w porównaniu do obecnego podejścia do budowania widoków – co oznacza również mniej potencjalnych błędów. Jest jeszcze jedna świetna rzecz – Jetpack używa Kotlina. Jeśli używałeś React lub Flutter, prawdopodobnie będziesz zaznajomiony z tą koncepcją i znajdziesz wiele podobieństw.


Jak to działa?
 

Głównym elementem składowym Compose jest funkcja Composable. Emituje ona część interfejsu użytkownika. Budowanie z Compose polega na zagnieżdżaniu funkcji Composable jedna w drugiej.

Zrzut ekranu 2020 12 12 o 20.06.13
Ten przykład pokazuje proste użycie Compose. Jak widać, użyte są cztery funkcje Composable: Column– wbudowana Composable, która renderuje swoje dzieci w kolejności kolumnowej, orazText,która wyświetla na ekranie dany tekst.

 

Deklaratywne podejście

Jetpack Compose jest zbudowany w oparciu o inny paradygmat programowania, mianowicie – o paradygmat deklaratywny. Mówiąc krótko, oznacza to, że musisz zmienić swój sposób myślenia z: „Jak coś zrobić” na „Jaki cel chcę osiągnąć”. W deklaratywnym sposobie programowania, starasz się opisać oczekiwany rezultat, zamiast opisywać każdy krok do osiągnięcia celu. W poprzednim przykładzie po prostu powiedzieliśmy „Chcę mieć kolumnę z trzema tekstami w środku” – i to wszystko. Nie musimy pisać żadnego dodatkowego kodu, który mówi aplikacji jak ma postępować z elementami wewnątrz kolumny.

 

W obecnym imperatywnym podejściu, sprawy są nieco bardziej skomplikowane. Do renderowania listy elementów wykorzystywany jest RecyclerView. Jest to komponent, który pomaga efektywnie wyświetlać duże zestawy danych. Problem polega na tym, że każdy RecyclerView potrzebuje adaptera, każdy element na liście potrzebuje ViewHoldera, i tak dalej. Adapter jest miejscem, w którym programiści muszą opisać, w jaki sposób RecyclerView ma renderować każdy element. W momencie gdy chcemy renderować różne typy danych, mogą się pojawić duże przeszkody. Na przykład, jeśli chcesz wyświetlić tekst, obraz i swój niestandardowy widok, musisz napisać logikę, która powie RecyclerView, jak to zrobić. Jak widzisz, zaczyna to wyglądać trochę skomplikowanie i jest to dokładne przeciwieństwo Jetpack Compose i deklaratywnego podejścia. Przecież my chcemy tylko stworzyć listę z elementami w środku. Z Compose jest to tak proste:

 

jetpack2

 

Jetpack Compose ❤️ Kotlin 

Jedną z największych zalet Jetpack Compose jest to, że używa Kotlina. Co to oznacza dla Ciebie? Cóż, na przykład to, że możesz używać wszystkich struktur Kotlina bezpośrednio w swoim kodzie widoku. Możesz użyć instrukcji If, aby wybrać, co powinno być renderowane, możesz użyć pętli, aby wyświetlić widok wiele razy. Możesz także używać metod funkcyjnych, takich jak filter, map i wielu innych.

 

image1 1

 

Jak pokazuje powyższy obrazek: wybór tego, co ma być wyświetlane w zależności od stanu zbioru danych jest naprawdę prosty. Jeśli jest on pusty, wyświetlamy tekst „Brak danych do wyświetlenia”, jeśli nie jest, mapujemy elementy zestawu danych do Composables i wyświetlamy je w kolumnie.

 

„Stan”

Aktualizowanie widoku jest kluczowym zadaniem każdej aplikacji. Trudno sobie wyobrazić aplikację, która pokazuje cały czas te same dane. Aby zaktualizować widok w Compose, musimy przebudować funkcje Composable z różnymi zestawami argumentów.

Proces ten nazywany jest rekompozycją. Pytanie brzmi: „Skąd funkcja Composable wie, kiedy ma się zrekonstruować?”. Odpowiedź brzmi – ponieważ może ona posiadać stan.

Stan jest wartością, lub wieloma wartościami, przypisanymi do funkcji Composable. Kiedykolwiek wartość ta zostanie zmieniona, wywołuje to proces rekompozycji i nasza funkcja zostanie przebudowana z nową wartością stanu.

 

jetpack4

 

W tym przykładowym kodzie widzimy jedną wartość stanu – counter . Wartość counter jest wyświetlana za pomocą funkcji Text . Przy każdej zmianie stanu, funkcja composable jest przebudowywana z nową wartością przypisaną do zmiennej counter . W metodzie onClick przycisku Button wartość stanu counter , która wykonuje proces dekompozycji, jest inkrementowana, a nowa wartość jest wyświetlana za pomocą Text.

 

jetpackgif

 

Paginacja w Compose

Przyjrzyjmy się realnemu przykładowi, który pokazuje jak Compose może przyspieszyć i ułatwić naszą pracę. Porównamy dwa rozwiązania dla jednego problemu – paginacji. Użyjemy obecnego rozwiązania do budowania widoków oraz Jetpack Compose.

 

Paginacja – co to znaczy?  

Paginacja to proces dzielenia dużego zbioru danych na mniejsze fragmenty. Jest to przydatne, gdy nie chcemy serwować wszystkich danych w tym samym czasie. Może to jednak poważnie zaszkodzić wydajności naszej aplikacji. Doskonałym przykładem jest aplikacja Facebook – zazwyczaj, korzystając z niej, przewijasz swoją ścianę i czytasz nowe informacje. Czy kiedykolwiek dotarłeś do jej końca? Prawdopodobnie nie. Wydaje się ona nie mieć końca, co oznacza, że jest tam ogromna ilość danych do wyświetlenia. Wyobraź sobie, co by się stało, gdybyśmy dostali wszystkie te dane na raz – byłby to overkill dla naszego urządzenia. To pokazuje, że Twoja ściana na Facebooku wykorzystuje paginację. Dane są pobierane w mniejszych porcjach i wyświetlane na ekranie. W momencie, gdy kończy się aktualna porcja, z backendu pobierana jest nowa – i tak dalej.

Pokażę Ci jak łatwo jest zaimplementować paginację przy użyciu Compose, w porównaniu do obecnego podejścia. Po pierwsze, zobaczmy co jest potrzebne do obsługi paginacji, gdy używamy obecnych metod budowania widoków:

  • RecyclerView – odpowiedzialny za wyświetlanie danych
  • Adapter – wyświetlanie logic
  • ViewHolders – utrzymywanie referencji widoków aby nie używać findViewById() za każdym razem aby je uzyskać. Byłoby to naprawdę kosztowne.

Zazwyczaj chcemy w jakiś sposób zasygnalizować, że dane są pobierane. Na przykład, możemy chcieć wyświetlić pasek postępu jako ostatni element listy. Przy obecnym podejściu, jest to nieco skomplikowane zadanie. Musisz umieścić nowy element w swoim zestawie danych i zmusić RecyclerView do renderowania go jako pasek postępu.  Istnieje wiele sposobów, aby to osiągnąć. Zazwyczaj kończy się to dużą ilością nowego kodu. Każdy nowy typ widoku sprawia, że twój adapter staje się bardziej skomplikowany. Z Compose, implementacja paginacji jest naprawdę prosta – zajmuje tylko kilka linii kodu!

Spójrzmy jak to wygląda:

jetpack5

 

Widzimy tutaj composable ComicsResultSection, który jest odpowiedzialny za wyświetlanie naszych danych. Zestaw danych, który ma zostać wyświetlony jest przekazywany jako argument – data. Używając LazyColumnForIndexed Composable, możemy przedstawić nasze dane w postaci listy. LazyColumnForIndexed jest odpowiednikiem RecyclerView – renderuje tylko te dane, które są widoczne na ekranie. Dodatkowo LazyColumnForIndexed daje nam informacje o aktualnie renderowanych obiektach oraz ich indeksach. Korzystając z indeksu możemy w prosty sposób sprawdzić, czy aktualnie renderowany obiekt jest ostatnim w naszym zbiorze danych. Jeśli tak, to możemy po prostu wywołać metodę pobierającą dane i wyświetlić pasek postępu jako ostatni element naszej listy. I to jest właśnie to. Żadnych adapterów i skomplikowanej logiki – po prostu mówimy, co chcemy zobaczyć na ekranie.

 

Podsumowanie 

Jetpack Compose to obiecujący i potężny nowoczesny Toolkit UI, który zdecydowanie powinieneś mieć na oku. Jeśli jest używany poprawnie, może przyspieszyć proces tworzenia aplikacji i zmniejszyć jej rozmiar. Co więcej, z Compose piszesz mniej kodu – co potencjalnie oznacza mniej błędów. Szczęśliwego kodowania 🙂

Jeżeli chcesz się dowiedzieć więcej sprawdź oficjalną stronę Jetpack Compose:
https://developer.android.com/jetpack/compose

 

mood up blog

7 rzeczy, które firmy mogą zrobić dla pracowników w trakcie pandemii

 

Chyba nie ma nikogo, kto mógłby powiedzieć, że rok 2020 był udanym zwieńczeniem tej dekady. Nawet u osób, które nie odczuły skutków wirusa, ciągłe zmiany oraz niepewność tego, co wydarzy się jutro, mogły negatywnie odbić się na zdrowiu i psychice. W tej sytuacji dbanie o dobre samopoczucie pracowników staje się ważniejsze niż kiedykolwiek. Jeśli więc zastanawiasz się, jak podnieść morale w zespole, mamy dobrą wiadomość. Dla wszystkich, którzy chcieliby zdobyć tytuł Szefa Roku, przygotowaliśmy listę 7 sprawdzonych rozwiązań, przetestowanych na zespole MoodUp Team.

 

Praca zdalna

Ponoć najlepszym sposobem zapobiegania zakażeniom jest dystans społeczny – co oznacza, że obecnie najbezpieczniej jest pracować w trybie home office. Każdy pracodawca, któremu leży na sercu bezpieczeństwo i zdrowie pracowników, powinien więc umożliwić im przejście na pracę zdalną. Warto jednak pamiętać, że pod tym pojęciem kryje się więcej niż tylko wydanie oficjalnego pozwolenia. Wiąże się z tym także zapewnienie odpowiedniego sprzętu czy oprogramowania, które umożliwia pracę w nowych warunkach i płynną komunikację w zespole. Nie zapominajmy też o stanowiskach pracy – w MoodUpie zależy nam, żeby pracownicy mogli cieszyć się ergonomicznymi stacjami roboczymi także w domach. Dlatego na ich prośbę dowozimy im ich wygodne, biurowe krzesła – aż pod same drzwi.

 

Bezpieczeństwo w biurze

W niektórych przypadkach praca zdalna nie jest możliwa – wiedzą o tym dobrze na przykład administratorzy sieci. Ale również pozostali pracownicy czasem po prostu muszą wyjść z domu, na przykład wymienić sprzęt lub spotkać się z klientem. A skoro biura nie da się całkowicie zamknąć, rolą pracodawcy jest upewnić się, że wszyscy mogą pracować w bezpiecznych warunkach. Oznacza to na przykład zapewnienie dwumetrowych odstępów pomiędzy stanowiskami pracy i dezynfekcji wszystkich newralgicznych powierzchni, oraz dostępu do środków ochronnych, takich jak płyn do dezynfekcji rąk. Miłym gestem będzie także rozwieszenie plakatów czy przypomnień o zaleceniach sanitarnych – można je pobrać bezpośrednio ze strony WHO.

 

Transport

Jeśli wizyta w biurze okazuje się konieczna, pracownicy muszą zmierzyć się z nowym problemem – jak dostać się na miejsce nie ryzykując zakażenia. Niektórzy wybierają komunikację miejską. Niestety, często oznacza to dłuższe przebywanie w towarzystwie wielu osób stłoczonych na stosunkowo małej powierzchni. Może to stanowić zagrożenie dla zdrowia – którego wcale nie jest trudno uniknąć.

Bo w MoodUp mamy rozwiązanie i na to. Postanowiliśmy dołączyć do platformy Uber dla biznesu oraz Bolt Business i przyznaliśmy każdemu z pracowników comiesięczne środki na przejazdy. Aby zapewnić bezpieczeństwo także poza godzinami pracy, mamy osobny budżet na transport do i z biura oraz na przejazdy prywatne. Uwaga jednak – skutkiem ubocznym mogą być pracownicy, którzy dużo częściej niż zwykle stawiają się punktualnie na spotkaniach.

 

Opieka zdrowotna

Już od dawna jednym z najbardziej pożądanych benefitów pracowniczych jest prywatna opieka zdrowotna lub ubezpieczenie – a w trakcie pandemii ta tendencja tylko się nasila. Nasi pracownicy korzystają z tych benefitów już od dawna, ale w MoodUp lubimy zawsze pójść o krok dalej. W tym przypadku zamówiliśmy dla naszych pracowników testy na przeciwciała, żeby mogli sprawdzić, czy w ostatnich miesiącach mieli kontakt z wirusem, nawet jeśli nie wykazywali żadnych objawów. Kupiliśmy też zestaw pulsoksymetrów, które pomagają monitorować poziom saturacji tlenu we krwi, oraz kilka koncentratorów tlenu na wypadek sytuacji wyjątkowych.

photo 02
Gotowe do użycia generatory tlenu

 

Lepiej zapobiegać

Zapobieganie zakażeniom zaczyna się od zdrowego trybu życia. Tutaj pracodawcy naprawdę mają pole do popisu – pomysłów na różne inicjatywy EB-owe jest tyle, ile istnieje firm. My próbujemy podejść do tematu od dwóch stron. Pierwszą z nich jest promowanie aktywności fizycznej – coś, co od dawna jest ważną częścią naszej kultury pracy. Regularnie wynajmujemy salę do  siatkówki, a od niedawna nasi pracownicy mogą brać udział w cotygodniowej jodze. Raz w tygodniu mogą też skorzystać z darmowego masażu i ulżyć nieco swoim kręgosłupom po całym dniu spędzonym przed ekranem.

Drugim sposobem na dbanie o zdrowie naszych pracowników jest wzmacnianie ich układu odpornościowego – i to całkiem dosłownie. W tym miesiącu wszyscy w MoodUp otrzymali prezent zawierający zdrowe przekąski, naturalny sok z malin, świeży imbir oraz słoik pysznego miodu. Dorzuciliśmy też MoodUpową maseczkę oraz płyn do dezynfekcji rąk dla dodatkowej ochrony.

photo 01
„Health box” wręczony każdemu pracownikowi Mood Up Team

 

Poduszka finansowa

Co jednak, jeśli pracownik i tak zostanie zakażony? W Polsce osoby zatrudnione na umowę o pracę mogą otrzymać chorobowe, jednak nie w każdym kraju działa podobny system. Co więcej, niektórzy preferują samozatrudnienie i współpracę na podstawie umowy B2B – wtedy kwestia wynagrodzenia w przypadku choroby zaczyna się komplikować. Właśnie dlatego każdy pracodawca powinien zadbać, żeby jego pracownicy nie musieli się martwić, że w razie zakażenia stracą źródło dochodu.

Zadbaliśmy również i to. W MoodUp Team pracownicy, którzy otrzymają dodatni wynik testu na koronawirusa i nie są zdolni do pracy, niezależnie od typu umowy, mają zagwarantowaną wypłatę znacznej części swojej pensji. Jeśli jednak stwierdzą, że pomimo wyniku dodatniego są w stanie pracować zdalnie, mogą liczyć na aż 150% wynagrodzenia. Planujemy też mały bonus – osoby, które nie mogą opuszczać domu, mogą liczyć na dodatkowe środki do wykorzystania na Uber Eats.

 

Bliski zdalny kontakt

Warto pamiętać, że pandemia może odbić się negatywnie nie tylko na zdrowiu, ale także na psychice pracowników. Dobry pracodawca bierze to pod uwagę. Chociaż obecnie nie zaleca się grupowych spotkań twarzą w twarz, to nie powód, żeby zrezygnować z biurowej integracji. Dlaczego nie zamówić dla każdego pizzy i nie zjeść jej razem na wielkim Zoomowym lunchu? Albo rozegrać firmowego turnieju planszówek online? Możliwości integracji zdalnej są niemal nieograniczone.

corona 03

O krok dalej

Czy warto inwestować w powyższe rozwiązania? Zdecydowanie. Osoby, które czują się stabilnie w swojej pracy, osiągają dużo lepsze wyniki niż ci, którzy nieustannie walczą ze stresem i zastanawiają się, jak pandemia wpłynie na ich finanse lub karierę. Inicjatywy te mogą mieć także pozytywny wpływ na atmosferę w firmie i relacje w zespołach. To te czynniki często decydują o tym, czy projekt zakończy się sukcesem.

A co robi Twoja firma, by zadbać o kondycję i samopoczucie pracowników w trakcie pandemii?

mood up

11 cech idealnego testera QA

W dzisiejszych czasach mało kto potrzebuje dowodu na to, że testowanie oprogramowania jest kluczem do sukcesu. Jeśli jednak nadal Cię to nie przekonuje, oto przykład: w 2015 roku wojskowy airbus A400M miał tragiczną katastrofę, która, jak się później okazało, była spowodowana błędem w programowaniu. Czy można było temu zapobiec dzięki bardziej wszechstronnym testom? Oczywiście – mówią eksperci.

Nie wszystkie błędy mają tak tragiczne konsekwencje. Chociaż próba zaoszczędzenia na testach często skutkuje późniejszym wzrostem kosztów utrzymania. I wygląda na to, że coraz więcej firm tworzących oprogramowanie – w Polsce i za granicą – zdaje sobie z tego sprawę. Bo faktem jest, że zapotrzebowanie na testerów QA stale rośnie. Do tego stopnia, że według badań MarketsandMarkets z 2019 roku, w ciągu najbliższych pięciu lat globalny rynek testów automatyzacji ma podwoić swoją wartość, wykazując 18-procentowy roczny wzrost.

 

01 chart 1

źródło: marketsandmarkets.com

Finanse to jedno, ale wydaje się, że w testowaniu chodzi o coś więcej. W 2018 roku analityk QA został uznany drugim najszczęśliwszym zawodem według rankingu Careerbliss . Nic dziwnego, że coraz więcej osób rozważa go jako wybór kariery. W dzisiejszych czasach praca testera wydaje się być satysfakcjonująca, dobrze płatna i potrzebna. Ale z tym wiąże się nieuchronne pytanie – czego potrzebuję, aby odnieść sukces jako tester QA?

 

W naszym poznańskim software house’ie pracuje kilku naprawdę doświadczonych i pełnych pasji specjalistów QA. Zapytaliśmy ich, jakie cechy i umiejętności są dla nich najważniejsze w codziennej pracy. Z ich pomocą przygotowaliśmy listę 11 cech, które powinien posiadać każdy tester – przeczytaj ja i przekonaj się, czy masz to, czego Ci potrzeba.

  • Ciekawość

Pytanie, które leży u podstaw testowania QA to „Co się stanie, jeśli…?”. Co się stanie, jeśli wstawię cyfry w polu „Imię” lub jeśli wcisnę przycisk Wstecz po wysłaniu mojego formularza? Dobry tester QA nie może po prostu założyć, że dana funkcja działa zgodnie z przeznaczeniem. Jest to pierwszy krok do przeoczenia potencjalnego problemu. Powinien być w stanie spojrzeć na oprogramowanie z wielu różnych stron i przetestować scenariusze, o których nikt inny nawet by nie pomyślał.

  • Silne umiejętności komunikacyjne

Czas testerów, jak i programistów jest cenny – marnotrawstwem byłoby spędzanie go na niekończącej się komunikacji w obie strony. Dlatego też specjaliści QA muszą być w stanie raportować swoje wyniki w jasny i zrozumiały sposób. Powinni również wiedzieć, jak dobrać odpowiedni język i ton głosu w zależności od czytelnika – tak, aby zarówno osoby techniczne, jak i nietechniczne mogły je zrozumieć. W końcu, jeśli tester nie potrafi napisać, jak odtworzyć błąd, programista nie będzie w stanie go naprawić.

  • Podejście nastawione na najlepszą jakość

Niektórzy mówią, że praca testera polega na próbie złamania oprogramowania. Podczas gdy takie podejście nie jest całkowicie błędne, testowanie jest czymś o wiele więcej. Testerzy nie tylko próbują znaleźć błędy w pracy programistów. Dedykowany specjalista QA wnosi do pracy nastawienie na jakość i pamięta, że jego ostatecznym celem jest: ” Dopracowanie oprogramowania do produktu o najwyższym standardzie”.

  • Ustalanie priorytetów

Świetny tester oprogramowania zdaje sobie sprawę z nieustannie zbliżających się deadlinów i nie ma problemów z ustaleniem priorytetów. Potrafi szybko zidentyfikować najczęściej używane obszary i funkcje oprogramowania. Później ta wiedza jest wykorzystywana do podejmowania decyzji o niezbędnych testach. Powinien też umieć je wykonać zgodnie z ich priorytetem. Nie zapominajmy też o całej dokumentacji związanej z projektem i raportach. Specjalista QA zawsze musi się wykazywać umiejętnościami organizacyjnymi, by dostarczyć wszystko na czas.

 

QA 01

  • Dbałość o szczegóły

Nie wszystkie błędy są oczywiste, a czasami najmniejsze mogą mieć ogromne konsekwencje. Przykład? W 1998 roku sonda orbitalna NASA warta ponad 600 milionów dolarów rozpadła się w przestrzeni kosmicznej z powodu… złych jednostek czasu w oprogramowaniu komputera naziemnego. Dlatego tester QA powinien być na tyle dokładny, aby wychwycić nawet najdrobniejsze problemy – nawet jeśli są one ukryte. Podwójne, a nawet potrójne sprawdzanie wszystkiego to niezbędny nawyk, którego trzeba się nauczyć.

  • Perspektywa konsumenta

Zrozumienie klienta jest kluczowe, i to nie tylko dla właścicieli produktów czy projektantów. Jako tester QA, często musisz zadać sobie pytanie: Kto będzie używał tego oprogramowania? Dlaczego? W jakim są wieku? Czy są to osoby techniczne czy nietechniczne? Tylko przyjęcie perspektywy użytkownika końcowego pozwoli Ci przewidzieć ostateczne scenariusze użycia produktu.

  • Wiedza i umiejętności techniczne

Chociaż może się wydawać, że powinno to dotyczyć tylko testerów automatyzacji, my uważamy inaczej. Wiedza techniczna i umiejętności kodowania są niezbędne, gdy trzeba zdecydować, które testy powinny być zautomatyzowane. Istnieje jednak wiele innych sytuacji, w których specjalistyczna wiedza może się przydać. Na przykład, może ona pomóc Ci zdecydować, które narzędzia testujące powinny być użyte dla konkretnej aplikacji. Zrozumienie kodu ułatwia również identyfikację błędu lub lepsze zrozumienie ograniczeń oprogramowania.

  • Podejście „Uczę się przez całe życie”

Cały sektor IT podlega ciągłym zmianom i QA nie stanowi tutaj wyjątku.

Nowe technologie, narzędzia automatyzacji, czy języki pojawiają się właśnie w momencie, gdy czytasz ten artykuł. Mimo to, każdy tester QA musi być w stanie za nimi nadążyć. Powinien zawsze mieć na oku nową książkę, tutorial online, konferencję QA lub wpis na blogu. Wszystko, co pomaga doskonalić swoje umiejętności i poszerzać wiedzę jest kluczowe.

 

  • Nastawienie na pracę w zespole

Współpraca zawsze daje najlepsze rezultaty – i tworzenie oprogramowania nie jest tu wyjątkiem. Dobrzy testerzy wiedzą, że dążą z programistami do wspólnego celu – nawet jeśli są stałym źródłem błędów! – a tym celem jest dostarczenie jak najlepszego produktu. Potrafią docenić i wspierać swój zespół i chętnie się od niego uczą – ale nie boją się też zadawać pytań i kwestionować rozwiązań innych.

  • Myślenie analityczne

W obecnym nadmiarze informacji jest to umiejętność, którą powinien posiadać każdy – jednak szczególnie przydatne jest one dla testerów. Może pomóc im zrozumieć oczekiwania i informacje zwrotne od klienta i wykorzystać je do zdefiniowania właściwej strategii testowania. Jest również niezbędne do analizy i zrozumienia zebranych danych.

  • Cierpliwość i wytrwałość

Nikt nie lubi mieć do czynienia z błędami – ale na tym właśnie polega duża część pracy testera QA. Muszą oni być nieustannie czujni i gotowi do tworzenia nowych podejść i świeżych spojrzeń na aplikację. Pod taką ciągłą presją łatwo stracić koncentrację, popaść we frustrację lub wyczerpać pokłady kreatywności. Mimo to, najlepsi testerzy muszą być przygotowani na pokonanie tych przeszkód i wyjście z nich zwycięsko.

Czy czujesz, że masz to, czego potrzeba, aby zaistnieć w świecie QA? A może ta lista nadal wydaje się być przytłaczająca? Nawet jeśli tak jest, nie martw się – większości z tych umiejętności można się nauczyć z odpowiednią dawką praktyki i staranności. Ważne jest, by pamiętać, że testowanie to nie tylko twarde umiejętności – wymaga ono tyle samo wiedzy technicznej, co ciekawości i kreatywności. Na szczęście, według naszych specjalistów QA, praca ta niesie za sobą tyle samo satysfakcji, co wyzwań.

video call people phone tips communication

Wideokonferencje – co robić, a czego nie

Czy wyobrażasz sobie pracę bez wideokonferencji? My na pewno nie. Są one wygodne, łatwe do przeprowadzenia, pomagają firmom oszczędzać czas i pieniądze. A biorąc pod uwagę zwiększony czas pracy zdalnej i ograniczenia w podróżowaniu spowodowane globalnymi pandemiami, wydaje się, że nie ma lepszego sposobu na pozostanie w kontakcie z klientami i członkami zespołu.

Wideorozmowy są na czasie

Liczby pokazują, że nawet osoby wstępnie niechętnie nastawione do rozmów wideo przekonują się do tego pomysłu. Od początku 2020 roku liczba połączeń wideo gwałtownie wzrosła, a niektórzy główni gracze na scenie oprogramowania do wideokonferencji odnotowali wzrost liczby użytkowników aż o 2000%. To ponad 2 miliony pobrań dziennie.

Widać też wyraźnie, że klienci chętnie poszukują niestandardowych rozwiązań, które najlepiej sprawdzą się w ich firmach. Statystyki z serwisu TrustRadius, zajmującego się recenzjami oprogramowania, pokazują, że w kwietniu 2020 roku zainteresowanie aplikacjami do wideokonferencji było aż ośmiokrotnie większe niż w styczniu tego samego roku. Czas poświęcony przez klientów na ocenę różnych opcji był również około trzykrotnie dłuższy w porównaniu do okresu sprzed pandemii.

 

screen shot 2020 05 08 at 12.17.02 pm 1024x552

Źródło:TrustRadius

Jak być profesjonalnym w trakcie rozmów wideo

Pomimo rosnącego zainteresowania oprogramowaniem do konferencji internetowych, rozmowy wideo wciąż mogą być dla niektórych osób czymś nieznanym. I chociaż każda firma ma swoje własne standardy komunikacji, przestrzeganie pewnych uniwersalnych zasad może zapewnić, że spotkanie przebiegnie gładko i bez zakłóceń. Oto sześć wskazówek dotyczących etykiety, które pomogą Ci wypaść doskonale podczas rozmów wideo.

1. TAK – Punktualność

Każdy z nas doświadczył sytuacji, w której spotkanie nie mogło się rozpocząć z powodu jednego spóźnialskiego uczestnika. Nie inaczej jest w przypadku wideokonferencji. Nierzadko zaczynasz przerwę na lunch lub angażujesz w kolejne pilne zadanie, by nagle uświadomić sobie, że miałeś się zalogować na spotkanie piętnaście minut temu.

Najprostszym rozwiązaniem jest ustawienie przypomnienia za pomocą kalendarza. Jeżeli jednak nie jesteś w stanie być punktualnie lub nie zdążysz w ogóle, pamiętaj, aby jak najszybciej powiadomić o tym gospodarza lub członka zespołu. Pomoże im to zaoszczędzić czas, który w przeciwnym razie musieliby poświęcić na pogawędki. I pamiętaj – każde pięć minut zmarnowane podczas spotkania dziesięciu osób to pięćdziesiąt minut czasu pracy Twojej firmy.

2. NIE – Brak przygotowania 

Choć praca w domu daje dużą swobodę osobistą, spotkania firmowe są doskonałą okazją do zaprezentowania swojego profesjonalnego podejścia. Jak to zrobić? Upewnij się, że jesteś ubrany stosownie do audytorium – i chociaż nie musi to oznaczać noszenia pełnej koszuli z kołnierzykiem, piżama jest zdecydowanie wykluczona. Zasadą jest, aby Twój wygląd odzwierciedlał to, co zwykle nosisz w biurze. Ważne jest również, aby przed wizytą posprzątać otoczenie. Brudne kubki lub dziecięce zabawki leżące w pobliżu nie zrobią najlepszego wrażenia.

Jeśli jednak nie możesz nic zrobić ze stanem swojego domowego biura, rozważ zamazanie tła lub użycie wirtualnego. Upewnij się tylko, że jest ono odpowiednie do okazji – niekoniecznie chcesz negocjować kontrakt z klientem z wnętrza X-winga.

03 03

3. TAK – Sprawdzenie sprzętu

Nic tak nie spowalnia rozmowy konferencyjnej, jak jej uczestnicy przez kilka minut dostosowujący swoje ustawienia audio lub wideo. Dlatego właśnie powinieneś zawsze sprawdzać swój sprzęt z wyprzedzeniem . Zadzwoń do swoich kolegów z zespołu lub skorzystaj z funkcji testowania w aplikacji do połączeń wideo, aby upewnić się, że mikrofon odbiera dźwięk, a kamera działa zgodnie z przeznaczeniem. Pamiętaj, aby upewnić się, że Twoje połączenie internetowe jest stabilne – jeśli nie, rozważ przełączenie się do innej sieci, wyłączenie VPN lub skorzystanie z połączenia przewodowego.

Nie zapominaj również o oprogramowaniu. Próba rozpoczęcia rozmowy tylko po to, aby dowiedzieć się, że Twoja aplikacja wymaga aktualizacji nie jest niczym niezwykłym . Spróbuj dołączyć do spotkania kilka minut wcześniej, aby mieć czas na usunięcie ewentualnych problemów.

Odpowiednia aplikacja jest tym bardziej istotna, jeśli jesteś gospodarzem spotkania.  Według raportu 2019 Impact of Video Conferencing przygotowanego przez lifesize , ponad 41% respondentów wskazało na zbyt trudny proces pobierania lub dołączania aplikacji jako główny czynnik zniechęcający ich do korzystania z połączeń. Rozwiązanie? Całkowicie internetowa platforma do wideorozmów, taka jak Vicodo. Po zaplanowaniu spotkania, Vicodo wysyła klientom wygodny link do zaproszenia za pośrednictwem poczty elektronicznej i wiadomości tekstowej, który można otworzyć w dowolnej przeglądarce. Nie musisz już zmagać się z ciężkimi plikami wykonywalnymi lub zapomnianymi hasłami.

4. NIE- Brak wyciszenia

Nawet jeśli nie pracujesz w lokalnej kawiarni, istnieje szansa, że Twoje zdalne miejsce pracy nie jest idealnie ciche. Być może za oknem trwa wywóz śmieci, a może Twój pies nie chce przestać szczekać. Lepszej jakości mikrofon może pomóc w wyciszeniu niektórych dźwięków z otoczenia, ale nawet najlepszy sprzęt nie pomoże, jeśli nagle będziesz musiał zakaszleć lub wziąć łyk wody.

All of these might pose a distraction to the other participants. That is why we recommend muting your microphone whenever you’re not talking. This will help everyone focus on what the speaker is saying. Be careful not to keep it muted at all times, though – you don’t want to deliver a five minutes speech just to notice that you had been the only person who could hear it.

5. Tak – Włączona kamera

Jest to bez wątpienia najbardziej kontrowersyjny punkt na tej liście. Podczas gdy uczestnictwo wyłącznie audio może być błogosławieństwem dla niektórych osób, my w Mood Up Team zdecydowanie zalecamy pozostawienie włączonej kamery przez cały czas trwania spotkania. Dlaczego? Oto nasze powody:

  • Pokazuje Twoje zaangażowanie – Twoi koledzy z zespołu lub klienci widzą, że poświęcasz im uwagę, zamiast bezmyślnie przeglądać telefon.
  • Buduje relacje. W rozmowie mimika i gesty są wszystkim. Widząc je w czasie rzeczywistym, nie tylko czujesz się bliżej swoich współuczestników, ale także możesz uniknąć niezrozumienia.
  • Pomaga Ci poczuć się lepiej. To naturalne, że po dłuższym okresie pracy zdalnej czujesz się odizolowany lub zdystansowany. Widząc twarze swoich współpracowników, pamiętasz, że są oni czymś więcej niż tylko nazwami użytkowników na ekranie.
  • Może być początkiem rozmowy. Nie każdego dnia masz okazję zajrzeć w prywatne życie swoich współpracowników. Kto wie, może zauważysz kota domagającego się uwagi lub zabawny plakat na ścianie. 01 01

6. NIE – Rozpraszanie się

Kiedy skończysz mówić lub aktualny punkt programu nie jest dla ciebie istotny, może cię kusić, aby zająć się innymi zadaniami. Postaraj się tego uniknąć –odpowiadanie na maile, sprawdzanie slacka czy przeglądanie telefonu może poczekać. Bycie uważnym i słuchanie współpracowników na pewno pozostawi po sobie dużo lepsze wrażenie.

Jeśli naprawdę musisz odpowiedzieć na wiadomość lub poszukać pliku, upewnij się, że zakomunikujesz to innym uczestnikom, aby uniknąć niezręcznej ciszy . A jeśli chcesz wykazać się dodatkową uwagą, oto wskazówka – pamiętaj, aby patrzeć prosto w kamerę. Twoi koledzy z zespołu odniosą wrażenie, że utrzymujesz z nimi kontakt wzrokowy i będą wiedzieli, że słuchasz ich uważnie.

Doing it right

W obecnych, pełnych wyzwań czasach, wideokonferencje są nieocenionym środkiem komunikacji i współpracy. Ponieważ coraz więcej firm przechodzi na pracę zdalną, zapotrzebowanie na przestrzeganie etykiety spotkań online będzie rosło – a dzięki naszej liście jesteś już o krok do przodu. Stosując się do tych wskazówek i przygotowując się z wyprzedzeniem, możesz mieć pewność, że Twoje kolejne rozmowy wideo będą przebiegać sprawniej i wydajniej.