Funkcje Firewall

Dzisiaj praca magisterska o zaporach ogniowych. Miłego czytania!

Zapora sieciowa (firewall) jest urządzeniem zaprojektowanym do zapobiegania niepowołanemu dostępowi do sieci. Urządzeniem tym zazwyczaj jest niezależny komputer, ruter lub inny sprzętowy element sieci. Zapora stanowi jedyny punkt wejściowy do sieci lokalnej – jej zadaniem jest kwalifikacja nadchodzących z zewnątrz zgłoszeń według zadanych reguł i ich przetworzenie, co w najprostszym ujęciu sprowadza się do akceptacji, bądź odrzucenia żądania połączenia z danym serwerem usług sieciowych.

W większości przypadków kwalifikacji żądania połączenia dokonuje się bazując na adresie źródłowym pakietu. Jeśli, przykładowo, nie chcemy udostępniać usług naszego serwerem użytkownikom z danej domeny, wprowadzamy odpowiednią maskę do reguł sterujących zapory i odtąd próby połączenia z naszym serwerem dla danej grupy użytkowników zakończą się komunikatem „Connection Refused” (połączenia odmówiono) lub podobnym (możliwa jest również sytuacja, gdzie połączenie jest zrywane bez prezentacji żadnego komunikatu).

Zapory sieciowe mogą przeprowadzać analizy nadchodzących pakietów różnych protokołów. W oparciu o taką analizę, zapora sieciowa może podjąć różne działania, zatem możemy zaprogramować firewall do przeprowadzania warunkowego przetwarzania pakietów. („Jeśli zostanie napotkany pakiet spełniający warunek A, podejmij działanie B”).

Takie warunkowe struktury nazywane są regułami. Na ogół, podczas „stawiania” zapory wyposażamy ją w zestaw reguł odzwierciedlający strukturę zależności służbowych w naszej organizacji. Na przykład, załóżmy, że w firmie jest dział sprzedaży i księgowości, a strategia przedsiębiorstwa wymaga, aby tylko dział sprzedaży miał dostęp do zasobów naszego serwera. Aby wymusić realizację tej polityki, wyposażamy nasz firewall w regułę nie przyjmującą zgłoszeń połączenia otrzymywanych z działu księgowości. W takim aspekcie zapory sieciowe są tym dla sieci, czym są przywileje użytkownika dla systemu operacyjnego. Windows NT pozwala na wskazanie użytkowników mających dostęp do danego pliku lub katalogu. Jest to kontrola dostępu na poziomie systemu operacyjnego. Podobnie zapory sieciowe pozwalają na zastosowanie kontroli dostępu do zasobów naszego serwera i stacji roboczych w sieci.

Monitorowanie dostępu jest jednakże tylko częścią tego, do czego można wykorzystać nowoczesne zapory sieciowe – większość komercyjnych firewalli pozwala na kontrolę zawartości pakietów. Można to wykorzystać do odfiltrowywania niepożądanych skryptów JavaScript, VBScript i ActveX oraz plików cookies. Co więcej, mamy możliwość zdefiniowania reguł dyskryminujących poszczególne połączenia na podstawie tzw. sygnatur ataku.

Sygnatury ataków są wzorcami poleceń charakterystycznymi dla danego ataku przypuśćmy, że nasz intruz „telnetuje’ się na port 80 i wydaje szereg istotnych z jego punktu widzenia komend. Znając taki proces, możemy „nauczyć” firewall rozpoznawać i blokować podobne ataki na podstawie wzorca zawartego w sygnaturze. Podobne efekty można również uzyskać analizując ruch na poziomie pakietu niektóre programy do zdalnego wykorzystywania luk systemowych generują charakterystyczne pakiety, które można wyodrębnić i podjąć odpowiednie działania.

Ogólne rozwiązania ochrony Windows NT

Najbardziej niebezpieczne luki w systemie ochrony Windows NT wykorzystującym protokół TCP/IP powstają wskutek złej konfiguracji. Hakerzy nie muszą się nawet specjalnie wysilać. Niedoświadczonego administratora zaskoczy, jak wiele informacji o odległym systemie można uzyskać wykorzystując Telnet do przepytywania różnych portów.

Sens zastosowania wielu elementów z podstawowej palety środków ochronnych zależy od tego, czy łączymy się z Internetem, czy nie. Na przykład, wszystkie systemy otwarte na zewnątrz, powinny wyświetlać komunikat, który ostrzega użytkownika rejestrującego się w sieci, że nieuprawnione korzystanie z systemu jest zabronione i będzie ścigane prawnie. Im lepiej zabezpieczona jest sieć wewnętrzna tym bardziej jest odporna na zagrożenia z Internetu.

Spowodowanie, aby podczas rejestracji system wyświetlał komunikat ostrzegawczy jest bardzo łatwe:

W edytorze rejestrów (regedit32.exe) należy wybrać strukturę:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinLogon.

Wpisać dwie nowe wartości do odpowiednich pozycji:

Value Name: LegalNoticeCaption; Value Type: REG_SZ; Value: pożądany_tekst_ nagłówka

Value Name: LegalNoticeText; Value Type: REG_SZ; Value: pożądany_tekst_ ostrzeżenia

Rodzaje sieci komputerowych

Można wyodrębnić dwa rodzaje sieci:

  • wyróżniony komputer zwany serwerem,
  • wszystkie komputery są równoprawne „równoważne”, gdzie każdy z komputerów może pełnić rolę serwera i/lub stacji roboczej (peer to peer).

Sieciowy system operacyjny w celu efektywnego i bezkonfliktowego przesyłania danych posługuje się protokołem komunikacyjnym zrozumiałym dla każdego komputera w sieci.

Sieciowy system operacyjny i oprogramowanie komunikacyjne umożliwia komputerom komunikację z zasobami sieciowymi, steruje niemal wszystkimi operacjami w sieci, zarządza i dostarcza mechanizmów zabezpieczających dane na urządzeniach pamięci masowej serwera. Ma wszelkie cechy systemu wielodostępnego i jest jednym z najważniejszych elementów sieci.

Stacje robocze – oprogramowanie składa się z trzech części: interfejsu aplikacji (API – Application Program Interface), sekcji komunikacyjnej sieci, pracującej z określonym protokołem oraz programów sterujących pracą adapterów LAN (kart sieciowych). Powłoka sieciowa decyduje czy żądanie zgłoszenia przez program pracujący na stacji roboczej dotyczy przetwarzania danych w sieci czy lokalnie. System operacyjny stacji roboczej i powłoka sieciowa muszą ze sobą ściśle współpracować, gdyż funkcjonowanie różnych elementów programowych i sprzętowych stacji jest powiązane wieloma relacjami.

Serwery – mają ten sam rodzaj oprogramowania komunikacyjnego co każda stacja robocza. Oprogramowanie serwera plikowego tworzy z kolei skomplikowane kolejki żądań oraz bardzo często bufory dysków. Zawiera zazwyczaj także pewien rodzaj zabezpieczeń w postaci haseł, przypisanych do każdego ze wspólnych urządzeń, albo tablicy praw użytkowników. Serwer zazwyczaj zarządza pracą całej sieci, wspólnymi urządzeniami i zasobami, umożliwiając do nich dostęp użytkownikom sieci. Rozróżniamy kilka typów serwerów, np. plikowy, drukowania, komunikacji.

Serwer plikowy dzięki odpowiedniemu oprogramowaniu może pracować w trybach:

Serwer dedykowany – funkcjonuje ściśle jako serwer i nie jest dostępny jako stacja robocza.

Serwer niededykowany – funkcjonuje zarówno jako stacja robocza i jako serwer plików

Firma Novell swoje sieciowe systemy operacyjne zaprojektowała w ten sposób, by wiele komputerów w sieci mogło pracować jako serwery pojedynczych typów. Oprogramowanie serwerów plikowego, drukowania i komunikacji składa się z wielu różnych modułów programowych. Mogą wykonywać wiele zadań naraz oraz mają opracowane dla twardych dysków bardzo wydajne formaty plików. Na dodatek zdolne są operować gigabajtami pamięci. Wielozadaniowe serwery plikowe nie są używane jako normalne stacje robocze, pomimo że technicznie rzecz biorąc jest to możliwe.

Ochrona systemu plików

Dzisiaj praca inżynierska we fragmentach. Miłego czytania!

Oryginalny system plików opracowany przez Microsoft to NTFS, który można skutecznie wykorzystać do zwiększenia bezpieczeństwa w sieci Windows NT połączonej z Internetem. Przede wszystkim, komputery bezpośrednio połączone z Internetem powinny mieć swoje dyski sformatowane systemie NTFS. Ewentualnym włamywaczom nie wystarczy pokonanie bariery stworzonej na poziomie zbiorów współdzielonych, będą jeszcze musieli uporać się z zabezpieczeniami systemu plików.

Mając już odpowiednio sformatowane partycje, należy przejrzeć prawa dostępu do plików i katalogów pod kątem zasady minimalnych przywilejów. Kolejna zasada każe nie przechowywać poufnych informacji na serwerach narażonych na bezpośredni kontakt ze światem zewnętrznym. Nawet jeśli intruzi zdobędą przyczółki naszej sieci, nie powinni mieć możliwości penetracji kluczowych danych. Dobrą taktyką, utrudniającą możliwość zablokowania systemu (denial-ofservice) jest odpowiedni podział przestrzeni dyskowych i wykorzystanie różnych partycji dla rozdzielenia usług.

System operacyjny powinien znajdować się na jednej partycji serwer Web na drugiej, katalogi z danymi serwera Web na trzeciej itd. Haker, który znajdzie lukę w ochronie jednej części systemu nie powinien mieć szans na zablokowanie pozostałych elementów. Następna grupa zagrożeń dotyczy rejestrów. Nie chodzi jedynie o możliwość odczytania ważnych informacji, zmiana parametrów rejestrów może skutecznie zablokować działanie systemu i jest bardzo trudna do zdiagnozowania. Taki atak kończy się zazwyczaj ponowną instalacją systemu, na co włamywacz odpowiada zmianą ustawień itd.

Rozwiązaniem jest uważna konfiguracja rejestrów. Na koniec, należy rozważyć usunięcie programów narzędziowych TCP/IP, które są domyślnie instalowane na serwerach, to jest FTP, Telnet i Finger. Co prawda omawiane usługi bywają poręczne do diagnozowania problemów, ale funkcjonowanie ich na serwerach niesie duże ryzyko. Wyobraźmy sobie na przykład, że włamywacz zdobywa dostęp do odpowiedniego konta i uruchamia jedno z wymienionych narzędzi. Ponieważ działa od środka, może oszukać pozostałe z zastosowanych systemów ochrony, takich jak serwery pośredniczące lub zapory sieciowe.

Nadzór

Odpowiednie wykorzystanie możliwości monitorowania szerokiej gamy działań użytkowników pozwala zapobiegać groźbie dezintegracji sieci. We wszystkich systemach, które są bezpośrednio połączone z Internetem, należy uaktywnić nadzór. Za możliwość śledzenia i dokumentowania aktywności użytkowników, warto zapłacić cenę w postaci wzrostu nakładu pracy i obniżenia wydajności systemu. Monitorowanie procesów rejestracji pozwala kontrolować aktywność użytkowników, a co ważniejsze osób próbujących nielegalnie skorzystać z systemu.

Algorytm credit-based

Algorytm kontroli przeciążenia (kontroli przepływu) typu credit-based opiera się na przekazywaniu „kredytów” od odbiorcy do nadawcy. Przykładem takiego algorytmu może być algorytm: „Flow Controlled Virtual Circuit (FCVC).

Każde łącze  składa się z dwóch węzłów: nadawcy i odbiorcy, którymi może być przełącznik lub końcowe urządzenie sieci. Każdy węzeł obsługuje oddzielną kolejkę (bufor) dla każdego kanału wirtualnego.  Odbiorca monitoruje długość kolejki dla każdego kanału wirtualnego i określa liczbę komórek (kredyt), które mogą być transmitowane przez dany kanał. Nadawca może wysłać tylko tyle komórek na ile pozwala mu przydzielony kredyt. Jeżeli jest aktywny tylko jeden kanał wirtualny na łączu, kredyt musi być na tyle duży, aby całe pasmo przepustowe łącza było wykorzystane przez cały czas.

Kredyt (większy lub równy) przepustowość łącza w komórkach  (razy) czas roundtrip.

Rysunek 6. Zasada działania algorytmu typu credit-based.

Omówiona zasada działania była pierwszą wersją algorytmu FCVC, posiadającą jeszcze kilka poważnych wad. Jedną z najpoważniejszych wad było, że, jeżeli kredyt  nie dotarł z powodu nieprzewidzianych sytuacji, odbiorca o tym nie wiedział i nie wysyłał nowych kredytów, nadawca nie mógł wysyłać komórek z braku kredytów. Problem ten został rozwiązany poprzez wprowadzenie synchronizacji kredytów między nadawcą a odbiorcą. Zasada działania algorytmu synchronizacji jest następująca: dla każdego kanału wirtualnego nadawca liczy ilość komórek wysłanych a odbiorca ilość komórek odebranych, wartości te są co pewien czas wymieniane pomiędzy  nadawcą a odbiorcą. Różnica między ilością komórek wysłanych przez nadawcę a ilością komórek odebranych przez odbiorcę stanowi ilość komórek „zagubionych”. Odbiorca przydziela więc dodatkowe (utracone) kredyty nadawcy.

[Pozycje 1, 4, 6 w Bibliografii]

Adobe: Thermo

„Thermo” to nazwa kodowa aplikacji, która pozwoli połączyć świat kreacji (grafików) z produkcją (programistami). To program, który umożliwi korzystającemu z niego projektantowi:

  • używać przybory do rysowania tak, by stworzyć początkową grafikę, tzw. projekt użytkowy (wireframe), albo manipulować szatą graficzną importowaną z Adobe Creative Suite,
  • przypisywać funkcjonalności do elementów wykorzystujących tematy z zaimportowanych grafik z Adobe Photoshop, Ilustrator oraz Fireworks,
  • definiować interaktywne zachowanie obiektów w taki sposób, jakby to robił użytkownik gdy klika na wybrany element,
  • w łatwy sposób zaprojektować interfejs użytkownika, który korzysta z dynamicznych danych, jak np. lista kontaktów czy informacje o produkcie, które pochodzą z zewnętrznych baz danych,
  • i w dodatku, pracując w ramach WYSWIG otrzymujemy… czysty kod MXML 🙂

Jednym zdaniem: to może być przełomowa aplikacja dla designerów, zwłaszcza tych, którzy lubują się w funkcjonalnych (interaktywnych) prototypach.

Na deser, kilka filmików pokazujących możliwości programu.

Game Interface Design: prototypowanie na potrzeby gier

Moje pierwsze zetknięcie z komputerami związane było z grami – stało kilka maszyn w osiedlowym klubie młodzieżowym (w pierwszej połowie lat 80. mało kto miał komputer w domu). Całe godziny spędzałem wtedy grając w Pac-Mana, Bumber Bush Boulder Dash czy Mario Bros, oraz moją ulubioną w tamtym czasie – Montezuma’s Revenge. Gry tak zdominowały mój świat dzieciństwa, że pozostałem wiernym graczem do dziś. Jednak dziś mam mniej czasu na granie, a więcej projektuję… Pytanie: czy można, a jeśli tak, to jak, zastosować do projektowania interfejsów gier komputerowych klasyczne metody prototypowania interfejsów?

***

Paper prototyping

O metodzie paper prototyping jako takiej, już pisałem, więc nie będę się powtarzał. Jak ma się jednak do protytpowania gier komputerowych? Zobaczmy (film poniżej).

Flowcharts (flow diagrams): diagramy przepływu

Pierwszy raz na szerszą skalę diagram przejścia zastosowałem przy okazji projektowania Strefy dla grono.net (takie połączenie programu partnerskiego oraz programu lojalnościowego).

Strefa to nie był prosty projekt – uwzględniał interfejsy po stronie A) użytkownika indywidualnego, B) partnera oraz C) moderatorów (NIE – moderatora).

Prócz stron internetowych zawierał również kilka akcji związanych ze skrzynką e-mail osoby, która się rejestrowała (zarówno jako partner, jak i jako gronowicz). Dzięki diagramowi przejść można było zobaczyć jak faktycznie przebiega proces rejestracji – na którym etapie włącza się moderator, kiedy system wysyła wiadomość na e-mail użytkownika, etc.

Diagramy zarówno mogą odpowiadać przejściom w ramach klasycznego Wizarda, gdzie mamy kilka ekranów, jak i – w prostszej formule – przejściom w ramach jednego ekranu.

Przykłady ze świata gier:

Diagram przejść wieloekranowych: tworzenie postaci w grze Neverwinter Nights.

Przebieg przejść: Start → Select Gender (Powrót wyżej LUB Dalej) → Select Race (Powrót wyżej LUB Dalej) → Select Portrait (Powrót wyżej LUB Dalej) → Select Class (Powrót wyżej LUB Dalej) → Select Alingment (Powrót wyżej LUB Dalej) → Select Abillities (Powrót wyżej LUB Dalej) → Select Package (Powrót wyżej LUB Dalej) → Customize (Powrót wyżej LUB Dalej) → Done.

Diagram przejść jednoekranowych: to przejścia w ramach jednego ekranu.

Na poniższym rysunku – zrzut z gry Arcanum – widać proces tworzenia postaci. Na ekranie wybieramy – w kolejności, w jakim sugeruje układ interfejsu:

  1. Portret postaci
  2. Wpisujemy imię i nazwisko
  3. Wybieramy płeć
  4. Określamy rasę (do wyboru: człowiek, półork, gnom i inne)
  5. Wybieramy cechę specjalną, któa nadaje kolorytu i niepowtarzalności postaci

I na koniec albo potwierdzamy stworzoną postać przechodząc do gry (6), albo anulujemy proces i przechodzimy do interfejsu gry piętro wyżej (7).

Jednak układ tego interfejsu ma kilka błędów, które można było już wychwycić na etapie projektowym. To umieszczenie portretu, które jest zależne od dalszych wyborów gracza: płci – mamy portrety męskie i żeńskie, oraz rasy – inne zestawy portretów są dla różnych ras. W rezultacie zmiana jednego z parametrów usytuowanych w ramach architektury informacji poniżej portretu, wpływa na automatyczną zmianę tegoż, ulokowanego na samej górze, i w rezultacie pociąga za sobą ponowny wybór portretu.

Architektura informacji: mapa strony – mapy gry

Tak jak w ramach projektowania WWW tworzymy schematy AI w ramach całej witryny, tzw. mapy stron, tak w ramach gier wytwrzane były, i są, mapy leveli.

Mock-up

Prototypowanie interfejsów gier przy pomocy szablonów poszczególnych ekranów interfejsu, uwzględniających już charakter gry, i przez to prezentujących już lna tym etapie ayout, to taki sam standard w świecie projektowania gier, co i dla Weba.

Eyetracking: badania i poprawki

O eyetrackingu też już były przysłowiowe dwa słowa. Ale: Czy można eyetrackować interfejsy i przebieg gry komputerowej?

A czemu nie!

Prototypowanie nowych rozwiązań

Dla wielu osób, w tym przede wszystkim graczy, inetrefjsy gier komputerowych często uchodzą za odmienne w swoich rozwiązaniach od standardu GUI znanych nam systemów operacyjnych. Przykładem może być rewelacyjny interfejs Atom, z ciekawym systemem menu-flow.

Atom Interface to rozwiązanie, które doczekało się implementacji zarówno w Neverwinter Nights, co i Temple of Elemental Evil. Charakteryzuje się tym, że poszczególne zagnieżdżenia w ramach klasycznego menu kaskadowego, zlokalizowane są są wokół centralnego jądra, otoczonego głównymi kategoriami menu.

Okazuje się, że z prototypowaniem tego typu rozwiązań, wedle klasycznych metod, też nie ma żadnych problemów.

Reasumując

Warto pamiętać, że poznanie i opanowanie podstawowych metod prototypowania, pozwala projektantowi na tworzenie interfejsów aplikacji niezależnie od ich przeznaczenia oraz sposobów wykorzystywania. Projektowanie Web GUI daje projektantowi również sprawność w ramach projektowania interfejsów klasycznych systemów GUI oraz interfejsów gier. A także interfejsów przeznaczonych do innych urządzeń, niż klasyczny komputer: np. telefonów komórkowych.

Mental Models: w stronę umysłu

W ostatnim czasie na sile przybiera zwrócenie uwagi projektantów w stronę neuropsychologii i kognitywistyki. User Experience, zwracające uwagę na człowieka, zmienia oblicze działki projektowej HCI i wypiera wcześniejszy wizerunek usability, oparty na fundamencie analiz heurystycznych i zgodności z W3C. Zainteresowanie projektantów z medium (specyfikacji komputera) przerzucane jest na użytkownika („oprogramowania” umysłu).

Właśnie na na grupie IxDA została puszczona informacja nt. świeżo wydanej książki „Mental Models: Aligning Design Strategy with Human Behavior”. Jak jeden z punktów z opisu głosi, dzięki tej książce: „Lepiej zrozumiesz doświadczenie użytkownika, zanim podejmiesz strategiczne decyzje oraz stworzysz projekt produktu”. Książka posiada dość bogaty zbiór ilustracji, które wydawnictwo zamieściło na Flickr.com.

Po co ja o tym? Modele mentalne są jednym z podstawowych terminów używanych w ramach kognitywistyki (ang. cognitive science); w podobnym kontekście mówi się także o reprezentacjach.

W czasie zadań projektowanych specjaliści od UX też często – choć w większości bezwiednie i nieświadomie – odwołują się do modeli mentalnych. Np.:

  • W badaniach z użyciem card sorting sprawdza się, w jaki sposób użytkownicy grupują informację (w testach zamkniętych) i jakie nazwy przypisują poszczególnym działom strony WWW (w testach otwartych). W ten sposób dowiadujemy się czegoś nt. funkcjonowania reprezentacji jężykowych dla pewnych zdarzeń, usług, itp. Dowiadujemy się także czegoś nt. funkcjonowania pamięci semantycznej oraz wzorów powiązań między poszczególnymi znaczeniami.
  • W badaniach z użyciem eytrackera, gdzie sprawdzamy rozkład fiksacji na danej stronie internetowej, możemy zaobserwować w jaki sposób użytkownicy tworzą sobie wzór danej strony – jej model mentalny. Co widzą, czego nie widzą (np. przez okres 4,2 sekundy, gdy liczba fiksacji może wynosić nawet 14). Wiele wykonanych badań pozwala nam wychwycić pewne stałe, na bazie których tworzymy model mentalny tego, jak użytkownicy oglądają strony WWW. Dzięki temu następne nasze projekty są dużo lepsze już na etapie prototypowania – zwracamy dużo większą uwagę na kompozycję strony, na rozkłąd akcentów kolorystycznych, oraz budowanie odpowiedniego kontrastu w ramach elementów, które szybko mają zostać zauważone.
  • Odwołując się do modelu pamięci krótkoterminowej, podanej przez George’a Millera (1956), kiedy tworzymy menu. Doskonale zdajemy sobie sprawę, że użytkownicy nie będą w stanie „objąć mentalnie” nawigacji, gdy jej złożoność przekroczy magiczne 7±2 elementy.
  • Itd.

Piszę też o tym z tego względu, że na krajowym rynku dostępnych jest również kilka niezłych tytułów, pozwalających uzupełnić wiedzę z tych obszarów. W szcególności polecam „100 sposobów na zgłębienie tajemnic umysłu” Stafforda i Webba (Helion 2006), którą miałem sposobność redagować merytorycznie oraz niejako kontynuację tego tytułu: „75 sposobów na zwiększenie wydajności umysłu”, autorstwa Rona Hale-Evansa (Onepress 2007), gdzie większość informacji poświęcona jest technikom mnemotechnicznym.

Polecam, bo to dobra sposobność zobaczenia co dzieje się w głowie naszych użytkowników, a często dowiedzenia się, jak, i czemu tak, przetwarzamy informacje (widzimy, myślimy, pamiętamy).

Książka: relacja z prac

Nie piszę, bo piszę, chciałoby się powiedzieć 🙂

Prawda jest taka, że aktualnie każdą wolną chwilę poświęcam na pisanie książki i redagowanie tego, co już jest (aż wstyd, Anka już dawno skończyła swoją część prac).

Widać, że podzielimy książkę chyba na trzy główne sekcje, odpowiadające w kolejności:

  • tematyka interfejsu jako takiego (będzie i od strony urządzeń elektronicznych, i od strony człowieka; o GUI, typografii, kolorach, …) – ta część jest aktualnie najbardziej w powijakach;
  • prototypowanie rzecz jasna – dzisiaj skończyłem pisać rozdział o card sorting, wczoraj o paper prototyping. Są już też części Anny, o prototypowaniu za pomocą MS Visio i PowerPoint. Jest w końcu rozdział o personach;
  • badania – im poświęcony jest cały duży dział. Zarówno kwestii analizy statystyk, jak i aktualnym trendom projektowym w sieci (czekam jeszcze na niektóre dane z Gemiusa). Jest też część o clicktrackingu i testach A/B. I najważniejsze – jest cały spory kawałek nt. badań z użytkownikami, zarówno w formie zogniskowanych wywiadów grupowych, wywiadów indywidualnych, testów funkcjonalności i… badań przeprowadzanych online 🙂

W końcu, jest też niespodzianka, z której bardzo się cieszę: dodatek nt. projektowania na urządzenia mobilne, napisany przez Tomka (Dzięki Tomek!). A ja bym jeszcze chciał napisać drugi – nt. projektowania dla gier. Ale nie wiem czy wystarczy czasu – bo ten goni – a zostało jeszcze trochę roboty, w tym przeredagować dwie kobyły – rozdziały o typografii i kolorach. Chyba, że redaktor prowadzący zgodzi się na przedłużenie terminu oddania (wpisujcie się na wszelki wypadek, to wpisy te posłużą mi jako dodatkowe argumenty do przetargu). 🙂

Zebraliśmy też trochę softu, który w dużej mierze będzie opisany. Mamy nadzieję, że zostanie dołączona płyta CD, na której będziemy mogli go umieścić.

To tyle. Wracam do pracy…

MacBook Air: hardware interface

Bill – oficjanie – odszedł, przekonując, że czeka nas świetlana przyszłość w interfejsach i za 5-10 lat znikną klawiatury i myszki, by ustąpić miejsca interfejsom opartym o przetwarzanie języka naturalnego (widać, że ktoś tu średnio się zna na tym zagadnieniu, bo inaczej takich głupot by oficjalnie nie głosił). Balmer albo oszalał, albo zmienia branżę na muzyczną (ale on chyba zawsze był taki). A tymczasem Steve pokazał MacBook Air – i już o tym wydarzeniu prawie połowa członków IxDA rozprawia (druga połowa zajmuje się kwestią czy Verdana, czy „Vernada”).

Co takiego szczególnego ma MacBook Air? Ma szczupłą sylwetkę, rodem z paryskich wybiegów, pamięć flash zamiast dysku twardego (Apple obecnie jest największym odbiorcą pamięci flash firmy Samsung) – kiedyś chłopaki z Jabłka pierwsi zrezygnowali ze stacji dyskietek, teraz z dysku twardego – i… „pasożytniczo” korzysta z napędów optycznych (CD, DVD) komputerów znajdujących się w pobliżu (to robi wrażenie) + kilka innych, pomniejszych już ciekawostek. Jednak z punktu widzenia branży, interesujące jest rozszerzenie kompetencji nowego gładzika. To już nie jest touch-pad, a multi-touch.

Sam mutli-touch nie jest jakiś rewolucyjny – w zasadzie idea (czy raczej technologia) wzięta jest z iPhone’a; gestykulacja, którą wykorzystuje także nie jest niczym nowym – w sporej mierze jest taka sama, jak chcociażby w Microsoft Surface. I właśnie to cieszy, że interefejs gestykulacyjny, który rodzi się na naszych oczach, ma spore szanse się przyjąć, dzięki standaryzacji gestów (zobacz filmy prezentujące gesty).

A gdzie jeszcze mamy do czynienia z koncepcją interfejsu gestykulacyjnego? Najbardziej znany to rzecz jasna interfejs wykorzystywany przy zabawie z Wii. Wprowadzano także gesty do obsługi softwaru – w przypadku przeglądarek internetowych (Safari, Opera) oraz w grach komputerowych – np. Black & White. Jednak bez polityki budowania standardu – alfabetu gestów – i to był błąd.