Страница 1 из 1

Быстрые манипуляции с многоуровневым чек-листом

Добавлено: 17.06.2016 22:02
Кирилл Панькин
Хочу поделиться некоторыми мыслями.

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

Есть множество вариантов подхода к подобным вопросам — с помощью интеллект-карт (aka mind map), с
 помощью специальных приложений или сервисов аутлайнеров, в конце концов — просто в виде многоуровневого списка в текстовом документе с общим доступом, вроде Google Docs.
У разных вариантов есть свои разные плюсы. Но все они имеют большой недостаток, вытекающий из самого факта использования сторонних средств. Созданную структуру нужно будет как-то переносить из них в ПланФикс и результат импорта едва ли будет сразу годен для использования — тут никак не обойдётся без дополнительных ручных манипуляций. Кроме того, весьма вероятно возникнет потребность в правках созданной структуры задач/чек-листов уже в самом ПланФикс — и к чему тогда была возня со сторонними средствами?

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

Предложения:
  • Меню действий у пункта чек-листа, появляющееся по наведению мыши, отображать сразу в виде иконок действий в строке списка (таких, как сейчас иконки выбора исполнителей и меню действий).
  • По одиночному клику на обычном пункте сразу включать его редактирование.
  • По клику на название-ссылку подзадачи открывать её во всплывающем окне "Редактирование" (сейчас по клику происходит переход к задаче), а переход к задаче наоборот переместить на иконку действия.
  • Добавить действие "Вставить пункт ниже", создающее новый пункт под выбранным на одном уровне с ним.
  • Добавить действия "Увеличить отступ", "Уменьшить отступ", "Переместить ниже", "Переместить выше", позволяющие изменить вложенность и позицию пункта без перетаскивания его мышкой (процесс "прицеливания" при перетаскивании бывает весьма напрягающим).
  • Для пунктов-подзадач рядом с названием отображать начало текста описания задачи (отличающимся шрифтом), чтобы снизить потребность заглядывания в задачу, если её название неинформативное (да, это очевидно даст немного дополнительной нагрузки на back end). Как вариант — отображать несколько строк (как для многострочных пунктов). Что делать по клику на тексте описания я пока что не придумал.
  • (а вот тут уже жесть пошла :) ) Добавить возможность выбора полей подзадачи, отображаемых между её названием и текстом описания (но не колонками, а строчными элементами), приблизительно так, как это делается в обычном представлении задач в таблице. Я бы туда, к примеру, с радостью поместил кастомное поле тегов или грядущее поле цветовой метки. Это вроде бы даже не совсем призыв к созданию новой сущности, потому что выбор отображаемых полей для задач уже существует и используется.
По-моему, предложенные изменения не усложнят существующие сценарии, не поднимут существенно нагрузку на сервер, и при этом превратят списки в куда более серьёзный инструмент для манипулирования структурой подчинённых пунктов/подзадач, частично избавив пользователей от потребности в сторонних средствах и увеличив общее удобство пользования.
Доклад окончен. :)

Добавлено: 18.06.2016 10:47
Dmitry Goncharenko
По клику на название-ссылку подзадачи открывать её во всплывающем окне "Редактирование" (сейчас по клику происходит переход к задаче), а переход к задаче наоборот переместить на иконку действия.
Вот тут не думаю, что большинство пользователей будет ожидать такого поведения
Для пунктов-подзадач рядом с названием отображать начало текста описания задачи (отличающимся шрифтом), чтобы снизить потребность заглядывания в задачу, если её название неинформативное (да, это очевидно даст немного дополнительной нагрузки на back end). Как вариант — отображать несколько строк (как для многострочных пунктов). Что делать по клику на тексте описания я пока что не придумал.
Много места будет занимать. Мне кажется, нужно другое решение. Например, выводить описание в хинте, по наведению на пункт-подзадачу.
(а вот тут уже жесть пошла :) )
Это точно)

Добавлено: 18.06.2016 15:10
Кирилл Панькин
Вот тут не думаю, что большинство пользователей будет ожидать такого поведения
Готов согласиться на счёт большинства. Но всё дело в том, что для статистического большинства чек-лист является таким же объектом, как задачи или проекты — он был ранее кем-то создан и теперь они работают в соответствии с ним, а не изменяют его (по крайней мере, изменение не является целью деятельности). А вот те, кто создаёт и редактирует чек-листы, естественно остаются в меньшинстве. Для них нет какого-то специального режима редактирования чек-листа, как он есть для задач, и им приходится подстраиваться под условия, удобные для большинства. С другой стороны, правда, чек-листы по своей сути являются легковесным средством и добавление такого специального режима было бы очень похоже на акт порождения избыточных сущностей в рамках имеющихся средств и подходов.
Думаю, тут нужна какая-то золотая середина. В отношении перехода/редактирования задачи ею может стать просто вынесение действий "Редактировать" и "Редактировать задачу" из меню действий на иконку действия.

Кстати, у действия "Редактировать" для пунктов-подзадач есть пара странностей. Не уверен в их природе, потому пишу тут, а не в тикете. Во-первых, оно приводит в точности к такому же результату, что и действие "Выбрать исполнителей" — курсор ставится в поле ввода имён исполнителей, а не в поле названия задачи. Во-вторых, у поля ввода имён исполнителей (в отличие от поля названия задачи) отсутствует реакция на нажатие "Esc" (обычных пунктов это тоже касается).
 
Много места будет занимать. Мне кажется, нужно другое решение. Например, выводить описание в хинте, по наведению на пункт-подзадачу.
Если выводить несколько строк, то места может занять много, конечно. Потому я это обозначил как отдельный вариант. Если же выводить в одной строке с названием, то справа от названия (и перечня исполнителей) строка ведь всё равно пустует. А чтобы создавать меньше визуального шума, текст описания можно выводить сереньким шрифтом.
Хинт штука хорошая, но если список большой и многие пункты в нём неизвестны пользователю (созданы не им), то подводить мышь к каждому пункту может надоесть. А ведь у задачи может и не оказаться описания (к примеру, она была создана преобразованием пункта в подзадачу) и часть действий будет сделана впустую. Скорее хинт будет отличным дополнением к отображению описаний прямо в чек-листе.

Надо заметить, что с хинтами связана ещё одна подлая неприятность. В Chrome для Windows уже много лет существует необоримый баг, который иногда приводит к отсутствию отображения хинтов, если к компьютеру подключен дополнительный монитор (точнее, это баг в WinAPI, которым пользуется Chrome для хинтов, но от этого не легче). В
 Firefox что-то подобное тоже было.
Это точно)
Жесть — жестью, но ведь в пунктах-подзадачах сейчас уже выводится три поля: дата, название и перечень исполнителей. А возможность выбора отображаемых полей является нормой во многих других местах системы. И, кстати, вышеописанное отображение описания подзадачи в строке пункта легло бы в эту схему, как частный случай.

В общем, моё дело тут малое — предложить идею. По-настоящему просить я тут готов только за минимум — вынесение действий "Редактировать" и "Редактировать задачу" из меню на иконки действий. Остальное со спокойной душой отдаю на растерзание вашему здравому смыслу. :)


P.S. Весь текст выше пришлось набирать почти целиком дважды, из-за милой особенности местного редактора сообщений, о которой я уже писал тут. Было весьма досадно.