Předmět BI-IOS

Zkušenost s prvním ročníkem běhu předmětu

V zimním semestru 2012 jsme s Kubou Hladíkem dostali zelenou, abychom mohli začít učit na FITu programování pro iOS. Součástí předmětu nebyly přednášky, takže předmět mohl běžet pouze v „experimentálním“ režimu (max. jedno cvičení) a teorii měli za úkol studenti čerpat z videokurzů od Stanford University, což se nakonec ukázalo jako naprosto dostačující.

Součástí předmětu byla semestrální práce, u které jsme kladli důraz i na smysluplnost zadání, aby mohla sloužit jako dobrá reference do portfolia. Naším cílem bylo vyprodukovat ze studenta iOSem nepoznamenaného, úspěšného kandidáta na pozici junior iOS vývojář, což se nám myslím podařilo.

Na konci semestru jsme uspořádali soutěžní přehlídku, kde každý student před zraky odborné poroty (děkan, iOS senior, mobilní grafik) své dílo prezentoval.

Přináším Vám zde příběh tří nejlepších aplikací:

 

Vítěz soutěžní přehlídky

Vítězem přehlídky se stala mobilní aplikace, kterou nejmenovaný student vyvíjel pro nejmenovaný největší obchod s počítači a elektronikou. Avšak podepsal takové NDA (dohoda o mlčenlivosti), které mu znemožňuje o aplikaci mluvit a hlásit se k jejímu autorství, takže bohužel velký přínos pro portfolium a slávu daného studenta neměla.

Za mne mohu pouze poznamenat, že v Ackee takto fašisticky na NDA nelpíme :-).

 

ČVUT Navigátor

Tuto aplikaci vytvořil velice schopný student Tomáš Kohout v rámci své semestrální práce a později zdařilé bakalářky, kterou jsem mu vedl.

V zimním semestru jsem si zapsal předmět BI-IOS. S jazykem Objective-C, který se používá pro vývoj na iOS, jsem do té doby neměl nejmenší zkušenost. Naštěstí nás cvičící Jakub Hladík a Josef Gattermayer pomalými krůčky provedli od základního vývoje až po pokročilou semestrální práci.

Semestrální práce

Začal jsem tedy pracovat na ČVUT Navigátoru. První fází byl návrh uživatelského rozhraní. První obrazovkou byla agenda předmětů. V horní části se nachází search bar pro vyhledávání předmětů, učitelů nebo budov. Dalším tabem byla mapa. Jejím úkolem bylo zobrazení budov na mapě s tím, že se do ní do budoucna dodělá celá logika navigace vně a uvnitř budov. Posledním tabem je pak rozvrh – tedy klasický grid s přehledem všech předmětů za daný týden.

Implementace nebyla s nově nabytými znalostmi až tak těžký úkol. Prvním krokem bylo vytvoření databáze, ze které se budou všechna data zobrazovat pomocí CoreData. Následovalo pak vypsání těchto dat do UITableView a také zobrazení na mapě pomocí MapKitu. Největším problémem bylo zobrazení rozvrhu pomocí UICollectionView tak, aby uživatel mohl scrollovat ve vertikálním i horizontálním směru a zároveň byla aplikace dostatečně responzivní.

Co dál?

Tady ale práce rozhodně nekončí. Ze semestrální práce se stala práce bakalářská a já na ní odjel pracovat do dalekého Finska v rámci výměnného pobytu Erasmus.

Další důležitou funkcí byla samotná navigace po budovách ČVUT.  Znamenalo to zobrazení plánů budovy a vykreslení trasy k učebnám. Rozhodl jsem to udělat pomocí step-by-step navigace podobně jako v klasické GPS navigaci. Rozvrh se také dočkal výrazného vylepšení: dokáže nyní zobrazit jednotlivé zkoušky a rozlišit, zda je právě sudý nebo lichý týden.

Další problém, který jsem řešil, byla nedostupnost GPS signálu uvnitř budov. Bylo potřeba vymyslet nějaký nový systém navigace uvnitř budov. Rozhodl jsem se pro to využít rozšířenou realitu. Myšlenka je celkem jednoduchá, po budově se vylepí speciální obrazce – tzv. markery, které mají k sobě přiřazenou pozici. Kamera telefonu je pak dokáže rozpoznat, zjistit uživatelovu pozici a vykreslit na ně šipku směřující k cíli. Jak takový systém funguje můžete vidět v praxi na videu: https://www.youtube.com/watch?v=3xEbvc49mgQ

Posledním, neméně důležitým úkolem, bylo napojení aplikace na ostrý server. Tento proces už je také u konce a nyní dochází k odstraňování bugů. Zároveň byla aplikace redesignována do tzv. flat designu pro iOS 7. V AppStoru ji můžete čekat začátkem příštího roku.

 

ČBF – český basketbal v mobilu

Aplikaci pro basketbal vypracoval Jan Mísař. Ten, stejně jako Tomáš Kohout, neměl s vývojem pro iOS žádné zkušenosti, ale ještě k tomu nevlastnil ani žádný Apple HW.

V současné době pracuje jako iOS vývojář ve FIŤácké firmě s národním ovocem Jamajky v názvu :-).

Předmět BI-IOS jsem absolvoval přesně před rokem a volba mého semestrálního projektu byla již od počátku vcelku jednoznačná a jasná. Jsem basketbalista, často sleduji výsledky a web České basketbalové federace (ČBF) se v té době s mobilními telefony příliš nekamarádil. Rozhodl jsem se proto spojit školní povinnosti s něčím užitečným a vytvořit aplikaci na basketbalové výsledky.

Prvním předpokladem k úspěchu byla dostupná data. ČBF sice poskytuje exporty dat v XML, ale ty byly pro potřeby aplikace nedostatečné, a proto jsem zvolil postup získávání dat přímo z jejich webových stránek.

Na základě získaných dat jsem vytvořil aplikaci, která umí přehledně zobrazovat aktuálně hrané zápasy, tabulky všech soutěží, jejich rozpisy, výsledky a podrobné statistiky všech zápasů.

Vzhledově i ovládáním jsem se snažil aplikaci co nejvíce přiblížit pravidelným návštěvníkům webu ČBF, a proto jsem zvolil vzhled i logiku aplikace právě podle existujícího webu.

Výsledek měl svoje mouchy, ale jakožto můj první projekt byl rozhodně obstojný. Nápad i zpracování se všem moc líbil a protože mě na BI-IOS nenaučili jenom programovat aplikace, ale i nebát se je „ukázat světu“, rozhodl jsem se aplikaci vydat.

Kontaktoval jsem tedy ČBF a svojí aplikaci jim nabídl. Na základě zaslaných screenshotů a osobní prezentace jsme si plácli a začali jsme společně pracovat na projektu Český basketbal v mobilu. Během celého roku 2013 tak postupně vznikla nejen aplikace pro iOS, kterou jsem oproti první verzi hodně vylepšil a téměř celou přepracoval, ale i verze pro Android a mobilní verze webových stránek.

Takže pokud máte rádi basketbal nebo jste jen zvědaví na moji práci, tak ji od 4. 12. 2013 najdete na AppStoru!

Zdroj fotek: osobní archiv Tomáše Kohouta

Autor: Josef Gattermayer, doktorand FIT