Programiści są leniwi, klienci też — nie chce im się skarżyć na interfejs. Zaczynaj budowanie aplikacji od interfejsu, a nie od warstwy funkcjonalnej. I rób to z głową.
Przykładem jest system płatności online Protx, który podłączamy właśnie do serwisu jednego z klientów. Po przejściu do formularza dokonywania płatności, naszym oczom ukazuje się okienko z napisem credit card number, enter without the spaces.
Jeśli projektant tego systemu wiedział doskonale, że wszystkie numery kart kredytowych posiadają separatory w postaci spacji lub myślników, to czemu kazać je usuwać użytkownikowi, zamiast wyczyścić je po stronie serwisu?
To wzorcowy przypadek zwalania pracy na użytkownika w sytuacji, w której komputer poradziłby sobie znacznie lepiej. Wpisywanie numeru karty bez separatorów powoduje też, że łatwiej o błąd — cyfry nie są pogrupowane i łatwo przeoczyć pomyłkę.
Jeśli masz zamiar oczekiwać od użytkownika wprowadzenia jakichś danych, to zrób co w twojej mocy, żeby przyjąć możliwie dużo popularnych formatów. Powyższy przykład jest o tyle idiotyczny, że na samej karcie numer zawiera spacje, a system wymaga wpisania go w zupełnie nietypowym formacie.
Technorati Tags: application, interface, design, input, validation, usability

Zgadywanie w jakim formacie wpisać jakieś dane to moja ulubiona zabawa ale z tymi numerami to już przegięcie. Ja zawsze jak wpiszę numer karty/konta to sprawdzam czy jest poprawny - dostałbym cholery jakby to wszystko zlało się w jednego inta..
Może nie znają podziału na warstwy prezentacji, logiki i źródła informacji?
Aplikacji nie buduje się od interfejsu - ten zazwyczaj zostawia się na koniec. Aplikację buduje się od zaprojektowania, najpierw warstwy logicznej, a potem interfejsu przyciętego do tej warstwy logicznej. Że ktoś jest palant i ominął etap projektowania albo zrzuca większość pracy na użytkownika - no jasne, do kanału z nim. Ale proszę bez odważnych, wywrotowych tekstów w stylu “zaczynaj aplikację od interfejsu”, bo wtedy dopiero zacznie się tragedia ;)
Interfejst to nie tylko przyciski i inputy, to cały schemat interakcji z użytkownikiem.
Powtórzę przykład z kalkulatorem:
Programując kalkulator nie zaczynasz od implementacji wydajnego algorytmu ONP, a potem nie mówisz użytkownikowi, że znak się wciska po parametrach. Najpierw projektujesz schemat interakcji (co użytkownik może zrobić, w jakich okolicznościach, w jakim formacie), a dopiero potem dostosowujesz do tego warstwę logiki.
Logika to warstwa, która ma za zadanie tylko połączyć model z widokiem, do jej prawidłowego stworzenia potrzebne są makiety tych ostatnich.
“Aplikacji nie buduje się od interfejsu - ten zazwyczaj zostawia się na koniec.” - zalezy w jaki sposob tworzona jest aplikacja, jesli masz dobrze “uchwycone” wymagania interfejs moze powstawac rownolegle.
“Że ktoś jest palant i ominął etap projektowania albo zrzuca większość pracy na użytkownika - no jasne, do kanału z nim.” - a to jest juz mala przesada z tym palantem. Pokaz swoje I komercyjne projekty kolego, od razu byles geniuszem??? Moze poprostu klient nie szanuje uzytkownika, i nie zalezy mu na jego wygodzie, moze mu spieszylo sie z oddaniem systemu?