TechKlub Poznań – Jak tworzyć aplikacje społeczne na przykładzie Koduj dla Polski

Tym razem o tym, „Jak tworzyć aplikacje społeczne na przykładzie Koduj dla Polski”.

Czyli o technologii w służbie społeczeństwa. Prelegentami podczas najbliższego TechKlubu będą Wojciech Sańko i Gracjan Kłapa z grupy Komitywa.org, współtwórcy platformy Wysadzulice.pl.

Opowiedzą oni o tworzeniu aplikacji w kontekście społecznym – od badania zapotrzebowania, przez współpracę z ludźmi o różnych podejściach, niewpadanie w pułapkę „sam wiem najlepiej”, wdrażanie zasad user experience, po przekazanie światu narzędzia do poprawy swojego otoczenia.

Będziecie mieć również możliwość ulepszenia wybranej przestrzeni publicznej w Poznaniu podczas warsztatów z Wysadzulice.pl. Każdy może dowolnie ułożyć krzewy, drzewa, stojaki na rowery i inną małą architekturę w wybranej przestrzeni. Wpływ uczestników na wygląd ich okolicy będzie realny, ponieważ planujemy zgłoszenie raportu z wyników spotkania w Urzędzie Miasta Poznań.

Serdecznie zapraszamy programistów, nieprogramistów i semi-programistów. Wszystkich tych, którzy chcą mieć realny wpływ na swoje najbliższe otoczenie lub po prostu poznać zasady tworzenia dobrej aplikacji.

Prelegenci

Wojtek Sańko inicjator nieformalnej grupy komitywa.org oraz wysadzulice.pl. Ewaluator i badacz. Animator współpracy interdyscyplinarnej. Promotor i entuzjasta rozwiązań technologicznych odpowiadających na ważne potrzeby społeczne. Dlatego współtworzy poznańską brygadę Koduj dla Polski. Jako edukator partycypacji publicznej działa na rzecz zwiększenia demokracji na poziomie lokalnym.
Gracjan Kłapa były redaktor, który chciał zostać dziennikarzem, a stał się badaczem User Experience sklepów internetowych. Ma doświadczenie w testach użyteczności i warsztatach kreatywnych. Wierzy, że zabawa prowadzi do innowacji.

Linki

Startup or enterprise? Where is the fit for Angular and Ionic?

Ionic + PouchDB/CouchDB – offline first approach – Marcin Wieprzkowicz, PrimeModule

Management of personal finances in BZWBK24 internet using AngularJs – Michał Rein, Bank Zachodni WBK

From noodles to John Papa’s, from MVP to product – Krzysiek Hasiński,GetBadges

eFX platform in BZWBK24 mobile application using Ionic framework – Cezary Zadorocki, Bank Zachodni WBK

Hardgroup #3

The Things Network – budujemy smart Poznań

Jacek Rosik, inicjator The Things Network w Poznaniu opowie o crowdfoundingowym projekcie i technologii, która za nim stoi, czyli LoraWan. Otwiera ona praktycznie nieskończone możliwości wykorzystania Internetu Rzeczy w mieście. Może sami wpadniecie na nowatorski sposób jej użycia

Windows 10 IoT na Raspberry Pi 2

Jak wygląda Internet of Things według Microsoft w pigułce.
Czym jest Windows 10 w wersji IoT i co jest konieczne, aby rozpocząć pracę na przykładzie Raspberry PI 2. W jakim środowisku i w jakim języku możemy tworzyć aplikacje i jak połączyć to z zewnętrznymi urządzeniami oraz „internetem rzeczy”.

https://github.com/ChrisOrTwo/Public/tree/master/Windows%2010%20IoT%20Demo

Rapifire – czyli chmura dla internetu rzeczy

Łączenie urządzeń końcowych do chmury, tworzenie połączeń między urządzeniami oraz logiki odpowiedzialnej za działanie rzeczy internetu na platformie rodem z Poznania.

Hive61 #4

 

Today I present hive61. Hive61 is Poznan Startup and Business Community.

 

Łukasz Olek – Currency One SA

„A partner and board member at Currency One SA, a company running two online foreign exchange platforms: internetowykantor.pl and walutomat.pl, the biggest online foreign exchange provider on the Polish market. ”

Daniel Mendalka – People+

Daniel Mendalka is a software engineer specializing in Android and related operating systems. He is one of the few GDG (Google Developer Groups) country leaders and was selected as one of 2000 developers to receive Google Glass for early development.

Prior to People+, he founded several start-ups, notably Sellbox, a tool that lets you sell any file from your Dropbox or Google Drive account to your Facebook Fans and Twitter followers in seconds. Daniel was a Senior Developer for the Global Education Network for Satellite Operations, which, in collaboration with NASA and other space agencies, developed better ways for ground station to share information about spacecraft. He has also been a Senior Developer at Artelis, a telecommunications company. Daniel has a Computer Science degree from University of Technology (Poznań) , where he worked in the famed Mobile Systems Research Laboratories.”

Paweł Chudziński – Founder of Point Nine Capital 

„Before co-founding Point Nine Capital in 2011, Pawel was a co-founder and partner at Team Europe where he led Team Europe’s investment activities. Prior to that, Pawel worked as an Associate for the US investment banking firm Greenhill & Co. in Frankfurt and London. Previously, he graduated from the Leipzig Graduate School of Management (HHL). He is fluent in English, German and Polish and has a basic command of Russian.”

 

#Point Nine Capital & Internetowy Kantor & People+

 

Allegro BrainCode Mobi #1

Tym razem opisze hackaton allegro. BrainCode Mobi to druga impreza z serii BrainCode organizowana na politechnice. Pierwszy BrainCode Feature  organizowana była w zeszłym roku. Motywem przewodnim była nowa strona 404 serwisu allegro. Tym razem jednak temat się zmienił i zawodnicy mieli kompletnie nowe wyzwania „aplikacje mobilne”. W ramach dodatkowego utrudnienia, nie można było korzystać z wrapper’ów takich jak phonegap.

My mieliśmy dość mocny pomysł na aplikację alle zestaw„. Aplikację pozwalającą wyszukiwać zestawy przedmiotów w serwisie allegro. Dzięki aplikacji można zaoszczędzić czas, pieniądze i uniknąć kontaktu z wieloma sprzedającymi.

Realne potrzeby użytkowników i konkurencja? Sam byłem zaskoczony, tak dobrze to wypadło. Potencjalnie mogliśmy liczyć na ok. 12mln użytkowników (tyle użytkowników ma aktualnie grupa allegro). Biorąc pod uwagę, że potrzeba, którą rozwiązywaliśmy, jest  dość uniwersalna, mieliśmy całkiem łakomy kąsek. Wystarczy spojrzeć na na potrzeby użytkowników:

* http://cafe.allegro.pl/showthread.php?67861-Szukanie-kilku-przedmiot%C3%B3w-u-jednego-sprzedawcy

q1.1 q1.2

 

Mimo zapowiedzi nikt dobrze pomysłu nie zrealizował. Portali dających taką możliwość było kilka. Jednak nie działały wcale lub były trudne w obsłudze i niestabilne. Wniosek: konkurencji brak.

Do rozwoju aplikacji na potrzeby zawodów wybraliśmy Firefox OS. Nowa platforma, nisza można powiedzieć :) Przy okazaji chciałbym podziękować Mateuszowi Myszka za użyczenie telefonu i pomoc w wyborze platformy :-) FireFox OS bardzo dobrze nadaje się do szybkiego rozwoju prototypów. Choć mieliśmy kilka problemów. Szczególnie w najbardziej krytycznym momencie przed samą prezentacją projektu.  Sam algorytm wyszukiwania zaimplementowany był w PHP Allegro API. Czyli małej biblioteki, swoistym „interfejsem” Allegro Web API. Dodałem bibliotekę do jeszcze eksperymentalnego WebApi Allegro (service.php).

Po imprezie Bartek pytał co moglibyśmy poprawić. Jeden z mentorów sugerował, że aplikacja bardziej nadaje się na Web. Dlatego też doczekała się swojej internetowej odsłony!!! Wersji przepisanej praktycznie od zera. Może i ubogiej w grafikę ale prostej i przyjaznej  obsłudze.

{Link do aplikacji allezestaw: http://events.pozoga.eu/Ex/BrainCodeMobi/AlleZestaw/app/ }

Za świetną współpracę dziękuję Bartkowi [Anonim], Kamilowi Pawluczuk i Mateuszowi Myszka :)

 

BrainCode Mobi#1 from Filmpoint on Vimeo.

Linki

http://wtkplay.pl/video-id-8936-maraton_w_tworzeniu_aplikacji_mobilnej
Wspomnieli min o naszej aplikacji do wyszukiwania produktów :)

* Zdjęcia z eventu

 

StartUP MashUP

Następny wpis z nowej serii. Kolejna starupowa impreza. Tak myślałem idąc na wydarzenie.  Dużo się nie myliłem. Była to impreza utrzymana w stylu startup sprintu. Było o tym jak projektować firmę, jak tworzyć Canvas, model biznesowy, obliczanie kosztów… Na MashUP skupiliśmy się jednak na narzędziach i wiedzy. Połączonych z pracą grupową. W skrócie kompletne i profesjonalne podejście do prowadzenia firmy. Zresztą zobaczcie sami.

 

Jak wybrać mode biznesowy

Aleksandra Gawel omawia różne modele biznesowa. Czyli wprowadzenie na czym będziemy zarabiać.

Jak wybrać mode biznesowy #1

Jak wybrać mode biznesowy #2

 

Warsztat Lean Canvas

Pamiętacie jeszcze jak pisałem o warsztatach z Lean Canvas? Teraz sami możecie je zobaczyć. Ols z zapytajVC. Przedstawił i omówił budowę Canvasa. Sam pamiętam jak schrzaniłem swój pierwszy „prawdziwy” Canvas. Więc jak widać nie jest to takie proste. A jak to zrobić poprawnie nauczycie oglądając film.

Warsztat Lean Canvas #1 

Warsztat Lean Canvas #2

Warsztat Lean Canvas #3

 

Organizatorzy

Tym razem impreza organizowana była przez PBDADesign Thinking Poznań i aip. Postaram się ich śledzić i dodawać do kalendarza :) Jak o czymś zapomnę, możecie mnie kopnąć i wysłać info na maila.

 

Kilka pomocnych pytań od inwestorów

  • Jakiego kapitału potrzebujecie na start?
  • Na co przeznaczycie te pieniądze?
    (np licencje na oprogramowanie, jakie firmy itp)
  • Czy potrzebujecie inwestora na start?
  • Kiedy zaczniecie zarabiać?
  • Kiedy planujecie „break point”?
  • Jaka jest konkurencja? (musisz coś podać – jeśli nie ma konkurencji nie ma rynku)?
  • Dlaczego wybiorą was nie konkurencję?
  • Co im zaoferujesz?
  • Jakie masz koszta?
  • Skąd będziesz brał zyski?
  • Jaki masz zespół?
  • Kto pełni jaką funkcję?

Berlin Startup Safary

Startup Safary to impreza otwierająca drogę do wielu firm. Otwiera wiele drzwi, wpuszczają ludzi do środka i pozwalają zobaczyć kulisy działania firm… No w teorii 😉 Na pewno pozwala wejść, pogadać z pracownikami i przeprowadzić małe overview. Przepisu na swój sos nikt nie zdradza 😉 W tym poście opiszę wydanie z firmami z Berlin’a. Warto jednak wspomnieć, że jakiś czas temu w Poznaniu była organizowana impreza z tej serii. Podczas niej obcokrajowcy mogli podziwiać polskie firmy. Do Berlina wyjazd organizowali ludzie z m26lab i SpeedUp. Tzn. zbiorowy transport i ogarniecie paru podstawowych spraw. Na miejscu każdy musiał radzić sobie sam. Tz ogarnąć Hotel, plan podróży, bilet na startup safary, komunikację miejską – jeśli ktoś korzystał. My zwiedzaliśmy dość skromnie. My, tz ja i mój kolega. Poruszaliśmy się przy pomocy własnych nóg. W dużej mierze jedliśmy jedzenie z Polski. Nawet udało nam się w nocy zaoszczędzić na hostelu 😀 Choć to już nie z naszej oszczędności. Po prostu nie ogarnęliśmy wszystkiego przed wyjazdem licząc, że hostel/hotel/noclegownię znajdzie się na miejscu bez problemu. Niestety nasz wyjazd zbiegł się z inną imprezą masową i plan nie wypalił 😀 Za to ile wspomnień 😉 Trochę w parku, trochę w macdonaldzie… wszędzie. Ale opisuję tu jakieś pierdoły a zapominam o najważniejszym. Czyli co my tak naprawdę zwiedziliśmy. Mój plan obejmował zobaczenie Google, HitFox, Microsoft Ventures, netguru, 99design. Po kolei. Google w porównaniu do tego co miałem przyjemność oglądać w Dublinie wypadł trochę słabiej. Niby nie było źle ale spodziewałem się osób technicznych, które będę mógł męczyć swoimi pytaniami. Wbrew moim oczekiwaniom spotkanie ograniczało się do liźnięcia seo/marketingu, google trends, google cloud (fajny link: https://cloud.google.com/resources/starterpack/ ) i zachęcenia do skorzystania z mentoringu. Gdybym mieszkał w Berlina na pewno bym się skusił ;)

HitFox (http://www.hitfoxgroup.com/english/about ), czyli jak piszą twórcy inkubator nastawiony na gry. Z prezentacji mogłem wywnioskować, że prowadzą ciągły nabór na wiele stanowisk. Gdy zapytałem o aplikację, prowadząca wymieniła listę znacznie pokaźniejszą od tej dostępną na stronie 😉 Można więc wnioskować, że rynek się dobrze rozwija. Rozwija i zmienia się 😉 Jeden z pracowników HitFox‚a przeprowadził krótką prezentację poruszającą min te zmiany.

Teraz nasz mały fail. Nowe miasto, nowy kraj… Zabłądziliśmy i nie trafiliśmy na spotkanie z MS Ventures (http://microsoftventures.com/Accelerators/Berlin.aspx ) i netguru. O ile netguru mam na co dzień, MS Venture mi szkoda. Ten brak nawigacji… DSC00739 Na spotkanie 99design (http://99designs.de/ ) udało nam się trafić. Z małym opóźnieniem ale zawsze. Muszę przyznać, że merytorycznie wypadli najlepiej. Do tego bardzo konkretne odpowiadali na pytania :) Tym miłym akcentem zakończyliśmy część edukacyjną.

Oczywiście nie oznacza to, że na tym zakończyła się impreza. Był grill. After party. I oczywiście „after after” party. Na to ostatnie nie mieliśmy już siły 😉 Tak więc jestem wykończony, bolą mnie nogi, mam odciski i sądzę, że było zajebiście :) DSC00731

Imagine Cup

Wstęp

Witam wszystkich czytelników 😉 Tym razem opiszę naszą przygodę z technologiami Microsoftu i Imagine Cup. Pewnie niektórzy z was wiedzą, że sam jestem raczej linux’owcem.  Choć do przeciwników MS, zdecydowanie nie należę. Ostatnio nawet zostałem zwolennikiem Windows Azure. Musze przyznać, że jest to bardzo dobra platforma.

Ale zaraz. Czytelnikom mojego bloga, coś może nie pasować. W końcu zwykle opisuję eventy w Poznaniu. A tu w Poznaniu nic nie było… Imagine Cup to impreza  zdalna. Na pewno dwa pierwsze etapy. Później mamy finały krajowy i finały światowe. No pomiędzy jeszcze finały online. Dla projektów które spodobają się użytkownikom, jest to to coś w rodzaju drugiej szansy 😉

Lean Canvas

Tym razem postaram się, żeby mój wpis był trochę bardziej edukacyjny niż zwykle. Tak więc opiszę nie tylko samą imprezę ale też technologie i problemy jakie mieliśmy. Pierwszy etap to stworzenie biznes planu. My skorzystaliśmy z Lean Canvas. Choć po prezentacji Olsa wiem, że nie był to dobrze zbudowany Lean. Za to nakreśla koncepcję projektu 😉
canvas

Problem

Czyli o co nam chodziło?? Pierw zerkamy na problemy jakie ma rozwiązywać nasza aplikacja:

1. Brak nowoczesnego mobilnego systemu do głosowania.
2. Wolna komunikacja z wieloma użytkownikami ( dość nie zręcznie napisane. Zresztą nie tylko to 😀 Chodziło o grupowe podejmowanie decyzji)
3. Brak prostego narzędzia do badania rynku.

„Customer segment” – Grupa docelowa

Dla kogo miała być aplikacja?

Z uwagi na idę która przyświecała projektowi wyróżniliśmy 2 grupy docelowe:

1. „Zwykli ludzie” chcący się podzielić swoją opinią lub ciekawi opinii innych. Chcący zwrócić uwagę na problem w swojej okolicy.

Model biznesowy: dostęp darmowy – cel uzyskania efektu skali

2. Firmy. Gdy prowadzimy biznes w sposób nowoczesny. Interesuje nas nie tylko zdanie nasze ale również zdanie innych. Chcemy wejść w interakcje z pracownikami i klientami. Chcemy wspólnie podejmować decyzje właśnie ta aplikacja może pomóc 😉

Model biznesowy: minimalny koszt pobrania aplikacji [skalowalność] + potencjalne dedykowane funkcjonalności dla firm [minus to brak skalowalności i wymaganie odpowiednich zasobów ludzkich]. Dodatkowy plus to bliski kontakt z klientem i możliwość czerpania zysków przed osiągnięciem efektu skali.

Produkt

Czyli nasze rozwiązanie problemu. W naszym wypadku miała być to aplikacja (część mobilna Windows Phone i Serwerowa). Jej podstawowe funkcjonalności to:

1. Stworzenie mobilnego systemu ankiet. (możliwość głosowania zdalnego i z urządzenia ankietera).
2. Ankiety miejskie. Czyli np ankieta „podpięta” do pomnika/boisk/sklepu przed twoim domem. Dość dziwnie to nazwaliśmy bo „social form”. Z perspektywy czasu stwierdzam, że była to bardzo niewymowna nazwa.

Warto dodać, że część aplikacji miała być open source. Jest to dość ważne dla modelu biznesowego. W końcu coraz częściej to, że produkt jest za darmo nie wystarcza 😉

Kilka problemów z MVP

Zerkając na nasze grupy docelowe i funkcjonalność produktu można zobaczyć dość mglisty obraz aplikacji. No właśnie „mglisty”. Wynika to z faktu, że przedstawiłem tu produkt w idealnej postaci (gdyby były wszystkie bajerki jakie byśmy chcieli). My mieliśmy pewne swoje MVP (Minimum Viable Product). Sprowadzał się do w pełni darmowej wersji aplikacji (pozwala zacząć pozyskiwać użytkowników. Jeszcze zanim mamy funkcjonalność za którą ktoś zapłaci. Tak więc mówiąc prościej bez całej części z firmami. Tylko ankiety miejskie i ankiety społecznościowe.

Rzut oka na resztę Canvasa

Napiszę co jeszcze poprawił bym w reszcie. Czyli wszystko to co aż mnie kuje w oczy 😉 Kanały sprzedaży – – widać moje niezdecydowanie. Ale też coś za tym stoi. Nie znałem do końca grypy docelowej. Rozpoczęcie promocją małym kosztem wieloma kanałami nie jest takie głupie. Pozwala sprawdzić gdzie przyjmuje się produkt i skupić na tej grupie.

Warto jeszcze napisać wprost: To Unfair Advantage jest makabrycznie skopane. To pole powinno być puste. Bo nie jest to „nieuczciwa przewaga”, której nie da się skopiować. Coś co mamy tylko my. Czyli wcale nie jest taka nieuczciwa 😉

Jak widać dość sporo rzeczy do poprawy. Canvas jest fajnym narzędziem. Pozwala uporządkować wizję produktu. U nas jest trochę rozmyta z uwagi na pośpiech i pewne przenikanie etapów postępowania (można to określić jako chaotyczność). Ale o tym dalej.

Zaczynamy z Imagine Cup

Żeby opis naszego produktu nie przenikał się z opisem samej imprezy dodałem go wcześniej. Teraz będę opisywał same zawody. Czyli jak to się zaczęło.  Dość sporo chodziłem po różnych imprezach. W różnego typu zawodach startowałem już kilka razy. Np dwa razy w HackFest. Raz z aplikacją do eventów (2011) i raz z aplikacją do grafiki 3d  (2012). Kilka razy byłem na Startup Sprint. Raz nawet byłem w wyróżnionym składzie na Startup Weekend. – Niestety nie mogę znaleźć wpisu z tej imprezy. Jest pewnie jeszcze z czasów zanim zacząłem prowadzić bloga 😉

Imprezy te nauczyłem mnie, że wydarzenia tego typu pomagają zbudować team. Nawet nietrwały, jedynie na czas zawodów. Pozwalają popracować wspólnie. To naprawdę wiele daje. To był podstawowy motor do startu w zawodach tego typu. Ale nie od razu wiedziałem, że będzie to IC. Wybór Imagine Cup nie był taki oczywisty. Osobiście wahałem się między Google Summer  Of Code a Imagine Cup.  Mimo, że nasz projekt jest częściowo Open Source. Google Summer kładzie duży nacisk na otwartość i nie komercyjność projektu.  Dlatego też nasz projekt bardziej nadawał się na Imagine Cup. W końcu „egzotyczny i Open Sourcowy” model biznesowy, to nadal model biznesowy 😉 Tak więc IC sprzyja młodym przedsiębiorcom.

Formujemy team

Jak łatwo stwierdzić samo postanowienie wzięcia udziału w zawodach nie wystarczy. Prace zaczynamy od utworzenia teamu. Mi udało się za drugim razem 😉 Samo dotarcie do ludzi jest dość proste wystarczy fb i np grupa rocznika. Jacyś znajomi z it… Z mojego roku zgłosiły się dwie osoby. Bardzo dobra okazja, żeby poznać nowych ludzi. Dzięki uprzejmości ZOO Coworking, udało nam się bezpłatnie zorganizować spotkanie w salce konferencyjnej. Darisza Walczak udzielił nam też paru wskazówek i porad + pomógł spotkać kilku ciekawych ludzi :)

Jednak pierwszy team się rozsypał. Dlaczego?? Z uwagi na rzeczy kompletnie niezwiązane z projektem. Jeden z uczestników stwierdził, że nie czuje się na siłach. Zna tylko podstawy c++ i  nie ma czasu/nie czuje się na siłach uczyć się nowych technologii. Niestety przekonywania, że projekt jest tworzony na luzie. Argumenty żeby poznać strukturę zawodów, zdobyć doświadczenie, nauczyć się pracować w grupie… nie pomogły. Warto zaznaczyć, że nie ma sensu nikogo zmuszać czy przekonywać na siłę bo nie o to chodzi. Kolejny miał dość sporo zleceń. tak więc zrezygnował z udziału by móc sprostać wymaganiom rynku ;D
Potem przez projekt przewinęła się jeszcze jedna osoba. Trochę pomagałem mu z Zendem. Zrezygnował z podobnych powodów. Zbyt dużo komercyjnych zleceń…

Team udało mi się utworzyć gdy skontaktowałem się z Robertem. Osobą poznaną podczas Letniaj szkoły e-biznesu. Gdy się kontaktowaliśmy był jeszcze na stażu w Hiszpanii. Tak więc przez część projektu mieliśmy jedynie kontakt zdalny 😉 Dzięki Robertowi udało się zwerbować kolejnego członka teamu.  Był to Łukasz Ogan. Tak więc skład mieliśmy dość mieszany 😀 Mieliśmy osobę z Uniwersytetu Ekonomicznego, z Uniwersytetu Mikołaja Kopernika i mnie z Politechniki.

Praca zdalna

Brzmi dość ryzykownie. W końcu wielu boi się pracy zdalnej. Muszę przyznać, że nie było tak strasznie jak to ludzie malują. Jednak też nie zawsze można tak pracować. U nas system ten sprawdził się dzięki temu, że każdy miał zestaw niezależnych zadań. Każdy mógł pracować niezależnie i komunikacja nie była wąskim gardłem.

Nie znaczy to, że nie było wąskich gardeł. Jeśli chodzi o wąskie gardła które mieliśmy to był to wolny czas członków zespołu. Każdy z nas miał studia, jakieś dodatkowe zajęcia i projekt. Niestety na projekt momentami brakowało czasu. Była to główna przyczyna tej chaotyczność w różnych aspektach projektu. Do tego dużą część czasu straciliśmy na różne sprawy organizacyjne i załatwianie wszelkich niespodziewanych spraw. Na pewno więcej niż się spodziewałem.

Z etapu do etapu

Imagine Cup składa się z kilku etapów. Pierwszy to formowanie teamu, tworzenie modelu biznesowego i planowanie produktu. To już opisałem 😉 Następnie jury wybiera 30 najlepszych teamów, które dostają się do drugiego etapu. Teraz, naszym celem jest stworzenie produktu 😉 Wychodzą tu wszystkie niedociągnięcia z pierwszego etapu. Jeśli tam coś źle zaplanowaliśmy tu to wyjdzie. Oczywiście nie oznacza to że błędów tych nie można naprawić 😉 Tworzenie produktu to ciągłe udoskonalanie.

O technologi, ludziach, motywacji i ideologii

Przy tworzeniu produktu najważniejsza jest technologia. O ile większość z nas miała mniejsze lub większe doświadczenie w tworzeniu stron internetowych i programowaniu. Mało kto bardzo dobrze znał technologie MS. Można się  było zapytać: co tam do cholery robimy… Nasza obecność była pewną odpowiedzią na złagodzenie i zdecydowaną poprawę polityki Microsoftu, względem „reszty świata”. Co mam na myśli? MS bardzo wielu kojarzy się z bardzo korporacyjną firmą i ludźmi z „klapkami na oczach”. Bardzo często spotkałem osoby, które uważały, że jeśli coś nie jest MS to nie jest warte uwagi. Bez argumentów. Często be znajomości tematu… Takie zamknięcie dla samego zamknięcia.

Właśnie to mnie zawsze odstraszało od tej firmy. Tworzyło to granicę przez, którą mogliśmy korzystać z zamkniętych technologi MS lub z Open Source. Ale nie jednocześnie. Wydaje mi się, że rozwiązanie tego problemu zaczęło się od Windows Azure i Internet Explorer. MS dogadał się z twórcami pozostałych kluczowych przeglądarek i pogłębił współpracę z W3C W efekcie IE zobowiązało się dostosować do pozostałych przeglądarek, a reszta dołączać wszystkie nowe rozwiązania IE do standardu. W tym obsługi WebGL.  Twórcy Azure włożyli bardzo wiele wysiłku, żeby zapewnić serwery w chmurze nie tylko miłośnikom Windowsa ale także Linuxa. Sam korzystam i muszę przyznać, że moje wrażenia są bardzo pozytywne.

Do tego dochodzi Windows8 i zmiana podejścia do tworzenia oprogramowania. Windows 8 można zaprogramować w wielu językach. Powiem więcej. Można je mieszać. Dzięki wprowadzeniu WinRT mamy wspólne API.

windows8-platform-tools_2

Jak widać jest naprawdę interesująco. Natywne aplikacje w Javascript. Metro Style… i wiele więcej. Właśnie te innowacje nas zainspirowały. To nowe oblicze pisania aplikacji i nowe innowacyjne technologie. „What is next?”

Wybór technologi

Nasz plan zakładał, że jest dostatecznie dużo czasu na napisanie czegoś w JavaScripcie. Rzeczywiście czasu było wystarczająco. Ale mimo, że napisałem mała aplikacje na w8 (desktop) w js… założenie, że podobnie pójdzie z WP było błędne. Ale może jeszcze napiszę o założeniu jakie miałem: Zakładałem, że uda nam się napisać natywną aplikację w JavaScript. Jeśli to się nie uda wykorzystamy Phonegap’a (z którym miałem już styczność). Tak więc miałem dwie alternatywne technologie na jedną platformę i czułem się bezpieczny. Zbyt bezpieczny…

Bezpieczeństwo to rzecz względna. Możesz dopłynąć tak blisko brzegu, że prawie czujesz grunt pod nogami, po czym nagle roztrzaskujesz się na skałach.

Nie ma nic tak złudnego i zdradliwego jak poczucie bezpieczeństwa. Nie ma również nic tak zdradliwego i niebezpiecznego jak operowanie na niepełnych danych. Bo właśnie to czego nie widać może wszystko zepsuć. Tak jak u nas. Ale o tym za chwilę.

Sprzęt

Mimo licznych telefonów rozdanych przez MS, my nie mieliśmy żadnego. Jak łatwo się domyślić był to pewien problem. Jednak nie wszystkie telefony trafiły do studentów. Część została ofiarowana uczelni. Dzięki temu i pomocy kn-atena udało się wypożyczyć jeden 😉 Tak więc mieliśmy swojego Windows Phone do pracy. Niestety, jak się później okazało z W7.

Góra lodowa

Żeby ten art nie był jak drugi Pan Tadeusz (taka lektura), nie mam czasu skupiać się na szczegółach.  Nam W7 trochę ukrzyżował plany. Wtedy jeszcze nie wiedziałem, że nie każdy WP ma wspomniane bajerki. Po protu technologie te wychodziły w podobnym okresie. Jak by nie patrzeć jest to słabe overview rynku. Słabe mimo włożenia dużej ilości pracy.

Została alternatywna technologia Phonegap. Jak się okazało sama była jak góra lodowa. Choć sam phonegap jest tylko prostym interfejsem. Nakładką na system która pozwala wykorzystać standardową przeglądarkę do tworzenia aplikacji. Nakłada bardzo wiele ograniczeń . Nie wszystkie przeglądarki udostępnia pełną funkcjonalność jako widget. Do tego nie zawsze w takim trybie mamy wsparcie karty graficznej.

Bugi, bugi evrywhere

Podczas pracy z Phonega’pem z Windows Phone napotkaliśmy na masę Bugów. Jeden opisałem bardzo dokładniej i chciałbym go tutaj przytoczyć. Tz. problem z mapami. Wyobrażacie sobie go ankiety bez map?? My też nie:

Jak działają można zobaczyć na YT:

Cały kod do pobrania na GitHub. Dodatkowo oczywiście odpowiedz twórców silnika na oficjalnym forum (opublikowana para miesięcy po zakończeniu się zawodów):

Unfortunately this is NOT (reasonably)possible in the IE9 implementation of the WP7.1 WebBrowser.  There are actually no native mouse events sent to the browser outside of mousedown + click.  I did considerable work to add mouse events to the browser, however I was only ever able to support single-touch, and not multitouch.

Windows Phone 8 has IE10 which supports PointerEvents, so you can deal with fingers/mouse/stylus all consistently, although this will not help your WP7 app.
The best I can suggest would be to use the mousedown/mousemove/mouseup events to pan the map, and add buttons to zoom in + out.
OR write a native map pluging ( this may be out of scope, but this would be great if someone did it. )
Cheers,
Jesse
Jak widać perełka. Do tego jeszcze kilka błędów w silniku jak.
White Screen – IE ma na sztywno ustawiony kolor tła na biały. Jeśli przełączamy stronę i jej tło jest czarne (zgodnie z metro style). Dostajemy biały błysk. Tz standardowe tło zanim wczyta się strona.
Link Select Box – Jedynym rozwiązaniem White Screen jest użycie Ajax. Niestety czeka nas kolejna miła niespodzianka 😀 Czyli podświetlenie linka i problem z odświeżeniem ekranu.  Tz po załadowaniu nowej strony zaznaczenie linka (generowane przez system) nie jest odświeżane. Rozwiązaniem problemu jest nie korzystanie z zdarzenia click i ładowanie strony za pomocą js. Oczywiście nie możemy korzystać ze tagu <a> Brzmi magicznie? Tak jest naprawdę.
Do tego dochodzą jeszcze problemy z ajaxem, blokowaniem przewijania strony, skalowaniem strony… kto wie o czymś jeszcze zapomniałem. Przy okazji dam jeszcze jedną radę. Jeśli korzystacie z Phonegapa warto pisać aplikację bez ciężkich frameworków. Np my użyliśmy jQuery Mobile. Wzwiązku z czym mieliśmy problemy z optymalizacją + mieliśmy problem z kilkoma bugami. p niepoprawnym budowaniem się stron.

Ostatni kamień milowy

Jak widać powaliła nas technologia. Żeby pójść dalej musieli byśmy mieć 64-bitowy komputer. Miałem 32-bitowy. Żeby odpalić środowisko deweloperskie do WP8 potrzebne są 64bity. Do tego wspomniany Windows Phone 8. Czyli razem koło 2.5 / 3 tyś złotych. Pieniędzy nie było.

Efekt końcowy

Tak pisałem o tych bugach i pisałem. Można by się spodziewać, że nic nie zrobiliśmy. Nic bardziej mylnego. Zrobiliśmy produkt. Po prostu czas, który musieliśmy w to włożyć był relatywnie wysoki i efekt odbiegał od naszych oczekiwań.

Strona domowa projektu zrobiona przez Łukasza:

stronawww

Podsumowanie

Być może dużo nie brakowało. Jednak nie dostaliśmy się do 3 etapu, czyli finałów krajowych. Teraz będziemy uzbrojeni w większe doświadczenie. Większą wiedzę i chęć walki. Jeśli miałbym coś doradzać nowym zawodnikom to skupienie się na materiałach promocyjnych. Szczególnie 2min filmiku i przykładaniu wagi do szczegółów. Skupieniu się na tym jak inni odbierają nasz produkt.

Literatura

Na koniec jeszcze trochę literatury, która przydała mi się podczas projektu. Projekty Open Source. Trochę podstaw ale potrafi zainspirować 😉

P-Team w M26 Lab

Ostatnio byłem na P-Team‚ie w M26 Lab. Było to swoiste otwarcie tego miejsca. Tak więc pozostaje mi tylko opisać kolejną serie spotkań.

P-team to cykliczne spotkania. Odbywają się w każdy czwartek, około godziny 18 lub 19. Muszę przyznać, że na p-team to dość luźne spotkania. Zresztą nie tylko p-team. Czasem miło znowu zobaczyć te same twarze pogadać, podyskutować… W końcu o dyskusję tu chodzi.

Podstawowym celem p-team jest „poznawanie ciekawych ludzi”. Od mojej pierwszej wizyty na spotkaniach już trzy razy zmieniła się formuła. Najpierw spotkaliśmy się w otwartym gronie. Później zapraszany był gość. Spotkania skupiały się na prelekcji i luźnych dyskusjach w małym gronie. Ostatnio widzę powrót do formuły z prelegentem. W końcu w czwartek ponownie odwiedzili nas ludzie z Doctor Kinetic.

Doctor Kinetic

Doctor Kinetic to Startup polskich twórców. Tworzony w ramach holenderskiego akceleratora. Kiedyś wspominałem o nich przy okazji Startup  TWiSt Dublin. Ich podstawowym celem jest pomoc w rehabilitacji. Z pomocą w długich i czasochłonnych ćwiczeniach przychodzi kinect. Już nie musisz bez celu wykonywać tych samych męczących ruchów. Aplikacja napisana przez zespół ma urozmaicić Ci ten proces i pozwolić Ci ćwiczyć pod okiem twojego rehabilitanta.

m26lab_open

Wspomniałem również o M26 Lab. Poznań doczekał się kolejnego miejsca do pracy. Choć tym razem nie jest to przestrzeń co-working’owa… M26 to „mały publiczny warsztat”. Miejsce w którym mają być warsztaty i możemy przejść podłubać. Polutować nasze małe arduino, polepić ludki z plasteliny, zrobić/wpaść na warsztaty… Całość ma być dostępna za darmo 😉 Z niecierpliwością czekam, aż Maciej Połoński bardziej rozkręci ten „warsztat” :)
Zainteresowany? Napisz do gospodarza hello@m26lab.org