среда, 14 августа 2013 г.

Чаевые. Первая иттерация

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

Переформулирую задачи, которые я поставил перед собой перед проектированием приложения.
  1. Мгновенный ввод величины счета и отображение результата 
  2. Максимально простой и "чистый" вид
Первый пункт однозначно предполагает наличие на экране клавиатуры для ввода счета. После его выполнения выполнить второй пункт становится сложно. Три значения должны присутствовать на экране в любом случае: величина счета, величина чаевых, итоговая сумма. Как разместить остальные органы управления - это и стало основной задачей.
Мысль пошла стандартным путем: пользователь выделяет поле и получает специально адаптированную для него клавиатуру. Цифры для счета. Список процентов и варианты округления для чаевых.
Дополнительной кнопкой стала быстрая настройка вычитать налог из счета или не вычитать.

Но программе не хватало возможности разделения счета. С одной стороны такая возможность нужна не каждый раз, а с другой стороны нередко она оказывается довольно полезной.
Я обдумал вариант со списком людей и внесением стоимости каждого блюда для каждого человека. Но пришел к выводу, что пишу программу для людей на отдыхе, а не для бухгалтеров и отказался от данного функционала.
Поэтому я просто добавил еще одно поле в котором можно было ввести число людей. Но, разделить счет просто на 4 мне показалось недостаточно. Компания могла состоять из 2 пар или из трех человек вместе и еще одного. Поэтому я решил добавить все возможные сочетания для введенного числа людей и сразу посчитать разделение счета и для них.
В подобной реализации получался элегантный список: первая строка - деление на выбранное число людей - это обычный результат, который есть во всех программах. Вторая строка - деление для двух человек, третья для тех и так далее. Если первую строку выводить на экран всегда, а остальные строки пользователь может выдвинуть из-за края экрана в случае необходимости, то получается изящное и логичное решение.

Все идеи я воплотил в эскиз экрана. Тут я экспериментировал с текстурой подложки, глубиной тени и общей цветовой гаммой (в итоге все равно остановившись на своей любимом сочетание синего с желтым).

Эскиз основного экрана
Единственной сложностью реализации стал вытягиваемый из-за края экрана список. Это не стандартный элемент UI, но никакой особой сложности в его реализации я не ожидал. Но получил. Это были проблемы с определением нужной высоты и с рисованием фона. Доведя элемент до удовлетворительного состояния, я не стал заканчивать приложение, отложив его, как выяснялось позднее, на пол года.
На данном этапе "Чаевые" по сути были еще стандартным калькулятором с одной простой и правильной идеей - клавиатура и одной идеей оригинальной, но спорной - вытягиваемое деление счета.

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

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