“Być jak Steve Jobs”

Być jak Steve Jobs
Ostatnio wpadła mi w ręce książka “Być jak Steve Jobs” autorstwa Leandera Kahney’a. I chociaż na co dzień pracuję ze “złym Windowsem” to jednak znalazłem trochę czasu by przeczytać tę (na szczęście) nie za długą opowieść o wizjonerze z Cupertino. W książce znalazłem parę ciekawych kwestii, które może i wydają się oczywiste, ale często o nich zapominamy. Stąd pozwolę sobie wynotować kilka rzeczy, o których postaram się pamiętać w codziennym życiu programisty :-)

Użytkownicy nie wiedzą czego chcą

Gdyby producenci polegali tylko i wyłącznie na tym, co mówią klienci, to nie sądzę, bym teraz siedział przy notebooku i pisał te słowa. Użytkownicy potrzebują podpowiedzi ze strony twórców, a najlepiej gotowych rozwiązań dotyczących ich problemów. Oczywiście, ich opinie należy zawsze rozważać, jednak jak user ma chcieć coś czego nie umie sobie wyobrazić bądź z czego nie zdaje sobie sprawy?

Użytkownicy chcą prostych rozwiązań

Prostota to jeden z kluczy do sukcesu i marzenie użytkowników. Ich nie interesują niesamowite, trzyliterowe technologie, tylko funkcjonalność i użyteczność. Interface ma być ładny, schludny, czytelny i jednoznaczny. Każdy nieprzemyślany element ze strony twórców może skutecznie odstraszyć użytkownika od produktu. Nie należy także przesadzać z “wodotryskami” – te mają zwyczaj nie działać jak trzeba :-)

Użytkownicy są chętni zapłacić

Jobs nie podjął rękawicy rzuconej przez HP czy Della. Jego sprzęt nie miał aspiracji do bycia najtańszym – miał gwarantować bezawaryjność i prostotę działania, by ludzie “mogli być kreatywni”. I faktycznie, zawsze znajdzie się grupa osób, która dobrze zapłaci za to, by mieć jak najmniej problemów ze sprzętem :-)

Ulepszaj inne produkty

iPod jest świetnym przykładem na to, że wystarczyło z gotowych elementów zbudować odtwarzacz przyćmiewający swoją funkcjonalnością resztę “empetrójek”. Miniaturowy dysk od Toshiby niewiedzącej co z nim zrobić czy niewielka firma z gotowym firmwarem – czasem wszystko jest już zrobione, wystarczy “tylko” to połączyć.

Nie pracuj u Jobsa :-)

“Wielcy trwożni” to nie są ludzie, których chciałbym mieć nad sobą. Huśtawka “bohater/dupek” jest dla mnie redukowaniem człowieka do roli “kreatywnej maszyny”, która jeśli zaczyna zwalniać ląduje na śmietniku i nikt o niej nie pamięta. Rozumiem, że sukces kosztuje, ale w mojej ocenie jest granica, której nie powinno się przekraczać.

Na pewno znajdzie się dużo więcej ciekawych myśli z tej książki – te po prostu utkwiły mi w pamięci. Generalnie polecam książkę, bowiem na dwustu stronach opisano jak funkcjonuje Apple i że bez Steve’a nie było by tym, czym jest teraz. Swoją drogą zastanawiam się co stanie się z tą firmą, gdy Jobs będzie zmuszony zakończyć swoje bycie CEO.

Niesforny statyczny konstruktor w C#

Wpis bardziej ‘ku pamięci’, ale może komuś zaoszczędzić kłopotów ;-)

Załóżmy, że mamy taki oto kod:

    class First
    {
        static First()
        {
            Console.WriteLine("First static constructor");
        }

        public static void DoSth()
        {
            Console.WriteLine("Let's do sth");
        }
    }

    class Second : First
    {
        static Second()
        {
            Console.WriteLine("Second static constructor");
        }
    }

Jeśli wywołamy metodę First.DoSth() w outpucie otrzymamy:

First static constructor
Let's do sth

Jeśli jednak spróbujemy z Second.DoSth() otrzymamy… to samo?! A gdzie wykonanie statycznego konstruktora klasy Second? Wszak w dokumentacji MSDN możemy przeczytać:

A static constructor is called automatically to initialize the class before the first instance is created or any static members are referenced.

I… to się zgadza! Podejrzyjmy Reflectorem jak kompilator zbudował aplikację:

W związku z tym, iż metoda DoSth() jest w klasie First, kompilator ‘olewa’ nasze wywołanie przez klasę Second, przez co statyczny konstruktor tej drugiej się nie wykona. Jest to o tyle niebezpieczne (co sam w swoim kodzie ‘przetestowałem’), że jeśli metoda DoSth() jest w jakikolwiek sposób zależna od wyniku statycznego konstruktora (a wcześniej nic i nikt nie odwoływał się do Second), to możemy spędzić trochę czasu na szukaniu błędu…

BlipTags – małe podsumowanie

Na Bliplogu pojawiły się dwa wpisy krótko podsumowujące rok ‘09 na tym polskim odpowiedniku Twittera (tu i tu). Chciałbym i ja dorzucić swoje trzy grosze przestawiając drobne statystyki z BlipTags obejmujące przedział czasowy 18.12.2008 do 5.01.2010. Oczywiście, w związku z przerwami w parsowaniu wiadomości spowodowanymi problemami zarówno po stronie Rootnode jak i Blipa, nie są one wielce dokładne.
Continue reading ‘BlipTags – małe podsumowanie’

2 studenckie tricki w Windows 7 Professional

Ufff… dawno tu nic nie pisałem… Wraz z nadchodzącym rokiem akademickim (jeszcze kilka tygodni ‘wakacji’!) trzeba zacząć blogować trochę częściej niż raz na kwartał ;-)
Od czegoś jednak trzeba zacząć, toteż wpis będzie dość krótki i raczej ‘ku mojej słabej pamięci’. Od dłuższego już czasu na uczelnianych stronach programu MSDN AA bryluje wersja RTM Windows 7 Professional. Tak więc…:

1. … podczas instalacji systemu na drugim komputerze z tym samym kluczem okazało się, że aktywacja nie jest już możliwa. Rozwiązanie podsunął mi Tewux (też ‘cieńko’ idzie mu blogowanie ;-) ) – Windows jest dystrybuowany na dwie architektury (32- i 64-bitową), wystarczy więc… wygenerować sobie klucz używając drugiej architektury! Jest to dokładnie taki sam mechanizm jak przy Viście – instalator ani aktywator systemu pomijają sprawdzanie która z tych edycji systemu masz zainstalowaną.

2. … na niektórych uczelniach pojawił się także obraz płyty DVD z paczkami językowymi. Niestety, teoretycznie działają one tylko w wersji Ultimate… Na szczęście jest prosty w obsłudze program Vistalizator, dzięki któremu można dograć ’spolszczenie’. Jedyny minus (przynajmniej w moim przypadku) to pojawienie się we właściwościach systemu ‘Windows 7 Home Premium E‘ zamiast ‘Windows 7 Professional‘ ;-) Nie mam pojęcia czy jest to działanie legalne czy też nie. Logika podpowiada, że wszystko powinno być jak najbardziej okay, ale sami wiecie…

To na tyle, dzięki za uwagę ;-)