Co se týče aplikací, je iOS velice uzavřený systém, bez jailbreaku do něj aplikace jinou cestou než skrze App Store nedostanete. Každá aplikace navíc prochází kontrolou Applu, která má uživatele chránit. Ale není to jen kouřová clona?
Problémy podvodných aplikací se na Apple scéně diskutuje snad každý měsíc. Není to dlouho, co byly z App Store vymazány podvodné aplikace jednoho vývojáře, který parazitoval na popularitě známých her a snažil se tak přijít k rychlým penězům.
Před pár dny se také objevila populární hra Nintenda, Pokémon Yellow, nicméně autorem byl zcela někdo jiný než známý výrobce konzolí. Nebozí uživatelé žili v domnění, že se jedná o populární japonskou hru, přitom šlo jen o podvod, kdy hra spadne hned po načtení menu. Nicméně počet jednohvězdičkových hodnocení mluví za vše. Apple ani ne za 24 hodin aplikaci z obchodu stáhl. „Hra“ za tu dobu dosáhla třetího místa v americkém App Store.
Říkáte si, jak je vůbec možné, že se tam přes přísnou kontrolu ze strany Applu takové aplikace vůbec dostanou. Už dlouho jsou známé podmínky pro vývojáře, tzv. Guidelines. Jsou stanovená jasná pravidla a podvodníci mají být dle textu potrestáni. Stává se tak až po několika dlouhých týdnech, někdy měsících, kdy Apple začne jednat, přitom by takové aplikace neměly vůbec projít kontrolou.
Abychom našli chybu v systému, nemusíme chodit daleko. Jeden z českých vývojářů se mi nepřímo svěřil se svými zkušenostmi. Do své aplikace implementoval JavaScript jež slouží pro statistiky Google Analytics, což je podle pravidel Applu přísně zakázáno. Měl ho tam pouze zkušebně, avšak před odesláním ke schválení jej zapomněl vyjmout. Nicméně po schválení byl beztak nefunkční.
A jak to probíhalo na straně Applu? Po odeslání aplikace do schvalovacího procesu uběhlo osm dní, kdy byla ve stavu „Waiting for Review“ – čekající na schválení. Osmý den na ni patrně přišla řada a přešla do stavu „In Review“ – ve schvalovacím procesu. Po celých dvou minutách už byla schválená a připravená ke spuštění v App Store. Tedy člověk, který aplikaci schválil, jí věnoval celé dvě minuty. Co se dá za takové dvě minuty na aplikaci vyzkoumat?
Je jasné, že nikdo přímo nezkoumá kód aplikace. Je možné, že existuje nějaký softwarový robot, který prozkoumá některé aspekty, zda aplikace například neobsahuje škodlivý mallware. Lidský faktor pak zřejmě jen zkouší, zda jde vůbec spustit a zda neobsahuje nějaké škodlivé materiály. Poté může bez problému putovat do App Store a odtud do přístrojů uživatelů.
Onen dvouminutový interval je jedním z vysvětlení, proč se do App Store dostává tolik podvodných aplikací. V současnosti je zde přes 550 000 aplikací. Do schvalovacího procesu ovšem nespadají pouze nové aplikace, nýbrž i veškeré aktualizace, ať se jedná o zcela novou verzi aplikace nebo o opravu jedné malé chyby. Nové aplikace přibývají raketovým tempem každý měsíc. Pokud si uděláme malou kalkulaci, kdy by se měla každá aplikace aktualizovat jednou za měsíc, tak za předpokladu, že se budou kontrolovat aplikace osm hodin každý den včetně víkendů, musel by Apple zkontrolovat asi 2300 aplikací za hodinu. A to nepočítáme ty nové. Když by bylo zaměstnanců kontrolujících aplikace 100, každý by musel zvládnout 23 kusů za hodinu. Pokud by s každou strávil 2-3 minuty, mohl by to stihnout.
Když App Store začínal, nebyl problém podrobně kontrolovat každou aplikaci, když jich ze začátku bylo 500. Obchod se však rozrostl exponenciálně a nyní ze zde 1000x více aplikací. V takovém množství je velice těžké věnovat každé aplikaci dostatek času a přitom nenechat vývojáře čekat dlouhé týdny, než aplikaci schválí.
Apple by to však měl začít řešit, jelikož tyto problémy se budou nadále stupňovat a podvodníci s vidinou lehce vydělaných peněz budou stále okupovat App Store. Jakmile tento problém přeroste společnosti přes hlavu, lidé budou mnohem méně důvěřovat aplikacím, což bude mít neblahý dopad na vývojáře a potažmo na celý ekosystém. Apple by se tak měl začít tímto problémem zabývat stejně intenzivně, jako pracovním podmínkám v čínských továrnách.
Úroveň schvalování je ten nejmenší problém. O tom, jak Apple vůbec zachází se svými vývojáři (nedejbože když je nějaký problém), by se dal napsat další článek.
Ahoj, v texte je drobna chyba, na celý ekosystém. Apple by se tak měl začít tímto problémem začínat stejně intenzivně, jako pracovním podmínkám v čínských továrnách.
Nemalo byt zabivat?
Problém podobných aplikací Apple již řeší.
Na základě jedné zkušenosti českého vývojáře s nějakým JavaScriptem napsat takový článek, nezlobte se na mě, ale vyplodil jste šílený žvást, který si nezaslouží být publikován ani na blogu natož zde.
Ano, je pravdou, že lidský faktor je velmi problematický a nevyhne se ani Apple. Umíte si představit kolik tam těch lidí může být? Jaká je fluktuace těchto schvalovačů při růstu, který Apple má?
Při trošce snahy o objektivitu by jste sesbíral informace i od jiných vývojářů a pravděpodobně by jste došel k tomu, že jiné aplikace schvaluje Apple i několik dní pokud si není jist jestli je to v souladu s pravidly. Např. pokud se jedná o InApp purchases tak to Apple zkoumá relativně dlouho. Obalamutit je také není až tak zásadní problém jelikož nezkoumají a ani pořádně nemohou vnitřek aplikace samotné – takže můžete udělat něco co se zobrazí Apple a po schválení tam bude něco jiného.
Ano těch triků je spousty, ale většinou stejně vedou k vyřazení z AppStore či dokonce blokace vývojářského účtu.
1x za mesic neni prumerna aktualizace ani nahodou. Vetsina aplikaci se nedocka zadneho updatu – proste se nechytne a „umre“.
Je pravda, ze uz jsem taky zazil minutove review, nicmene je otazkou, zda stavy review v AppStore zobrazuji realitu. Sveho casu iPad aplikace padali hned po odeslani do InReview a tam byly treba tyden. iPhone aplikace to nedelali. Takze bych z toho zas takove zavery nedelal.
clanok skvely ako byva zvykom…
len chcem upozornit na drobnu chybu v predposlednom odstavci:
“ Obchod se však rozrostl exponenciálně a nyní ZE zde 1000x více aplikací.“
malo tam byt asi JE
dalsia vec sa, co sa mi akosi nepozdava je pouzitie slova ekosystem, ktory sa pouziva hlavne v geografii…
PS: dakujem za clanok