Feature #499
closedGetting Things Done compatible organizer [metatask]
100%
Description
Планировщик дел, реализующий концепцию GTD:
http://ru.wikipedia.org/wiki/Getting_Things_Done
Заметка: это не просто календарь со списком дел.
Task scheduler which implements the concept of GTD:
http://en.wikipedia.org/wiki/Getting_Things_Done
Note: this is not just a calendar with a list of tasks.
Files
Updated by Tehnick about 13 years ago
Организовать лучше всего в виде редактируемых (todo) списков произвольной вложенности. Неплохой пример (про KOrganizer) описан здесь: http://www.kunstmusik.com/2006/08/25/gtd-with-korganizerpi/
Важно не делать жесткую привязку к дате и времени. Это должна быть опциональная возможность.
Если же время для задачи назначено, то будут полезны так же настраиваемые уведомления (тоже опционально).
Ну и полный функционал KOrganizer, конечно, не нужен. Только базовые вещи...
Updated by Tehnick about 13 years ago
Название для плагина: что-то вроде QLOrganizer
Updated by 0xd34df00d about 13 years ago
- Status changed from New to Accepted
Это клевая идея, на самом деле, но, боюсь, нужно немного более подробное описание, ибо я никогда ни с чем таким не работал.
Updated by Tehnick about 13 years ago
Я тоже не работал еще. Недавно прочитал пару статей на эту тему и решил разобраться, чтобы оптимизировать свое время.
И на мой взгляд, в архитектуру личкрафтов такой плагин впишется хорошо. Тем более, что все необходимые компоненты уже есть: база данных, система уведомлений и т.п..
Причем навороченный функционал для такого органайзера как раз не нужен (он лишь отвлекает) согласно концепции GTD. У чрезмерно популярных GTD программ под макось, судя про скриншотам, интерфейс вообще примитивный, с парой кнопок всего. При этом они успешно продаются и пользователи довольны.
Я нашел и свободные альтренативы, но как-то не густо...
Консольные программы упоминать не буду (а их много). Навороченные комбайны (Evolution и KOrganizer) тоже смотреть не стоит. Из наиболее известных узкоспециализированных графических программ упомяну:
http://packages.debian.org/sid/qtodo
http://packages.debian.org/sid/gtg
Как видно из скриншотов, их интерфейс предельно прост: продвинутый TODO лист. Пока что детально с ними не разбирался, потом опишу подробнее.
На самом деле, даже первой ссылки из описания достаточно, чтобы понять как это реализовать. Просто прочти...
Updated by Magog almost 13 years ago
годная идея. Я сам пользуюсь подобным софтом.
Updated by Tehnick over 12 years ago
Нашел годную прогу для KDE: http://zanshin.kde.org/
Интерфейс простой и удобный. В личкрафты подобный гуй впишется органично.
Updated by Tehnick over 12 years ago
Даже Яндекс уже добавил этот фукционал в веб-морду почтового ящика...
Updated by 0xd34df00d over 12 years ago
- Status changed from Accepted to Assigned
- Assignee set to 0xd34df00d
- Estimated time set to 50:00 h
О, zanshin даже в портажах есть. Потыкаю, посмотрю, найду там вдохновение.
Updated by 0xd34df00d over 12 years ago
- Category set to Plugins: Otlozhu
- Priority changed from Low to Normal
- Target version set to 0.5.65
Начал чего-то пилить. А вообще было бы клево в деталях обсудить возможности и UI, пока не поздно.
Updated by Tehnick over 12 years ago
Ты так и не скопипастил лог с описанием функционала. Вот тебе:
[20:02:13] <0xd34df00d> tehnick: кстати, да.
[20:02:18] <0xd34df00d> Давай уже обсудим тудушечку.
[20:06:44] <tehnick> 0xd34df00d: я помню, но сейчас не могу.
[20:07:14] <tehnick> 0xd34df00d: и если честно, меня в Zanshin все устраивает.
[20:07:27] <tehnick> Так что я могу только посоветовать сделать как там.
[20:08:13] <tehnick> Ты не будешь завязан на akonadi.
[20:08:27] <tehnick> Хотя и в нем это вроде опционально.
[20:08:53] <tehnick> 0xd34df00d: сейчас могу только коротко.
[20:08:58] <0xd34df00d> Давай коротко )
[20:09:11] <tehnick> 0xd34df00d: есть два списка: список дел и список тегов.
[20:09:54] <tehnick> Нет, три списка: еще есть список по дням.
[20:09:58] <tehnick> Так вот.
[20:10:09] <tehnick> Первые два списка независимы.
[20:10:27] <tehnick> У тебя могут быть теги без задач и задачи без тегов.
[20:10:44] <tehnick> Ну и даты без дел, или дела без дат... =)
[20:11:16] <tehnick> И три режима просмотра: сортировка по делам, сортировка по тегам, сортировка по датам.
[20:11:26] <magog> а так же проценты выполнения, автозаполнения процентов при выполнении подзадач
[20:11:32] <tehnick> Просто перестраиваешь модель.
[20:11:45] <magog> привязка к задачам всякого говна в виде документов, файлов, ссылок
[20:11:59] <tehnick> magog: это не баг-трекер. Это просто менеджер задач.
[20:12:01] <magog> привязка к задачам будильник
[20:12:10] <tehnick> Это все лишнее.
[20:12:18] <tehnick> Этот шлак только все усложняет.
[20:12:19] <magog> tehnick: и что? Поставил ты себе задачу купить ноут.
[20:12:39] <magog> Нашел 5 классных = ссылки привязал к задаче. Пришлос время - посмотрел. ВЫбрал
[20:13:07] <magog> не хочешь - не юзай. ВСегда можно использовать самый примитиывный функционал
[20:13:09] <tehnick> magog: это реализуется закладки в браузере и не относится к TODO
[20:13:15] <0xd34df00d> tehnick: не понял.
[20:13:18] <0xd34df00d> tehnick: что такое теги там?
[20:13:31] <0xd34df00d> А приоритеты?
[20:13:34] <tehnick> magog: в TODO просто пишешь: выбрать ноут.
[20:13:58] <tehnick> 0xd34df00d: сделаешь тег "Срочно", вот и будет тебе приоритет.
[20:14:02] <tehnick> Проще надо быть.
[20:14:06] <0xd34df00d> Хм, тег.
[20:14:10] <0xd34df00d> Так что такое теги-то?
[20:14:19] <tehnick> В этом суть алгоритма GTD.
[20:14:43] <tehnick> Чем больше времени ты уделяешь возне с оформлением задачи, тем хуже.
[20:15:00] <tehnick> Подробные описания и наработки надо хранить в другом месте.
[20:15:09] <tehnick> Они не относятся к менеджеру задач.
[20:15:39] <tehnick> [19:14:17] <0xd34df00d> Так что такое теги-то?
То же, что и везде.
[20:16:13] <tehnick> Короче, все реализуется тупо тремя таблицами с текстовыми полями.
[20:16:30] <tehnick> Хотя даты можно и как число хранить конечно.
[20:20:21] <tehnick> 0xd34df00d: и да, все данные из TODO надо либо хранить в текстовом файле, который укажет пользователь. Либо иметь возможность в два клика экспортировать, импортировать или синхронизировать с текстовым файлом.
[20:20:40] <tehnick> Файл этот должен быть в простом человеко-читаемом формате.
[20:20:48] <0xd34df00d> Скорее экспорт запилю.
[20:20:55] <tehnick> Это нужно, например, чтобы на флешке с собой таскать.
[20:21:07] <tehnick> 0xd34df00d: экспорта мало.
[20:21:16] <0xd34df00d> Ну и импорт, естественно.
[20:21:20] <0xd34df00d> Какие там распространенные форматы есть?
[20:21:20] <tehnick> 0xd34df00d: экспорт+импорт+синхронизация
[20:21:29] <0xd34df00d> Синхронизация — ы?
[20:21:30] <tehnick> Чтобы было прозрачно.
[20:22:12] <tehnick> [19:21:36] <0xd34df00d> Синхронизация — ы?
Что ы? Ты же не будешь все поля из базы удалять перед добавлением задач из тестового файла?
[20:22:55] <tehnick> Надо корректно обрабатывать ситуацию, когда есть пересекающиеся задачи, теги, даты...
[20:23:04] <tehnick> Это и есть синхронизация.
[20:24:02] <tehnick> 0xd34df00d: скопипасть весь этот нестройный поток мысли в задачу. Чтобы не потерять и потом осмыслить на досуге... =)
[20:24:47] <0xd34df00d> tehnick: а, ты про это.
[20:24:53] <0xd34df00d> Я думал, веб-синхронизация без всяких импортов-экспортов.
[20:24:56] <0xd34df00d> Хотя и ее запилить можно.
[20:32:47] <tehnick> 0xd34df00d: веб-синхранизацию тоже можно. Но это отдельная фича.
[20:33:20] <tehnick> 0xd34df00d: и лучше, чтобы это был вообще отдельный плагин верхнего уровня в личкрафтах.
[20:33:26] <0xd34df00d> Какой?
[20:33:28] <0xd34df00d> Веб-синхронизация?
[20:33:30] <0xd34df00d> Так он уже есть.
[20:33:31] <0xd34df00d> :3
[20:33:33] <tehnick> Чтобы он мог и другие вещи синхронизировать.
[20:33:41] <0xd34df00d> Просто поддержка этого плагина нужна в каждом плагине, который собирается синхронизироваться.
[20:33:43] <tehnick> Ну вот и правильно.
[20:34:13] <tehnick> 0xd34df00d: опционально?
[20:34:36] <tehnick> Т.е. если плагин не подгружен, просто не доступен его функционал.
[20:34:39] <0xd34df00d> Ну, да.
[20:34:53] <0xd34df00d> И код для поддержки синхронизации в остальных плагинах болтается без дела, и все.
[20:35:00] <tehnick> 0xd34df00d: тогда все отлично.
[20:35:01] <0xd34df00d> Собственно, там типа-гитоподобная система.
[20:35:10] <0xd34df00d> Синхронизация представляет из себя набор дельт, соответствующих изменениям состояния.
[20:35:16] <0xd34df00d> Типа, добавил таск — в цепочку добавилась дельта.
[20:35:24] <0xd34df00d> Пометил как сделанный — добавилась дельта.
[20:35:50] <0xd34df00d> От плагинов, которые хотят синхронизироваться, требуется поддержка генерации дельт с прошлой синхронизации и умение обработать новые дельты от сервера.
[20:36:00] <0xd34df00d> А в плагине синхронизации уже реализована вся логика по работе с сервером синхронизации.
[20:37:42] <tehnick> 0xd34df00d: еще одну важную вещь забыл: проекты.
[20:37:53] <tehnick> Проекты и подпроекты.
[20:38:15] <tehnick> Проект --- это как папка в ФС.
[20:38:27] <tehnick> У него могу быть подпроекты.
[20:39:01] <0xd34df00d> Так чем это отличается от тегов?
[20:39:05] <tehnick> Но это учитывается полько при построении дерева с сортировкой по задачам.
[20:39:07] <0xd34df00d> Навесил тег leechcraft, и вот тебе проект leechcraft.
[20:39:13] <0xd34df00d> Подпроект — пересечение тегов.
[20:39:30] <tehnick> При сортировке по тегам, проекты вообще не отображаются.
[20:40:26] <tehnick> 0xd34df00d: сложно тебе объяснить.
[20:40:33] <0xd34df00d> :(
[20:40:44] <tehnick> 0xd34df00d: ты наверняка и в кедах теги к файлам не использовал...
[20:40:55] <tehnick> *в дельфине
[20:41:00] <tehnick> Ну ты понял...
[20:42:18] <0xd34df00d> Да, не использовал.
[20:42:19] <0xd34df00d> :(
[21:00:14] <tehnick> 0xd34df00d: и теги к фотографиям в менеджере фотографий не использовал?..
[21:00:31] <0xd34df00d> У меня фотографий-то нет.
[21:00:33] <0xd34df00d> Какие там теги..
[21:00:49] <tehnick> 0xd34df00d: и сортировку по каталогам отдельно от тегов в почте не использовал?..
[21:01:06] <0xd34df00d> Нет, у меня все по тегам в почте, мне каталоги там не нужны.
[21:03:01] <tehnick> 0xd34df00d: ну вот видишь. Просто ты это не используешь. А предназначение у них разное...
[21:03:24] <0xd34df00d> Хм, ладно.
[21:03:30] <0xd34df00d> Попробую что-нибудь хорошее набросать.
И потом не отмазывайся, что сделал все что мог, а остальное отдельными задачами тебе отсылать...
Updated by 0xd34df00d over 12 years ago
- Subject changed from Getting Things Done compatible organizer to Getting Things Done compatible organizer [metatask]
- Estimated time changed from 50:00 h to 0:00 h
Updated by Tehnick over 12 years ago
- File desktop_370.png desktop_370.png added
- File desktop_371.png desktop_371.png added
- File Для дедфуда Для дедфуда added
Вот пример файла проекта специально для тебя. Со скриншотами.
И потом не отмазывайся, что нормального интерфейса не видел...
Updated by 0xd34df00d over 12 years ago
- Status changed from Assigned to Closed
Ну вроде базовое все. Еще можно зависимости между тасками, но это отдельной задачей лучше, наверное.
Updated by Tehnick over 12 years ago
"Готовность 100%" не соответствует действительности. Беглый осмотр показал, что задача реализована в лучшем случае на половину.
Updated by Tehnick over 12 years ago
Задачу нужно открыть заново. Поскольку ты научился создавать подзадачи, нет необходимости клепать десяток отдельных задач на все перечисленные здесь фичи.