Tydzień temu zakończyła się konferencja MIX’09 odbywająca się w „Fabulous” Las Vegas, na której miałem przyjemność być. Poniżej zamieszczam swoje subiektwyne wrażenia na temat konferencji jak i samego miasta.
MIX 09
Tydzień temu zakończyła się
konferencja MIX’09 odbywająca się w „Fabulous” Las Vegas, na której miałem
przyjemność być. Poniżej zamieszczam swoje subiektwyne wrażenia na temat
konferencji jak i samego miasta.
Las Vegas
Cóż, najprawdopodobniej byłbym w
stanie więcej napisać o Las Vegas niż o samej konferencji. Miasto jest po
prostu fenomenalne. Wszechobecny p`1rzepych, aż bije po oczach. Oprócz miasta
znajdziecie tam pustynię, góry i niekończące się pola jednopoziomowych domków.
W samym sercu miasta znajduje się centrum rozrywki: The Strip (frament Las
Vegas Boulevard), czyli ogromniaste kasyna, hotele i inne atrakcje. Od siebie
mogę dodać, że miasto żyje 24h na dobę przy czym zawsze jest czysto (nie wiem
jak oni to robią). Z ciekawostek: na Las Vegas Boulevard znajduje się mini
Wieża Eifla, mini Statua Wolności, mini piramida i jeszcze wiele, wiele innych
rzeczy „mini”. Nie zdziwiłbym się jakby część Amerykanów pytana o to gdzie się
znajdują tego typu atrakcje, odpowiedziałaby „Las Vegas silly”.
Konferencja
Lokalizacja
Konferencja odbywała się w hotelu
Venetian (razem z hotelem Palazzo tworzą największy kompleks hotelowy na
świecie – ponad 7k pokoi), a dokładnie na hali wystawowej Sand Expo, należącej
do hotelu. Konferencja była rozłożona na 3 piętra. Sale mieściły od 250 do 400
uczestników, co przy 8 równoległych ścieżkach i około 2000 uczestnikach daje
sporo miejsca.
Również w tym hotelu miałem
przyjemność mieszkać. Muszę przyznać, że pokoje miały wygląd i ceny iście
królewskie (przykład: na 3 plazmy jedna znajdowała się w łazience :)).
Ogranizacja
Ogranizacja konferencji stała na odpowiednim
poziomie. Wszystkie ścieżki, przejścia - bardzo dobrze opisane. Na każdym progu
osoba, którą tylko czekała żeby pomóc w przypadku dezorientacji. Podczas rejestracji można było otrzymać trochę
gadżetów (koszulka, bidon, kubek termiczny, pen drive, itp). Osobiście zabrakło
mi jakiegoś przenośnego harmonogramu (czy to dołączonego do identyfikatora, czy
też do zeszytu otrzymywanego przy rejestracji). Po pierwszym dniu konferencji
odbyła się wieczorna imprezka w klubie Tao. Bardzo fajny klimat, niezłe
jedzenie i drinki.
Śniadania i obiady bardzo
smaczne. Całkiem duży wybór i niezłe sterowanie zgłodniałym tłumem :). To co najbardziej mi
wejdzie w pamięć jeśli chodzi o napoje to „coś” o wyglądzie coli i smaku
„null”. Jak się później udało rozszyfrować była to „sugar free Nestea”. Gorąco
nie polecam.
Sesje
Podczas MIX odbyło się 127 sesji
w 11 slotach. Jak dla mnie – samych slotów troszkę za mało. Tematem przewodnim,
a raczej tematami przewodnimi konferencji był: Silverlight 3.0, IE 8,
Expression oraz Azure. Ciekawym pomysłem były krótkie (20-sto minutowe) sesje,
które to trzy mieściły się w jednym slocie normalnej (75 min) sesji. To co rzuciło mi się od razu po pierwszych
kilku sesjach to bardzo wysoki poziom prowadzenia sesji przez prelegentów.
Prezentacje bardzo starannie przygotowane. Poniżej opiszę wrażenia z kilku
sesji, na których miałem przyjemność być.
Keynote
Na pierwszy strzał otwarcie
konferencji. I od razu pierwszy szok – częśc ludzi stała lub musiała siedzieć
na ziemi. Czyżby organizatorzy nie wiedzieli ile osób się pojawi? W każdym bądź
razie ja siedziałem więc, aż tak bardzo mi to nie przeszkadzało :).
Na sam początek wyszedł, a
właściwie może lepiej powiedzieć – wyskoczył – Bill Buxton, szycha z Microsoft
Research, do którego najbardziej pasuje moim zdaniem określenie „wacky”. Lekko
łysiejący, starszy pan o przydługich włosach, aż tryskał energią i pasją.
Opowiedział troszkę o podejściu do projektowania podając kilka ciekawych
przykładów (np. rzut boczny rowera górskiego, ujęcie pod kątem, widok człowieka
przejeżdżającego przez rzekę w jakiejś dżungli na rowerze).
Po „wacky” Billu przyszedł czas
na część bardziej techniczną, czyli Scott Guthrie w pełnej okazałości. Scott opowiedział o
VS2010, ASP.NET 4.0 oraz oczywiście o najbardziej przez wszystkich oczekiwanym
Silverlight 3.0. Na mnie osobiście (oprócz nowości, o których wiedziałem)
największe wrażenie zrobił streaming w Silverlight. Został pokazany odtwarzacz
filmów, który dynamicznie (w odniesieniu do przepustowości łącza w danej
chwili) dopasowywał jakość odtwarzania. Podobnie sytuacja wyglądała w momencie przewijania
video. Tuż po przewinięciu film na ułamek sekundy przeskakiwał na niższą jakość
(celem szybszego zbuforowania) po czym wracał do jakości pierwotnej. W praktyce
można było przewijać video bez żadnego buforowania. Robiło to naprawdę fajne
wrażenie.
RESTful Services for
the Programmable Web with Windows Communication Foundation – Ron Jacobs
Bardzo ciekawa sesja traktująca o
REST. Prelegent pokazał kilka bardzo trafnych przykładów jak od zera można
zacząć z REST. Wyjaśnił, że w tego typu usługach chodzi o zasoby (resources) a
nie o akcje (verbs). Z sesji można było się dowiedzieć jak pobierać oraz
edytować elementy. Bardzo fajnie została ułatwiona konfiguracja serwisów
WCF’owych. Mianowicie nie musimy już pisać 10000-linijkowego pliku
konfiguracyjnego, a możemy skorzystać z fabryki. W przyszłości serwisy typu
REST mają być zupełnie odseparowane od konfiguracji w stylu serwisów SVC oraz
od samego rozszerzenia SVC.
Ocena sesji: 7
Building Amazing
Business Centric Applications with Microsoft Silverlight 3.0 – Brad Abrams
To jest to co tygryski lubią
najbardziej. Sesja pokazywała nowe możliwośći Silverlight’a 3.0 wraz z nowym
zestawem kontrolek. Można było zobaczyć przykład standardowego kawałka
aplikacji biznesowej tj. grid + details. Dodatkowo cała otoczka taka jak
walidacja, uwierzytlenianie, popup’y czy też pasek postępu. Wszystko to robiło
genialne wrażenie. Jeśli interesuje Cię co Silverlight wprowadza nowego w
kontekście aplikacji biznesowych – musisz zobaczyć tą sesję.
Ocena sesji: 9
A Lap around Windows
Internet Explorer 8 – Giorgio Sardo
Były to typowe podstawy dotyczące
nowości w IE8 wraz z krótkimi demami jak można je zaimplementować. I tak można
było się np. dowiedzieć, że IE8 aktualnie spełnia prawie 100% testów W3C (IE7
< 70%, FF, Opera, Chrome ~ 85-90%). Z jednej strony oczywiście fajnie, z
drugiej: teraz to się dopiero zacznie zabawa z CSS: IE6, IE7, IE8,... Swoją
drogę ciekawe jak można wymyślić standard, którego nikt nie spełnia? Kolesie z
W3C siedzieli pewnie sobie przy piwku, tudzież czymś mocniejszym i dewagowali:
„jak myślisz... width to co to może być?”, „hmm... może to co w środku +
border..?”, „nie, nie, nie... lepiej to co w środku + tylko lewy border”.
Tak czy siak w IE8 dostajemy
wbudowane Developer Tools wraz z debugerem (nareszcie!). Trzy największe
nowości to Web Slice (możliwość dodania mini stronki do paska w IE, wraz z
możliwością automatycznego odświeżania), Accelerators (możliwość dodawania
własnych akcji do menu kontekstowego w zależności od tego czy jest to zaznaczony
tekst, link lub po prostu dokument; przykładem może być zaznaczenie tekstu oraz
wybranie opcji wyszukaj, która otworzy nową zakładkę i wyszuka daną frazę
używając zdefiniowanego przez nas silnika), Visual Search (możliwość
definiowania swojego providera do wyszukiwania oraz dowolnego formatowania
zwracanych danych).
Ocena sesji: 7
Scaling a Rich Client
to Half a Billion Users – Steve Zheng
Powiem szczerze, że ta sesja
intrygowała mnie najbardziej. Jak stworzyć komunikator internetowy, z którego
korzysta więcej ludzi, niż pewnie ze wszystkich komunikatorów w Europie razem
wziętych. QQ (bo tak nazywa się owa aplikacja) posiada zarejestrowanych 900 mln
użytkowników, z czego aktywnych jest 400 mln, a jednocześnie korzysta 50 mln.
Cóż liczby robią wrażenie. Sesja jednak bardzo średnia: nie dowiedziałem się
nic więcej oprócz tego, że mają „dużo” serwerów, ich infrastruktura jest
„bardzo” złożona, i tego typu ogólniki. Na szczęście na koniec została
zachowana perełka tj. wersja QQ pod Silverlight’a, czyli jak można się domyślić
„Silverlight QQ” J.
Aplikacja wygladała po prostu przesłodko. Chat roomy były reprezentowane przez
piętra, między którymi można było się przemieszczać w górę i w dół. Osoby do
czatowania były figurkami w stylu anime (małe ciałko, duża głowa i oczy) i
można je było przesunąć na odpowiednie piętro by tam sobie porozmawiać. Całość
w prześlicznych kolorach, sprawiała wrażenie osiągnięcia kolejnego stopinia
wtajemniczenia jeśli chodzi o komunikatory. Sesja króciutka (20 min) – polecam,
chociażby po to, żeby zobaczyć SL QQ.
Ocena sesji: 5
When Error Happen:
Debugging Microsoft Silverlight – John Papa
Sesja, na której można było się
dowiedzieć w jaki sposób można „odrobaczać” aplikacje napisane w Silverlight.
Oprócz standardowych narzędzi jak FireBug, DeveloperToolbar oraz Fiddler,
zostało przedstawionych kilka dla mnie nowych: Web Development Helper oraz
Silverlight Spy Tool. Zwłaszcza to ostatnie zrobiło na mnie bardzo fajne
wrażenie, gdyż oprócz samego podsłuchiwania ruchu, umożliwiało śledzenie
zdarzeń (OnClick, OnMouseMove, OnMouseDown) w aplikacji. Super sprawa.
Ocena sesji: 7
Consuming Web Services
in Microsoft Silverlight 3 – Eugene Osovetsky
Sesja, na którą bardzo czekałem.
Interesowało mnie w jaki sposób można zrealizować dostęp do danych przez Web
serwis w aplikacjach napisanych w Silverlight. To co dostajemy na starcie to
przede wszystkim nowy typ projektu - „Silverlight-enabled WCF service”. W
trakcie prezentacji Eugene wymienił najsłabsze dotąd punkty jeśli chodzi o
korzystanie z Web serwisów w Silverlight tj. wydajność, obsługa wyjątków, bezpieczeństwo
oraz przedstawił rozwiązania na każde po kolei. I tak jeśli chodzi o wydajność
dostajemy możlwiość przesyłania danych w postaci binarnego XML (BinaryXML). Co
prawda uzysk na ilości przesyłanych danych nie jest znaczny, nastomiast
serializacja i deserializacja, zwłaszcza przy dużej ilości odwołań, trwa
zdecydowanie krócej. Następnie mogliśmy się dowiedzieć jak umożliwić wyrzucanie
przez Web serwis typowanych wyjątków oraz w jaki sposób możemy go zabezpieczyć
(browser-based i message-bassed). Scenariuszem, który bardzo mnie zainteresował
był scenariusz „data push” tj. taki, w którym nie odpytujemy o dane, a dostajemy
powiadomienie, w którym dane się zmieniły (przykład z wskaźnikiem akcji). Na
koniec rodzynek. Co byście powiedzieli jakbyście mogli skopiować kawałek XML’a
do schowka, a następnie wklieć go do Visual Studio już jako klasy i struktury,
z których składał się dany XML. Fajne? Nie wiem jak, ale Eugene miał taką opcję
w swoim VS.
Ocena sesji: 7
Building Microsoft
Silverlight Controls – Karen Corby
Kolejna wyczekiwana sesja. Co takiego
pokaże tej wątłej postury osóbka? Na początku pierwszy szok – jak ta kobieta
prowadzi? Pozytywna engeria jaką emanuje, nieznikający uśmiech z twarzy po
prostu otulały publiczność i zachęcały do oklasków po każdym udanym lub
nieudanym demie J.
Sama zawartość prezentacji robiła równie piorunujące wrażenie. Otóż dowiadujemy
się, że dla kontrolek w Silverlight’cie możemy definiować stany (VisualStates)
oraz przejścia między nimi (VisualTransitions). Co to daje? A no daje tyle, że
w tym momencie perfekcyjnie oddzielamy logikę od prezentacji. Developer definiuje
jakie stany i jakie przejścia będzie zawierać jego kontrolka oraz dba o to by
je odpowiednio zmieniać. Projektant natomiast okresla jak dana kontrolka
wygląda w danym stanie oraz jakie efekty towarzyszą zmianon owych stanów
(animacje, transformacje, etc.). Analogicznie wygląda sprawa z szablonami
kontrolek. Developer mówi: kontrolka musi zawierać odpowiednio nazwane party, a
projektant tworzy interfejs i nazywa odpowiednio dane elementy. W połączeniu z
potężnie zaawansowanymi możliwościami wiązania danych, śmiem twierdzić, że nie
było do tej pory takiej szansy na faktyczne rozdzielenie pracy programisty i
projektanta. Zdecydowanie najlepsza sesja na jakiej byłem.
Ocena sesji: 9
Dodatki
Oprócz samych sesji można było
spędzić czas np. grając w ping-ponga lub słuchając wywiadów ze znanymi ludźmi (przykład: Scott Gu). Dla mnie
osobiście największym rarytasem był konkurs „Rock Band”. Na specjalnie przygotowanej
scenie była możliwość wystąpienia jako zespół muzyczny. Wszystko oczywiście w oparciu
o grę Guitar Hero na X-Boxa. Dostępna była perkusja, gitara, bas i mikrofon.
Cała scena była obwieszona plazmami z rozpiską kto i jak powinien grać/śpiewać.
Wystarczyło zebrać 4 osoby i do dzieła. Zespół z największą ilością punktów
wygrywał. Po zakończeniu nie omieszkałem ziścić jednego z moich marzeń –
mianowicie zagrać na perkusji (a co tam, że „stuczna” :)). Było rewelacyjnie –
poczułem się jak ktoś zupełnie wyjątkowy :).
Podsumowanie
Reasumując całe wydarzenie było
rewelacyjnie. Konferencja ma ściśle określony target oraz przekaz. Moim celem
było wyssanie jak największej ilości informacji na temat Silverlight 3.0i cel swój osiągnąłem. Cieszy mnie bardzo w jakim
kierunku podąża ta technologia. Biorąc pod uwagę zasoby jakie są do niej
przydzielane wydaje mi się, że będzie to przyszłość aplikacji biznesowych.
Na koniec chciałbym podziękować
wszystkim osobom, dzięki którym udało mi się wziąć udział w MIX’09 oraz
odwiedzić „fabulous” Las Vegas. Zachęcam każdego, kogo interesują technologie
webowe do odwiedzenia MIX w następnym roku. Na pewno warto.