Jeden z našich nejzkušenějších vývojářů Štěpán Havránek se pro odborný časopis IT Systems rozepsal o výhodách nativní CRM mobilní aplikace a o tom, že ne vždy to nejjednodušší řešení je tím nejlepším.
Nároky na CRM systémy se neustále vyvíjejí. Pryč jsou doby, kdy všichni pracovali od stolu na počítači nebo notebooku. Dnes musí mít zaměstnanci data stále po ruce a mobilní CRM je nutností.
Žádná fungující firma nemůže s čistým svědomím říct, že systém pro řízení vztahů se zákazníky nepotřebuje. Problémem ale může být zastaralý CRM software. Podnikové programy se dynamicky mění a řešení, které bylo loni považováno za špičkové, už nemusí odpovídat aktuálním nárokům.
Štěpán Havránek
Mobilní aplikace musí vyhovět všem
Základním požadavkem je dnes mobilita. Ať už dat, zaměstnanců nebo softwarového a hardwarového zázemí. Obchodní zástupci už nechodí za klienty s notebookem, a i nedávno tak populární tablety vytlačují stále chytřejší mobilní telefony.
Každé CRM řešení, které si chce udržet zákazníky a přesvědčit nové, musí nabízet verzi pro mobilní zařízení. Ale uživatelé jsou různí, a každý využívá CRM jinak. Různé a někdy protichůdné jsou i požadavky kladené na mobilní CRM.
Vývoji CRM systémů věnovali jejich dodavatelé řadu let a přijít ze dne na den s mobilní verzí, která duplikuje všechny jejich funkcionality, je naivní představa. Ani výpočetní výkon mobilních telefonů se nedá srovnávat s klasickými počítači, i když se chytré telefony pyšní 64bitovou architekturou, gigahertzovými procesory a gigabity operační paměti. Jak tedy koncipovat mobilní CRM řešení?
Dva typy mobilních CRM řešení
Technologicky se mobilní CRM systémy dělí na dva základní typy. Prvním je de facto webové CRM přístupné z mobilního zařízení. Webové stránky navštěvujeme na mobilech často a responsivní weby jsou standardem. Z pohledu dodavatele CRM systému je proto logické vzít existující řešení a „naroubovat“ ho na menší displej. Výpočetní operace navíc probíhají „někde v cloudu“ a mobilní telefon zvládá jejich nároky bez větších obtíží.
Druhou možností je nativní CRM mobilní aplikace, tedy klasická „appka“, kterou si uživatel stáhne z Apple App Store nebo Google Play a nainstaluje do svého zařízení. Jak vyplývá ze slovního spojení „nativní aplikace“, jedná se o software, napsaný přímo pro danou mobilní platformu a efektivně využívající její možnosti. Je ale potřeba napsat pro každou platformu vlastní aplikaci, tedy jednu pro iOS a druhou pro Android. Není to jednoduchá cesta, ale může se vyplatit.
Mají webové CRM jen samé výhody?
Skoro všechna webová CRM řešení nabízí i responsivní design. Často vychází z open-source knihoven jako Bootstrap, které responzivitu řeší samy o sobě. Jejich programování je pro vývojáře vyloženě radost a jsou schopni svůj výtvor i „oskinovat“, tedy aplikovat vlastní „skin“ neboli česky „vzhled“. Samotný vývoj mobilní verze pro existující webový systém je v podstatě jen vývojem nového, specifického skinu.
Výsledné řešení se přizpůsobí displeji mobilního zařízení. Pokud si vývojář s aplikací vyhraje, uživateli chvíli trvá, než zjistí, že se nachází na webu. Prostředí může dobře zrcadlit i vzhled samotného operačního systému.
Stále se ale jedná o internetovou stránku, designem přizpůsobenou možnostem webového prohlížeče. A webová stránka vyžaduje internetové připojení, protože je závislá na komunikaci se serverem a čas od času potřebuje „refreshnout“.
Práci s webovými aplikacemi jsme si asi vyzkoušeli všichni. Poslouží, ale často jim něco schází. Ať už rychlost odezvy, plynulost pohybu v aplikačním prostředí nebo některé funkce. Navíc nepracují vždy tak, jak potřebujete. Krátkým zásekům se z principu nevyhnete a nikdo nechce uprostřed schůzky místo CRM spatřit pixelového dinosaura a upozornění na chybějící připojení k internetu. Tato hláška je nejen otravná, ale může i překvapit, pokud stránka působila jako „nativní aplikace“. Poměrně omezený je i přístup k funkcím mobilního telefonu, protože tento typ řešení technicky běží uvnitř internetového prohlížeče. Přístup k zařízením jako GPS nebo fotoaparát probíhá zprostředkovaně a není vždy technicky možný.
Skákat s dinosaurem přes kaktusy může být zábavné, na obchodní schůzku ale ne moc vhodné.
Z hlediska vývoje se u webových aplikací jedná o relativně rychlé a levné řešení a dodavatel připravuje jen jednu aplikaci. Díky jednotným webovým standardům bude bez problémů fungovat na Androidu i v iOS.
Kdo ale programoval webové aplikace, ví, jak složité je ladit systém pro různé internetové prohlížeče. Chrome, Firefox, Edge a další si vykládají JavaScripty, CSS a HTML po svém a zápisy typu „pokud jsi Edge, tak udělej toto“ vývojáři dobře znají. Ale stále o nic nejde ve srovnání s psaním aplikace dvakrát ve dvou různých jazycích, jako při vývoji nativních mobilních CRM.
Snazší jsou u webových aplikací i aktualizace. Často se jedná o software společný pro všechny klienty umístěný „někde v cloudu“ a vývojářům stačí nahrát novou verzi na jeden server. Odpadá i zdlouhavé schvalování nové verze od Applu a Googlu.
Nativní aplikace: Noční můra nebo jediné řešení?
Druhým typem jsou zmíněné nativní CRM mobilní aplikace. Uživatel je instaluje do mobilního telefonu a ukládá na pevný disk. Pokud se jedná o CRM fungující i v offline režimu, ukládá se do telefonu i samotná databáze. Kvalitní appky se podobají oficiálním aplikacím od Googlu nebo Applu. Uživatel se v nich rychle zorientuje a snadno identifikuje ovládací prvky.
Vývoj nativních aplikací je dost drahý. Kromě „hlavního CRM“ programujete aplikace pro iOS a pro Android. Každá má vlastní programovací jazyk, svá specifika i nástrahy. Pro Android se programuje v Javě, moderním Kotlinu a pomocí XML se definuje uživatelského rozhraní. Na iOS vládne jazyk Swift. Podle řady vývojářů se Android poučil z chyb iOS, když idea, s níž byl iOS navržen, byla za dobu jeho živostnosti překonána. Každý update iOS znamená nutnost přeprogramovat části aplikace. Politika Applu nutí vývojáře aktivně přizpůsobovat aplikace a implementovat nové funkce z aktualizovaného iOS. Programování pro Android je nepoměrně volnější, i když jde o otázku vkusu.
Oba systémy se neustále aktualizují a vývoj není vždy krokem vpřed. Nedávná aktualizace podmínek Google Play omezila přístup k informacím o telefonních hovorech, i když uživatel udělil aplikaci oprávnění. CRM systémy, které po skončení hovoru nabídly okno na zapsání poznámky, tuto funkci ztratily.
Pokud se dodavatel CRM systémů pustí cestou vlastních nativních aplikací, získá rychlý a stabilní software, který webová řešení hravě překoná uživatelskou odezvou a přívětivostí. Když přidá plnohodnotný offline provoz, posune CRM na novou úroveň, což uživatelé ocení. Internetové připojení v terénu stále není stoprocentní a začne kolísat vždy, když to nejméně potřebujete. Nemluvě o metru, letišti, veřejných WiFi sítích nebo vyčerpaném FUP na mobilní data.
Xamarin, Cordova a další hybridní pionýři slepých uliček
Zbývá zmínit nástroje, které umožňují „napsat jeden kód a vytvořit aplikaci jak pro iOS, tak pro Android“. Taková aplikace se tváří jako „nativní“ a kombinuje výhody obou přístupů. Mezi nejznámější řešení patří Xamarin a Apache Cordova.
Xamarin dnes patří společnosti Microsoft a umožňuje programovat v jazyku C# aplikace pro iOS i Android. Vývojáři píší jen jeden kód, ale některé části musí implementovat zvlášť. Typicky funkce s rozdílným chováním na obou platformách, jako třeba notifikace nebo běh na pozadí. Pokud chcete co nejvíce napodobit aplikace dané platformy, čeká vás vývoj dvojího grafického rozhraní. Kvalitní uživatelská aplikace může znamenat až osmdesát procent vývoje specifického pro jednu z platforem. Výhodou tak zůstává využití jednoho programovacího jazyka. Kompilátor, program převádějící napsaný kód do výsledné appky, se postará o překlad C# kódu do aplikace pro Android i iOS. Zdrojový kód ale nikdy nepřeloží tak dobře, jako u nativní aplikace. Docílíte sice podobného výsledku, ale za cenu nižšího výkonu, krkolomnější aplikace a horší stability, protože Xamarin stále není bezchybný.
Jiná situace je u Cordovy. Technicky je výstupem internetová stránka s integrovaným webovým prohlížečem a HTML kódem. Výpočetní výkon je přesunut na samotné zařízení a oproti nativním aplikacím je velmi zatížen overheadem webového jádra. Nestandardní webové funkce, jako užívání specifického hardwaru nebo strukturované offline úložiště, jsou dostupné jen pomocí mezivrstev nebo vůbec. Pro větší aplikace typu CRM se tyto technologie nehodí, i když se tváří jako univerzální řešení.
Obtíží se nelekejte, na množství nehleďte
Vývoj nativní aplikace je sice mnohem obtížnější cestou, ale z hlediska výsledné kvality i spokojenosti klientů se jedná o nejlepší řešení. Vyšší investice a větší časovou náročnost oproti vývoji webové aplikace nebo nástrojům typu Xamarin vykompenzuje aplikace lepšími parametry.
Ve srovnání s vyjmenovanými alternativami bude nativní aplikace stabilnější, rychlejší a uživatelsky přívětivější. Příkazem doby je co nejvyšší mobilita a tyto tři faktory jsou jasným argumentem pro potenciální klienty, aby zvolili vámi nabízené řešení.
Vyšlo v časopise IT Systems11/2019.