Как стать автором
Обновить

Как я сделал свой трекер мечты и понял цену времени

Время на прочтение4 мин
Количество просмотров21K

Основной посыл этого поста - рассказать о развитии своей старой идеи, которая переделывалась несколько раз, и прошла путь от простой кривой WinForm до полноценного кросс-платформенного приложения на Electron'e.

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

Начало

Всем привет, расскажу про создание собственного трекера времени. Я около пяти лет работал на фрилансе (делал модификации для игр на Unity C#).

Модель оплаты всегда была очень простой, обсуждение заказа, обсуждение стоимости, 50% предоплата, демонстрация работы, окончательный платёж, всё просто, да?

Действительно это так, но я постоянно замечал за собой черту, которая присуща, наверно, всем разработчикам - лень. Поработал часик, пошёл отдыхать, потом ещё часик и так далее. Однако, на самом деле - отдыха не было, ты сидишь этот час с мыслями "блин, нужно работать".

Получалось как обычно, сроки - неделя, 30 часов из 40 заложенных сидишь перед компьютером с мыслями "ух, работаю", по факту - реальной работы 20 часов.

В чём идея?

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

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

С чего всё началось?

Так в 2016 выглядела первая версия того, о создании чего я рассказываю.

Она делала ровно то, на что мне хватило тогда навыков:
• Хранило список полученных и выполненых заказов
• Сохраняло список клиентов, которые делали заказы
• Умело считать общую прибыль от заказов

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

На этом всё?

Нет, через ещё годик я полез в разработку на NodeJS, и, как первый проект, я решил реализовать опять трекер заказов.

Так это выглядело
Так это выглядело

Собственно, тут уже всё было "по взрослому", база данных, команды, поддержка реквизитов (со статистикой по каждой карточке), возможность демонстрировать заказчикам прогресс выполнения (по публичной ссылке)

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

2021 - Я понял

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

Из основных моих пожеланий было:

  • Простой и красивый (по моим меркам) дизайн

  • Приложение для ПК (MacOS/Windows)

  • Расчёт потраченного времени (желательно с переводом в деньги)

Я подумал, и решил, чего нет - сделаю себе сам, опять. И набросал простое приложение на электроне, где можно добавить задачу, указать её стоимость, нажать кнопочку "в работе" и оно будет считать, сколько времени ты потратил на задачу. А самое главное - посчитает сколько в итоге стоил час моей работы.

Я сделал, придумал, попользовался неделю и понял - нужно делать это публичным, потому что это реально работает. Почему? Потому что стоимость часа тикает в реальном времени, запускаешь задачу, и смотришь - 950 руб/ч, 949, 948, 947...

И это реально подстёгивает работать продуктивнее, я действительно стал закрывать задачи намного быстрее

А что понял?

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

Я был удивлён, но даже так это выглядело забавно
Я был удивлён, но даже так это выглядело забавно

Потом я взялся за сам список задач, хотел сделать их в таком формате.

Конечно не с таким ужасным макетом.

Не прошло и нескольких дней, я переделал волну на JS, переделал список задач и интерфейс стал таким:

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

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

И тут я дошёл до этапа, до которого не доходил никогда (с этим проектом) - публикация и демонстрация пользователям того, что я собственно сделал.

Так я позиционировал лучшие аспекты программы на лендинге, на удивление - я получил конечный продукт.

Продукт, который действительно имеет плюсы, которые я могу объяснить пользователю.

И главное - я не хотел, и не хочу монетизировать эту программу каким-либо образом (подписки, реклама и т.д.)

А что сейчас?

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

Какие были проблемы?

Проблем было не много, да и не сказать, что это вообще проблемы, но:

  1. Я ошибся с выбором способа авторизации, т.к. программа устанавливается на ПК, я решил вместо стандартной регистрации через почту / пароль (или через соц. сети) использовать связку HWID + PIN.

  2. Сборка программы под разные ОС

По первому пункту - это не давало мне дышать и сделать веб-версию (т.к. там я не смог бы определить HWID), а потом выяснилось, что есть пользователи у которых HWID вообще совпадают. Слава богу, выяснилось это рано, и я смог сменить авторизацию на обычную.

А что делать с уже зарегистрировавшимися пользователями?

Всё просто, их не много, поэтому я просто сделал синхронизацию с старым аккаунтом прямо через описание обновления.

Ни у кого с таким форматом проблем не возникло
Ни у кого с таким форматом проблем не возникло

По поводу второго - всё просто, я работаю на MacBook Pro. А программа позиционируется как кросс-платформа, поэтому пришлось ставить BootCamp и постоянно перезагружаться из операционки в операционку что-бы тестировать иконки, работоспособность и т.д. (а для линукса, вообще поставить виртуалку)

Подведение итогов

Я очень рад, что моя идея, которая как феникс, возрождалась несколько раз за мой опыт программирования, из раза в раз росла, и сейчас - наконец то доросла до конечного продукта.

Я благодарен вам, что вы прочитали это - и узнали мою историю.

Я извиняюсь перед вами, за плохой слог, неверную пунктуацию и т.д., я плохо знаю русский язык.

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+42
Комментарии68

Публикации

Изменить настройки темы

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн