Jízdní řády na telefonech s Ubuntu. Vývoj, aktuální stav a výhled do budoucna.

15. 02. 2016 8:00:00
Má aplikace je na telefonech již několik měsíců k mání. Co mě vedlo k její tvorbě, jak probíhal vývoj, jaké trable jsem musel při vývoji překonat, kde se aplikace nachází dnes i co do budoucna plánuji se zde dnes pokusím nastínit.

Není to tak dávno, co jsem si pořídil oficiální telefon s operačním systémem Ubuntu. Sice již více než rok a půl provozuji Ubuntu na svém tabletu, ale stále jsem měl v kapse telefon s Androidem a oblíbenou aplikací Pubtran, která mě doprovázela do všech koutů republiky. S kompletním přechodem na Ubuntu se vše změnilo.

Ubuntu nepodporuje aplikace z Androida, spoléhá na svůj vlastní ekosystém. Není tedy divu, že zde nenajdete většinu známých aplikací a veskrze si musíte vystačit s webovými verzemi, pokud vůbec existují. Nutno ale podotknout, že se za rok a půl co Ubuntu provozuji situace výrazně zlepšila, jak rozšířením počtu nativních aplikací, tak především kvalitou a přívětivostí těch již dostupných. Nebudete tak postrádat například emailového klienta, mapy, komunikačního klienta služeb Telegram a neoficiálně Hangouts či navigaci, všechny velmi povedené. Nicméně, vzhledem k faktu, že jsou telefony s operačním systémem Ubuntu stále vzácností, je zřejmé, že nabídka lokálních aplikací je velmi chudá a pokud vůbec, tak sestává pouze z webových aplikací – tedy v podstatě odkazů do zjednodušeného webového prohlížeče, které lze stáhnout z obchodu Ubuntu.

Jelikož vyhledávám jízdní řády zcela pravidelně, nezřídka i několikrát denně, zasáhla mě absence dedikované aplikace podobné Pubtranu velmi těžce. To především proto, že jsem byl nucen spouštět webový prohlížeč pokaždé, když jsem potřeboval najít spojení. Při každém načtení webu IDOS jsem byl dotázán zda chci využít aktuální polohu zařízení, na mobilních datech, a zvláště s protočeným FUPem, trvalo načtení samotné stránky velice dlouho a z webového interface bylo kopírování spojení pro případné odeslání např. skrze chat téměř nemožné. Postupně mi svízelnost situace začala lézt natolik na nervy, že jsem začal pokukovat po možnosti vytvořit vlastní jednoduchou aplikaci pro vyhledávání spojení.

Data Seznamu nebo Chapsu?

Protože jsem byl znalý situace, kterou si prošel Pubtran počátkem roku 2015, obával jsem se Chapsu a jejich nepříjemného vedení a kontaktoval Seznam, zda je jejich API pro jízdní řády veřejné, popřípadě jaké jsou podmínky jejího využívání. Naneštěstí odpověď, kterou jsem obdržel, byla spíše taková, jakou jsem očekával od Chapsu – tedy zamítavá a nicneříkající.

20. srpna 2015: „Momentálně neplánujeme API zveřejňovat. Pokud bychom změnili stanovisko v této věci dáme Vám vědět.“

Naštěstí jsem 4. října na internetu objevil novou aplikaci pro Android, pojmenovanou „MHD Tabule“. Ihned jsem kontaktoval autora a zeptal se ho, jak získává data pro svou aplikaci – a k mému překvapení to byl Chaps, od nějž jsem hned následující den dostal odkaz k veřejné dokumentaci jejich API. A zde to vše začalo. Jen tak mimochodem, můj pohled na Chaps se také mírně upravil – vzhledem k tomu, jaké problémy má samotná firma za sebou, ji stále nemám příliš v oblibě, ale komunikace s lidmi v ní byla doposud velmi vstřícná a plodná. Dva lidé, Bohumír Bednařík a Tomáš Chlebničan mi byli velmi nápomocni a patří jim velké díky za jejich pomoc.

Zpočátku jsem neměl přístup k celému API, jen veřejně dostupnému subsetu. Z toho důvodu pokrývala má aplikace původně pouze MHD Prahy a evropské Vlaky a vyhledávání bylo rychlostně omezeno. Přesto se pro mé pražské pojíždění jednalo o výrazné vylepšení oproti hledání spojení na ještě pomalejším a datově výrazně náročnějším webu.

Velké verze aplikace

První verze, 0.0.4 (7.10.2015)

Trvalo to jen 3 dny a měl jsem funkční koncept, takže jsem už 7. října publikoval první verzi do obchodu Ubuntu. Nejvíce času mi zabralo pochopení samotného API a tvorba aplikace, jelikož jsem byl v QML stále ještě relativně nováčkem. Bohužel nemám obrázky prvních verzí mé aplikace, každopádně se v tomto okamžiku jednalo ještě o viditelně rozdělanou práci obsahující velké množství chyb.

0.1.2 (8.10.2015)

Oprava zobrazování nápovědy zastávek, oprava scrollování stránky, přidána možnost kopírovat spojení do clipboardu, možnost vyhledávat vlaková spojení, poslední vyhledávání uloženo a předvyplněno po startu aplikace, spousta vizuálních změn a další menší opravy a funkce.

0.2 (11.10.2015)

Uvedení grafické reprezentace vyhledaného spojení – a poznámka, v níž varuji před upgradem, jelikož mé rozšíření nebylo zatím, na rozdíl od textové reprezentace, příliš spolehlivé.

// Víceméně opraveno ve verzi 0.2.3.1 (11.10.2015).

0.2.5.0 (15.10.2015)

Přidána obrazovka s detailem spojení

0.3.3 (20.11.2015)

Zobrazování pozice vozidla na základě času v jízdním řádu v detailu spojení.

0.4 (5.1.2016)

Aktualizace na nejnovější komponenty Ubuntu. Nový a tenčí vzhled hlavičky aplikace, odstranění modrého pozadí hlavičky kvůli změnám v komponentě, ukládání názvů zastávek pro jednotlivé dopravce pro použití offline/rychlejší vyhledávání, rozšířená obrazovka nastavení a první anglický překlad.

0.5.3 (10.1.2016)

Schopnost procházení v seznamu vyhledávaných spojení na předcházející a následující spoje.

0.6 (21.1.2016)

Společnost Chaps mi poskytla privátní klíč pro jejich API – díky čemuž se aplikace po přepsání části kódu do C++ (privátní klíč zveřejněn jen v binární podobě, nikoliv přímo) rozrostla o kompletní jízdní řády poskytované serverem idos.cz, tj. MHD ČR i SR, evropské vlaky, letadla a místní integrované systémy. Kromě toho v této verzi došlo ke změnám vzhledu aplikace, novým možnostem nastavení a byl přidán easter egg.

0.7 (4.2.2016)

Uvedení adaptivního rozvržení aplikace – v režimu na šířku a na větších displejích je aplikace zobrazena v režimu dvou sloupců.

Kromě zde uvedených verzí, které přinesly větší viditelné změny, jsem v aplikaci co chvíli prováděl změny v kódu uvnitř, přičemž mohu s radostí konstatovat, že většinu nepořádku vzniklého při startu vývoje této aplikace jsem již odstranil. Několikrát jsem kompletně přepsal některé části aplikace, ať už pro opravu chyb, větší efektivnost nebo jen lepší čitelnost kódů a jeho čistotu.

Stav dnes

Aktuální verze aplikace je dobře použitelná jak na tabletu tak na mobilním telefonu. Díky privátnímu klíči je svižná a snad i spolehlivá. Dokáže hledat spojení mnoha dopravců i jejich kombinací a ukládá si některá data pro rychlejší manipulaci na pomalém připojení či offline, což se hodí zejména při vyhledávání v metru či na horách.

Co bude dál?

Budoucí vývoj aplikace je do velké míry ve hvězdách, jelikož nejsem schopen nic zaručit, a to jak mou vlastní činnost tak ani případné zrušení platnosti privátního klíče získaného od společnosti Chaps. I přes to však plánuji aplikaci dále zdokonalovat a opravovat nalezené chyby. Vzhledem ke skutečnosti, že ji sám aktivně a hojně využívám, jsem poměrně motivován na aplikaci i nadále pracovat. Do budoucna bych si přál především doplnit podporu pro předvyplnění výchozí stanice podle aktuální lokace přístroje s Ubuntu – jak toho ale s poskytnutým API docílit a zda je to vůbec možné jsem zatím bohužel nebyl schopen zjistit.

Aplikaci Transport pro Ubuntu si od října stáhlo 29 unikátních uživatelů, většina po poslední aktualizaci OTA-9, jelikož má aplikace není od počátku ledna se starými verzemi systému kompatibilní. Ačkoliv se toto číslo nezdá být příliš vysoké, předpokládám, že u nás o mnoho více uživatelů mobilního Ubuntu nebude. Číslo ale postupně roste, a třeba po MWC 2016 a uvedení další skupiny zařízení s operačním systémem Ubuntu poroste ještě rychleji.

Nově je zdrojový kód aplikace zveřejněn pod licencí GPLv3 a je dostupný v celém svém rozsahu (kromě privátního klíče) na GitHubu: https://github.com/zubozrout/Transport

V obchodě Ubuntu najdete mou aplikaci zde: https://uappexplorer.com/app/transport.zubozrout

Závěrem bych chtěl ještě jednou velice poděkovat lidem, kteří mi při vývoji aplikace pomáhali. V životě jsem nedělal žádný podobný projekt a práce na něm mě dosud velice naplňovala. Z dobrého hodnocení, které jsem zatím v obchodě Ubuntu obdržel, mám radost a těší mě, že z ní nemám užitek jen já, ale i několik dalších „nadšenců“ s operačním systémem Ubuntu v našich končinách.

Autor: Martin Kozub | pondělí 15.2.2016 8:00 | karma článku: 10.81 | přečteno: 385x

Další články blogera

Tato rubrika neobsahuje žádné články...

Další články z rubriky Věda

Dana Tenzler

Barvy v kuchyni (3) - přírodní červená

Blíží se Velikonoce. Napadlo vás někdy, čím se vlastně barví velikonoční vajíčka? Jakými přírodními nebo umělými barvivy se dá jídlo barvit dnes a jak tomu bylo v minulosti? (délka blogu 3 min.)

28.3.2024 v 8:00 | Karma článku: 11.27 | Přečteno: 106 | Diskuse

Zdenek Slanina

Problém co začal už Arrhenius: Kysličník uhličitý a doba ledová - a teď i sopečné aktivity

Už S. Arrhenius řešil vztah obsahu CO2 v atmosféře i k době ledové. Tehdy hlavně ukázal, že jeho navyšování v atmosféře povede k nárůstu její teploty. Nyní výzkumy z univerzity v Sydney ukazují na roli sopek v nástupu ochlazování.

26.3.2024 v 5:22 | Karma článku: 23.90 | Přečteno: 510 |

Martin Tuma

Berte Viagru, dokud si na to vzpomenete

Rozsáhlá studie odhalila významné snížení výskytu Alzheimerovi nemoci u pravidelkných uživatelů Viagry

25.3.2024 v 14:17 | Karma článku: 13.60 | Přečteno: 303 | Diskuse

Dana Tenzler

Barvy v kuchyni (2) - průmyslová žlutá

Blíží se Velikonoce. Napadlo vás někdy, čím se vlastně barví velikonoční vajíčka? Jakými přírodními nebo umělými barvivy se dá jídlo barvit dnes a jak tomu bylo v minulosti? (délka blogu 3 min.)

25.3.2024 v 8:00 | Karma článku: 14.42 | Přečteno: 187 | Diskuse

Dana Tenzler

Barvy v kuchyni (1) - přírodní žlutá

Blíží se Velikonoce. Napadlo vás někdy, čím se vlastně barví velikonoční vajíčka? Jakými přírodními barvivy se dá jídlo barvit dnes a jak tomu bylo v minulosti? První díl seriálu o barvách.

21.3.2024 v 8:00 | Karma článku: 18.10 | Přečteno: 288 | Diskuse
Počet článků 27 Celková karma 0.00 Průměrná čtenost 939

O autorovi:
Aktuálně student, jehož zájmem jsou především otevřené technologie a organizace, podporující opensource.

Rovněž uživatel Ubuntu, včetně své mobilní varianty Ubuntu Touch (vyvýjený komunitou UBports).

» Předchozí blog

Osobní web

PS: Linux používám od roku 2004. Za tu dobu stihl obsadit většinu mobilních zařízení a postupně dobývá i segment osobních počítačů. Nevěřte lidem, kteří vám budou tvrdit, že Linux nelze používat nebo že není uživatelsky přívětivý. Kdyby tomu tak skutečně bylo, nevznikly by projekty jako Google Android nebo Ubuntu.

Můj LinkedIn

Seznam rubrik

více

Rána pro britskou monarchii. Princezna Kate má rakovinu, chodí na chemoterapii

Britská princezna z Walesu Kate (42) se léčí s rakovinou. Oznámila to sama ve videu na sociálních sítích poté, co se...

Smoljak nechtěl Sobotu v Jáchymovi. Zničil jsi nám film, řekl mu

Příběh naivního vesnického mladíka Františka, který získá v Praze díky kondiciogramu nejen pracovní místo, ale i...

Rejžo, jdu do naha! Balzerová vzpomínala na nahou scénu v Zlatých úhořích

Eliška Balzerová (74) v 7 pádech Honzy Dědka přiznala, že dodnes neví, ve který den se narodila. Kromě toho, že...

Pliveme vám do piva. Centrum Málagy zaplavily nenávistné vzkazy turistům

Mezi turisticky oblíbené destinace se dlouhá léta řadí i španělská Málaga. Přístavní město na jihu země láká na...

Kam pro filmy bez Ulož.to? Přinášíme další várku streamovacích služeb do TV

S vhodnou aplikací na vás mohou v televizoru na stisk tlačítka čekat tisíce filmů, seriálů nebo divadelních...