Igor Kulman: Nezávislým vývojem pro Windows Phone se nedá živit [rozhovor]

18. 9. 2014

Při výběru nového telefonu většina potencionálních zákazníků kouká jinam než na zařízení s Windows Phone. Může za to zažitý fakt o nedostatku kvalitních aplikací, který se dá považovat za stále aktuální. Ze zvědavosti jsem proto před téměř 2 měsíci odložil svůj smartphone s Androidem a začal aktivně používat Lumii, abych se o kvalitách obsahu Windows Phone Store přesvědčil na vlastní oči.

igor_kulmanBěhem této doby jsem narazil na spoustu více i méně kvalitních aplikací od vývojářů ze všech koutů světa. Například jednoduchý nákupní seznam Shopping List, povedený Pocket klient Pock8 nebo třeba nástroj pro správu oblíbených seriálů TvTime se řadí mezi ty kvalitnější aplikace a je radost je používat. Obzvlášť pokud pocházejí z České republiky.

Na svědomí je má totiž 28letý československý vývojář Igor Kulman, který má s vývojem pro Windows dlouhodobé zkušenosti. První aplikaci pro mobilní platformu od Microsoftu vytvořil už pro Windows Mobile, a od té doby se pod jeho jménem objevilo několik dalších výtvorů, kterými se chlubí na svých webových stránkách. Dlouho také pracoval ve společnosti Inmite specializující se na vývoj mobilních aplikací, která se nedávno stala součástí Avastu. Jeho zkušenosti a rady si můžete přečíst na jeho webu, anglickém blogu nebo Twitteru.

Igorova práce mě zaujala natolik, že jsem se ho pokusil kontaktovat za účelem poskytnutí rozhovoru. A úspěšně. Igor byl tak laskavý a odpověděl na několik otázek ohledně vývoje pro Windows, o jeho aplikacích a o budoucnosti platformy od Microsoftu.

Seznam Igorových Windows Phone aplikací čítá úctyhodných 26 položek

Začněme s vašimi vývojářskými začátky. Co vás přimělo k rozhodnutí začít programovat pro mobilní platformu od Microsoftu? A jaká byla vaše vůbec první aplikace?

Vývoj pre Windows Phone bol pre mňa pomerne logický krok, keďže som už predtým vyvíjal na platforme .NET a istý čas som ešte ako študent pracoval aj na aplikácií pre Windows Mobile.

Moja prvá mobilná aplikácia bol Windows Phone klient pre službu MyExpenses.eu. Táto aplikácia už vo Windows Phone Store nie je, pretože trpela viacerými začiatočníckymi chybami (code behind, zlá práca so API a pod.), keďže vnikla ešte v roku 2011.

Túto aplikáciu som neskôr zahodil a napísal nanovo a lepšie (MVVM, Dependency Injection a celkovo snáď všetky best practices). Vo Windows Phone Store ju nájdete pod názvom MyExpenses.

Mým prvním smartphonem bylo HTC Touch Pro s Windows Mobile 6.1. V té době byla distribuce aplikací dost obtížná, shánět je bylo většinou možné jen na diskuzních fórech nebo webových stránkách vývojářů. Jak jste tento problém tenkrát řešil vy?

Ja som začínal s Mio A701 s Windows Mobile 5 a následne som ešte vlastnil Htc Diamond s Windows Mobile 6, ktorý som mal veľmi rád. Pamätám si, že pre Windows Mobile 6 už existoval oficiálny obchod, ale bolo v ňom len veľmi málo aplikácií, takže zdrojom softvéru boli rôzne fóra, najmä známe XDA Developer fórum.

V roce 2010 přišla velká změna v podobě Windows Phone 7. Microsoft se snažil odlišit od Androidu a iOS zcela novým uživatelským rozhraním. Zaujaly vás tenkrát dlaždice, nebo jste si na nový systém musel těžko zvykat?

Windows Phone 7 pre mňa v podstate znamenal skrotenie divokej platformy Windows Mobile, pomocou minimálnych hardvérových požiadaviek na zariadenia, zvýšenej bezpečnosti a jednotného obchodu s aplikáciami.

Daňou za tieto zmeny však bola úplná nekompatibilita s Windows Mobile a relatívne obmedzený systém, v ktorom sa nedalo robiť veľa vecí, na ktoré som bol z Windows Mobile zvyknutý.

Asi aj preto som na Windows Phone 7 prešiel až vo februári 2012 (konkrétne na firemný Samsung Omnia 7), keď som začal pracovať pre Inmite, aj keď som v tom čase mal vo Windows Phone Store už 2 aplikácie (vyvinuté a vyladené na emulátore).

Čo sa týka Metra, s tým som problém nemal, zaujalo ma už na prehrávači Zune (ktorý sa v ČR ani SR nikdy nepredával, videl som ho len na Internete). Už pri Zune som si kládol otázku, prečo do neho Microsoft nepridá GSM modul a nespraví z neho telefón.

Nejnovější Windows Phone 8.1 přinesly kromě spoustu vylepšení také tzv. Univerzální aplikace. Vývojáři mohou použít až 90 % hotového kódu a s minimálním úsilím portovat svou Windows Phone 8.1 aplikaci na tablety a počítače s Windows 8.1. Uživatel navíc nemusí za stejnou aplikaci utrácet dvakrát. Líbí se vám tato změna, nebo byste si to představoval jinak?

Ak by som s vývojom pre Windows Phone práve začínal, určite by som to bral pozitívne. Pre mňa ako človeka zaoberajúceho sa Windows Phone už dlhší čas to však znamená už druhý krát skoro všetko zahodiť a začať odznova. Prípadne tretí, ak rátam aj prechod z Windows Mobile na Windows Phone.

Prvá zmena prišla po 2 rokoch s uvedením Windows Phone 8, keď sa Microsoft v podstate rozhodol Windows Phone 7 zahodiť a napísať ho nanovo nad novým jadrom. Časť API sa zmenila, niektoré veci prestali fingovať, prechod z Windows Phone 7 na Windows Phone 8 však nebol pre vývojára až tak náročný, znamenalo to však isté úsilie a podporu dvoch verzií aplikácie.

Po ďalších 2 rokoch sa Microsoft rozhodol znovu Windows Phone zahodiť a napísať ho nanovo, navonok podobne, ale čo sa týka API dosť odlišne, a prišiel Windows Phone 8.1. Teda Windows Phone 8.1 XAML, aby som bol presný, pretože existuje aj Windows Phone 8.1 Silverlight, ktorý je pokračovaním pôvodného Windows Phone 8. Problémom však je, že ani XAML “vetva”, ani Silverlight “vetva” nepodporujú všetky API, takže je nutné si výber dobre rozmyslieť. Okrem toho Windows Phone 8.1 XAML zavádza úplne iný model fungovania aplikácie v systéme, ktorému je potrebné sa prispôsobiť.

Argumentom samozrejme je jednoduchá možnosť vytvárať aj Windows 8.1 aplikácie, ale povedzme si úprimne, o ne záujem zo strany používateľov veľmi veľký nie je.

2,5 roku jste působil jako Windows vývojář ve společnosti Inmite, kterou před měsícem pohltil Avast. Bavilo vás dělat na zakázkových aplikacích pro ostatní firmy, nebo jste spokojenější coby nezávislý vývojář pracující na svých vlastních projektech?

Musím vás opraviť, nezávislým vývojárom nie som, a to z jednoduchého dôvodu, vývojom Windows Phone aplikácií by som sa v Českej republike ani na Slovensku neuživil. Po odchode z Inmite som nebol schopný nájsť ani fulltime prácu ako Windows Phone vývojár. Je to celkom smutné, mobilné vývojárske firmy Windows Phone stále neberú vážne aj napriek jeho trhovému podielu, ktorú v Českej republike už vraj dosahuje hodnoty iOS.

Častým prípadom je, že prípadnú Windows Phone zákazku dajú spraviť nejakému (lacnému) študentovi a výsledok podľa toho aj vyzerá. Nedávno ma oslovilo jedno vývojárske štúdio s požiadavkou na menšiu úpravu Windows Phone aplikácie. Po prezretí kódu som to ale musel odmietnuť, pretože kód obsahoval toľko problém a zlých rozhodnutí, že by som aplikáciu najradšej vyhodil a napísal nanovo, poriadne. Obávam sa, že veľa u nás vzniknutých aplikácií je na tom rovnako.

Práca na projektoch v Inmite ma bavila, každých pár mesiacov som pracoval na inej aplikácií, z inej oblasti. Každú ďalšiu aplikáciu som mal možnosť napísať lepšie ako tú predchádzajúcu a poučiť sa z nej. Hlavne kvalita môjho kódu išla za tie dva roky výrazne hore. Samozrejme boli aj horšie obdobia, keď som z nedostatku Windows Phone projektov pracoval na serverových riešeniach v Microsoft Azure cloude. Celkovo som ale sám za seba vytvoril za rovnaké obdobie viac Windows Phone aplikácií, ako som vytvoril v Inmite.

Při vývoji aplikací je důležité také jejich testování. Jaká zařízení k těmto účelům používáte? A který telefon je váš hlavní?

S testovaním aplikácií je stále väčší a väčší problém. Kedysi, ešte v časoch Windows Phone 7 a jediného rozlíšenia displeja v podstate stačilo aplikáciu otestovať v emulátore. S príchodom Windows Phone 8 a pridaním 2 nových rozlíšení a väčších displejov sa stalo testovanie náročnejšie.

Ja osobne testujem prevažne v emulátore, a to vo Windows Phone 8.1 WVGA 512 MB, teda najmenšie rozlíšenie a najmenšia kapacita RAM. Na väčších rozlíšeniach typicky netestujem, Windows Phone 8 a 8.1 Silverlight aplikácie sa dobre automaticky scaluju, takže s tým nebýva problém.

V Inmite som mal na testovanie Nokiu Lumiu 925, môj primárny telefón je však už skoro rok iPhone 5, s ktorým som veľmi spokojný.

Windows Phone vývojář a iPhone, není to trochu divné?

Divné to asi je, ale mne to dáva zmysel. iPhone 5 som kupoval v októbri minulého roku hlavne kvôli iOS 7. Staršie iPhony a staršie verzie iOS sa mi dizajnovo nepáčili, iOS 7 konečne zahodil skeuomorphism a zvolil dizajn podobný Metru. Ďalším dôvodom bolo, že vždy, keď som našiel nejakú zaujímavú alebo užitočnú aplikáciu, tak pre Windows Phone samozrejme neexistovala.

Vlastných aplikácií, ako Pock8, ktoré by nahrádzali neexistujúce aplikácie zvládnem vyprodukovať za rok len niekoľko, nemôžem si teda všetky zaujímavé aplikácie vytvoriť sám. Ďalej je tu chýbajúca podpora rôznych Bluetooth gadgetov a pod.

Používať iPhone mi dáva zmysel aj z dôvodu, že si všímam, ako sa robia veci na iOS a ako by sa dali preniesť a prispôsobiť na Windows Phone. Aj iOS aplikácie sú občas zdrojom inšpirácie.

Nedávno se Microsoft chlubil, že pro Windows Phone existuje již přes 300 000 aplikací. Většina z nich je ale nepoužitelný balast. Jak přesně probíhá schvalování nových aplikací a aktualizací ve Windows Phone Storu a Windows Storu?

Začnem s Windows Phone Store, pretože s tým mám dlhodobejšie a bohatšie skúsenosti. Certifikačný proces sa za roky výrazne zmenil. V minulosti boli submitnuté aplikácie naozaj testované ľuďmi, dokonca na viacerých zariadeniach. Celý proces schvaľovania trval približne 1 týždeň. Výhodou bolo, že testeri často odhalili nejaké, najmä začiatočnícke chyby, čo bolo lepšie, ako keby ich odhalili až používatelia. Nevýhodou bola nutnosť pri každom submite čakať týždeň, dokonca aj obyčajná zmena ceny alebo popisu aplikácie znamenala celkový retest. Okrem toho testeri občas zamietali aplikácie z naozaj nelogických dôvodov.

Podobne to fungovalo aj s Windows Store, len tam certifikačný proces trvalo približne 2 dni, pretože submitovaných aplikácií bolo výrazne menej. Zo začiatku boli pravidlá naozaj dodržiavané a vynucované, niekedy však len z nechápavosti testerov. Napríklad E15.cz, jednu z prvých 5 českých Windows 8 aplikácií, testeri najprv zamietli z dôvodu, že nespĺňa bod, ktorý hovorí, že aplikácia musí byť pre používateľa užitočná. Dnes je to celkom k smiechu, ak sa človek pozrie na zloženie Windows Store a tú masu balastu.

Aktuálne je situácia vo Windows Phone Store aj Windows Store úplne iná, aplikácie už žiadny tester ručne netestuje (pri schválení aplikácie do pol hodiny do fakt nie je možné), prechádzajú len automatickými testami, ktorými nie je možné odhaliť kvalitu ani zmysel aplikácie. Možno ste tiež postrehli článok na HowToGeek, ktorý nedávno rozoberal podvodné aplikácie, ktorých je plný Windows Store.

Microsoft musí konečne pochopiť, že nejde o kvantitu aplikácií, ale o ich kvalitu. 300 000 aplikácií je používateľovi na nič, ak medzi nimi nenájde aplikáciu, na ktorú je zvyknutý z inej platformy alebo webu, ani žiadnu kvalitnú náhradu. To by sa malo prejaviť aj v podpore vývojárov, Microsoft by mal začať podporovať autorov kvalitných aplikácií a nie vývojárov generujúcich tony balastu, ktoré im plnia čísla a marketingové ciele. Zatiaľ tomu tak aspoň v Českej republike a Slovensku nie je.

Pracujete na aplikacích sám, nebo s někým spolupracujete?

Zo začiatku som vytváral Windows Phone aplikácie sám a musím sa priznať, mal som dosť programátorský prístup. Išlo mi hlavne o funkcie, na dizajn a UX som veľmi nehľadel. V Inmite som na aplikáciách spolupracoval s grafikom Martinom Balážikom a vďaka nemu som sa naučil na aplikácie pozerať trochu inak a posunul som UX v zozname priorít vyššie.

Na vlastných aplikáciach aktuálne spolupracujem s Honzom Marekom, ktorý ma oslovil s nápadom na Shopping List a odvtedy sme spolu vydali ešte aplikácie Pock8, Snapcat a TvTime. Spolupráca nám zatiaľ funguje, každý sa zameriavame na niečo iné (programovanie vs UI/UX). Vďaka Honzovi sa kvalita mojich aplikácií viditeľne zdvihla. Každému vývojárovi odporúčam zamyslieť sa nad dizajnom, alebo ešte lepšie, poradiť sa s nejakým dizajnérom. Nech nie je Windows Phone Store plný nudných čiernych pivotov.

Vaším nejpopulárnějším projektem pro Windows Phone je jednoduchá aplikace Shopping List, která nedávno byla díky Red Stripe Deals na týden zdarma. Podle vašeho blogu jste tak získal 25 000 nových uživatelů a lokalizaci do několika jazyků. Do této akce se může zapojit každý vývojář se svou aplikací?

shoppinglist

Shopping List – nejpopulárnější nákupní seznam pro Windows Phone; design: Jan Marek

Presné pravidlá neviem, podľa niektorých článkov na webe to funguje tak, že Microsoft osloví vývojára, ale iba ak má aplikáciu s cenou nad 2 doláre, aby bola cena po aspoň 50% zľave stále aspoň 1 dolár (a Microsoft na tom tiež zarobil).

Shopping List má cenu 1 dolár, takže bol proces trochu iný. Honza Marek sa prednedávnom zapojil do BizSpark programu Microsoftu, kde sa mu naskytla možnosť promovať nejakú aplikáciu prostredníctvom Red Stripe Deals, tak sme zvolili Shopping List. Pock8 promovať nebolo možné, pretože aplikácia je zadarmo (plus in-app). Aby sme splnili podmienky, dali sme Shopping List vrámci akcie zadarmo.

Shopping List (Windows Phone)
logo-app qrcode-app
Autor: Developer Cena: 20,00 Kč

Windows Phone je zřejmě platforma s největším množstvím klientů pro službu Pocket (Read it Later). Sám jste autorem povedené aplikace Pock8. Čím se podle vás od ostatních klientů odlišuje? Plánujete přidat nějaké nové funkce?

pock8

Pock8 – jeden z mnoha Pocket klientů pro Windows Phone; design: Jan Marek

Dôvodom veľkého množstva Pocket klientov je určite neexistencia oficiálneho klienta. Keď som začal službu Pocket používať, na Windows Phone som si stiahol aplikáciu Pouch. Pouch mi vôbec nevyhovoval a povedal som si, že to predsa musí ísť spraviť lepšie a tak som sa rozhodol vytvoriť Pock8.

Nové funkcie už asi pribúdať nebudú, cieľom aplikácie je znovu jednoduchosť a prehľadnosť aj za cenu nepodporovania vecí ako tagy alebo vyhľadávanie, ktoré aj tak využíva len minimum používateľov.

Pock8 (Windows Phone)
logo-app qrcode-app
Autor: Developer Cena: Zdarma

Pomocí vaší další aplikace Snapcat si mohou kočky vytvářet vlastní „selfie“ fotografie. Jak jste na tento originální nápad přišel?

Snapcat bol nápad Honzu Mareka, keďže sám má mačku. Mne sa to zo začiatku úplne nezdalo, ale nakoniec som sa nechal presvedčiť.

Rozhodli sme sa vydať aplikáciu zadarmo s reklamami a skúsiť, či sa dá na reklamách na platforme Windows Phone niečo zarobiť. Odpoveď je, žiaľ, že nedá, kým vaša aplikácia nie je hra generujúca milióny impresií mesačne. Ďalším problémom je slabý fillrate, inzerenti o Windows Phone asi nemajú veľký záujem.

Aktuálny príjem z reklamy v Snapcat je asi 4kč / mesiac, takže potrvá niekoľko desaťročí, kým mi reálne niečo bude vyplatené. Na druhej strane je ale pravda, že aplikáciu používa len 12 000 ľudí, takže sa veľké príjmy čakať ani nedajú.

Snapcat (Windows Phone)
logo-app qrcode-app
Autor: Developer Cena: Zdarma

V současné době jste vydal novou aplikaci TvTime, která cílí na seriálové diváky. Co jsou její hlavní přednosti?

tvtime

TvTime – nejlepší Windows Phone aplikace pro trackování seriálů

Mojim cieľom bolo vytvoriť kvalitnú a hlavne dizajnovo zaujímavú aplikáciu na trackovanie televíznych seriálov. Niekoľko podobných aplikácií už vo Windows Phone Store existuje, nepoužívajú sa však úplne najlepšie a dizajnovo tiež neoslnia.

Dizajn pre TvTime pripravil (po miernom prehováraní) Honza Marek, aplikácia už je dostupná vo Windows Phone Store. Pri tejto aplikácií sme si vyskúšali zapojenie beta testerov do procesu, nakoniec ich bolo asi 70 a získali sme od nich zaujímave podnety, odhalili niekoľko chýb.

TvTime (Windows Phone)
logo-app qrcode-app
Autor: Developer Cena: Zdarma

Ve které zemi máte největší uživatelskou základnu? A kolik lidí si už vaše aplikace celkově stáhlo?

Celkový počet stiahnutí všetkých mojich Windows Phone aplikácií, ktorých je v súčasnej dobe vo Windows Phone Store 10, je vyše 140 000. Počet stiahnutí však úplne neznamená počet používateľov, tento údaj Windows Phone Store narozdiel od iných mobilných obchodov neuvádza.

Vo väčšine aplikácií používam Flurry štatistiky, takže mám trochu lepší prehľad a používateľskej základni a podobne. Čo sa týka krajín, je to závisle aplikácia od aplikácie. Shopping List, čo je aktuálne najúspešnejšia aplikácia z hľadiska počtu používateľov, je najpopulárnejší v USA, nasleduje Francúzsko, Taliansko, Nemecko a Španielsko.

Pri Shopping List prisudzujem časť úspechu aj lokalizácií, aktuálne je aplikácia lokalizovaná do 11 jazykov (anglický, nemecký, španielsky, český, slovenský, ukrajinský, turecký, hebrejský, holandský, francúzsky, ruský) a snažím sa získať ďalšie. V najbližšej aktualizácií pribudne gréčtina.

Problém lokalizácie však je, že pre každý podporovaný jazyk je potrebné pripraviť nielen popis do Windows Phone Store, ale aj osobitné screenshoty. Pri Shopping List je to 11 jazykov krát 7 screenshotov krát 2 rozlíšenia (WXGA pre Windows Phone 8 a WVGA pre Windows Phone 7, ktorý je v tejto aplikácií stále podporovaný), čo je celkom veľké číslo.

Bez kterých aplikací byste se neobešel a které vám schází?

Na telefóne používam zo systémových aplikácií hlavne budík, kalendár a počasie. Z aplikácií tretích strán je to potom Twitter, Pocket a Feedly. Na emaily používam aplikáciu Mailbox, ktorá mi veľmi vyhovuje.

Myslím si, že Windows Phone chýba naozaj kvalitný emailový klient bezproblémovo spolupracujúci s GMailom. Pozorne preto sledujem aplikáciu Maestro, ktorá ma ambície byť práve Mailboxom pre Windows Phone. Uvidíme.

Co byste poradil začátečníkovi, který by chtěl začít vyvíjet aplikace pro Windows Phone a Windows 8.1?

Určite by som radil zamerať sa na Windows Phone, vývoj pre Windows 8.1 aktuálne nedáva zmysel. Asi by som odporučil začať s Windows Phone 8.1 XAML, je perspektívnejší ako Silverlight, aj keď k nemu mám mnoho výhrad. Pozor na príklady na MSDN a celkovo príklady od Microsoftu, sú plné nezmyselného code behind, ktorý je vo väčšine prípadov nevhodný. Odporúčam začať rovno s MVVM, či už s použitím MVVMLight alebo Caliburn.Micro, na Internete je k nim viacero návodov, ktoré vás naučia dobrému oddeleniu UI od logiky, používaniu Dependency Injection a pod.

Podle různých spekulací bychom se měli již za pár měsíců dočkat Windows 9 a Windows Phone 9. Co od nových verzí očekáváte a jaké novinky byste si přál?

Od Windows 9 očakávam “návrat k desktopu”. Metro podľa mňa na desktopy ani notebooky nepatrí a určite by som privítal možnosť jeho vypnutia alebo aspoň potlačenia a návrat Štart menu. Aktuálne mám na tento účel kúpenú aplikáciu StartIsBack, ktorá to plní veľmi dobre, občas na mňa však ešte Metro aj tak vyskočí.

Od Windows Phone 9 nemám nejaké veľké očakávania, čo sa týka funkcií. Skôr očakávam odrezanie podpory Silverlightu, ktorý už teraz Microsoft označuje ako “legacy”. Pre viaceré aplikácie, ktoré budú chcieť využívať nové API, to bude znamenať nepríjemné kompletné prepisovanie.

Díky za váš čas a přeji mnoho úspěchů do budoucna.

Aj ja ďakujem za záujem o Windows Phone a kvalitné aplikácie.

Martin Šindler

Technologický nadšenec, který si rád hraje se vším, co má displej. Na Dotekománii píše především o aplikacích pro Android a Windows Phone, které ho nějakým způsobem dokážou zaujmout. Občas nějakou tu aplikaci rovněž přeloží do češtiny.

Nový komentář

Musíte se přihlásit.

Hana Došková

1. 10. 2014, 12:25:00
reply

fajn rozhovor

kolo

20. 9. 2014, 2:48:00
reply

Super článek, díky.