12 разлики между уеб и mobile проектите

След 9 години „управление на проекти“ за уеб, и вече 1 г. за mobile, продължавам да се удивлявам от разликите между двете.

1. Контекстът. Самата концепция на мобилното приложение трябва да е съобразена с постоянно променящия се и различен контекст на потребителя и неговото мобилно устройство. Докато в уеб все още е достатъчно да направиш сайта mobile-friendly, в приложението трябва наистина да елиминираш всичко излишно, да стигнеш до есенцията, за да го направиш mobile-first.

2. Границите и възможностите. В уеб можеш да направиш почти всичко и по хиляда начина. В mobile ограниченията са много повече. От дизайна, така че да бъде удобен за ползване на малкия touch-екран. През избора на SDK/framework за самата разработка. До съобразяването на големината на данните, които приложението дърпа от мрежата, тъй като често потребителят ги плаща и то не евтино. В мобилните проекти доста по-често се чува „това не може да стане“ или „може, но ще е по-трудно/бавно/скъпо“. Понякога това те ядосва, но по-често те улеснява да се откажеш от по-малко важните неща и да се фокусираш върху най-ценното. Или да намериш изцяло друго творческо решение.

3. Ъпдейтите. Промените в уеб сайта стават достъпни до всички потребители едновременно. В mobile между края на разработката (публикуването в маркета)и оживяването на промените – може да мине и месец. Успоредно съществуват, и съответно трябва да поддържаш и управляваш, няколко версии на приложението. Включително някоя по-стара и без нови функции, предназначена за по-старите телефони и необновените операционни системи.

4. Дизайнът. Уеб сайт без дизайнер не става. В мобилните приложения – особено за Windows – поне в началото можеш да минеш и без него. Достатъчно е да следваш препоръките на платформата и да използваш стандартните контроли и интерфейс елементи.

5. Съвместимостта. Преди си мислех, че IE 6/8 e проблем. Защото не можех да си представя фрагментацията и волните интерпретации на производителите в Android устройствата. Както и това, че ако искаш да използваш модните възможности на операционните системи и устройствата, над половината от потребителите ти няма да ги видят изобщо.

6. Винаги изоставаш. Хората още не са си обновили приложението за последната версия на iOS/Android, а вече излиза бета на следващата. И променят SDK-то и вкарват нов език за разработка. Добре поне, че у нас сме с около година и половина назад от осезаемото навлизане на новите устройства и ОС. Но, ако правиш глобално приложение…

7. Ръцете върху клавиатурата. Винаги можеш да намериш още един-двама-петима програмиста за уеб. Тези, които пишат софтуер за мобилни приложения са малко, скъпи и придирчиви.

8. Тестването. За уеб нещата са ясни – има натрупана добра практика и различни подходи към тестването, така че за всеки проект да се намери решение. Докато мобилни приложения трябва задължително да се тестват и на достатъчно на брой и като разнообразие физически устройства – а това е бавно и/или скъпо.

9. Битката за сърцата на хората и място в джоба им. Шансът човек да попадне на сайта ти е много по-голям, отколкото това да се случи с мобилното ти приложение. App Store не е Google Search. Ако човек все пак го изтегли и инсталира, но нещо не му хареса – веднага ще го изтрие. Докато в браузера си можем да пазим списък със стотици любими сайтове, в паметта на телефона има място само за 10-20 външни приложения. Само нещо наистина полезно ще оцелее достатъчно дълго в телефона. Продуктът е на първо място, а growth hacking е неговата най-важна маркетингова стратегия.

10. Скоростта. Мобилните потребители не обичат да чакат. Често мобилният Интернет е бавен и затова още повече трябва да се внимава за скоростта на зареждане и работа. Ето тук проличава добрият дизайн – когато потребителят остава с усещането, че приложението е по-бързо, отколкото е то в действителност.

11. Сигурността. Неудобно е да пишеш с 1 пръст дълги пароли и да попълваш сложни логини на екрана на телефона. Затова хората не искат всеки път да се оторизират по сложния начин, а все пак държат да използват сигурно приложение. Особено, когато става дума за пари – мобилно банкиране, мобилни плащания и т.н. Голямото предизвикателство е как да балансираш между сигурността и удобството.

12. Agile не е пожелание, а изискване. Къси срокове за разработка и публикуване на нови версии и нови функции, защото както стана ясно в точка 6: в момента, в който си пуснал новата версия, вече си изостанал.

А кое е общото тогава? Хората. И това е добра новина ;)