Úkol zněl jasně! Udělej co nejrychleji aplikaci, ve které si budou naši čtenáři moci pohodlně číst nová čísla magazínu a zároveň si pohodlně poslechnout i jejich audio verze. Po nepovedeném prvním pokusu o vytvoření aplikace, která byla zadána externí firmě a nebyla nikdy dokončena, jsem převzal její vývoj a nyní je čas podívat se na to, jak celý proces probíhal.
Pokud ještě naši aplikaci nemáte, neváhejte a stahujte ji z App Store. Aplikace je dostupná pro všechny iPhony a iPady s iOS 12.1 nebo novějším. Pokud už nyní čtete tento článek v aplikaci, nebo ještě lépe, posloucháte jeho audio verzi, tak vám patří velký dík a doufám, že si to užíváte. Čtěte a poslouchejte dál a dozvíte se vše o vzniku aplikace i o tom, jaká další vylepšení plánujeme.
Příprava k vývoji
Rozhodnutí, že budu aplikaci vyvíjet, padlo na začátku února po posledním iPure meetupu. Společně s Honzou Březinou jsme probrali, co je důležité, aby v aplikaci bylo a co může počkat do dalšího updatu. Základem je (nečekaně) konzumace obsahu, který pro vás, čtenáře, pravidelně připravujeme – elektronická verze magazínu a jeho audio podoba. Před vytvořením aplikace se magazín četl nejlépe v aplikaci Knihy nebo v libovolném prohlížeči dokumentů PDF. Audio podoba se dala streamovat z internetu nebo stáhnout v souboru MP3 a složitě nahrávat do iTunes knihovny. S aplikací to vše padá. Pokud chcete mít magazín vždy po ruce, stačí si ho stáhnout do aplikace a číst nebo poslouchat.
Mimo magazínu v elektronické a audio podobě vám také přinášíme podcasty, videa, webináře a nově také Moštárnu – týdenní souhrn všeho, co se událo ve světě Apple. Podcasty si můžete poslechnout v iOS aplikaci přímo od Applu nebo využít aplikaci jako je Overcast. Obě aplikace fungují skvěle, co se týče distribuce i poslechu, nemělo tedy význam v první verzi přinášet možnost poslechu podcastů, zbytečně by to bralo čas vývoje. Moštárna je primárně emailové čtení, kde se musíte přihlásit k odběru. Zároveň vznikla až po plánování aplikace, tudíž jsme s ní ani nepočítali. Videa pro předplatitele s FULL předplatným byl ale už požadavek, od kterého se nedalo ustoupit a v první verzi aplikace mají právem své místo.
Před samotným plánováním, jak bude aplikace fungovat „uvnitř“, bylo třeba zjistit, jak probíhá komunikace se serverem. Web iPure, tedy i dodávání obsahu čtenářům, běží na redakčním systému WordPress. Ten sám o sobě neumožňuje komunikaci s jinými zařízeními, proto bylo potřeba nainstalovat jeho rozšíření, které to dovoluje. Dále jsem musel zjistit, co vše mi WordPress dovolí stáhnout a jaké cesty k obsahu vedou. Můžete si to představit jako mísu špaget, ve které se snažíte rozmotat jednotlivé špagáty. Celý tento proces mi trval přibližně 7 hodin čistého času.
V předchozí (neúspěšné) verzi byla vytvořena kostra UI, kterou jste mohli vidět v první vydané aplikaci. Jednalo se o velmi jednoduché UI, kde na hlavní stránce máte přehled nejnovějších magazínů, audio verzí a videí. Rozhodli jsme, že design zásadně měnit nebudeme a použijeme ho. Po dohodě, co v aplikaci bude, prozkoumání komunikace se serverem a návrhu UI, bylo ještě potřeba navrhnout model aplikace. Pokud jste četli v minulých číslech můj seriál o vývoji aplikací na iOS, víte, že model aplikace je funkcionalita aplikace. V tomto případě to bylo jednoduché. V aplikaci probíhá hlavně komunikace se serverem, stahování dat a jejich zobrazení. V případě magazínu se o zobrazení stará samotný iOS, v případě audio verze bylo potřeba navrhnout přehrávač. Po vytvoření návrhu modelu byl čas na psaní kódu.
Vyvíjíme a testujeme
Pokud se na aplikaci podíváte, zjistíte, že se hlavní obrazovka skládá ze 3 podobných částí, a sice z přehledu magazínů, přehledu audio verzí a přehledu videí. Všemi třemi částmi se dá projíždět a všechny reagují na dotyk prstu. Stačilo tedy vytvořit jednu část a poté ji znovu použít, když bylo potřeba a následně upravit pro správné zobrazení (magazíny se zobrazují jinak než audio verze nebo videa). V případě magazínů se zobrazovala obálka a název byl nad obálkou – ne pod obálkou, jako je nyní. Když se kliklo na jeden magazín, tak se stáhl do paměti aplikace a uživatel si ho mohl prohlédnout. Při prohlížení si mohl rozmyslet, jestli si ho chce uložit pro pozdější čtení. Pokud ho neuložil, hned jak se aplikace vypnula, tak se z paměti smazal. Pokud byl magazín uložen, v přehledu všech magazínů byla ikona, že je magazín uložen v telefonu. Při testování jsme se shodli na tom, že to není uživatelsky přívětivé a předělali jsme to do podoby, která je dnes v aplikaci. Magazín se po stisknutí stáhne a automaticky se uloží pro offline čtení. Magazíny, které ještě stažené nejsou, u sebe mají ikonku cloudu.
Největší problém byl při vývoji s audio verzí magazínu. Audio verze se dá buď streamovat nebo se dá uložit pro pozdější poslech. Streamování audia je z pohledu programátora aplikací pro iOS jednoduché. Apple ve svých knihovnách pro vývojáře nabízí jednoduchý přehrávač, kterému dáte buď audio soubor nebo odkaz na audio soubor, a on ho začne přehrávat. Programátor se musí postarat o ten zbytek. Musí přehrávači připravit všechny soubory k přehrávání, zajistit případné přeskakování do další skladby nebo posunutí v rámci jedné skladby. Navíc jsou uživatelé zvyklí, že přehrávané audio mohou ovládat i z ovládacího centra nebo ze svých Apple Watch a to se musí také dodatečně naprogramovat.
V aktuální verzi máte u audia tlačítko Stáhnout nebo Smazat a stisknutím prstu na řádce se vám spustí přehrávač. V prvních verzích to ale tak nebylo. Místo tlačítka Stáhnout/Smazat zde bylo tlačítko Přehrát, které spustilo přehrávání a zobrazilo mini přehrávač, jaký můžete znát například z aplikace Hudba. Audio verzi magazínu jste si mohli stáhnout nebo smazat až v okně přehrávače. V případě aplikace pro iPad se přehrávač nejprve zobrazoval přes celou obrazovku, až v pozdějších verzích se přesunul do levého rohu, aby zbytečně nepřekážel. Následovala implementace zobrazení videa. Video bylo hotovo nejrychleji. Jelikož jsou všechna videa na našem YouTube kanále, stačilo si vygenerovat odkaz, přes který aplikace komunikuje se servery YouTube, a nechat vše pouze zobrazit.
V průběhu celého vývoje jsme aplikaci průběžně testovali, abychom našli co nejvíce chyb. Mezi programátory se říká, že se každý kód dá zkrátit o řádku, a že v každém kódu je alespoň jedna chyba. S nadsázkou řečeno se celý kód dá zkrátit do jedné řádky, ve které bude chyba. Může to znít zábavně, ale je na tom i něco pravdy. Aplikace se skládají z tisíců řádek kódu, je tedy velmi obtížné najít všechny chyby. Na velkých aplikacích pracují celé týmy lidí, kteří chyby hledají. Nás na to bylo pouze pár. Nebylo v našich silách odhalit všechny chyby a některé velmi zákeřné (problémy s přihlášením) nám zůstaly utajeny až do doby, než se aplikace dostala k uživatelům. Pro představu – mezi lidi se dostala až dvacátá verze aplikace.
Vývoj aplikace skončil na začátku března a slavnostní vydání bylo směřováno na březnovou konferenci iPure. Před samotným vydáním je potřeba připravit aplikaci pro zobrazení v App Store. Je potřeba vytvořit smysluplný popisek, projít dotazník ohledně bezpečnosti aplikace, vytvořit screenshoty, popřípadě video, vygenerovat si věkové ohodnocení a na závěr poslat aplikaci ke schválení do Applu. Schválení trvá přibližně 24 hodin a vypadá tak, že zaměstnanec Applu aplikaci projde, zkontroluje, jestli odpovídá pravidlům a napíše svůj verdikt. Pokud aplikace projde, může být automaticky umístěna v App Store, pokud neprojde, vývojář dostane informaci, co je v aplikaci podle Applu špatně a má šanci ji opravit.
Nám aplikace neprošla. Neprošla nám čtyřikrát. Apple měl problémy s tím, že si předplatné řešíme sami. Jelikož se aplikace kontrolují na druhé straně světa v Kalifornii, kde je o devět hodin méně, všechny verdikty mi přišly pozdě v noci nebo nad ránem. Pár dní před konferencí jsem buď spal hodně špatně nebo nespal vůbec a snažil se aplikaci přizpůsobit tak, aby byli v Applu spokojení. Nepovedlo se a aplikaci se nám podařilo vydat až po konferenci.
Blýská se na lepší časy
Vývoj zabral přibližně 60 hodin čistého času, přičemž polovinu této doby jsem strávil vytvářením aplikace a přibližně polovinu opravováním chyb a vylepšováním. Jak už bylo řečeno, než se aplikace dostala na App Store, bylo vytvořeno 20 verzí, které se testovaly a vylepšovaly. V den spuštění našli uživatelé první chyby a ihned vznikla nová verze, která je opravila. Zároveň i Jura Ibl vytvořil nový návrh UI, který svým stylem víc odpovídá aplikacím pro iOS. V době psaní článku se testuje nová verze, kde jsou opraveny další chyby a aplikace je upravena do nového, vylepšeného designu.
Aplikace se bude neustále opravovat, a hlavně dál rozvíjet. Mohu vám slíbit různá vylepšení, například ještě komfortnější čtení magazínu. V plánu je například systém záložek nebo vodorovný posun v magazínu. Další vylepšení si zatím necháme pro sebe, ať jste v budoucnu příjemně překvapeni. Doufám, že si aplikaci užíváte a pokud jste našli chybu, máte návrh na zlepšení nebo jakýkoliv jiný dotaz, napište nám na info@ipure.cz.
Zdravím. Asi dělám něco špatně,ale v aplikaci audio nevidím.