Jízdní řády na telefonech s Ubuntu. Vývoj, aktuální stav a výhled do budoucna.
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.
Jedna z prvních verzí ještě s textovým zobrazením |
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.
Aktuální verze aplikace |
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.
Martin Kozub
Meizu MX4 v edici s Ubuntu

Jak se pracuje s aktuální vlajkovou lodí mezi zařízeními s Ubuntu? A stojí pořízení takového telefonu vůbec za to nebo je to jen plýtvání penězi a je lepší investovat do něčeho standardnějšího? Nejen to se zde pokusím objasnit.
Martin Kozub
Nové Ubuntu z pohledu uživatele a vývojáře

Je to zhruba půl roku, kdy jsem poprvé okusil Ubuntu na svém Nexusu. Od prvního momentu mě jeho možnosti lákaly, ale celková funkčnost a stabilita systému překonala mou motivaci a se skloněnou hlavou mě dotlačila zpět k původnímu Androidu. Nenechalo mě to ale spát a zhruba před měsícem jsem se opět odvážil prozkoumat divoké vody mobilního Ubuntu, u kterého jsem díky půl roku aktivního vývoje, a také pár modifikacích na mé straně, konečně zůstal.
Martin Kozub
Linux je stále populárnější, všude

Microsoftu se už nedaří tak jako za starých časů, a jejich výdělky jsou dokonce částečně pokryty desátky od prodejců linuxových zařízení, převážně Androidu. Ale ani Apple už nemá takovou moc a další jiní konkurenti ve skutečnosti ani moc nejsou. Nynější horečku odstartovala mocná herní korporace Valve a pomáhají s ní i některé další velké firmy a organizace, jejichž skupina postupně nabírá na síle i mohutnosti.
Martin Kozub
Ubuntu Touch, aneb nezvyklé mládě lenochoda dvouprstého

Před pár dny jsem se rozhodl nainstalovat a vyzkoušet Ubuntu Touch na svém tabletu Nexus 7 2013 LTE. Ačkoliv se nejedná o oficiálně podporovaný hardware, Canonical spravuje pouze verzi pro Nexus 7 2013 WiFi, veškeré hardwarové komponenty jsou i na tomto tabletu plně funkční, ale jen většinou ...
Martin Kozub
Webový prohlížeč Maxthon vydán pro Linux

Po několikaměsíčním vývoji byla konečně uvolněna první veřejná verze webového prohlížeče Maxthon pro Linux. Ten poměrně nově staví na Chromiu, svobodné verzi populárního Chrome od Googlu a je plně kompatibilní s jeho doplňky.
Další články autora |
Válku vyřeší konec vojenské pomoci, řekl Putin Trumpovi. Probrali hokej i vztahy
Prezidenti Ruska a USA Vladimir Putin a Donald Trump v úterním telefonátu „podrobně a otevřeně“...
Bombové hrozby v Praze. Policie evakuovala tisíce lidí, odklonila dopravu
V Praze se ve čtvrtek večer uskutečnily masové evakuace kvůli nahlášeným bombám v pražské Lucerně a...
Proč se to zvrtlo? Trump čekal boxerský pás, ale Zelenskyj ukázal fotky se zajatci
Američtí představitelé začali věřit ruskému prezidentovi Vladimirovi Putinovi, ačkoliv jejich...
Masivní hřib nad Ruskem. Ukrajinci zasáhli základnu strategických bombardérů
Saratovská oblast se v noci stala cílem ukrajinských dronů. Bezpilotní stroje údajně zasáhly i...
Daňové přiznání za rok 2024: využijte formuláře pro internetové podání
Jako každý rok i letos musí mnoho podnikatelů, drobných živnostníků i další osoby samostatně...
Japonsko rozpouští Církev sjednocení, podle soudu ohrožuje veřejné blaho
Rozpuštění, likvidace majetku a konec daňových výjimek - to teď s pravděpodobností čeká japonskou...
Jižní Koreu nadále sužují rozsáhlé požáry. Evakuuje stovky občanů a tisíce vězňů
Jižní Korea evakuovala stovky obyvatel z jihovýchodu země, který kvůli silnému větru také...
Pět přepravců v ČR porušilo opatření proti slintavce a kulhavce, kontroly se zpřísní
Mimořádná veterinární opatření, která vstoupila v platnost kvůli nárustu slintavky a kulhavky v...
Elektrárna v Záporoží je dle mezinárodního práva naše, krotí Moskva Trumpův apetit
Ruské ministerstvo zahraničí vydalo v úterý prohlášení, že Záporožská jaderná elektrárna patří...

Prodej, Obchodní prostory, 63 m2 - Dřínov
Dřínov, okres Kroměříž
4 200 000 Kč
- Počet článků 27
- Celková karma 0
- Průměrná čtenost 940x
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