S končící érou Androidu Lollipop by se slušelo a patřilo zmínit, co se s nejpoužívanějším operačním systémem dělo mimo zorné pole hlavních značek. Hrdiny dnešního článku proto nebude Sony, Samsung ani LG, ale rovo89 nebo Chainfire, asi nejznámější vývojáři z fóra XDA Developers. Nejsou však sami, na custom ROMkách pracuje spousta nadšenců a my se podíváme, co provedli s Androidem 5.x.
Vývoj Androidu ve fázi Kitkat byl svým způsobem unikátní. Objevily se plovoucí notifikace, různé vysouvací nástrojové lišty, začali jsme si hrát s navigační lištou a kruhem z ní přístupným, využívali jsme různé hodnoty DPI pro přepínání mezi tabletovým a telefonním rozhraním.
Zásadní změnu ve vývoji znamenal Xposed Framework, který všemožné modifikace nabídl prakticky všem, co byli ochotni si telefon rootnout. Najednou nebylo nutné flashovat ROMky, což pomohlo v popularitě hlavně čínským značkám.
Jenže Lollipop znamenal čáru přes rozpočet. Změny ve virtuálním stroji byly tak významné, že přenesení frameworku na nový Android se povedlo oficiálně až v létě letošního roku a ještě ne tak elegantně, jako u verzí 4.x. Teď už potřebujete custom recovery a ještě rozhodovat, kterou architekturu váš telefon používá – a vysvětlujte nadšenému kamarádovi, jaké jsou rozdíly mezi x86, ARM nebo ARM 64 a ještě ho varujte, že Sony a Samsung mají s frameworkem pořád problémy…
V pátém Androidu se zkrátka z Xposed stal jakýsi leštič drobných nedostatků a hlavní vývoj se přesunul zpátky do samotných custom ROM.
Android 5.0 a 5.1 výborně mapují, jak komplikovaný je vývoj. Jako první se zpravidla objeví maličkosti, jako je přidání nabídky pro restart při vypínání telefonu. Jistě, něco takového je pro developery skoro nutnost. Posléze přibývají drobnosti, jako ztišení otravných zvuků, zakázání klávesnicím, aby zabraly celý displej, ovládání kurzoru tlačítky hlasitosti… Ale žádné velké kroky.
Dříve se dala využít kontextová nabídka ve spuštěných aplikacích, u lízátka už ne. Alespoň, že se vývojáři dokázali zbavit všudypřítomné lišty vyhledávání.
Jako první velký krok se objevila změna DPI pro jednotlivé aplikace, což si můžete představit jako zvětšení/zmenšení jejich rozhraní. Bohužel však Google opustil tabletové rozhraní, takže samotné využití zůstalo spíše symbolické.
Dlouho se čekalo i na modifikace rychlých přepínačů. Ještě půl roku po vydání Lollipopu bylo běžné, že celý řádek notifikací zabral posuvník regulující jas. Dokonce později, než umístění čtyř ikon vedle sebe, což bylo na Kitkatu naprosto samozřejmé.
Google zřejmě předpokládá, že jas měníme každou minutu. Pryč s posuvníkem, dejme ho do stavového řádku!
Jakmile se ale podobná funkce objevila, našli jste ji za týden prakticky všude. Stalo se tak, že jednotlivé ROMky ztratily svou originální tvář. Každý vývojář si dokázal najít obrázek (samozřejmě v duchu Materiál designu), kterým své dítko chtěl odlišit, ale pod touto maskou se jednotlivé verze podobaly jako vejce vejci.
Výběr se tak smrštil na zodpovězení pár otázek. Vyvíjí pro můj telefon někdo custom ROM? Ano – ne. Chci čistý Android? Ano – ne. Aktualizuje ten který vývojář svého „potomka“? Ano – ne. A konec, protože přepínače dokáže měnit každá ROMka, stejně tak uspořádání navigační lišty, nabídky spuštěných aplikací nebo ikon ve stavové liště.
Ale originalita? Jen výjimečně.
Proč se ale Android tak smršťuje? Napadá mě pár možností a věřím, že byste vymysleli i další. Jako první bych jmenoval pohlcování jednotlivých vylepšení do základní, společné verze. Skvělým případem takového chování jsou Heads-up, které nahradily Halo i Hover, z funkce Peek od Paranoid Androidu se stal ambientní displej a kontrola přístupových práv se střídavě objevuje a mizí, ale je jisté, že o ní Google ví. Ačkoli diverzitu postrádám, vidím i klady: Android přejímá jen funkce prověřené zkušeností. Můžete to nazývat integrace „best practices“, můžete si stěžovat na nedostatek kreativity, ale obecně je to regulérní a úspěšný styl vývoje. Za zvednutí obočí stojí i fakt, že Heads-up se v Androidu 6.0 už nazývají Peek, zřejmě proto, abychom si „dobře“ rozuměli, o čem je řeč.
Zastánci senzorových tlačítek to neocení, ale navigační kruh je praktický. Ale žádná jeho vylepšení se neobjevila.
Druhý důvod stagnujícího vývoje může být i sebereflexe vývojářů, možnosti distribuce a následné monetizace. Tolik cizích slov v jedné větě, rád je však vysvětlím.
Sebereflexí myslím soudnost ohledně využití funkce. Je dostatečně dobrá, aby se stala součástí operačního systému? Využije ji někdo kromě samotného programátora? Je dostatečně kvalitní, aby nepotřebovala další updaty? Pokud bych si osobně na jedinou otázku odpověděl záporně, přikláněl bych se k distribuci v podobě aplikace.
Rozšíření a zaplacení vývoje spolu úzce souvisí. Bohužel komunitní (čtěte nadšenecký) přístup je spíše výjimkou a počet instalací vývojáře živí, na rozdíl od publikování otevřeného kódu. Pro programátory je tak výhodnější jít cestou aplikace a na systém z vysoka kašlat.
Designový jazyk Holo nahradilo lízátko Material designem, simulujícím dění na papíře a shrnutým větou: „Nic nevzniká z ničeho.“ Kdo chce být moderní, ctí jeho pravidla, což se promítá i do různých nástrojů na úpravu grafických témat prostředí telefonu.
Pokud bych měl vybrat jednu významnou novinku, která se v Androidu Lollipop objevila, sáhl bych po tzv. layers, neboli Runtime Resource Overlay. Dlužno však dodat, že RRO je spíš objevená Amerika.
Layers jsou prostředkem k ovlivnění grafiky systému podobně jako konkurenční Theme Engine, jakýsi nástroj k přemalování šedých tlačítek na modrá a kulatých rohů v hranaté. Podstatné je, že RRO už je součástí Androidu, využívá ho např. Sony ve své nástavbě.
Layers se aplikují na aplikace zvlášť, Theme Engine přebarvuje celý systém. Akorát ne do hloubky, aneb: když dva dělají totoéž, není to totéž.
Podle čeho rozhodovat? Dvěma slovy: podle sebe. Theme engine je velmi intuitivní, stačí zvolit, zda chcete upravit fonty, tapety, animace nebo grafický styl a potvrdit. Layers jsou spíše dekorací pro jednotlivé části systému. Jedna vrstva zabalí grafiku rozhraní systému, druhá přebarví Google Play na modro, třetí přemaluje třeba kalendář na žluto.
Cesta k výsledku je sice delší, můžete však celý telefon sladit do jednoho stylu napříč většinou aplikací, což vypadá profesionálněji. O revoluci však nemůže být řeč.
Vzhledem k rozvětvenosti celého ekosystému Google a Androidu je myšlenka na migraci základních funkcí do aplikací geniální. Stačí vědět, že chytré hodinky mají Bluetooth a telefon taky a o komunikaci se už starají Služby Google, aplikace Fit a další – je to mnohem robustnější řešení než integrovat podobné schopnosti přímo do systému. Ostatně, představte si, že by Google dokázal podobným systémem lepit i záplaty typu Stagefright, nebylo by to skvělé?
Už jsem zmínil, že Lollipop spíše vracel staré funkce do nového systému. Mohli bychom říci, že jsme zase na startu, akorát v novém závodu. Ale není tomu tak.
Plovoucí okna zvládal Kitkat a horko těžko se přizpůsobil i Lollipop. Škoda, že část aplikací o tuto schopnost přišla.
Názorným příkladem mohou být právě plovoucí okna. Ne každá aplikace je podporuje. I systémové aplikace ve zmenšené podobě padají, dvě okna vedle sebe rovněž neumístíte a samotné cesty ke spuštění jsou povážlivě křivolaké. Ve výsledku pak máte dojem, že si všechny vychytávky Androidu rozdělíte na fungující a experimentální, u kterých se musíte učit, jak fungují (a hlavně jak ne).
Jestli jste viděli futuristické představy z Filmových týdeníků, víte, jak moc má fantazie navrch nad vědou. Ani v otázce Androidu si netroufám věštit, když i TouchWiz mluví o dietě a Sony pošilhává po čistším systému. Můžeme přebujelé nástavby zatracovat, ale kdo jiný, než jejich designéři, je placený za vymýšlení vylepšení, která zpětně přejímají fóra jako XDA v nezávislém provedení?
Technické možnosti jsou neuvěřitelné a jen koncoví zákazníci (a jejich peněženky) budou hnacím motorem inovací.
S končící érou Androidu Lollipop by se slušelo a patřilo zmínit, co se s nejpoužívanějším operačním systémem dělo mimo zorné pole hlavních značek. Hrdiny dnešního článku proto nebude Sony, Samsung ani LG, ale rovo89 nebo Chainfire, asi nejznámější vývojáři z fóra XDA Developers. Nejsou však sami, na custom ROMkách pracuje spousta nadšenců a my se podíváme, co provedli s Androidem 5.x.
Vývoj Androidu ve fázi Kitkat byl svým způsobem unikátní. Objevily se plovoucí notifikace, různé vysouvací nástrojové lišty, začali jsme si hrát s navigační lištou a kruhem z ní přístupným, využívali jsme různé hodnoty DPI pro přepínání mezi tabletovým a telefonním rozhraním.
Zásadní změnu ve vývoji znamenal Xposed Framework, který všemožné modifikace nabídl prakticky všem, co byli ochotni si telefon rootnout. Najednou nebylo nutné flashovat ROMky, což pomohlo v popularitě hlavně čínským značkám.
Jenže Lollipop znamenal čáru přes rozpočet. Změny ve virtuálním stroji byly tak významné, že přenesení frameworku na nový Android se povedlo oficiálně až v létě letošního roku a ještě ne tak elegantně, jako u verzí 4.x. Teď už potřebujete custom recovery a ještě rozhodovat, kterou architekturu váš telefon používá – a vysvětlujte nadšenému kamarádovi, jaké jsou rozdíly mezi x86, ARM nebo ARM 64 a ještě ho varujte, že Sony a Samsung mají s frameworkem pořád problémy…
V pátém Androidu se zkrátka z Xposed stal jakýsi leštič drobných nedostatků a hlavní vývoj se přesunul zpátky do samotných custom ROM.
Android 5.0 a 5.1 výborně mapují, jak komplikovaný je vývoj. Jako první se zpravidla objeví maličkosti, jako je přidání nabídky pro restart při vypínání telefonu. Jistě, něco takového je pro developery skoro nutnost. Posléze přibývají drobnosti, jako ztišení otravných zvuků, zakázání klávesnicím, aby zabraly celý displej, ovládání kurzoru tlačítky hlasitosti… Ale žádné velké kroky.
Dříve se dala využít kontextová nabídka ve spuštěných aplikacích, u lízátka už ne. Alespoň, že se vývojáři dokázali zbavit všudypřítomné lišty vyhledávání.
Jako první velký krok se objevila změna DPI pro jednotlivé aplikace, což si můžete představit jako zvětšení/zmenšení jejich rozhraní. Bohužel však Google opustil tabletové rozhraní, takže samotné využití zůstalo spíše symbolické.
Dlouho se čekalo i na modifikace rychlých přepínačů. Ještě půl roku po vydání Lollipopu bylo běžné, že celý řádek notifikací zabral posuvník regulující jas. Dokonce později, než umístění čtyř ikon vedle sebe, což bylo na Kitkatu naprosto samozřejmé.
Google zřejmě předpokládá, že jas měníme každou minutu. Pryč s posuvníkem, dejme ho do stavového řádku!
Jakmile se ale podobná funkce objevila, našli jste ji za týden prakticky všude. Stalo se tak, že jednotlivé ROMky ztratily svou originální tvář. Každý vývojář si dokázal najít obrázek (samozřejmě v duchu Materiál designu), kterým své dítko chtěl odlišit, ale pod touto maskou se jednotlivé verze podobaly jako vejce vejci.
Výběr se tak smrštil na zodpovězení pár otázek. Vyvíjí pro můj telefon někdo custom ROM? Ano – ne. Chci čistý Android? Ano – ne. Aktualizuje ten který vývojář svého „potomka“? Ano – ne. A konec, protože přepínače dokáže měnit každá ROMka, stejně tak uspořádání navigační lišty, nabídky spuštěných aplikací nebo ikon ve stavové liště.
Ale originalita? Jen výjimečně.
Proč se ale Android tak smršťuje? Napadá mě pár možností a věřím, že byste vymysleli i další. Jako první bych jmenoval pohlcování jednotlivých vylepšení do základní, společné verze. Skvělým případem takového chování jsou Heads-up, které nahradily Halo i Hover, z funkce Peek od Paranoid Androidu se stal ambientní displej a kontrola přístupových práv se střídavě objevuje a mizí, ale je jisté, že o ní Google ví. Ačkoli diverzitu postrádám, vidím i klady: Android přejímá jen funkce prověřené zkušeností. Můžete to nazývat integrace „best practices“, můžete si stěžovat na nedostatek kreativity, ale obecně je to regulérní a úspěšný styl vývoje. Za zvednutí obočí stojí i fakt, že Heads-up se v Androidu 6.0 už nazývají Peek, zřejmě proto, abychom si „dobře“ rozuměli, o čem je řeč.
Zastánci senzorových tlačítek to neocení, ale navigační kruh je praktický. Ale žádná jeho vylepšení se neobjevila.
Druhý důvod stagnujícího vývoje může být i sebereflexe vývojářů, možnosti distribuce a následné monetizace. Tolik cizích slov v jedné větě, rád je však vysvětlím.
Sebereflexí myslím soudnost ohledně využití funkce. Je dostatečně dobrá, aby se stala součástí operačního systému? Využije ji někdo kromě samotného programátora? Je dostatečně kvalitní, aby nepotřebovala další updaty? Pokud bych si osobně na jedinou otázku odpověděl záporně, přikláněl bych se k distribuci v podobě aplikace.
Rozšíření a zaplacení vývoje spolu úzce souvisí. Bohužel komunitní (čtěte nadšenecký) přístup je spíše výjimkou a počet instalací vývojáře živí, na rozdíl od publikování otevřeného kódu. Pro programátory je tak výhodnější jít cestou aplikace a na systém z vysoka kašlat.
Designový jazyk Holo nahradilo lízátko Material designem, simulujícím dění na papíře a shrnutým větou: „Nic nevzniká z ničeho.“ Kdo chce být moderní, ctí jeho pravidla, což se promítá i do různých nástrojů na úpravu grafických témat prostředí telefonu.
Pokud bych měl vybrat jednu významnou novinku, která se v Androidu Lollipop objevila, sáhl bych po tzv. layers, neboli Runtime Resource Overlay. Dlužno však dodat, že RRO je spíš objevená Amerika.
Layers jsou prostředkem k ovlivnění grafiky systému podobně jako konkurenční Theme Engine, jakýsi nástroj k přemalování šedých tlačítek na modrá a kulatých rohů v hranaté. Podstatné je, že RRO už je součástí Androidu, využívá ho např. Sony ve své nástavbě.
Layers se aplikují na aplikace zvlášť, Theme Engine přebarvuje celý systém. Akorát ne do hloubky, aneb: když dva dělají totoéž, není to totéž.
Podle čeho rozhodovat? Dvěma slovy: podle sebe. Theme engine je velmi intuitivní, stačí zvolit, zda chcete upravit fonty, tapety, animace nebo grafický styl a potvrdit. Layers jsou spíše dekorací pro jednotlivé části systému. Jedna vrstva zabalí grafiku rozhraní systému, druhá přebarví Google Play na modro, třetí přemaluje třeba kalendář na žluto.
Cesta k výsledku je sice delší, můžete však celý telefon sladit do jednoho stylu napříč většinou aplikací, což vypadá profesionálněji. O revoluci však nemůže být řeč.
Vzhledem k rozvětvenosti celého ekosystému Google a Androidu je myšlenka na migraci základních funkcí do aplikací geniální. Stačí vědět, že chytré hodinky mají Bluetooth a telefon taky a o komunikaci se už starají Služby Google, aplikace Fit a další – je to mnohem robustnější řešení než integrovat podobné schopnosti přímo do systému. Ostatně, představte si, že by Google dokázal podobným systémem lepit i záplaty typu Stagefright, nebylo by to skvělé?
Už jsem zmínil, že Lollipop spíše vracel staré funkce do nového systému. Mohli bychom říci, že jsme zase na startu, akorát v novém závodu. Ale není tomu tak.
Plovoucí okna zvládal Kitkat a horko těžko se přizpůsobil i Lollipop. Škoda, že část aplikací o tuto schopnost přišla.
Názorným příkladem mohou být právě plovoucí okna. Ne každá aplikace je podporuje. I systémové aplikace ve zmenšené podobě padají, dvě okna vedle sebe rovněž neumístíte a samotné cesty ke spuštění jsou povážlivě křivolaké. Ve výsledku pak máte dojem, že si všechny vychytávky Androidu rozdělíte na fungující a experimentální, u kterých se musíte učit, jak fungují (a hlavně jak ne).
Jestli jste viděli futuristické představy z Filmových týdeníků, víte, jak moc má fantazie navrch nad vědou. Ani v otázce Androidu si netroufám věštit, když i TouchWiz mluví o dietě a Sony pošilhává po čistším systému. Můžeme přebujelé nástavby zatracovat, ale kdo jiný, než jejich designéři, je placený za vymýšlení vylepšení, která zpětně přejímají fóra jako XDA v nezávislém provedení?
Technické možnosti jsou neuvěřitelné a jen koncoví zákazníci (a jejich peněženky) budou hnacím motorem inovací.