вторник, 13 августа 2013 г.

Чаевые. Постановка задачи

Работа в крупной компании редко дает возможность использовать при разработке последние версии операционной системы. Для заказчика более важными параметрами являются совместимость со старыми версиями - это дает широту охвата и стабильность технологий. На крупном проекте легко выпасть из "потока" на пол года и знакомиться с новыми технологиями только в обзорных статьях.
Есть много возможностей решить данную проблему: сменить работу, участвовать в конкурсах, присоединиться к интересному проекту с открытым кодом или написать свое приложение. Я пошел по последнему пути. Идея была в том, чтобы написать небольшую программу, использовать в ней только новые возможности Android и в процессе дистрибуции попробовать руками существующие магазины приложений и средства монетизации.

Из нескольких идей для реализации я выбрал самую простую - калькулятор чаевых. Наверное, это самое простое приложение, которое при этом все-таки делает что-то осмысленное. По крайней мере, так считает множество программистов, которые выбирают калькулятор чаевых в виде своеобразного "hello world" и на его примере изучают разработку для Android.
AppBrain при поиске по Google Play возвращает 2144 приложения и первые 300 из них это точно калькуляторы, думаю, что и остальные преимущественно тоже. Можно считать, что в Goog Play 2000 калькуляторов чаевых. И 99% из них - это кошмарная мешанина полей для ввода, стрелок вверх-вниз и ползунков. Я решил, сделать две тысячи первый калькулятор, но первый, которым удобно было бы пользоваться.

Примеры существующих калькуляторов из первых двадцати результатов поиска

Сама идея калькулятора чаевых выглядит странной для большинства моих знакомых. "Взять 10 процентов от суммы и прибавить к счету, в крайнем случае, разделить еще на 2. Зачем для этого нужен калькулятор?".
При такой задаче калькулятор действительно выглядит насмешкой над математическими способностями человека, хотя после пары бокалов пива не всегда есть настроение что-то вычитать, складывать и делить. Но основной рынок для подобных программ - это США и там в них намного больше смысла. В каждом штате есть местный налог на товары и услуги, который колеблется от 4 до 12 процентов. Счет включает в себя этот налог, но вот чаевые американцы предпочитают платить без его учета. Так что расчет чаевых в США и Канаде производится так:
из первоначальной суммы для оплаты вычитается, к примеру, 9% налогов. От полученного результата берется от 15 до 25% - это чаевые. Они прибавляются к первоначальной сумме и это будут те деньги, которые вы оставите на столике.
Дополнительными усложнениями может являются:

  • оплата кредитной картой. Чаевые в этом случае в большинтсве случаев все равно оставляют наличными
  • разные счета на кухню и на бар. Некоторые люди предпочитают оставляют на бар меньший процент чаевых чем на кухню

В своем приложение я хотел реализовать следующие возможности:
  1. быстрый ввод суммы. Приложение запускается и можно сразу вводить данные, не вызывая экранную клавиатуру для одного из полей ввода
  2. как можно более чистый вид - минимальное количество кнопок и данных на экране
  3. удобное разделение счета на компанию 2 + 2 + 1 человек. Когда приходят 2 пары, и один человек самостоятельно. Счет делится на 5 частей, а потом умножается на 2 для пары
  4. и, понятное дело, никаких кнопок "Calculate" - все вычисления производятся сразу как вводиться число
Иногда счет надо разделить сложным образом. Маршал и Лили платят за двоих, Барни платит за себя и Робин, а Тед платит только за себя.
О том, как я проектировал интерфейс и взаимодействовал с магазинами приложений я расскажу в последующих постах. Конечный результат можно посмотреть здесь:

Комментариев нет:

Отправить комментарий