ПланФикс (planfix) wrote,
ПланФикс
planfix

Categories:

Сентябрьский релиз 2013: чеклисты и подзадачи

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

Немного истории
Я люблю ссылаться на идеологию ПланФикса, чтобы проиллюстрировать один из базовых принципов построения нашего сервиса, который очень похож на бритву Оккама: не плоди сущностей сверх необходимого. Но, несмотря на эту четкую установку, некоторое время назад мы попали в ловушку: когда пришло время добавить в ПланФикс чеклисты, мы поторопились и реализовали отдельную сущность “строка чеклиста”.

Как мы были наказаны

Вскоре после появления в ПланФиксе чеклистов, мы начали получать запросы от пользователей: “дайте возможность назначать исполнителей, к которым относится конкретная строка, а то у нас народ путается, не знает кому что делать”, “пусть у строки чеклиста будет дата, до которой она должна быть отмечена выполненной”. Тут мы, конечно, насторожились - очень уж напоминали эти запросы что-то до боли знакомое. А когда у нас начали просить дать возможность добавлять к строке чеклиста напоминания, мы окончательно поняли, что наступили на нами же описанные грабли.

Фактически, строка чеклиста это не что иное, как мини-задача, просто иногда для ее описания достаточно одного названия, которое передает ее суть, а в некоторых случаях эту задачу хочется развернуть: назначить дедлайн, исполнителей, установить напоминалку и так далее.

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

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


samurai
источник

Нет, до харакири в нашем случае дело не дошло, но без ножа не обошлось :)

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

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


Подзадача отображается как ссылка. В такую подзадачу можно перейти и увидеть все ее детали. Помимо чеклиста, подзадачи также можно увидеть на вкладке “Подзадачи” в карточке задачи.

Вы можете настраивать вид отображения чеклиста, включая или выключая отображение подзадач:


Для чего мы разделили “простые” строки чеклиста и полноценные подзадачи?
Чтобы не засорять списки задач. Мы решили, что активные пользователи чеклистов не обрадуются вдруг возникшей ниоткуда куче задач, которые будут выводиться в списках “Все”, в Планировщике и в куче других мест ПланФикса. Да и далеко не всегда они там нужны - есть множество ситуаций, в которых простых строк чеклиста будет более чем достаточно, и нигде, кроме как в задаче, их видеть нет необходимости.

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

Взвесив все “за” и “против” такого подхода, мы решили пока остановиться на ручном варианте - в тот момент, когда пользователь хочет установить дополнительные параметры для строки чеклиста, он сознательно делает ее задачей и дальше работает с ней привычным образом:


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

Что получили чеклисты в результате переделки?


  • В первую очередь, это возможность задания пункту чеклиста любых параметров - ведь теперь это подзадача. Вы можете быстро накидать список дел по задаче, а затем нужные из них развернуть: добавить дедлайны, файлы, комментарии - все, что понадобится. Бывает так, что в процессе работы из одной строчки чеклиста вырастает целая ветка задач - и ПланФикс теперь без проблем позволяет это сделать.



  • Многоуровневость. Сразу при создании чеклиста можно задать вложенность строк или подзадач в нем. Для удобства можно использовать горячие клавиши, список которых спрятан тут же, под иконкой:




  • Возможность перемещать пункты относительно друг друга:



Ну и самое главное - мы избавились от лишней сущности, а это гораздо сложнее и полезнее, чем эти сущности добавлять.

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


Работа с подзадачами тоже стала проще и удобнее: она перекочевала на стандартную панель и получила такие же возможности по быстрому созданию и редактированию, как и чеклисты:


Переделка была серьезной, она затронула многие разделы ПланФикса, поэтому обязательно всплывут какие-то ошибки и недочеты. Мы будем внимательно следить за вашей реакцией на новые чеклисты: не стесняйтесь оставлять отзывы прямо здесь, ставьте задачи на службу поддержки ПланФикса из своего аккаунта, спрашивайте, предлагайте - это важно для нас, мы читаем и обсуждаем каждый отзыв.

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


dm_200_200
  Дмитрий Гончаренко
   Команда ПланФикса
Tags: ПланФикс, подзадачи, релиз, управление задачами, чеклисты
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 19 comments