Это продолжение статьи «Для чего можно использовать LazyCure?«, в которой были перечисленны такие способы использования как инструмент хронометража, повышения осознанности, отчётности, сбора данных для планирования, определения личной эффективности, гармонизации и как напоминалка. Ниже речь пойдёт о том, как это делать, а также о функциональности, которая незаметна на первый взгляд, но которой я с успехом пользуюсь.
Быстрое переключение
Благодаря этой функциональности, использование LazyCure сводится к минимуму действий. Например, в прошлую пятницу я реализовывал функцию InstallDotNet, тут мне в skype приходит сообщение от Саши, что возникла проблема с кейсами по SharePoint’у — я нажимаю Ctrl-F12, выбираю стрелками вверх-вниз активность ‘implement InstallDotNet’, нажимаю Enter. Вернувшись на рабочее место, набираю help Sasha и Enter, ESC. Всё! И это ещё проще, чем может показаться, просто попробуй и увидишь сам! Комбинацию горячей клавиши, которая открывает окно LazyCure и делает поле ввода активности можно изменить через Options->Hot key to activate: […]. Все активности, введённые хотя бы один раз, будут отображаться в выпадающем списке активностей — выбрать можно или мышкой, или стрелками с клавиатуры.
Выпадающее меню в трэе
Альтернативный способ выбора активности — выпадающее меню в трэе:
Метки\Задачи\Проекты
Активности можно помечать, например, dinner, break, wc можно поменить как Rest, walking, in car, movement from home to office можно поменить как Movement, write article, publish article, moderate comments можно пометить как LifeIdea.org. Делается это на форме Activities Summary (меню Show->Summary). Просто кликни два раза в строчке с нужной активностью в колонке Task и выбери нужный (это может быть задача, проект или категория — дерево тасков можно создать абсолютно произвольным). По умолчанию есть две простые категории — Work и Rest — для начала их достаточно.
Проставив метки, на закладке Tasks окна Summary можно посмотреть статистику по задачам. Метки можно переименовывать (F2), удалять (Del), добавлять (Enter) и добавлять дочерние метки (Insert).
Рабочие активности и эффективность
Каждую задачу (проект, метку) в окне Task Manager (меню Show->Task Manager или при связывании активности с меткой) можно пометить как ‘Working’ (рабочая). Благодаря этому можно видеть, сколько времени всего ушло на рабочие активности и увидеть эффективность работы — отношение рабочих активностей к потраченному времени в заданный период.
Выделение
Выделив несколько ячеек или строк можно просмотреть суммарное время по ним в поле «Time in selected rows (h:mm):». Это работает как в таблице Activities Summary, так и в Tasks Summary.
Редактирование активностей, ручной ввод
Весь тайм-лог, который ведёт LazyCure, доступен для редактирования в Time Log Editor’e (Show->Time Log). Можно переименовать активность, можно изменить время её старта и завершения или длительность. Изменяя один временной параметр, остальные пересчитываются автоматически. Можно добавлять от руки записи в лог, поставив курсор в нижнюю строку, помеченную *. Можно набрать, например, «3:25» нажать Tab, «поднялся и умылся», Tab, «0:15». В результате появится запись:
Заметь, секунды, а также время завершения при ручном вводе вводить не нужно — они сами подставятся.
Параллельные/последовательные активности
Функциональность, о которой я мечтал годами, появилась совсем недавно — в версии 3.7. Она заключается в том, что есть возможность указать сразу несколько активностей, которые только что завершились. Например, я указываю активность, которую только что завершил, нажимаю Done, и иду ревьювать код Валеры перед комитом. Сделав это, подхожу к Кириллу, узнать как у него дела, и выясняю что тоже нужно проревьювать код. Возвратившись на рабочее место, мне нужно зафиксировать две завершённые активности: «review Valery code» и «review Kiryl code». Как это делалось раньше (по-прежнему можно делать сейчас):
1. Ввожу «review Valery code»+Enter.
2. Ввожу «review Kiryl code»+Enter.
3. Открываю Time Log, там две новые активности, первая длительностью 0:45:07, вторая 0:00:03. Мысленно делю время пополам (так как не обратил внимания на время переключения между ними), ставлю у первой активности 0:22:30.
4. Время завершения первой активности автоматом пересчитывается, я его ставлю как время начала второй активности. В результате длительность второй активности автоматически пересчитывается.
Время на выполнение этих 4-х пунктов — около 8 секунд. Но вместо них я теперь выполняю один пункт:
1. Ввожу «review Valery code, review Kiryl code»+Enter.
В результате в логе появляется две записи «review Valery code» и «review Kiryl code» с автоматически поделенной пополам длительностью. Можно указывать и более двух активностей, разделённых запятой — все они поделят время поровну между собой. При этом не важно — выполнялись они последовательно или параллельно — в обоих случаях запятая разделяет активности верно.
Если ты используешь запятые в названиях активностей, разбиение по запятой можно отключить в опциях.
Напоминание
В тех же опциях можно настроить период времени, после которого, если не было зафиксировано переключение активности, иконка LazyCure в трэе начинает активно моргать, привлекая внимание. Это позволяет побороть причину, по которой 75% людей бросают попытки вести хронометраж. Причина — люди забывают фиксировать переключения, а вспомнив через 4 часа о своём намерении — забивают. Даже после нескольких лет практики ведения хронометража, такое напоминание бывает полезным.
Обычно время напоминания у меня установлено в 50 минут, так как после этого времени нужно или сделать перерыв или хотя бы сменить вид деятельности. Бывает, что в состоянии потока работаю по 2 часа над одним проектом без перерыва, но активности всё равно, как правило, сменяются. Ну а если не сменяются — я фиксирую активность, которой сейчас занимаюсь, нажимаю Done! и продолжаю над ней работать. После нажания на Done! иконка перестаёт моргать — это сигнал для LazyCure что ты осознал, чем сейчас занимаешься.
Когда я разбираю корзинки (записи с мыслями, делами, почту), я ставлю период напоминания в 2 минуты. Это позволяет проводить разборы максимально эффективно, соблюдая правило 2-х минут — «если задача занимает меньше 2-х минут — сделай её сейчас, если больше — прими решение, когда и где ты ею будешь заниматься«.
Твиттер-клиент
Бывает, хочется поделиться своими успехами — тогда я ввожу текст твита в окошко активности LazyCure, ставлю галочку post to Twitter и нажимаю Done! В результате в twitter‘e появляется введённый текст. Эта функциональность работает тогда и только тогда, когда:
- На закладке Twitter в окне Options введены верные login\password.
- Перед нажатием на Done! Была проставлена галочка ‘post to Twitter’.
Нет смысла делиться каждым завершённым делом с миром, поэтому всё, что ты вводишь в LazyCure храниться только локально на диске в папке TimeLogs в xml-файлах. Хронометраж — это отчётность перед самим собой. Но если хочешь поделиться избранной активностью — это можно сделать без дополнительных программ.
Экспорт данных.
Так как данные time log’ов храняться в xml формате, то их можно легко экспортировать в любой другой формат. Можно даже просматривать данные как есть, например, открыв timelog-файл в браузере:
Кроме этого можно выделить диапазон ячеек или всю таблицу Time Log или Summary, нажать Ctrl+C, открыть Excel или Google Docs и нажать Ctrl+V — данные вставятся.
Start\Stop вместо Done!
Что если я не хочу использовать только кнопку Done!, а вместо неё иметь кнопки Start\Stop, чтобы фиксировать время начала и завершения активности? На самом деле в более ранних версиях как раз и была такая кнопка:
1. Стартуешь LazyCure, видишь кнопку Start.
2. Вводишь активность, нажимаешь Start, начинается отсчёт времени.
3. Активность закончилась, нажимаешь Stop.
4. Вводишь название следующей активности, нажимаешь Start.
Получается, чтобы зафиксировать переключение с одной активности на другую, надо ввести название, нажать Stop и тут же нажать Start. А чем ты занимаешься после нажатия на Stop и перед нажатием на Start? Считалось, что в это время ты отдыхаешь.
Потом я пришёл к простому выводу — никакого Stop не существует! Ты всё время что-то делаешь. Нужно лишь зафиксировать момент переключения между задачами — и это происходит при нажатии кнопки Done! Заметь, как только ты запустил LazyCure, отсчёт времени активности пошёл, тебе осталось только дать ей описание и нажать Done! После этого у тебя есть два варианта:
1. Описать, чем ты сейчас планируешь заняться, позаниматься, а после переключения на другое дело нажать Done!
2. Пока ничего не записывать, а при переключении записать и нажать Done!
Оба варианта хороши и я использую их оба в течение дня. Преимущество первого в том, что записав вперёд, чем будешь заниматься, ты можешь лучше сфокусироваться на этой задаче. Но реальность такова, что ты не всегда знаешь, чем ты будешь заниматься — в таких случаях более точным будет второй способ, когда ты записываешь активность по её завершению.
Если сейчас нет времени записать название активности (например, нужно ответить на звонок), просто нажми Ctrl+F12,Enter. Тем самым переключение зафиксируется и в Time Log добавиться запись с безымянной активностью вроде «activity1». Позже ты можешь её переименовать. Ну а если ты записал чем занимаешься заранее, то и переименовывать даже не надо.
Текущий статус.
Чтобы посмотреть статус по текущей активности — её название, время начала и длительность или нажми Ctrl+F12 — всю информацию можно увидеть на главной форме, — или подведи курсор к иконке в трэе.
Объединение активностей.
И напоследок: если во время просмотра Activities Summary выясниться что есть две активности, означающие одно и тоже, но с разными названиями (например, break и beark или process corr и process correspondence), два раза кликаем на одной из них, переименовываем — и они объединяются в одну. Если же активности разные, но похожи по смыслу (например, breakfast и dinner), то лучше оставить им говорящие имена и пометить их в одним таском, например Eating — тогда общее время по всем ним можно будет посмотреть в Task Summary.
Скрытая фича
Есть ещё одна особенность LazyCure, которая становится видна только заглянув в исходники — это качество и структурированность кода. Каждому изменению в коде предшествует новый юнит-тест, который гарантирует, что изменение будет сделано правильно. Остальные же тесты гарантируют, что все, что работало раньше в LazyCure, будет работать и после внесения этого изменения.
LazyCure можно скачать здесь абсолютно бесплатно. Если есть вопросы, предложения, замечания по работе LazyCure — всегда рад вашим письмам :).
Добрый день,
У меня есть вопрос и рац.предложение:
Можно ли каким-то образом вводить время более удобно (без двоеточия)? Например, 725 или 1240 (вместо 7:25 или 12:40)?
Как лучше и проще анализировать логи? За неделю (месяц) и т.д.
Для пущей наглядности…
можно вводить 7:25 вместо 7:25:00, и 10:1 вместо 10:01:00.
Без двоеточия в случае 112 сложно понять то ли это 11:02 то ли 1:12.
Для анализа за большой промежуток будет функционал в LazyCure 4.2. Так что собирайте логи:).
Добрый день,
1) Все же надо каким-то образом оптимизировать ввод двоеточия.
2) Что насчет рац. предложения — хоткей на какое-нибудь дело. Н-р, туалет, телефон и т.д.?
На счёт hot key на конкретные активности — да, есть такой запрос. Хотелось бы тогда уточнить желаемое поведение. Представим, что сейчас текущая активность уже идёт какое-то время. Есть 2 варианта — 1) активность указана. 2) активность не указана.
Какое желаемое поведение после нажатия хот-кея например на активность «болтовня по skype»:
1. Завершить текущую активность, дать ей имя «болтовня по skype», начать следующую без указания названия.
2. Завершить текущую активность как есть с указанным или не указанным именем, стартануть новую с названием «болтовня по skype».
3. Если текущая активность указана — завершить её и стартануть новую с именем «болтовня по skype». Если не указана — активировать главное окно с фокусом поля активности для указания только что завершённой активности.
4. Другой вариант.
на счёт двоеточия — честно говоря не знаю, в чём здесь напряг. Могу посоветовать английскую раскладку, там удобнее набирать. Ну и с другой стороны, вручную редко набирать приходится, всё же основное автоматом проставляется. Для андроидов могу порекомендовать https://play.google.com/store/apps/details?id=main.java.com.github.lazycure
Не могу понять почему в Твитер не постит? Все сделала как написано.
И еще меня раздражает, что в логе времени я не могу подвинуть колонки, сделать их шире. В колонке помещаются лишь цифры 00:0… Как раздвинуть колонки, подскажите, плиз!
не постит в твиттер — из-за того что изменился API самого Twitter’a, постараемся исправить в версии 4.2.
Колонки времени сделаны фиксированного размера, чтобы можно было динамически подстраивать ширину колонок для имени активности. При стандартном размере шрифта в операционной системе (100%, не 125%), все цифры времени влазят.
Большое спасибо автору сайта! Много полезного у Вас в блоге. Добавила в rss теперь буду почаще посещать.