Напоминания для людей
Одобрена

Я человек, который склонен что-то забывать. Забывать так, как это обычно забывают люди, а не компьютеры. Я не забываю факты, имена, цифры на самом деле -- они просто вылетают из головы. И задача приложения -- напоминать мне о важных вещах в правильное время и в правильном месте так, чтобы я ничего не упустил, и при этом голова не была забита только задачами. Подробнее о реализации и о том, почему с этой задачей не справляются существующие приложения - далее.

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

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

Задача приложения -- напоминать мне в правильное время о важных в данный момент задачах так, чтобы я держал в голове самое важное. Какие же бывают задачи в реальной жизни и как приложение должно на них реагировать? Прежде чем рассмотреть примеры, кратко опишем будний день меня как студента (он в целом не очень отличается от буднего дня работающего человека за исключением названий):

- Утром я встаю, делаю некоторую утреннюю рутину, и, в целом, времени хватает только на нее;
- Дорога на учебу. Она не может быть ничем занята, потому что это все же транспорт; Возможно чтение, музыка. Это как раз то время, когда я ближе всего нахожусь к аптекам/магазинам/другим подобным местам;
- Учеба. Меня не нужно отвлекать на парах, при этом я, возможно, должен что-то важное сделать во время перерыва;
- Дорога домой;
- Вечернее время, когда я отдыхаю или делаю что-то по учебе.

Рассмотрим теперь несколько примеров задач:

- "Купить хлеб". Если забуду - плохо, но все-таки не смертельно. Напоминать утром и по пути на учебу бесполезно. Один раз на учебе -- возможно. И стоит трезвонить постоянно по пути домой (особенно рядом с магазинами).
- "Подать документы". Задача разбивается на 2 этапа: собрать документы и отнести их. В этой задаче может содержаться много важной информации: какие документы нужно отдать, до какой даты нужно это сделать, когда работает отдел. Напоминать о сборе стоит по вечерам и утром, а о передаче документов - по дороге на учебу и очень активно на перерывах до того, как закроется отдел и постоянно напоминать (может даже беззвучно на парах), если остался всего день, а документы не поданы.
- "Сделать домашнее задание". Стоит периодически напоминать об этом до срока сдачи, чтобы не давать отвлекаться. При этом очень частыми напоминания не стоит делать даже за день до дедлайна, а вот проявлять сильное упорство стоит - и если уже скоро сдача, то нужно быть уверенным, что я прочел напоминание.
- "Посмотреть спорт". Трансляция начинается в определенное время, и за 5-10 минут до нее стоит настойчиво о ней напомнить. Так же было бы полезно напоминать в течение дня соревнования (освободить вечер, купить попкорн), а вот за пару дней до напоминать не стоит вовсе.
- "Заниматься спортом". У такого занятия можно определить предпочитаемое время (утренняя зарядка или вечерняя пробежка) и напоминать ежедневно, но не очень активно.
- "Пить лекарства". Например - пропить пятидневный курс лекарств, которые нужно пить 3 раза в день. Утром стоит напомнить взять лекарства на учебу, и 3 раза в день выбирать свободный временной промежуток примерно в 2 часа, в который я и должен выпить лекарства (чтобы равномерно распределить их по суткам). Напоминать стоит, конечно, ровно неделю.

Как мы видим, это обычные, ежедневные, бытовые напоминания -- но напоминать о них стоит очень по-разному: в разное время, с разной настойчивостью (тихо пискнуть в кармане напоминанием или звонить до тех пор, пока пользователь не отреагирует), в разных местах и разное количество дней. И есть еще варианты напоминаний, которые могут возникнуть внезапно или возникают у людей с другим ритмом жизни, например автомобилистам нужно напоминать делать обслуживание, менять масло и т.д. (тут я, правда, совсем некомпетентен).

Как же решить проблему с таким огромным количеством вариантов? Я предлагаю 4 основные идеи, каждая из которых может быть (и будет в более конкретном описании идеи) проработана глубже и с большим количеством деталей.

- Сутки поделены на зоны. Это зоны рабочей занятости (учеба, работа), зона домашней занятости (домашние дела, общение с родными), зона отдыха (будь то на работе или дома), зона путешествия (пути из дома на работу или куда-либо еще). Возможны и другие зоны, но для среднего пользователя этого должно быть достаточно
- Пространство так же поделено на зоны. Я могу неожиданно оказаться у магазина, или занятие может быть отменено, и тогда временные зоны окажутся недействительны. Достаточно указать место учебы, работы и, возможно, указать маршрут домой и любимые магазины, чтобы сделать напоминания в разы эффективнее.
- У задания существует несколько настроек важности и времени. Приоритет (важность), время выполнения, время дедлайна, важно ли сделать задачу просто к дедлайну или нужно как можно быстрее и так далее.
- И у каждой задачи задаются его зоны. Нужно ли мне купить хлеб на работе? Или протереть пыль в дороге на работу? Скорее всего нет.

Это только верхушка айсберга, лишь поверхностное описание вохможного функционала. Дополнительный функционал же может быть, в том числе, такой:

- Задачи "из ряда вон", для которых все параметры должны задаваться вручную. Например - покупка замены сломанному холодильнику, которая приоритетнее даже учебы.
- Текущая сложность. Для нетребовательного пользователя будет достаточно указанных в примере пресетов без возможности детальной настройки, для очень требовательного - почему бы не сделать возможность писать свои собственные скрипты напоминаний и распространять их?
- Тонкая настройка зон временных и пространственных (для продвинутых пользователей, для обычных же - дом, работа, еду на работу, еду с работы, отдыхаю).
- Возможность быстро добавить напоминание с быстрыми настройками в пару кликов, а в свободное время напомнить настроить его точнее.

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

И пару слов о коммерционализации. Часть функционала (а может даже и разные части) можно вынести в премиум-аккаунт, что является обычным делом для приложений заметок и напоминаний, потому отторжения никак не может вызвать. Причем даже базовый функцонал (зоны времени и указание для каждой задачи не точного времени выполнения, а нужного промежутка) выгодно отличает приложение от присутствующих на рынке при том, что реализация подобного функционала не так уж и сложна (в отличие от зон пространства, которое если и может быть реализовано, то только в платной подписке).