Pár slov k "Android design guide"


Skoro po třech letech jsem si objednal a koupil na tvorbu grafiku další software, tentokrát Adobe Fireworks CS5.
V prosinci jsem si vyzkoušel trial verzi a bylo rozhodnuto. Tenhle žlutej ohňostroj mě přesvědčil, že je to skvělý nástroj na prototypování aplikací a vývoj grafiky nejen pro mobilní zařízení. Navíc třeba od Adobe Photoshop je o 2/3 levnější (cca 7300kč s DPH).
Fireworks jsem kupoval zde: http://www.svetsoftware.cz/adobe-fireworks-cs5. Obchod dodal do třetího dne. Takže maximální spokojenost.
Haleluja, jdu provětrat CD mechaniku :-)
Docela rád bych na konci přístího roku porovnal, jak si stojí s návštěvností tento blog, proto jsem vytípal tři obrazovky z Google Analytics.
Příští rok porovnáme :-)
Na konci roku se snažím vždycky bilancovat svoje výsledky a to ve všech kruzích svého života. Na tomto blogu se hlavně věnuji grafice a podnikání na internetu, a tak bych to chtěl pro následující rok zachovat. Pojďme se za tím ohlédnout.
Původně jsem tu chtěl sdílet můj excelový sheet na počítání jednotlivých dpi v Androidu, ale k mému údivu, můj kolega (a kamarád :-) ) Martin Cohen udělal online webovou kalkulačku. Najdete jí zde: http://coh.io/adpi/.
O co tedy jde...
Jedná se o jednoduchý nástroj, využitelný pro designéry, kteří připravují grafiku na platformu Android. Kalkulačka dokáže, po zadání rozměru v jedné densitě, dopočítat ostatní density, což se hodí hlavně při vytváření řezů a následně pro přípravu resources. Pro příklad, pokud víme že ikonka má rozměry pro xdpi = 48x48px, kalkulačka nám dopočítá hdpi = 36x36px, mdpi = 24x24px, ldpi = 18x18px. Pokud zadáme číslo nedělitelné třemi, zobrazí se na jakou hodnotu by bylo vhodné číslo zaokrouhlit.
Martine, super věc. Díky za ní!
Je na čase vydat další díl. Když to shrnu, tak za těch 6 dílů jsme se naučili základní pojmy, jak na samotnou tvorbu grafiky pro Android, ukázali jsme si, jak dělat skicy a modely, zkreslili jsme v grafickém programu aplikaci Vánočníček. Takže nám zbývají dvě poslední oblasti. A to jak grafiku rozřezat a strukturvat pro programátora a poslední díl se bude zabývat podpůrnými materiály jako jsou ikonky, bannery a widgety.
Nejprve rychlá teorie. Pokud máme hotový grafický design, máme rozkreslené všechny screeny, včetně všech stavů jednotlivých komponent. Jsme s designem spokojeni, přišel ten pravý čas na rozřez jednotlivé grafiky. Již před kreslením Vánočníčku jsme si rozvrhli, že naše nejvyšší podporovaná densita je HDPI, kreslili jsme tedy v rozlišení 480x800px, takže i v tomto rozlišení si ukážeme, jak design nařezat. Pokud bychom chtěli, jednotlivé komponenty si můžeme nazmenšovat a nařezat i MDPI a LDPI, ale to nebude obsahem tohoto článku.
Znám dvě varianty řezání. První je o tom, že pro každou komponenentu si udělám nové plátno o rozměrech té komponenty a uložím obraz jako PNG. Tahle technika se dá praktikovat u menších projektů max do cca 15-20 resourců. Pak je proces ukládání únavný, s různými stavy dochází k chybám vlivem naší nepřesnosti a chybí zpětná editovatelnost. Například, pokud změníme design jednoho prvku a chceme ho rozkopírovat na prvky stejného typu (typicky ikonky, tlačítka..), tak musíme všechny řezy dělat odznova. Téhle variantě se dnes vyhneme a ukážeme si efektivnější postup.
Jdeme na to. Otevřte si design jednotlivých screenů Vánočníčku a vytvořte si ještě jedno plátno, pro naše účely bude stačit 1600x1000px. Toto nové plátno nám bude sloužit jako rozřezové PSD. Do něho budeme postupně přetahávat jednotlivé komponenty, rovnat je a připravovat řezy. Než tak, ale začnete dělat, je potřeba se zamyslet, které komponenty budou řešené programově a které jako obrázek -> PNG. Takže: obsahové texty - psané nativním fontem se řezat nebudou, ani plochy, které jsou vyplněné solid barvou není potřeba řezat. Programátor má totiž několik nástrojů, díky kterým zvládne jednoduché vybarvení a nakreslení tvaru (kruh, čtverec, obdelník, elipsa). Aby to zvládl, potřebuje znát jen hex opis barvy (např.: #000000), velikost fontu, řádkování, barva a směr stínu. Vše ostatní je potřeba připravit jako PNG. Naše aplikace Vánočníček neobsahuje "složité" komponenty, takže tvorbu 9patch taky necháme do jiného článku.
Začínám vždy od prvního screenu. Což je pro náš příklad Splash screen. Ten bychom chtěli udělat tak, že po tapnutí na jakékoliv místo ve screenu se zobrazí Home screen. To znamená, že na jednotlivých komponentách, které obsahuje nám nezáleží a také víme, že komponenty, které se na něm vyskytují, se už v celé aplikaci (v této velikosti) neobjeví. Takže nejjednodušší ho bude vyříznout celý. Přetáhněte ho na nové plátno a zarovnejte na mřížku (ta musí být stejná jako v designu screenů, pro náš příklad tedy 8x8px.).
Vezmeme si nástroj pro řezání (C) a obtáhneme celou vrstvu splash screenu, poté klikneme pravým tlačítkem a dáme upravit volby řezu, kde si přejmenuje řez na "bg_screen". Na jménu nezáleží, důležité je mít jasno v terminologii s programátorem. Já jsem zvyklý dávat prefixy: bg = pozadí, btn = tlačítko, ic = ikona. Ale není to dogma. Možná Vás napadlo, že pokud řízneme takhle celý splash screen, tak si zavíráme cestu k lokalizaci do jiných jazyků. Řešením by bylo nařezat splash screeny v různých jazycích (náročnost na velikost resources) nebo splash screen rozdělit na více komponent a ty lokalizovat, což zase bude více práce pro programátora. Je to vždycky na zvážení.Asi Vám je jasné, jak celý proces bude dále pokračovat. Ano, nyní další screen je Home, ze kterého si přetáhneme pozadí action baru. Dále zvlášť logo. Důvod proč zvlášť je ten, že bychom ho chtěli udělat s možností na tapnutí => akce návrat na home screen (akce skrz celou aplikaci). Dále je potřeba si přenést a připravit k řezu všechny ikonky a to včetně všech stavů.
Na komponenty, které mají více stavů si dejte obzvláště pozor, musí být správně zarovnané, tak aby třeba po tapnutí na ikonku její pressed stav neuskočil o 3px apod. Je také potřeba si dát pozor na stíny, tak aby nám vytvořený řez neodřízl kousek grafiky. Proto třeba prvky, které není potřeba na px přesně k něčemu pasovat, ořezáváme s dostatečným prostorem. Druhý dúvod je ten, že programátor pak nastaví tapnutí na celou plochu (aby se uživatel nemusel napřesno trefovat třeba na ikonku apod.). Co se týče terminologie, tak je opět zvykem pojmenovávat jednotlivé stavy jednoho prvku jako třeba: ic_home_normal, ic_home_pressed, ic_home_focused atd.Tahle nějak by mohlo tedy vypadat rozřezové PSD pro Vánočníček. Ve kterém neuvažujeme lokalizaci a jinou densitu než HDPI. PSD dávám ke stažení.
Zbyvá nám tedy jednotlivé řezy uložit. Tuto funkci v PS najdeme: "Soubor => Uložit pro web a zařízení". Kde se nám zobrazí rozřezové okno. V tomto dialogu můžeme jednotlivé řezy označovat, zvolit cílový formát a pracovat s náhledem. My chceme řezat do PNG-24 a chceme mít zaplou průhlednost. Dáme uložit a vybereme možnost "všechny uživatelské řezy". Poté uložíme. A je to, máme 13 PNG souborů.
Aby bylo programátorovi hned jasné, že jsme mu připravili resources pro hdpi, vytvoříme mu adresářovou strukturu, kterou bude moc dobře znát "res\drawable-hdpi".
To je dnes vše. Jak je vidno, při řezání je už nutná komunikace s programátorem a mít na pixel dobře připravený designy jednotlivých screenů. Čím je práce přesnější, tím si ušetříme čas při tvorbě řezů. Díky rozřezovému PSD má člověk možnost vidět třeba ikonky jednoho typu vedle sebe a ještě doupravit jejich barvu nebo styl, což se pak odrazí v jednotnosti designu a kompaktnosti celé aplikace.
Včera proběhl 5. ročník akce AppParade, což je vlastně přehlídka nových mobilních aplikací z našich lesů a hájů. Míra naší společnou appku Vánočníček přihlásil na poslední chvíli a sám odprezentoval. Já jsem bohužel tahle na poslední chvíli nedokázal přijet.
Bylo mi jasné, že naše appka nemá šanci na výhru, ale že skončíme v první polovině jsem fakt nečekal. Porazili jsme třeba TN.cz, Cinemax ale i KB. To fakt zírám :-). Asi jsme lidem zabrnkali na strunu vánoční pohody a appka se líbila.
Celkové pořadí:
1.) Rune Legend (Dreadlocks)
2.) Brigády do kapsy (LMC/Jobs.cz)
3.) Power of Logic (Flow Studio)
4.) CG Transit – Jízdní řády / pro iOS i pro Android (Circlegate)
5.) Ginger Bells (Silicon Jelly) / Divoká karta Vodafonu
6.) Chrochtátko (Inmite)
7.) Vánočníček (Miroslav Čupalka) (android market)
8.) QuakeFrenzy (Martin Wenisch)
9.) MobiGuide (BTM Network)
10.) Autoškola 2012 (Mobildrive.cz)
11.) Goooooal HD (Cinemax)
12.) Mobilní banka 2 / pro Android/iOS (KB) / mimo soutěž o hlavní cenu
13.) Bank Fees Calculator (Robert Šrahol)
14.) Czech Ski Test 2011 (NewsLab)
15.) TN.cz (CET 21/TV Nova)
Na akci natáčela TV Metropol. Tady je záznam:
Díky za hlasy!
Hrozně to utíká. Před třemi lety jsem objevil službu Posterous a začal na ní psát tenhle blog. Ta služba nevypada jako dnes. Neměla desítky šablon vzhledu (měla 4), neměla mobilní aplikaci, nešli vytvářet Spaces. Ano, plynutím času se služby, věci a lidi mění. Vznikají nové, zanikají staré, prožívají evoluční vývoj... tak jako jsem se změnil já, tak se mění i tenhle blog...
Nechci tu psát přímo o sobě, to si nechám na silvestrovské shrnuté celého roku..:-) Rád bych jen napsal pár zajímavostí z tohoto blogu. Článek, který u mně na blogu byl nejvíce zobrazen (18 878krát) byl
http://www.michalfeltl.cz/tri-dny-s-htc-wildfire
A zároveň se pod ním objevila i nejdelší diskuze z celého blogu. Článek je starý skoro rok a půl a absurdní je to, že mi stále na email chodí dotazy ohledně HTC Wildfire, který již dávno nevlastním.. :-)
Za ty tři roky jsem napsal 136 blogpostů. Nejvíce aktivní v psaní bývám na jaře a pak v létě. Průměrně lidé u mně stráví při jedné návštěvě 1 minutu a 19 sekund, no to není špatné :-). Z toho jde ze 72% o človíčka česky mluvícího. Je třeba zajímavé, že ze Slovenska ke mně chodí jen 4%.. Slováci přijdete!
Nejvíce mě lidé čtou z Mozilla Firefox (38%) a hned v závěsu z Chrome (31%). Internet Expolerer se propadl někam na 11%. Chodí ke mně samí geeci! :-). Co se týče mobilních zařízení, tak nejvíce lidi chodí z iPhonu a iPadu a na pak jim na paty šlape HTC Desire a SGS1 a 2. Androide, do toho!
Asi nejvíce mě rozesmálo, když jsem zjistil, že jedním nejčetnějším klíčovým slovem z googlu, přes který se lidé dostanou na můj web, je "programování pro začátečníky". Škoda jen, že těmhle lidem grafik moc nepomůže.
Na počest tří letého výročí jsem zprovoznil archív všech článků, který najdete na tomto odkazu: http://www.michalfeltl.cz/pages/archive. Věřím, že pomůže pro případné hledání něčeho staršího..
Díky za Vaše návštěvy!