second gate studio blog

Autorem tego bloga jest zx. Na stronie zajmuję się szeroko pojętym user-experience i takoż pojętym designem. Piszę o technologii, pokazuję rzeczy zaprojektowane z wyczuciem, dbałością o szczegóły i szukam inspiracji w każdej możliwej dziedzinie. Kontakt.

Tyle pomysłów…

Jestem człowiekiem, który lubi widzieć efekty swojej pracy jak najszybciej. Jeśli koduję stronę, staram się nadać jej ogólny szlif, a potem wchodzę w szczegóły. Lepiej radzę sobie z poprawianiem i dopieszczaniem niż tworzeniem wszystkiego od zera. Taki charakter poniekąd odciąga mnie od typowego programowania w kierunku ogólnego zarządzania programistami. ;)

Czytałem gdzieś kiedyś, że programiści dzielą się na takich, którym tylko wydaje się, że potrafią programować i takich którzy potrafią, ale nie wiedzą co mogliby z tym zrobić. Nad samym podziałem nie ma się co zastanawiać. Gdyby całkowicie odwrócić ten drugi typ, mógłby spokojnie robić za skróconą charakterystykę mnie. Wydaje mi się, że z dobrym sztabem programistów, moglibyśmy stworzyć kilka na prawdę ciekawych pozycji. Tylko gdzie ja znajdę dobrych koderów, którzy chcieliby się całkowicie podporządkować moim dziwnym wymaganiom?

Jako, że już zacząłem pisać ten artykuł, chyba mogę sobie pofantazjować, co? Taka moja wizja od zera do bohatera. ;)

Na początku jestem ja. Znajduję jednego dobrego programistę. Chciałbym, żeby tworzone przez nas aplikacje były dostępne na wiele platform, jednak niezbyt przekonuje mnie Java, więc stawiałbym na C lub C++. Na początek zaczynamy od podziału obowiązków, czyli ja mówię co programista ma wykonać (czasem nawet wnikam w rozwiązania programistycznych problemów), tworzę do tego wszystkiego grafikę, interfejsy i ogólnie odpowiadam za wszystko poza kodowaniem. Programista zaś ślepo przelewa moje pomysły na język zrozumiały dla kompilatora, nie musząc zastanawiać się nad niczym innym i ściśle skupiając się na swojej działce. Dla mnie utopia - dla programisty pewnie nie (dlatego ograniczam się do marzeń). :P

Żeby nie być gołosłownym, postaram się o jakiś przykład. Nie mam zamiaru bawić się w wypełnianie bańki Web 2.0 kolejnymi projektami, których przyszły los nie jest pewny. Chciałbym tworzyć aplikacje, które zwyczajnie pomagają ludziom. Zacząłbym od rozrywki - od gry konkretnie. Ostatnio chciałem sobie pograć w Arkanoida, więc szukałem jakiegoś, który zadowoliłby moje wymagania. Nie znalazłem. Jest kilka całkiem niezłych projektów, ale nie rozwijają się i tylko powielają wciąż te same rozwiązania. Na początek projekt idealny. Jak już pisałem, pracuję etapami, więc pierwsze co miałby zrobić programista, to prostą deskę z kulką i odpowiedni system fizyki, tak, żeby całość zachowywała się zgodnie z prawami fizyki (całość oczywiście 2D). Potem doczepiamy do tego kolejne elementy, jak bonusy, klocki do zbijania, menu itd. Wydajemy pierwszą wersję (na tym etapie gra musi być już ciekawsza niż standardowe arkanoidy), a ja dbam o utworzenie wokół niej społeczności. Jednocześnie stale rozbudowujemy naszą grę, systematycznie dodając kolejne nowości i ciekawe rozwiązania.

Gdy gra zyska popularność (bo jeśli będzie taka, jaką sobie wyobrażam, nie ma innej opcji - ludzie potrzebują prostych, ale dopracowanych i ciekawych gier), staramy się pozyskać pierwsze fundusze (aplikacje mają być darmowe, jednak o zamkniętym źródle). Bo w końcu trzeba kiedyś zacząć zarabiać. I na to mam kilka pomysłów, jednak na razie zachowam je dla siebie. W tym momencie powinniśmy mieć uformowaną jako-taką społeczność graczy (kilka prostych sposobów istnieje), więc to dobry moment na rozszerzenie działalności. Myślę, że pierwszy programista po takim okresie znudzi się już pracą nad Arkanoidem, więc trzeba mu zaproponować coś innego. To pora na podjęcie współpracy z kolejnym koderem. Teraz warto postarać się o przeniesienie Arkanoida również pod platformy mobilne, więc potrzebny jest specjalista tego typu.

W tym miejscu promuję już nie tylko samą grę, ale również naszą markę, co będzie potrzebne przy kolejnych produktach. Drugi programista tworzy wersje mobilne, pierwszy dostaje kolejne zlecenie (oczywiście jeśli będzie miał ochotę). Tym razem już nie na grę, ale bardziej użytkowy program. Przybywa mi roboty (tutaj mam przynajmniej cztery fronty na których muszę aktywnie działać), ale wciąż jest to wykonalne. Przy wydaniu pierwszej wersji ów programu (nie mogę podawać za dużej ilości szczegółów, bo kto wie - może jednak uda mi się stworzyć coś takiego) oficjalnie istniejemy już jako zrzeszenie ludzi tworzących to dzieło, ze wszystkimi tego profitami. Jeśli uda się pozyskać odpowiednie środki, stajemy się również oficjalnie działalnością gospodarczą. Przez jakiś okres dbamy o poprzednie projekty, tworząc jednocześnie kilka mniejszych elementów (jak pluginy do aplikacji, czy inne uprzyjemniające życie cuda). Na tym etapie powinniśmy już zająć pewne miejsce i móc spokojnie utrzymać się z pracy dla firmy. Być może to okres tworzenia głównej siedziby i poszukiwań kilku dodatkowych rąk do pracy.

Myślę, że kierowanie taką firmą nie jest specjalnie trudnym zajęciem. Dla mnie głównymi filarami jest dbanie o współpracowników i klientów. Jeśli ci pierwsi są zadowoleni z tego co robią, ci drudzy automatycznie dostają lepsze produkty. To wszystko jest bardzo proste na papierze, ale jest raptem kilka firm, które o tym pamiętają, bo szefami najczęściej zostają przypadkowi ludzie.

To jak - ktoś chętny zostać współpracownikiem na stanowisku programisty realizującego moją wizję? ;) Nie sądzę, żebym zobaczył jakieś łapki w górze, chociaż kto wie - w końcu coś mnie podkusiło, żebym opublikował ten mizerny artykuł (weź tu człowieku napisz notkę o czymś, co spokojnie może zająć kilka książek... do tego pod wpływem emocji). Ogólnie rzecz biorąc, chyba sprawdziłbym się na takim kierowniczym stanowisku niezbyt dużej firmy (IMO kolosy wielkości Microsoftu nie mają racji bytu).

Ot taka głupia notka. Męczy mnie to wszystko co napisałem od jakiegoś czasu (jak patrzę na firmy które mogłyby wiele, a się marnują), więc musiałem gdzieś zapisać. Wybaczcie. ;)

Wydawcy gier i ich ciekawe pomysły na piractwo

Gry ściągam perfidnie z sieci i nie ma co mówić, że nie. Powody zachowam na jakiś wpis w przyszłości. Chciałbym się jednak skupić na jednym ciekawym aspekcie, który ostatnio wyszedł na jaw.

Chodzi o grę Assassin's Creed na którą miałem ochotę jak tylko zobaczyłem pierwszą zapowiedź. Całość wyszła w pierwszej kolejności na konsole (tjaaa...), potem przyszedł czas na wydanie PC. Premiera była przekładana kilka razy. W tej chwili ma mieć miejsce gdzieś na początku kwietnia. Wszystko fajnie, sprzęt gotowy, zostało tylko czekać. Tymczasem jednak przeglądając MiniNovę trafiłem na torrent z Assassin's Creed właśnie. Na początek lekkie zdziwienie, kilka komentarzy w stylu it works? i lubiane przez wszystkich fake - it must be fake. Postanowiłem pobrać - może zwyczajnie wyciekło przed premierą. Zdarza się.

Pobrałem, zacząłem grać. Gra wywalała się średnio co godzinę, ale winę zwalałem na chlew w systemie i tysiąc innych rzeczy. Przeszedłem sporą część, a ślinotok się zwiększał z każdą chwilą. Przyszła pora odwiedzić Jerozolimę. Ot miałem tam zabić jednego takiego... ;) Udaję się w stronę miasta i oczywiście pojawił się jakiś błąd. Nic to - odpalamy raz jeszcze. Znów to samo, potem kolejny raz i kolejny...

Poprosiłem wujka Google o radę, a on mi na to, że wszyscy tak mają i do Jerozolimy w tej wersji wjechać się nie da. Jednocześnie zaznaczył, że jest taki magiczny patch, który konwertuje wersję angielską na rosyjską a tam już z podróżami w tę stronę nie ma problemów. Kolejne zdziwienie, ale cóż. Czekać mi się do kwietnia nie chcę, więc myślę, że jakoś przeboleję ten jeden fragment w obcym języku (a w końcu trzy lata się tegoż uczyłem).

Patchujemy, uruchamiamy. Eru, jak to wszystko wolno chodzi! Autentycznie - kolejny opad szczęki. Jak zmiana wersji językowej mogła tak spowolnić grę?! Tutaj już zacząłem coś podejrzewać. Kolejna wizyta u wujka i odkrywamy spiskową teorię, że to sam Ubisoft udostępnił do pobrania kulawą wersję ich własnej gry! Głupie, ale wszystko na to wskazuje, a przecież takie zabiegi stosowano już w przypadku plików audio. Przez chwilę myślałem, że po prostu przy uploadowaniu/ripowaniu/czymkolwiek któryś plik został uszkodzony, więc nawet pobrałem inną wersję (wielojęzyczną), ale tam również to samo.

Pomijając już całą zabawę z próbami uruchomienia (da się, ale jednak poczekam do kwietnia) - myślicie, że takie coś jest możliwe? Jeśli tak, to co na tym zyskują wydawcy? Szum wokół sprawy? Sprytnie zakamuflowaną wersję demo? A może chodzi po prostu o mściwą satysfakcję dowaliliśmy piratom?

Prawdziwe stacks w Windows

stacks na Windows Vista

OSX Leopard wzbogacił się o ciekawą funkcję stacks, dzięki której zyskujemy szybki dostęp do dowolnego katalogu prosto z docka. Po wielu prośbach i próbach powstał w końcu całkiem przyjemy odpowiednik tegoż przeznaczony dla systemów Windows.

Na początek potrzebujemy jakiegoś docka, bo w końcu ów funkcjonalność jest rozszerzeniem właśnie tego elementu interfejsu. Swego czasu powstało kilka dobrych projektów mających udostępnić dock dla użytkowników systemu Microsoftu. Z tego co zdołałem się dowiedzieć, stacksy da się uruchomić na Rocket Dock, RKLauncher, Object Dock i Y'z Dock (myślę jednak, że i spora część pozostałych sobie poradzi). Sam używam tego pierwszego, choć bez wyraźnego powodu. Bawiłem się również z pozostałymi i nie dopatrzyłem się znaczących różnic (może poza Object Dock, który wydaje mi się zbyt kobylasty). ;)

Gdy już wybraliśmy i zainstalowaliśmy któryś z wymienionych programów, pora poszerzyć jego możliwości za pomocą pluginu Stacks Docklet. Pobieramy archiwum z plikiem i jego zawartość wypakowujemy do odpowiedniego katalogu. Z tego co pamiętam większość docków przyjęła za standard katalog nazwany Docklets (znajduje się w folderze z programem) i tam właśnie pliki z archiwum trzeba umieścić.

Dalsze kroki są już uzależnione od wybranego programu, więc skupię się tutaj na Rocket Dock, jako, że mam go pod ręką. Klikamy gdzieś na dock prawym przyciskiem myszy i z menu Add Item wybieramy Stack Docklet. Pojawi się domyślna ikona dla pustego stack. Prawoklik na nią i z menu wybieramy Icon Settings. W zakładce Current docklet znajdują się ustawienia dla konkretnej ikony - tutaj wybieramy folder, który ma być wyświetlany i ustawiamy ikonę. Mamy również możliwość zdecydowania jak będą sortowane pliki i wybrania typu wyświetlania samego stack. Ten może przybrać formę siatki (grid), lub listy (fan). Ewentualnie można zdecydować się na typ automatyczny, który - na podstawie ilości plików do wyświetlenia - ustawi odpowiednią opcję. Zakładka Global settings to ustawienia dotyczące wszystkich stack jakie utworzymy. Kilka opcji powiązanych z wyświetlanymi tekstami i czcionkami.

Całość nie jest tak prosta w ustawieniu, jak to ma miejsce w systemie Apple, jednak stanowi miły (i funkcjonalny) dodatek do windowsowego interfejsu. Wszystkim posiadaczom Leoparda zazdroszczę, więc od czasu do czasu chętnie sobie coś z OSX przenoszę do mojego systemu. ;)

Internet Explorer 8 Beta 1

MS wydał pierwszą wersję testową (dość niespodziewanie) Internet Explorera w ósmej wersji. Krótki teścik, dla wszystkich leniwców, którym nie chce się sprawdzić co nowego w nowej wersji. ;) Całość pobieramy oczywiście z oficjalnej strony. Jeszcze wczoraj brakowało plików, dziś jednak wszystko działa i bez problemów można betę ściągnąć. Potem instalacja (która wlokła się jak tylko mogła), restart systemu (jakżeby inaczej) i można używać.

Odpalam. Nowy IE wita mnie okienkiem z pytaniem o ustawienia. Mogę użyć domyślnych, lub skonfigurować całość samemu. Jestem ciekawy cóż za opcje można ustawić, więc oczywiście korzystam z drugiej możliwości. Pierwsze pytanie dotyczy domyślnej wyszukiwarki. Standardowo ustawiona jest Live Search od Microsoftu, jednak możemy również wybrać jedną z konkurencyjnych. Kolejny ekran wydaje się być ciekawy. Mamy możliwość ustawienia tak zwanych activity providers (blogi, mapy, słowniki i wszystkie inne usługi tego typu). Opcje są trzy - używamy kompletu od Microsoftu, przeszukujemy sieć w poszukiwaniu innych, lub wyłączamy tę funkcję w ogóle (z czego skorzystałem - na to przyjdzie pora w finalnej wersji). Potem zostaje już tylko zdecydować, czy potrzebujemy filtru bezpieczeństwa (safety filter), czy chcemy, żeby IE stał się domyślną przeglądarką i ewentualnie zaimportował część ustawień z innych przeglądarek zainstalowanych w systemie.

Uznałem, że ta ostatnia opcja warta jest przetestowania. Przeniesieniem ustawień zajmuje się Import/Export Wizard , który daje możliwość importu z konkretnych plików, lub ogólnie - z zainstalowanych przeglądarek. Aktualnie posiadam Operę (Kestrel), Firefox 2 i Safari – wizard wykrył tylko dwie ostatnie. Co ciekawe program znajduje zainstalowane rozszerzenia (do Firefoxa) i proponuje odnalezienie podobnych przeznaczonych dla Internet Explorera!

Na starcie otwarte są dwie karty. Jedna powitalna i jedna z informacją jak ustawić alternatywne wyszukiwarki. W oczy rzuciło mi się kolorowanie URLa na pasku adresu. Wyróżniona zostaje tylko główna domena, a cała reszta adresu jest wygaszona. Wydać również, że Microsoft jest przygotowany do startu IE8 – przygotowane zostały wszystkie strony dotyczące nowej wersji przeglądarki (jak np. Customize Links).

Pasek ulubionych działa tak, jak powinien. Podoba mi się możliwość przypisania skrótu klawiaturowego do każdego elementu tam zapisanego, jednak gdy IE8 nie jest domyślną przeglądarką, po naciśnięciu skrótu, uruchamia się właśnie ta domyślna. Małe niedopatrzenie? Do tego wprowadzono kilka innych nowości, jednak wydaje mi się, że dopóki nie ukaże się finalna wersja, nie ma się co nad nimi zastanawiać. Opis tychże można znaleźć na oficjalnej stronie IE8.

Silnik renderujący działa dość dziwacznie. Niektóre strony wyświetlane są poprawnie (jak choćby ten blog, czy deviantART), a inne pełne są mniejszych i większych błędów. Można się było tego spodziewać - miejmy nadzieję, że do czasu finalnej wersji wszystko zostanie poprawione. Być może chodzi o błąd związany z czytaniem wszystkich komentarzy warunkowych (IE8 korzysta z arkuszy CSS przeznaczonych dla starszych wersji), bo po przełączeniu silnika na starszy (tak, mamy taką możliwość) – z IE7, wszystko wraca do normy.

Chciałem na własne oczy zobaczyć jak wygląda test ACID2, więc użyłem wyszukiwarki do znalezienia odpowiedniej strony. Co ciekawe, jeśli w pasku wyszukiwania jest wpisana jakaś fraza, IE zaznaczy na stronie wszystkie słowa jej odpowiadające.

Jak wypada sam test? Znana buźka wyświetla się tak, jak powinna (nie ma scrollbara). Z ACID3 jest już znacznie gorzej (17/100), ale dobrych wyników tutaj chyba się nikt nie spodziewał?

Na koniec dodam, że w ręce developerów oddane zostały narzędzia wspomagające tworzenie stron, czyli swojego rodzaju odpowiednik Firebuga. Nie sądzę, żeby twórcy stron przerzucili się od razu na IE, ale na pewno jest to dobry pierwszy krok, do odzyskania utraconej pozycji.

Ogólne wrażenia mam bardzo pozytywne. Przede wszystkim program działa i wyświetla strony dużo szybciej od starszych wersji, do tego nowy silnik sprawuje się całkiem nieźle, a nowe funkcje i kolejne rozwiązania w kwestii bezpieczeństwa na pewno pozwolą wrócić produktowi Microsoftu do walki z konkurencyjnymi przeglądarkami. Pozostaje czekać na kolejną betę i mieć nadzieję, że rozwiąże te kilka błędów przy renderowaniu, które w tej chwili umniejszają sukces IE Team.