Mobile Central Europe 2015 to druga edycja konferencji poświęconej technologiom mobilnym. Jest organizowana przez warszawską firmę Polidea. Manifest konferencji mówi o evencie skierowanym do twórców aplikacji mobilnych - programistów, projektantów i liderów technicznych. Manifest nie wspomina o biznesie, ale z pewnością biznes był także obecny na miejscu.
Mobile Central Europe 2015 odbywało się w Kinotece w Pałacu Kultury i Nauki - miejsce idealnie usytuowane w centrum i świetnie współgrające z nazwą konferencji. Przede wszystkim blisko dworca centralnego - także zdecydowałem się jechać na konferencję ostatnim możliwym pociągiem.
Dzień 1
Podczas dojazdu zapoznałem się z agendą (fajny pomysł, że każdy uczestnik ma spersonalizowaną agendę przez link, którą może otworzyć na dowolnym urządzeniu - cross-platform małym kosztem) i przeczytałem mailing od organizatorów. Okazało się, że mimowolnie zrezygnowałem ze śniadania (które było o 9:00) dodatkowo pociąg spóźnił się także na pierwszej prezentacji pojawiłem się z opóźnieniem.
Keynote: Mobile development in a post Continuous Delivery world ***** (5/5)
Prezentowały dwie konsultatnki z Thoughtworks - jednej z najbardziej znanych globalnych firm konsultingowych. Prowadziły bardzo na luzie, fajnym amerykańskim angielskim (pracują w Nowym Jorku). Poruszały temat Contunous Delivery w świecie mobilnym. Z moich notatek:
- Continous Integration to tylko mała część procesu Continuous Delivery. Niby wszyscy wiedzą a jednak dużo osób o tym zapomina
- To od czego zaczyna się możliwość robienia Continuous Delivery to architektura. Bez odpowiedniej architektury nie znajdziemy się tam gdzie chcemy
- Odpowiednia architektura to taka, która może ewoluować
Dziewczyny wspominały o prawie Conway-a (z 1968r) - organizacje, które projektują systemy produkują je w taki sposób że odzwierciedlają struktury samej organizacji. Jako przykład podawały projekt w którym jest podział na team Androidowy, iOS, team usług mobilnych, backendu oraz bazy danych. W ten sposób ludzie od jednej platformy nie rozmawiają z drugą, mają inne priorytety a aplikacje się rozjeżdżają. Wprowadzenie nowej funkcjonalności wymaga kooperacji wszystkich warstw ale organizacja tego nie odzwierciedla.
Niby oczywistość, ale wszystkie produkty/projekty w których pracowałem były zorganizowane podobnie.
Thoughtworks, może pozwolić sobie na przekonanie klienta do zmian, ale czy ja sam będę w stanie zmienić swoją organizację?
Niby oczywistość, ale wszystkie produkty/projekty w których pracowałem były zorganizowane podobnie.
Thoughtworks, może pozwolić sobie na przekonanie klienta do zmian, ale czy ja sam będę w stanie zmienić swoją organizację?
Where usually are the most important business features? In the black zones. #mceconf pic.twitter.com/9t1pJdlCeL
— Marek Defeciński (@marekdef) February 5, 2015
Groovy & Android: a winning pair **** (4/5)
Groovy jest już dojrzałym językiem, mimo to nigdy na poważnie nie byłem jego użytkownikiem. A najwięcej o Groovy dowiedziałem się gdy Pivotal obecny sponsor języka zawiesił jego finansowanie. Cedric Champeu nie odnosił się w żaden sposób do tej informacji. W zamian przedstawił w jaki sposób Groovy może pomóc kodu źródłowemu na Androidzie wyglądać tak żeby oddać maksimum logiki w jak najbardziej zwięzły sposób. Po kilku przykładach przedstawił jakie problemy możemy spotkać na Androidzie używając Groovy-ego
- Groovy jako dynamiczny język jest kompilowany na urządzeniu co prowadzi do większego zużycia baterii i spowolnienia aplikacji
- Tworzenie dynamicznych klas na Androidzie wymaga wczytywania bytecodu (dex) z plików co jeszcze bardziej spowaia proces
Aplikacja konferencyjna na GR8Conf napisana przez Cedrica w Groovym zajmuje tylko 1MB (po proguardzie) i niewiele miejsca w pamięci.
Na koniec zaapelował do community o wspracie dla Groovy na Androidze i przedstawił plan na 2015 rok dla Androida i przedstawił kilka pomysłów które mogą zainteresować niezależnych twórców narzędzi.
- SwissKnife czyli ButterKnife w Groovym oparty o transformacje AST (już istnieje)
- GrooidTools w tym budowanie dynamiczne widoków
- Dependency Injection w stylu daggera
- Reaktywne API
- DataBinding
Android Java is paradise for anonymous classes @CedricChampeau at #mceconf pic.twitter.com/s1YtGSIHnc
— Marek Defeciński (@marekdef) February 5, 2015
Agile Practices for Mobile * (1/5)
Niestety była to sponsorska prezentacja i niestety odstająca poziomem od reszty. Prelegent zrobił przegląd różnych narzędzi dla systemów iOS i Android i wymienił plusy oraz minusy każdego z nich. Mimo że o kilku z nich słyszałem niewiele to Kevin nie miał zbyt wiele do dodania do mojej nikłej wiedzy. Jedynym nowym toolem był ship.io, który to startup Kevin wspiera, ale niestety o nim też nie można było się dowiedzieć niczego ciekawego, a szkoda bo to mogłoby uratować tę prezentacje. Jedyny plus prezentacji to amerykański angielski, którego przyjemnie się słuchało.
Prezentacja była prowadzona doskonale (amerykański angielski rulezz) ale niestety nie udało mi się z niej zbyt dużo wynieść. Jonathan reprezentujący pivotal (jeszcze) mówił o praktykach TDD i pokazywał w jaki sposób można je odnieść do desginu.
- Pair programming. Zarówno wśród designerów albo także para programista designer. W ten sposób jedna strona barykady może zrozumieć drugą np. że czasami ciężko zrobić jest 1piksel w lewo/prawo ale czasami dobrze jest jednak się postarać i zmienić układ kontrolek
- Definion of Done dla designu...
Mniej więcej w tym momenice stwierdziłem, że jednak zmienię salę i sprawdzę inną prezentacje.
Poźniej rozmawiałem o tej prezentacji i dla wielu osób była ona bardzo wartościowa. Być może za wcześnie zrezygnowałem z jej oglądania? Na szczęście prezentacje były nagrywane i być może obejrzę ją później.
Your pair does not care about your Facebook :) at #mceconf by @jonathanpberger
— Marek Defeciński (@marekdef) February 5, 2015
What if...? - An utopian vision to repurpose old phones ** (2/5)
Poszedłem na prezentację Victora, na której prelegent martwił się losem milionów telefonów, które marnują się gdy wymieniamy smartfony na nowe. Ja sam mam 2 urządzenia, których nie pozbywam się (może przydadzą się do mojego start-upu?). Victor apelował żeby oddać mu swoje zużyte smartfony, które być może zużyje na edukację.Pokazywał też ciekawe projekty, które być może spowodują mniejsze zużycie telefonów lub ponowne ich użycie np.
- badanie wzroku dzięki kamerom smartfonów w krajach rozwijających się
- modularne telefony (choć stwierdził że może spowoduje to wzrost liczby śmieci)
Projektów było więcej, ale niestety nie prowadziłem wtedy notatek. Victor na początku mówił o swoim projekcie protocoder ale prawdopodnie było to na początku, który opuściłem. Zainteresowanych odsyłam do strony projektu.
Lollipop Security Enhancements * (1/5)
Prelegent, który przyleciał aż z Tokio, dysponował ogromną wiedzą, ale niestety nie zdolnościami prelegenckimi. Slajdy miały tylko tekst, prelegent rozmawiał tylko z ekranem a nie publicznością dodatkowo był bardzo zdenerwowany co odbijało się na jakości. Zainteresowanych tematem odsyłam do bloga prelegenta. Sądząc po ilości (i jakości) komentarzy blog jest poczytny.
Hacking your home – reverse engineering wireless transmissions ** (2/5)
Przeniosłem się na ten wykład, ale niestety wkraczając w połowie dość ciężko się wbić w treść i flow wykładu. Prelegent był wyluzowany, dość swobodnie prowadził prezentację o dekodowaniu sygnałów elektronicznych za pomocą arduino, diody i kabli oraz audacity. Bardzo użytecznym narzędziem była kartka papieru, zapisana zerami i jedynkami którą studiował godzinami.Poświęcił na pewno bardzo dużo czasu, ale czy rzeczywiście jest to rzecz na którą powinniśmy poświęcać swój czas? Raczej wątpie.
Podsumowanie dnia pierwszego *** (3/5)
Jeśli chodzi o wykłady to dwa pierwsze podobały mi się, ale niestety reszta była już poniżej oczekiwanego poziomu. Oczywiście na ocenę dnia wpływ ma wybór ścieżek, który mógłbyć nienajlepszy.Z interesujących rzeczy na mceconf wprowadzony był system głosowania poprzez karty RFID?. Przy wyjściu z sal były instalowane 2 tablety, jeden z głosem na tak drugi z głosem na nie. Czasami powodowało to kolejki ale z pewnością można szybko zebrać feedback (bo ankiet nie chce nikomu się wypełniać). Niekiedy tablety te były zainstalowane w salach i prelegent mógł widzieć ludzi wychodzących i manifestujących swoje niezadowolenie z prezentacji co mogło wystawiać nerwy prezentującego na duży test :).
Kolejny plus to godzinowe sloty, agenda wtedy jest łatwa do śledzenia (nie zastanawiamy się czy już jest koniec przerwy), dodatkowo prelegenci na prawdę mieli dużo do powiedzenia i z łatwością wypełniali sloty, co czasami odbijało się na długości przerw.
Przerwy jak zwykle służyły do spotkania różnych interesujących osób. Mnie np udało się porozmawiać z Cedriciem Champeu, który próbował pokazać mi siłę groovy-ego i groovyConsole i można powiedzieć że miałem lekcję 1 na 1 z programowania w groovy.
Z minusów to niestety mało pożywny catering. Ciastka skończyły się już po drugiej prelekcji i na prawdę chodziłem głodny. Obiad był bardzo dobry (choć mały) i wystarczył tylko na jedną prelekcję. Potem zostały już tylko ciasteczka z QRcode allegro :).
Na koniec jeszcze jeden plus czyli afterparty w miejscu konferencji. W ten sposób na afterparty jest bardzo dużo osób i na prawdę jest interesująco!
Dzień 2
Jako że w miejscu w którym się zatzymałem nie serwowano śniadań zjawiłem się o 9:00 na miejscu konferencji. Niestety śniadania nie było, tak więc musiałem odnaleźć najbliższą kawiarnię i zamówiłem podwójne śniadanie. Był to dobry manewr, który pozwolił mi nie być głodnym aż do obiadu :).Weaving the Best Mobile Apps With Fabric ***** (5/5)
Prezentował Pan o tytule developer advocate czyli zawodowiec. I było to widać. Fajne slajdy, większość przekazu mówiona a na slajdach krótkie zajawki, plan prezentacji, podsumowania po każdej części. Prezentowany był twitter fabric czyli zestaw narzędzi dla developerów do szybszego pisania lepszych aplikacji. W dodatku za darmo.Oczywiście zintegrowanych z twitterem (log in with twitter + embedded tweets), ale nie tylko o twitter chodziło.
- Crashlytics (nie wiedziałem, że jest darmowy ja zatrzymałem się na ACRA - więc było to dla mnie odkrywcze)
- Digits - powiązanie użytkownika z numerem i możliwość zrobienia logowania na tej podstawie
- MoPub - market reklamowy, w którym to reklamodawcy oferują Ci reklamy do wyświetlenia w Twojej aplikacji
- Program beta-testowania
Dodatkowo twitter fabric zbudowany jest modułowo że do aplikacji dołączamy tylko i wyłącznie części na których nam zależy.
Andy Piper wspomniał że Mobile Central Europe to pierwsza w uropie konferencja na której mówi się o twitter fabric!
Introducing Twitter Fabric by @andypiper First time in Europe! Really decent talk for a start of 2nd day #mceconf pic.twitter.com/QodQnveNi0
— Marek Defeciński (@marekdef) February 6, 2015
Securing iOS Application **** (4/5)
Mimo, że kod iOSa nigdy nie wyglądał mi na czytelny to poszedłem na prezentację o Securing iOS Applications. I nie zawiodłem się, bo prelegent mówił dobrze po angielsku, pokazywał dużo przykładów i kontrprzykładów w taki sposób, że można było je łatwo zrozumieć.
Mówił o obfuskacji kodu, przechwytywaniu funkcji, wstawkach w assemblerze, instrukcjach 2-4 bajtowych, detekcji debugowania ...
Mortar & Flow **** (4/5)
Pierre Yves-Ricau, który reprezentował Square Inc. firmę znaną z tego że udostępnia swoje świetne biblioteki jako open-source i bez których ciężko wyobrazić sobie wiele projektówAndroidowych, stwierdził na początku, że jest głodny i że przez godzinę nie mamy co liczyć na jedzenie lecz kod źródłowy. Po tym żarcie rozpoczął lużną prezentacje o tworzeniu aplikacji androidowych.
- Fragmenty są skomplikowane
- Jeśli dodać cykl życia aktywności + fragmenty wszystko jest jeszcze trudniejsze
Odpowiedzią na te problemy mogą być mortar i flow. Flow to implementacja back stack czyli kierunku poruszania się w aplikacji (back i up z action bara) z wykorzystaniem screen-ów czyli obiektów POJO opisujących widoki. Mortar to coś co definiuje jak budować te widoki. Mortat używa dagger-a czyli kolejnej z bibliotek square dostępnych dla wszystkich. Więcej można przeczytać tutaj.
Oczywiście biblioteki są w fazie beta ale mają być potężnym narzędziem dla programistów.
Oczywiście biblioteki są w fazie beta ale mają być potężnym narzędziem dla programistów.
Android fragments metaphore by @Piwai so painful so true #mceconf pic.twitter.com/3X2oD7LHJP
— Marek Defeciński (@marekdef) February 6, 2015
Kotlin the Swift for Android *** (3/5)
Prowadząca zmagała się z chorobą, także ton głosu był dość irytujący :) Mimo to prezentacja była ciekawa. Pokazywała w jaki sposób duże kawałki kodu a Androidzie można zamienić na mniejsze w Kotlinie. Ale żeby użyć Kotlina potrzebny jest plugin do gradle (i/lub android studio). Pokazywała też w jakis sposób można zamienić zawołania findViewById na uzywanie zmiennych o takiej samej nazwie jak id. Niestety wymagało to generowania (w tle) przez plugin napisany przez JetBrains.
Easy way to start kotlin: You can covert java code to @project_kotlin with a plugin in Android studio. #mceconf
— Marek Defeciński (@marekdef) February 6, 2015
Prelegent był jednocześnie wyluzowany i zdenerwowany :). Pokazywał w jaki sposób zorganizował sobie swój projekt, jakie testy używał. Prezentacja nie była jakoś odkrywcza ale jednak jej wartość była taka że opisywała typowy proces programistyczny. Niestety prelegent borykał się z efektem demo ponieważ wszystko przestało działać jeśli chciał właśnie coś pokazać.
Podsumowanie dnia drugiego **** (4/5)
Prawie wszystkie prezentacje z tego dnia były udane tak więc dzień należy podsumować dobrze. Dodatkowo udało się porozmawiać z kilkoma sponsorami wydarzenia na temat pojawienia się ich na JUGu w Łodzi.
Podczas przerwy obiadowej, która trwała 2h, można było uczestniczyć też we flashtalkach - prezentacjach skrojonych na 15min. Najciekawszą była analiza kodu google wykonana przez Aleksandra Piotrowskiego z Polidea, dotycząca idle mode (konkretnej nazwy funkcji nie pamiętam a nie mogę teraz odnaleźć) dostępnego w telefonach Android. Okazało się, że implementacja jest bardzo prosta i po prostu odczekuje czas (i znów nie pamiętam jak długo 47min?) od włączenia blokady ekranu. A w marketingu było sugerowane, że telefon wie kiedy nie będzie używany na podstawie inteligentnego algorytmu :).
Podczas przerwy obiadowej, która trwała 2h, można było uczestniczyć też we flashtalkach - prezentacjach skrojonych na 15min. Najciekawszą była analiza kodu google wykonana przez Aleksandra Piotrowskiego z Polidea, dotycząca idle mode (konkretnej nazwy funkcji nie pamiętam a nie mogę teraz odnaleźć) dostępnego w telefonach Android. Okazało się, że implementacja jest bardzo prosta i po prostu odczekuje czas (i znów nie pamiętam jak długo 47min?) od włączenia blokady ekranu. A w marketingu było sugerowane, że telefon wie kiedy nie będzie używany na podstawie inteligentnego algorytmu :).
Z minusów to znów bardzo mało kateringu oraz tłok do wzięcia obiadu. Obiad smaczny, ale mały oraz problemy gdzie go zjeść.
Na koniec dnia miała być niespodzianka, ale chyba coś nie wyszło co przyznali sami organizatorzy. Kamera która miała nagrywać koniec konferencji nie uniosła się w powietrze :). Na pewno był miły gest i zapraszanie wszystkich osób zaangażowanych w konferencję na scenę. Oczywiście mnóstwo osób było zaangażowanych - konferencję z takim rozmachem musiał przygotować świetny team.
Na koniec dnia miała być niespodzianka, ale chyba coś nie wyszło co przyznali sami organizatorzy. Kamera która miała nagrywać koniec konferencji nie uniosła się w powietrze :). Na pewno był miły gest i zapraszanie wszystkich osób zaangażowanych w konferencję na scenę. Oczywiście mnóstwo osób było zaangażowanych - konferencję z takim rozmachem musiał przygotować świetny team.
Podsumowanie konferencji (**** 4/5)
Pierwsza edycja konferencji postawiła poprzeczkę bardzo wysoko. Moim zdaniem Mobile Central Europe 2 z łatwością ją przeskoczyła. 4 ścieżki wypełnione przez bardzo interesujących prelegentów - prawie wszyscy z zagranicy w większości ze Stanów z bardzo interesujących firm. Wśród odwiedzających było także wiele osób z poza Polski co pozwalało poczuć atmosferę międzynarodowości :).
Konferencja była nagrywana tak więc można będzie znaleźć to wszystko na youtube (nie wiem czy dla wszystkich czy dla osób, które były na konferencji - link podany w mailingu).
Godne pochwały był też fakt, że community takie jak Mobilization otrzymało darmową wejściówkę na MCE, ale z zastrzeżeniem, że osoba, która otrzyma ją musi na nią zapracować, a nie po prostu wylosować. U nas otrzymał ją Sławek Jasek - najlepszy prelegent konferencji Mobilization 2014 - właśnie dlatego, że jego prezentacja otrzymała najlepsze wyniki w ankiecie.
Z perspektywy 2 tygodni od zakończenia konferencji i mojej własnej perspektywy to zabrakło też troszeczkę szczegółów technicznych tzn. prezentacje nie zagłębiały się mocno w technikalia i jeśli miałbym powiedzieć czego nauczyłem się na MCE to pewnie lista nie byłaby zbyt długa. Ale lista rzeczy, których wartoby się nauczyć (ale nie mam czasu :)) na pewno się po tej konferencji rozrosła. A pierwsze miejsce na niej zajmują inne języki na JVM takie jak groovy czy kotlin.
Na pewno kilka rzeczy wymaga poprawki bo chyba na część rzeczy nie starczyło funduszy i spowodowało to rezygnację z lepszego poziomu niektórych aspektów (catering). Wiem, że organizatorzy spodziewali się większej liczby odwiedzających, choć moim zdaniem było już gdzieniegdzie zbyt tłoczno i chyba liczba osób jak na Kinotekę była optymalna.
Mimo kilku niedociągnięć ekipie Mobile Central Europe należą się gratulacje! Jeśli projekt MCEConf będzie kontynuowany to z przyjemnością będziemy go promowali w naszym community po raz kolejny.
Godne pochwały był też fakt, że community takie jak Mobilization otrzymało darmową wejściówkę na MCE, ale z zastrzeżeniem, że osoba, która otrzyma ją musi na nią zapracować, a nie po prostu wylosować. U nas otrzymał ją Sławek Jasek - najlepszy prelegent konferencji Mobilization 2014 - właśnie dlatego, że jego prezentacja otrzymała najlepsze wyniki w ankiecie.
Z perspektywy 2 tygodni od zakończenia konferencji i mojej własnej perspektywy to zabrakło też troszeczkę szczegółów technicznych tzn. prezentacje nie zagłębiały się mocno w technikalia i jeśli miałbym powiedzieć czego nauczyłem się na MCE to pewnie lista nie byłaby zbyt długa. Ale lista rzeczy, których wartoby się nauczyć (ale nie mam czasu :)) na pewno się po tej konferencji rozrosła. A pierwsze miejsce na niej zajmują inne języki na JVM takie jak groovy czy kotlin.
Na pewno kilka rzeczy wymaga poprawki bo chyba na część rzeczy nie starczyło funduszy i spowodowało to rezygnację z lepszego poziomu niektórych aspektów (catering). Wiem, że organizatorzy spodziewali się większej liczby odwiedzających, choć moim zdaniem było już gdzieniegdzie zbyt tłoczno i chyba liczba osób jak na Kinotekę była optymalna.
Mimo kilku niedociągnięć ekipie Mobile Central Europe należą się gratulacje! Jeśli projekt MCEConf będzie kontynuowany to z przyjemnością będziemy go promowali w naszym community po raz kolejny.
No comments:
Post a Comment