Można Microsoftu i jego produktów nie lubić. Nie da się jednak ukryć roli, jaką ta firma odegrała w popularyzacji pecetów pod domowymi strzechami. Nie mam zamiaru jednak rozwodzić się nad wpływem okien na gwałtowny rozwój dzieci neostrady, a powiedzieć kilka słów na temat interfejsów użytkownika.
Właśnie w interfejsie tkwi potencjał marketingowy produktów firmy z Redmond. To właśnie prostota użytkowania, a nie wydajna architektura czy wysoka skalowalność przysporzyły popularność Jedynemu Słusznemu Systemowi Operacyjnemu. Na szczęście ludzie zajmujący się tworzeniem nowych dystrybucji Linuksa idą powoli po rozum do głowy -- weźmy chociażby Ubuntu z zainstalowanym GNOME, które wygodą i intuicyjnością rozwiązania w wielu aspektach jest w stanie trafić w gusta Szarego Użytkownika. Oczywiście mnóstwo jest tu do zrobienia: wciąż wiele rzeczy jest możliwych do skonfigurowania wyłącznie tekstowo; bądź też graficzne narzędzia są zbyt niedopracowane, by nie-programista był w stanie ich użyć.
Rozproszenie twórców oprogramowania Linuksowego ma tę wadę, że nie ma prawie żadnej spójności w projektowaniu aplikacji. Nawet programy dedykowane na GNOME, korzystające z bibliotek GTK różnią się dosyć mocno od siebie, nie pozwalając użytkownikowi na wykształcenie jednolitych nawyków. Tutaj muszę, niestety, pochwalić KDE, gdzie część podstawowych aplikacji (czytaj: tych, z których korzystałem jako miłośnik XFCE) posiada wspólne elementy interfejsu i wykorzystuje podobne rozwiązania, układy kontrolek, ikonki, i tak dalej. Za pamięci -- okno otwarcia/zapisu pliku w GTK ss... znaczy się, jest beznadziejne.
Oczywiście nie chcę chwalić pod niebiosa Okienek, ponieważ zdolny programista jest w stanie i na tym systemie stworzyć potworny, nieintuicyjny i niepodobny do czegokolwiek innego interfejs użytkownika. Osobną kategorią są programy "z innego świata" -- chociażby taki Blender, do którego idzie przywyknąć, ale po ciężkich bojach z myszką i klawiaturą.
Jednak w przypadku programowania dla Windows mamy dostępne przebogate zasoby dotyczące projektowania interfejsów użytkownika.
Po pierwsze, możemy wzorować się na istniejących rozwiązaniach. Eksplorator Windows nie może programem o przebogatych możliwościach, ale -- w przeciwieństwie do, chociażby, Midnight Commandera -- zna go każdy użytkownik tego systemu. Podobnie w przypadku różnego rodzaju edytorów. Większość użytkowników będzie nam dozgonnie wdzięczna, jeżeli nasz UI będziemy wzorować na WordPadzie, zamiast na VIM.
Po drugie, dostajemy "z pudełka" mnóstwo kontrolek, które od razu możemy użyć w naszych programach. Dzięki temu unikamy pokusy pisania interfejsu od zera, tworząc potworka, który na daną chwilę wydaje nam się piękny (aż do czasu wydania następnego interfejsu Windows; no chyba, że wystarczy Aero, by zniszczyć nasze dzieło sztuki). Tak naprawdę istnieje niewiele programów, które potrzebują niestandardowego interfejsu użytkownika (tutaj poza odtwarzaczem muzyki nic nie przychodzi mi na myśl, a pisanie drugiego Winampa zbytniego sensu nie ma).
Po trzecie, mamy też dostęp do materiałów drukowanych i elektronicznych dotyczących projektowania dobrego UI. Wszelkiego rodzaju Guidelines mogą być zbyt rozbudowane, zwłaszcza w przypadku pisania prostych (wizualnie) programów, ale dają jakiś punkt odniesienia. Albo wstążeczkę odniesienia.
