Artykuł z magazynu ITwizProgramowaniePolecane tematy

Modern UI: nowe podejście do projektowania aplikacji

Najważniejszym – z punktu widzenia Microsoftu – przykładem zastosowania nowego interfejsu użytkownika jest Windows 8 i Windows Phone oraz tworzonych na te platformy aplikacjach.

Nowy interfejs użytkownika to nie tylko nowy sposób interakcji z urządzeniem, ale także nowej generacji aplikacje, które można wybierać zależnie od swoich potrzeb, preferencji i hobby. Można je pobierać bezpośrednio ze Sklepu Windows – bezpłatnie albo za opłatą, w zależności od typu aplikacji. Na koniec roku 2013 było ich już ponad 200 tys. Jak przekonują przedstawiciele Microsoft, co roku sprzedawanych jest ok. 500 mln nowych licencji na Windows 8, co pokazuje tempo wzrostu rynku odbiorców na aplikacje zaprojektowane wg zasad Modern UI. Deweloperzy muszą jednak zmienić sposób ich projektowania. Powodem jest także nowy sposób interakcji aplikacji z otoczeniem.

Przyszłość to prostota z właściwie pojętą estetyką

Microsoft nie chce nikogo na siłę namawiać do stosowania ekranów dotykowych z dostosowanym do ich specyfiki nowym interfejsem użytkownika. Z naszych badań jednak jasno wynika, że jest to najbardziej intuicyjny sposób interakcji użytkownika z urządzeniem. Jak bardzo jest to dla nas naturalne widać po tym, jak duże problemy mają małe dzieci z myszką, bo przesuwają ją ‘do góry’ na stole, w poziomie, a na ekranie kursor porusza się ‘do góry’, ale w pionie. Ekran, na którym się dotyka jest czymś, co rozumieją znacznie lepiej i wykonują zupełnie intuicyjnie” – mówi Tomasz Kopacz, Senior Architect Evangelist w polskim oddziale Microsoft.

Modern UI: nowe podejście do projektowania aplikacji

Wcześniejszy interfejs systemu Dynamics AX

Modern UI: nowe podejście do projektowania aplikacji

…i Modern UI w Dynamics AX 2012 Expenses

Naszą koncepcję ze stosowania Modern UI prezentujemy teraz także tzw. ‘tradycyjnym’ deweloperom, którzy chcieliby w nim odtworzyć cały swój dotychczasowy system, np. ERP. Można postawić pytanie, dlaczego mieliby to zrobić? Odpowiedź jest prosta. Modern UI wprowadza nowe podejście do projektowania aplikacji, w którym każda część jest wyspecjalizowana, realizuje dobrze określony scenariusz biznesowy i ma za zadanie pozwolić wykonać daną czynność najłatwiej. Kiedyś wspomniani producenci systemów ERP ścigali się, który z ich systemów ma więcej funkcji w jednej, skomplikowanej aplikacji. Dziś rynek i użytkowników zdobywa się prostotą i estetyką. Ale to nie znaczy, że aplikacja ma być mało funkcjonalna. Chodzi o to, by ścieżka dotarcia do potrzebnej funkcji nie była zbyt długa. Jak będzie wymagać przeczytania dokumentacji, długich szkoleń itp. to przegra z rozwiązaniem prostszym” – dodaje.

Dziś rynek i użytkowników zdobywa się prostotą i estetyką. Ale to nie znaczy, że aplikacja ma być mało funkcjonalna. Chodzi „tylko” o to, aby naprawdę ścieżka dotarcia do potrzebnej funkcji nie była zbyt długa. Jak będzie wymagać przeczytania dokumentacji, szkoleń itp. to przegra z rozwiązaniem prostszym.

Założenie jest jednak takie, aby programista używał wiedzy, którą już posiada, czyli: HTML, JavaScript, XAML, C# / VB.NET, C++. Ale Windows 8 pozwala łączyć te technologie: UI w HTML, logika w C#, a obliczenia w C++ lub JavaScript. Dodatkowo przy budowie UI standardowo pomóc mogą także kontrolki tworzone przez partnerów Microsoft, np. SyncFusion czy Telerik.

Microsoft radzi, aby duży system podzielić na mniejsze moduły, reprezentujące pojedyncze jego funkcje. Jednym z takich producentów jest Soneta i ich system Enova365 – gdzie poszczególne moduły są zrobione zgodnie z założeniami Modern UI, a przy tym są w pełni funkcjonalne i pozwalają robić to samo, co tradycyjne aplikacje (tylko dzięki lepszej ergonomii użytkownik pracuje szybciej). Microsoft dokonał już takiego „podziału” pakietu ERP – Dynamics AX. W Windows Store dostępne są np. aplikacje Dynamics AX 2012 Timesheets, Dynamics AX 2012 Expenses i Dynamics AX 2012 Approvals. Oferowane są bezpłatnie, ale aby z nich korzystać wymagany jest dostęp do firmowej wersji Dynamics AX 2012. Można także oczywiście wykorzystywać inne mechanizmy znane z aplikacji konsumenckich – gdzie np. wybrane funkcjonalności będą dodatkowo płatne (tzw. mechanizm „In-App Purchase”).

Nowe grupy odbiorców zmieniają sposób korzystania z aplikacji

Świat się zmienia. Dziś użytkownik aplikacji nie chce czytać całej dostępnej na jej temat dokumentacji, ani przechodzić wielogodzinnych szkoleń. Coraz więcej ludzi nie musi nic wiedzieć na temat działania aplikacji, z której korzystają. „Idealnymi dla nich są proste, intuicyjne aplikacje, bez potrzeby poznawania instrukcji. Im mniej o nich wiesz, tym łatwiej z nich korzystasz” – tłumaczy Tomasz Kopacz. „Oczywiście na rynku pozostaną i te pierwsze, uniwersalne aplikacje o rozbudowanej funkcjonalności. Ale będzie z nich korzystać wąska, wyspecjalizowana grupa osób. Reszta użytkowników zagłosuje portfelem za prostotą” – dodaje i podaje przykład dwóch aplikacji do odtwarzania wideo. Jedna z nich cieszyła się ogromną popularnością, druga nie. W drugiej jednak trudno było się „domyślić”, jak otworzyć plik wideo do odtworzenia. Wniosek, została źle zaprojektowana.

Jak mówi Tomasz Kopacz, podobnie, jak z deweloperami, jest niekiedy z wewnętrznymi działami tworzącymi rozwiązania IT. Często powstają w nich rozwiązania, z których nikt nie chce korzystać, choć czasami musi. „Tradycyjny dział IT nie rozumie, że informatyka nie dla wszystkich musi być pasją. Komputer i aplikacje mają być po prostu łatwe w użyciu i działać niezawodnie. Dlatego też użytkownicy coraz częściej korzystają z tego, co znajdą w chmurze, a jeśli jest to rozwiązanie bezpłatne, to sami decydują o jego ‘wdrożeniu’. Tak było w polskim oddziale Microsoft, gdzie nasze recepcjonistki zadecydowały o wykorzystaniu dostępnego w modelu cloud computing systemu do śledzenia i zarządzania przesyłkami. Wcześniej wpisywały je w arkusz Excela” – dodaje.

Microsoft, rozmawiając z programistami, pokazuje, że znaleźliśmy się dziś w ślepym zaułku. Przez ostatnie lata coraz bardziej komplikowaliśmy urządzenia i sterujące nimi systemy. Ta ścieżka nie niosła ze sobą nowej wartości, jedynie dodawała kolejne funkcje. Doszliśmy do zbyt dużej komplikacji rozwiązań z punktu widzenia zwykłego użytkownika, a dodatkowo nastąpiła zbyt duża swoboda w budowie interakcji z aplikacjami. Tymczasem mamy ograniczony wzrost pojemności i złożoności ludzkiego mózgu.

Na to nakładają się zmiany pokoleniowe. Rośnie grupa tzw. Baby Boomers – osób starszych, urodzonych po II Wojnie Światowej, ale bardzo wygodnych, które nie chcą korzystać ze zbyt skomplikowanych rozwiązań. Druga grupa to ludzie młodzi, którzy od dziecka mieli kontakt z komputerami i innymi urządzeniami elektronicznymi.

Modern UI: nowe podejście do projektowania aplikacji

Microsoft radzi, aby duży system podzielić na mniejsze moduły, reprezentujące pojedyncze jego funkcje. Jednym z takich producentów jest Soneta i ich system Enova365 – gdzie poszczególne moduły są zrobione zgodnie z założeniami Modern UI a przy tym są w pełni funkcjonalne i pozwalają robić to samo, co tradycyjne aplikacje.

Z drugiej strony – trzeba też wziąć pod uwagę przyzwyczajenia istniejącej grupy użytkowników. Nie można budować aplikacji nieuwzględniających tradycyjnych desktopów, poczciwej myszki i klawiatur

Aplikacje w sandbox w Windows 8

Zdaniem Tomasza Kopacza, wadą „tradycyjnych” systemów operacyjnych – MacOS, Linux, czy wcześniejszych wersji Windows – jest fakt, że gdy instaluje się aplikację, ta „rozpowszechnia się” w całym systemie, dodając np. własne biblioteki, a więc zmienia sam system. Nawet w przypadku odinstalowania aplikacji trudno jest usunąć wszystkie zmiany. W przypadku Windows 8 wprowadzono nowy mechanizm bezpieczeństwa AppContainters, pozwalający na uruchamianie aplikacji w maksymalnie ograniczonym środowisku (tzw. sandbox).

Programy uruchomione w ten sposób nie mogą wykonywać pewnych operacji, które zmieniają stan systemu operacyjnego (podmiana pliku dll itp.). Dzięki temu instalacja aplikacji czy jej działanie nie wpływa na stan OS, jak i na inne aplikacje. Oczywiście niektóre z programów muszą ze sobą „współpracować“. Temu służy między innymi funkcja Share czy koncepcja „Pickers” – stanowiąca ściśle skonfigurowany kanał komunikacji pomiędzy różnymi programami. Dzięki temu, z naszych kontaktów może korzystać zarówno system pocztowy jak i system CRM, sam ich nie przechowując.

Z punktu widzenia użytkownika oznacza to tyle, że może on spokojnie testować nowe aplikacje. Także dla twórcy jest to duże ułatwienie – może dostarczyć aplikację z kontem demonstracyjnym, którą każdy może w łatwy sposób sprawdzić i ocenić. Dodatkowo – podobnie łatwo można przekazać aktualizację. Warto też wspomnieć, że duże przedsiębiorstwa mogą budować własne, wewnętrzne sklepy z aplikacjami.

Korzystając z nowego zabezpieczenia, jakim jest AppContainters w Windows 8, można wydzielić obszary, które są dla danej firmy wrażliwe i odpowiednio je chronić. Pisząc aplikację w Visual Studio możemy określić w Capabilities listę API, do których będzie miała ona dostęp. Można np. określić, że komunikacja będzie możliwa tylko w ramach sieci firmowej – dana aplikacja nie będzie miała dostępu do Internetu. Dodatkowo uprawnienia związane z prywatnością, może kontrolować także sam użytkownik – np. zablokować dostęp do kamery, czy do usług lokalizacyjnych. Dużo można także kontrolować z poziomu ustawień tzw. polis w systemie operacyjnym, co pozwala działowi IT na pełną kontrolę tego, co może dana aplikacja Modern UI” – tłumaczy Tomasz Kopacz.

Microsoft wprowadził także zupełnie inne podejście do zarządzania zasobami w aplikacjach. W zależności od warunków, aplikacja może używać więcej lub mniej czasu procesora, transmisji sieciowej itp. „Ukryta aplikacja w ogóle nie zużywa zasobów procesora. Można mieć milion ‘odpalonych’ w tle aplikacji, ale niemal nie będą zużywały baterii. Jedyne, co może się ‘zużyć’, to RAM. W takim jednak przypadku system może daną aplikację sam zamknąć” – wyjaśnia Tomasz Kopacz.

Za tym poszła zmiana w jądrze systemu Windows 8. „Chodziło o to, aby móc budzić tylko poszczególne elementy systemu operacyjnego. Przykładowo, aby przyszedł mail musimy odebrać pakiet sieciowy, zrozumiały dla systemu pocztowego, następnie musi być on w nim zapisany i pokazany użytkownikowi” – mówi Tomasz Kopacz. „W Windows 8, w trybie Connected Standby, system w pierwszej kolejności analizuje, czy dany pakiet sieciowy jest dla danej aplikacji i czy jest dla niej ‘interesujący’. Jeśli tak, to na chwilę budzona jest aplikacja mailowa, która potwierdza odebranie wiadomości. Na jednej z konferencji mój tablet wytrzymał w tym trybie dwa dni. Gdy np. ściągał większy plik, to robił to na raty, tylko wówczas, gdy znajdowałem się w zasięgu sieci WiFi” – dodaje.

Projektanci aplikacji w Windows 8 muszą także pamiętać, że użytkownik nie lubi czekać na „reakcję” aplikacji dłużej niż 50 ms. Jednakże niezbędny czas oczekiwania można łatwo ukryć dzięki dosłownie jednemu słowu kluczowemu, które z jednej strony uruchomi długo trwającą operację w tle, a z drugiej – pozwoli poinformować użytkownika, co się dzieje w sposób znacznie bardziej precyzyjny niż po prostu przez „kręcące się” kółko czy klepsydrę.

Nowe szanse dla twórców aplikacji wg Microsoft

  1. Szybkie i Płynne (Fast & Fluid) aplikacje pełnoekranowe.
  2.  ModernUI (filozofia interfejsu użytkownika) – wymyślony zarówno dla ekranów dotykowych jak i klasycznych PC.
  3. Sklep zintegrowany z każdym Windows 8 PC.
  4. Elastyczny proces i modele zarobkowe.
  5. Mechanizmy odkrywania aplikacji skupione na konsumencie.
  6. Wykorzystanie istniejących umiejętności i zasobów.
  7. Integracja aplikacji z usługami w chmurze – personalizacja, przeniesienie ustawień w zawsze dostępne miejsce.
  8. Usprawnienia w fundamentalnych obszarach związanych z pracą mobilną.
  9. Wsparcie dla wielu urządzeń: w wielu kształtach, rozmiarach.
Tagi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *