Как я делал приложение i know percent

Лениво тянулся вечер понедельника, солнце всё ещё светило неприлично ярко, так ярко, что глаза ничего кроме белого уже не воспринимали. С чистой от мыслей головой я допивал холодный бананово-клубничный коктейль во дворе маленького южного отеля с видом на пустой бассейн. В таких местах, обычно, останавливаются, чтобы провести только одну ночь с незнакомкой, выпивкой и кокаином, а на утро убраться в свою правильную, выбранную обществом, наполненную суетливыми бездельниками, жизнь. Я бы предпочёл полный набор отчаявшегося засранца, но достать в понедельник вечером алкоголь, оказалось проблемой.

По-возвращению в номер, он уже был пуст, только слегка уловимый J`Adore ещё растворялся в воздухе. Ночь накрывала этот понедельник своим холодным космосом. Я принял душ, закурил заботливо оставленную Лаки Страйк, хотя я не курю, совсем, но разрушаться было весьма приятно. Оделся, занёс ключи на ресепшн и пошёл вниз по улице, где-то там должен был стоять Мустанг и заботливо меня ждать, так впрочем и было. Горы, камни, подъёмы и спуски, повороты, одинокие кафе, семейные минивэны, фрагменты ночи, всё быстро проносилось вокруг, и летело куда-то назад, и исчезало в зеркалах, и стиралось из памяти. Триста лошадей резво опустошали бак. Навигатор говорил со мной голосом девушки: "заправка будет через 37 километров", остановившись точно через столько, я увидел лишь какую-то местную БНК, но выбора не было.

— Добрый день, — мило сказала она.

— Добрый день, — произнёс я.

— 98-го до полного.

— 98-го, нет. — с досадой сказала девушка Ира и показала скромную улыбку.

— Тогда пятый и бутылку воды.

Оплатив, я вышел, окунувшись в тёплую темноту. В руках были ключи и бутылка, предстояло ехать ещё 350 км. Вдруг, я услышал голос Иры за спиной, она спросила не желаю ли я, чтобы она сама заправила, я, конечно, согласился. Когда молодая, светловолосая девушка предлагает свои услуги — нельзя отказывать.

— Куда едете? — спросила Ира.

— На север, — ответил я.

Почему ты работаешь на заправке? — поинтересовался я, и тут же пожалел, что за глупый вопрос.

— Здесь не приходится выбирать, да и тут больше всего платят, к тому же я готовлюсь к поступлению и.. — поддержала разговор Ира.

— Дай угадаю, — перебил я, — будущий педиатр?

Она засмеялась, это был хороший знак.

— Вообще-то, стоматолог, но ты был близок, — улыбнулась Ира.

— В тебе определенно живёт врач.

В этот момент пистолет отбил, перебив наш диалог. Я достал пять сотен и оставил на чай, она улыбнулась и пожелала удачной поездки. Я сел в авто и просто уехал. Потерянный в минутах и километрах, размышлял, как здорово оказаться студентом, без гроша в кармане, открытым миру и всему вокруг. Меня ждали великие дела, а мир всё также открыт. Километры стремительно неслись.

К утру вторника, добравшись до офиса, на столе меня ждали документы для отправки в налоговую, пожалуй это будет скучный день. Я взял калькулятор и начал делать расчёты:

Март 2017:

13% из 84 234.. 10 950.42

13 % из 120 644.. 15 683.72

Так прошёл час, а сумм было огромное количество. Это чертовски долго... Так пришла идея, я начал бегло искать в App Store калькуляторы для операций с процентами, но после десяти минут поисков, разочарованный, закрыл магазин приложений и открыл Xcode. Всё должно быть легко, просто и стильно. TextField 1, TextField 2, Label, Button.

Элементарная формула Y / 100 * X

С кодом конечно проблемы начались позже, в основном это были проверки на ошибки, к примеру, сторонние символы, помимо цифр, не поддаются математическим операциям, а мой сырой код пытался посчитать БРВЫА / 100 и умноженное на КУЩО. Кидая мне Fatal Error уже без всяких пояснений. Ответы пришлось искать в официальных документациях, на форумах и так далее. После часа работы, был получен первый прототип.

Казалось, что для простоты восприятия нужно использовать крупные заголовки с описанием задачи, но как выяснилось, при расчёте и таком расположении элементов, основная информация теряется. Итоговое значение уходило на второй план и меня это никак не могло устроить. Так как интерфейс я поначалу делал параллельно в Xcode и Sketch, это также отнимало время, поэтому я перешёл только на Xcode. Прототипов было много. Тестов с взаимодействием ещё больше. Что сложного сделать такой простой app? Но мой перфекционизм и упрямство искали идеальный вариант.

Из открытого окна дул приятный прохладный ветер, ночь манила своей тишиной и спокойствием. На часах предательски показалось 2:55. Выйдя на пустую темную улицу, я отправился домой, досыпать остатки ночи.

Утром я решил позавтракать в кафе, со мной был Макбук и проект я начал доделывать там же.

— Что будете заказывать, — поинтересовалась официантка.

— Апельсиновый свежевыжатый, два яблока, три банана, грейпфрут и стакан воды.

В тот момент я отчаянно пытался перейти на здоровое питание и сыроедение, периодические голодовки и другие дикие вещи, которые всем знакомым казались как минимум безумными.

Когда второе яблоко было съедено, а сок допит, мне принесли счёт, обычно я оставляю не задумываясь 10% от чека, но в этот раз решил воспользоваться уже готовым прототипом, запущенном в эмуляторе на iPhone X. И так, 25% от 1337 рублей это 334 рубля, неплохо для чаевых.

Три дня ушло на доработку кода, исправление детских ошибок и поиск идеального интерфейса. Затем задача усложнилась тем, что калькуляторов должно было быть больше, так начали создаваться другие расчётные формулы.

Есть люди, которые инвестируют в криптовалюту, один из калькуляторов считает увеличение/уменьшение процентов от заданного диапазона. Токен XRP в ноябре 2017 стоил 0,20 центов, уже в январе 2018 рост показывал увеличение в 1900%. Это значит, что с каждой вложенной сотни долларов, можно было снять $2000.

Еще одна проблема, выявилась уже на финальной стадии. Для различных размеров экранов, нужно было сделать привязку всех элементов, строго соблюдая отступы. Так как приложений я до этого не делал, на отладку и выравнивание ушло еще половина дня.

Четверг меня порадовал. Всё было закончено, нужные сертификаты созданы и приложение отправлялось в App Store. Ещё сутки ушли на модерацию сотрудниками Apple.

Эта история, возможно, была лишь плодом моего бесконтрольного воображения, как автор я оставлю за собой право не раскрывать тайну. Главное, что приложение i know percent выпущено и доступно всем желающим.

0
1 комментарий
Михаил Федько

Прекрасная, простая и доходчивая идея/реализация. Никогда не перестану удивляться людям, не умеющим пользоваться калькулятором/мозгами для подсчёта.

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда