Pull to refresh

Comments 22

Насколько я понимаю, оно вообще для других задач.
Как-то неправильно выглядит, что длительность текущего действия, например дороги, фиксируется на время ввода. Я уже полчаса еду, а всё 16 минут. И хорошо бы иметь возможность назначить две категории — дорога и Хабр, например :)
Это недоработка, длительность для последней записи не обновляется в реальном времени. Пока что :)

А насчет двух категорий: в какую категорию тогда относить запись в статистике? Если во все, то получится сумма > 100% :)


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

Ну, лично мне приятно видеть, что я трачу время с эффективностью большей 100%, что могу делать несколько дел одновременно :)
А вообще, по-моему, будущее (до создания сильного ИИ) за полуавтоматическими треккерами, которые будут фиксировать объективную активность, а квалифицировать её предоставят пользователю. Явно или с помощью правил. Без подсказок или с подсказками на базе истории.
Что будет если в офлайне сделать две записи на двух разных устройствах, а потом они начнут синхронизацию? Одна из версий будет перезапишет другую?
Нет, будет две записи. В это фишка, что можно делать записи на разных устройствах и они потом сольются.
Каким образом это реализовано?

У каждой записи есть свой UUID. При создании двух записей у них будет разный UUID и при синхронизации в итоге будет две разных записи. Тоже работает для редактирования, удаления и для категорий. А вот если одна запись редактировалась на двух разных устройствах, то в итоге будет более поздняя версия.

Хороший подход :)

А если попробовать реализовать какую-нибудь последовательную CRDT (например LSEQ) поверх дропбокса, то можно добиться вполне приличного слияния при редактировании записей.

Спасибо :) Ну у меня по сути нечто типа CRDT и реализовано — я так и проектировал, что было SEC. Только у меня записи являются атомарными. Я думал о том, чтобы можно было редактировать только часть записи, но тогда нужно хранить время модификации еще и для каждого поля. Сделать не проблема, но будет оверхед и я пока не решил, что оно того стоит.

Собственно, какой-то трекер — это лишь малая часть того (при этом и не обязательная, можно всё это просто в голове учитывать, а в идеале просто контролировать использование времени, чтобы не было бесполезных трат), что нужно для эффективного управления распределением собственного времени.
Могу посоветовать пару книжек:
1. Алан Лакейн. Исскуство успевать (Alan Lakein «How to get control of your time and your life» ) — каждый из неё найдёт для себя что-то полезное. Перевод есть в сети.
2. Томас Лимончелли. Тайм-менеджмент для системных администраторов (Thomas A.Limoncelli. «Time Management for System Administrators») — ну, тут конкретно для ИТ специалистов (не для всех). Книгу в электронном виде покупал на books.ru по свободной цене.

В системах тайм-менеджмента нередко все начинается с того, чтобы начать учет времени. Собственно вот он :)


Но такой учет может пригодиться не только для тайм-менеджмента, но и просто чтобы оценить, во сколько обходятся те или иные вещи. Например, у вас есть автомобиль. Время от времени его нужно возить на СТО, менять резину зимнюю/летнюю, возить на мойку, оформлять разные страховки, покупать туда разную фигню и т.д. Все временные расходы можно записывать например в "Обслуживание > Авто" и потом можно будет оценить, во сколько обходится машина не только по деньгам, но и по времени.


Другой пример: на дорогу до работы и обратно тратится часа по два с половиной или даже больше. Можно подсчитать, осознать, что это почти месяц в году и тихо офигеть. Или громко :) И можно попробовать подсчитать, сколько будет стоить переехать поближе к работе и оценить, сколько это сэкономит времени и сделать выводы — выгодно или нет.


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


За книжки спасибо, посмотрю.

Предлагаю на обсуждение такую идею (для мобильных ОС):

1. Добавляем в настройках приложения точку на карте и указываем, что это, например, работа или, там, бассейн.
2. Приложение периодически считывает данные о местоположении устройства
3. Если устройство находится рядом с указанной точкой и не было заявлено никакой другой активности, то логируется активность, соответствующая этой точке (работа, бассейн..)
4. Если устройство движется со скоростью, > x км/ч, записывается активность, заданная в настройках для таких условий (например, «дорога»)

Да, я думал о таком. Можно и по точкам доступа Wi-Fi определить, что я пришел на работу. Но, это же не значит, что я там буду работать :)

А ваша программа распространяется как Open Source или как коммерческий проект?

OpenSource, в конце статьи есть ссылка на гитхаб.

А мне вот интересно, один я такой извращенный, что постоянно хочу в подобных программах видеть произвольный набор пользовательских систем категорий?

Простой пример.

Есть время на дорогу. Я в дороге, когда еду на работу, когда еду в магазин покупать что-то для своего хобби, когда еду навещать родителей на дачу, когда еду на тренировку в спортзал. Можно, конечно, сделать подкатегории для категории «дорога». Но как тогда быть, если я хочу понять, сколько всего времени тратится на хобби, или на спорт? Значит надо делать в категориях хобби, спорт, работа, семья и прочих подкатегорию «дорога»? А как тогда понять, сколько всего времени уходит на разнообразные разъезды? Ортогональные классификаторы элементарно решают эту задачу, но их ни где нет!

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

А если бы еще можно было поменяв классификатор по каким-то кастомным правилам пересортировать «старые» записи в новые категории…

Я, конечно, не надеюсь на имплементацию такой фичи, но хотелось бы понять, неужели это такое странное и не очевидое желание?

Мысль интересная, не сказал бы, что неочевидная. У меня сделано так, что показывает распределение времени по категориям. Т.е. смотрим график за месяц и у нас не будет суммарно больше времени, чем месяц. И если посмотреть отдельно по категориям статистику и сложить, то получится тот же месяц. А если одна и та же запись будет "Хобби > Дорога" и "Дорога > Хобби", то тут уже цифры могут не сходиться. Конечно, если пользователь ожидает такое поведение, то все нормально.


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

Вот и я о том, что вроде как совершенно очевидная штука, но не имплементят. Наверное есть какой-то подвох!

Да, тэги частично решают эту проблему. И это самое простое.

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

Тут как раз «проект» — наиболее очевидный вариант классификации. Например: Работа, семья, хобби, жизнеобеспечение (сон, еда), друзья.

Сейчас подумал и понял, что сделать «правильную» систему классификаций — очень не простое занятие. Наверное потому их и не имплементят. На первый взгляд просто и логично, а как начинаешь думать уже конкретно — не все так очевидно. Но я бы, наверное, все равно подумал.
Sign up to leave a comment.

Articles