Полгода прошло с момента выхода последней версии мобильного приложения EffectiveSoft — SafePin, программы, которая позволяет записать PIN-код от банковской карточки и безопасно его «считать» в нужный момент.
А такие моменты случаются чуть ли не каждый день. Например, жена пошла в магазин с вашей карточкой, но кассир отказал в оплате чека чужой картой. Нужно идти к банкомату, звонить мужу, чтобы напомнил пинкод, и снимать наличные. Куда проще иметь под рукой уже записанные заветные четыре цифры. И желательно не на бумажке, которая лежит в кошельке рядом с картой. Да и подсмотреть с неё опасно: вокруг много любопытных взглядов.
В таких ситуациях как раз и нужен надёжный помощник — SafePin.
По сути это простая и удобная программка, в которую вы можете абсолютно безопасно внести свои PIN-коды от банковских карточек, SIM-карт, и быстро их воспроизвести без риска утечки информации. Никто — ни посторонний, ни вор, ни разработчик — не узнает ваши данные. Дело в том, что вы вносите свой код в разноцветную матрицу цифр по определённому и известному только вам алгоритму — змейкой в правом нижнем углу, по часовой стрелке, справа налево в красные квадратики и т.п. И вам как пользователю необходимо запомнить только этот алгоритм. Все остальные будут видеть только набор цифр.
Подробнее о создании SafePin рассказывает один из его разработчиков и Team Leader проекта Игорь.
«Мне как тимлиду необходимо было из отдельных «самородков» спаять прочный и эффективный сплав»
— Игорь, за 2,5 года в мобильной разработке вы успешно реализовали несколько проектов. Какое место среди них занимает приложение SafePin?
— Самое важное! Я начал писать это приложение «с нуля», под руководством себя и управляя другими. Менеджер назначил меня тимлидом проекта. Это был очень интересный и полезный опыт. Я распределял задачи, управлял процессом разработки в комплексе и сам писал сложные части продукта. Очень хорошо, когда видна конечная цель, то, что должно получиться на выходе. Над такими проектами работать легко и занимательно.
— Как оцениваешь этот опыт?
— Положительно. Я горжусь тем, что SafePin лежит в AppStore, его скачивают и покупают, пишут хорошие отзывы (в том числе на форумах и в социальных сетях, в комментариях к публикациями), дают рекомендации. Всегда приятно, когда люди ценят твой труд.
— А опыт командной работы?
— Тут сложнее. С руководящей ролью справился на 60%. Нужно было найти индивидуальный подход к каждому участнику, узнать сильные и слабые места и пропорционально распределять задачи. У каждого свои принципы и подходы к работе. Кто-то программирует быстрее, кто-то наоборот, кто-то привык писать код сам, а кто-то хорошо пользуется библиотеками. К тому же, у каждого свой непредсказуемый характер. Все вместе мы — одна команда. И мне, как тимлиду, необходимо было из отдельных «самородков» спаять прочный и эффективный сплав.
— Какая тактика использовалась при распределении задач?
— Интересное оставлял себе, а скучное отдавал другим :) Это шутка! Вообще я старался ставить ребятам конкретные задачи, выполнение которых занимает определенное время. А мелкие, пятиминутные, делал сам. Их было очень много. Поэтому эффективнее их решать по мере поступления. Например, добавить кнопочку на «вьюшку», поменять название лейбла. В то же время я заботился о полезности процесса разработки. Старался давать коллегам задания, которые предусматривали освоение новых для них знаний. Век живи — век учись, как говорится. И следил, чтобы процесс обучения не затягивался.
Самый главный вывод: чтобы познакомиться с командой, нужны тимбилдинги. Почему бы и нет? есть такое мнение, что у учителей все разговоры так или иначе сводятся к ученикам. Так и у программистов. Все разговоры сводятся к программам.
«Должен сказать, что наше приложение практически «летает»
— Как возникла идея приложения для хранения PIN-кодов?
— Она возникла у нашего менеджера намного раньше, чем я попал на проект. Насколько мне известно, ему самому не хватало такого мобильного «помощника». Он поискал аналоги и сказал, что они никуда не годятся. И я с ним согласен. Когда их изучил, лично в этом убедился: некоторые «тормозят», некоторые обладают «обрубленной» функциональностью, некоторые не имеют самых банальных проверок на точность-неточность ввода. В одном из них в качестве номера телефона службы поддержки банка я ввёл «привет» и даже пытался на него позвонить. На номер с текстом «привет»! Из букв, а не цифр! В вопросах дизайна «конкуренты» тоже были «не айс».
— То есть вы учились на чужих ошибках.
— А зачем выпускать еще один некачественный продукт? Насколько хорошо получилась реализация у нас – оценивают покупатели. Мы со своей стороны приложили для этого все усилия. Наш дизайнер поработала над интерфейсом и сделала вполне себе неплохой. Мы стремились выполнить его в духе iOS 7.
Очень тщательно тестировали программу. Использовали для этого разные методы, в том числе, как шутил наш менеджер, метод «обезьяна тыкает пальцем». Делали это, чтобы избежать возможных нестандартных ситуаций. Как быть, например, когда хочешь удалить карточку? Мы реализовали этот функционал в «эппловском» духе: простым сдвигом влево. А если ты перетягиваешь сразу три ячейки? Должна быть предусмотрена защита!
Также уделили должное внимание быстродействию. Отказались от хранения лишних данных и перегруженности интерфейса. Должен сказать, что наше приложение практически «летает», что очень важно, например, когда ты уже вставил карточку в банкомат и не можешь вспомнить PIN-код.
Приложение не пользуется теми функциями, которые активно кушают драгоценную энергию телефона, типа GPS-приёмника и геолокализации. Низкое энергопотребление – дополнительный «+» в пользу SafePin.
— А как насчёт безопасности хранения данных? В последнее время появляется много новостей об утечках конфиденциальной информации.
— В этом отношении пользователи тоже могут быть спокойными. Данные максимально защищены. Единственный доступ, который запрашивает SafePin, — это доступ к фотокамере телефона, чтобы пользователь при желании мог сфотографировать карточку. Это полезно, когда у него есть несколько «кредиток». С фотографиями проще ориентироваться и находить нужную.
— Мы говорим о полной безопасности?
— Да. Дело в том, что даже если ваш телефон украдёт злоумышленник и решит воспользоваться ситуацией, да даже если он будет «ковыряться» в устройстве с помощью компьютера – он всё равно не сможет найти ваш PIN -код. Он будет видеть матрицу цифр. Неслучайно её один из пользователей назвал «цветным полем чудес». Да, среди этих сорока цифр наверняка будут те, которые есть в вашем PIN -коде, но какие именно? Это известно только владельцу телефона.
Сам PIN-код нигде не хранится. Хранится только последовательность его записи в памяти у пользователя.
— А как же разработчики? Они-то наверняка могут отследить этот алгоритм.
— Нет, не могут. Функционал приложения предусматривает возможность пользователю ввести PIN-код любой длины. По умолчанию считается, что в нём четыре цифры, но можно ввести и 8, и 12, хоть всю матрицу самостоятельно заполнить! Откуда разработчику знать, какие из этих цифр и есть PIN-код?
А такие важные данные, без которых невозможно совершить платёж, типа номера карты и ФИО владельца, мы не храним. Даже если пользователь сфотографирует свою карточку и загрузит её в приложение (важно – с лицевой стороны), всё равно никто не сможет ей воспользоваться, кроме него самого. Не хватит данных!
Если уже у вас всё-таки подсмотрят сайт банка и телефон службы поддержки, то на этом явно не наживутся.
«Мы обещаем оперативно реагировать на отзывы пользователей»
— Что значит поддержка 24/7. Неужели, вы круглые сутки поддерживаете приложение?
— Насколько это возможно. Мы обещаем оперативно реагировать на отзывы пользователей, исправлять найденные неточности, баги и крэши. На данный момент ни один пользователь ещё ничего не присылал. Я думаю, это потому, что их попросту нет. Наш тестировщик нашел их раньше. :)
— Со времени последнего релиза прошло полгода. Вы вносили в приложение какие-то обновления?
— Добавили дополнительный функционал. Из новых возможностей появился сервис уведомления об окончании срока действия банковской карточки.
В будущем планируем внедрить синхронизацию с iCloud. Это актуально для пользователей, у которых есть несколько гаджетов, например, iPhone и iPad. Чтобы на каждом из них была необходимая и идентичная информация, и нужна эта синхронизация. В таком случае пользователю просто не придётся заново вводить данные в приложение на каждом дополнительном устройстве.
И по желанию некоторых товарищей добавим возможность на усмотрение пользователя защитить приложение паролем. Хотя, на мой взгляд, это лишняя мера. Ведь нужно будет запоминать этот пароль. К тому же, это не очень удобно, если PIN-код необходимо вспомнить срочно. Как ни крути, но введение пароля – это дополнительные секунды времени.
Я порекомендовал бы установить это приложение всем, кто может забыть PIN-код от своей карточки. А вот не порекомендовал бы тем, кто слишком паникует. Потому что в любом случае его PIN-код украдут, даже если его защитить десятью паролями. :)
P.S. Приложение доступно для скачивания в AppStore. Есть бесплатная версия — SafePin Lite. И платная — SafePin. В «лайте» отсутствует доступ к камере, есть реклама и действует ограничение на загрузку карточек — до трёх.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.