Aktualizacja kotwic

W czasie 2 tygodni od uruchomienia kotwic kariery zapisanych zostało niemal 500 wyników. To już dobra liczba do czynienia podsumowań - stąd w aktualnej wersji serwisu można już swoje wyniki porónać z wynikami średnimi. Dostępne są też zbiorcze zestawienia wyników w kilku przekrojach. Jeżeli macie zachowane linki do swoich wyników zapraszam do porónania. Z rozpędu też ‘nakręciłem’ filmik prezentujący jak powstawał średni wynik:


[ ]

Comments (3)

Czy nadajesz się na startupowca?

Historia ma swój początek kilka miesięcy temu. Podczas jesiennego wieczoru przy winku w gronie bootstrapowców rozgorzała dyskusja czy zestaw cech, jakie musi posiadać osoba, które chce założyć startup da się jakoś skwantyfikować. Jeżeli tak, to czy można jakoś spróbować je zmierzyć. Przypomniałem sobie wówczas, że w czasie mojej edukacji biznesowej zetknąłem się z koncepcją tzw. kotwic kariery opracowaną przez profesora MIT Edgara Scheina. Wedle jego koncepcji można wyróżnić osiem takich atrybutów, których mieszanka mówi co nieco o systemie wartości jaki wyznajemy w życiu zawodowym. Pogadaliśmy sobie o kotwicach i o sprawie zapomniałem :)

Kilka tygodni temu szukałem pomysłu na ciekawe zaprezentowanie możliwości integracji webankiety z zewnętrznym serwisem. Chodzi o możliwość dołączenia do webankiety mechanizmu, który np. w specjalny sposób oceni odpowiedzi respondenta. Tu przypomniały mi się kotwice Scheina. Jest to wręcz wymarzony materiał do takiego eksperymentu - sam test wydaje się ciekawy, ale sposób obliczania wyników i ich interpretacji jest nieco zagmatwany - a zatem całość idealnie nadaje się do ’skomputeryzowania’.
Tak oto narodził się pomysł na serwis kotwice-kariery.pl. Wczoraj odpaliłem jego pierwszą publiczną wersję. Zapraszam więc do testowania swoich predyspozycji entrepreneurskich :)

[ ]

Comments (6)

Backupeer v0.01

Zaczęło się banalnie od rozbudowy parku maszynowego webankiety… kiedy już całość pracowała pełną parą przyszedł czas na backupy danych. Ponieważ taka zmiana to jedyna realna szansa na wypróbowanie nowych rozwiązań postanowiłem poszukać nowego narzędzia do tego zadania. Istotnym argumentem za zmianą było także to, że zmieniły mi się wymagania stawiane przed systemem backupów, a stare skrypty szelowe były mało elastyczne (i średnio czytelne) - nic więc prostszego, znaleźć zainstalować i voila…
Niestety, poległem już na pierwszym etapie, oprogramowania do robienia kopii bezpieczeństwa jest chyba tyle i frameworków webowych w Javie, przejrzałem ileś-tam-projektów, najbliżej podium znalazł się backup-gem. Przyjrzałem się mu dokładniej i trochę zapał mi minął. Okazało się, że realizacja moich założeń będzie wymagała napisania sporej ilości kodu rozszerzającego backup-gem. Zirytowany tym stanem rzeczy postąpiłem jak rasowy geek… postanowiłem stworzyć własne, najlepsze na świecie (a jakże! :)) 1e10+1 rozwiązanie do obsługi backupów - tak narodził się Backupeer.
Read the rest of this entry »

[ ]

Comments (13)

Największy kawałek kodu…

Dziś w webankiecie miał premierę nowy moduł pozwalający na zmianę wyglądu ankiety samodzielnie przez użytkownika. Projektując ten moduł doszedłem do wniosku, że aby dać prawdziwą moc w ręce ludu będę zmuszony stworzyć szereg małych edytorów pozwalających na zmianę parametrów poszczególnych atrybutów CSS. Dopiero te edytory mogą utworzyć coś co będzie można nazwać edytorem szablonów. Aby pokazać co mam na myśli mówiąc o edytorach oto rysunek z instrukcji prezentujący edytor dla obramowań:

Edytor obramowań

Zadanie było o tyle ambitne, że zwykle rozwiązania szumnie nazywane edytorami szablonów sprowadzają się do możliwości zmiany kolorów tła (mam na myśli oczywiście rozwiązania w aplikacjach webowych). Planowane przeze mnie rozszerzenie interakcji użytkownika ze stroną wymagało dosyć rozważnego podejmowania decyzji dot. sposobu implementacji.

Na pierwszy ogień poszedł RJS, wkrótce jednak okazało się, że w tym przypadku jego zalety stają sie przekleństwem. Konieczność ‘konsultowania’ z serwerem każdej akcji wykonanej w UI przez użytkownika wiązała się z przesadnie wielką liczbą gadek klient-serwer, a w efekcie cały edytor sprawiał wrażenie niemrawego. Przy okazji sprawdziłem w praktyce, że przy bardziej skomplikowanych konstruktach RJS ma poważną wadę - wymaga ciągłego przełączania kontekstu mentalnego pomiędzy Ruby a JavaScript. Wydaje się, że helpery dostarczane przez railsy eliminują tą konieczność - praktyka pokazuje, że jednak nie. Gdy do tego dołożymy potrzebę sporej elastyczności na etapie projektowania interakcji (nie wszystko da się zasymulować na kartce papieru - czasem trzeba też poklikać) - RJS wypada niestety słabo.

Na czym stanęło? Na banalnie prostym podziale - niech każdy robi to na czym się zna najlepiej. Przeglądarka rysuje html do którego dopinane są JavaScriptowe kontrolery - razem tworząc żywe i reagujące na zmiany kontrolki. Poszczególnymi edytorami zarządza jeden główny kontroler, którego zasadniczym zadaniem jest wymiana danych z serwerem. Przez dane rozumiem tu już tylko gotowe informacje o parametrach szablonu, któresą przesyłane na serwer jako JSON. Serwer zajmuje się więc tylko zamianą otrzymanego JSONa na CSS (za pomocą zwykłego szablonu ERb). Takie naturalne rozdzielenie zakresu obowiązków spowodowało znaczne uproszczenie w pracy nad modułem - nie było potrzebne choćby ciągłe przełączanie kontekstów mentalnych :) Po przygotowaniu części serverside i otestowaniu generacji CSSa spokojnie mogłem przesiąść się na pracę tylko z częścią klienta.
A końcowy efekt? To największy spójny (w sensie poświęcony temu samemu zadaniu) fragment kodu w JavaScript jaki napisałem :) źródła mają w sumie ok. 120kB.

Jak mój wypasiony edytor szablonów działa w praktyce? Zapraszam do wersji demo webankiety.

[ ]

Comments (2)

webankieta wersja 1.1

Dziś w nocy uruchomiłem nową wersję webankieta.pl. Główną ale nie jedyną zmianą jest dodanie obsługi płatnego abonamentu. W planach jest wprowadzenie kolejnych abonamentów o coraz bardziej zaawansowanych funkcjach, ale wiadomo to zrobienie pierwszego z nich wymagało najwięcej pracy.

W wyniku prac nad aktualną wersją webankiety powstanie mam nadzieję trochę produktów ubocznych. Zastanawiam się m.in. czy nie otworzyć kodu pozwalającego na spinanie aplikacji railsowych z systemem platnosci.pl. Kod ten mógłby się chyba przydać innym railsowcom budującym swoje ebiznesy – czekam na sygnał czy są zainteresowani.

[ ]

Comments (8)