DOU Проектор: Y-Productive — додаток, яке допоможе не відволікатися і працювати продуктивніше

У рубриці DOU Проектор всі бажаючі можуть презентувати свій продукт (як стартап, так і ламповий pet-проект). Якщо вам є про що розповісти — запрошуємо взяти участь. Якщо ні — можливо, серія надихне на створення власної made in Ukraine продукту. Питання і заявки на участь надсилайте на editors@dou.ua .

Мене звуть Олександр Жебряков. Я кілька років будую власний бізнес, прагну до можливості працювати коли завгодно і звідки завгодно.

Y-Productive — думаю, моя найкраща ідея, оскільки вирішує близьку мені проблему. У мене дружина і дворічний син, так що проблема особистої продуктивності в робочий час для мене питання щоденний. Кожен день мені хочеться закрити всі робочі завдання в робочий час, встати з-за комп'ютера з почуттям досягнутого результату і приділити всю увагу родині та дозвілля. Але як зробити так, щоб робота завжди йшла за планом?

Ідея

Протягом дня з'являється безліч приводів переключитися на щось менш важливе, але більш термінове. Виникають нові завдання, накопичуються прохання від колег або необхідність допомогти кому-небудь з них в роботі.

А як щодо відвернень? Компанії на зразок Facebook, YouTube, месенджери і розважальні сайти витрачають величезні бюджети на розробку функціоналу та контенту, який гарантовано відволіче вас від роботи. Адже ви теж часто ловите себе на тому, що перегортаєте новинну стрічку або читаєте якусь «корисну» статтю, дивіться «ще одне відео» замість того, щоб працювати над поточним завданням?

Всі ці проблеми призвели до того, що я перегорів. Намагався працювати якомога більше, але це лише стало причиною продуктивного зриву. Тоді я зрозумів, що потрібно намагатися працювати не більше, а краще: зосереджено, планомірно і результативно. Але сказати простіше, ніж зробити, правда?

Працюю віддалено в Ісландії

Ідея Y-Productive народилася, коли мені в руки потрапила книга «Your Brain at Work» Девіда Року. Вона написана зрозумілою мовою і з прикладами, тому допомогла мені зрозуміти головні проблеми, які бувають у кожного:

Кожна з проблем загрожує катастрофою робочого дня. А тепер уявіть, що вони накладаються одна на іншу... Щоб допомогти собі, я вирішив знайти додаток, яке дало б мені знати, як часто я відволікався в роботі, на що саме, і як це вплинуло на результат. Додатків для трекінгу активностей вистачає, але жоден із знайдених рішень не робив це так, щоб відразу можна було зрозуміти, в чому проблема.

З RescueTime отримуєш гору інформації про активностях за комп'ютером за весь день, а то і за тиждень, без всякого контексту. Сиди згадуй, чому в четвер п'ятого числа ти сидів півгодини на Фейсбуці, і було це пов'язане з твоєю роботою чи ні. Інформація про активностях в неробочий час явно зайва, адже це ніяк не впливає на продуктивність.

У Qbserve інтерфейс дуже навантажений, з безліччю вкладок і кнопок, які незрозуміло за що відповідають. Після робочого дня менше всього хочеться розбиратися зі складним додатком, так що мені він теж не підійшов.

Всі інші програми, які я пробував в роботі, мають схожі недоліки. Важкий для розуміння інтерфейс, маса зайвої інформації, немає звіту про стан продуктивності прямо заразі способи зробити її краще.

Так і народилася ідея Y-Productive — простого додатка, яке допомагає зрозуміти і поліпшити свою продуктивність в контексті робочих завдань.

Реалізація

Розробка програми розпочалася з логічного запитання: як виміряти продуктивність? Відобразити її так, щоб можна було розгорнути вікно програми, побіжним поглядом оцінити обстановку і знову повернутися до роботи.

Після безлічі UX-тестів ми придумали графік, який складається з стовпчиків. Один повний стовпчик — п'ять хвилин робочого часу. Висота розраховується за спеціальною формулою: кількість часу на продуктивних активностях розділити на загальне час за комп'ютером.

Кожна задача має свій колір на графіку. Якщо стовпчики градієнтні — значить завдання в цей момент не відстежувалися і робота записана поза контекстом. По кліку на графік додаток відображає список продуктивних і непродуктивних сайтів і програм та кількість проведеного за ними часу.

Ось, наприклад, я писав статтю про продуктивності з п'яти до семи вечора. Близько шести продуктивність впала — стовпчики низькі. Напевно, я відволікся від роботи над статтею. Можна натиснути на графік і вияснити в чому справа:

Графік написаний за допомогою D3.js . Під час розробки ми задавалися питанням — як інтегрувати D3 і React, якщо кожна бібліотека хоче керувати DOM? Поділюся статтею , яка нам допомогла. Наш вибір припав на React Faux DOM . Детальніше про це у статті з детальним розбором підходу . Це рішення дозволило нам досить швидко і без особливих труднощів створити робочий варіант графіка, який прекрасно працює і зараз.

Так як Y-Productive — крос-платформний десктопное додаток, в його основу ліг Electron . Для front-end частини використовуємо зв'язку React + Redux, локально зберігаємо дані в NeDB . Також у нас є невеликий Node.js сервер для авторизації, обробки платежів та інших дрібних завдань. Ще ми випустили браузерні розширення для Chrome , Firefox і Safari .

Спочатку додаток було створено для macOS. За трекінг тоді відповідав трекер ОС, написаний нативно Objective C. Коли ми прийняли рішення перенести на додаток Windows, виникла необхідність написати нативний трекер під цю ОС. Потрібно було звертатися до Win32 API і передавати цю інформацію в основний додаток через IPC, але знавців С++ у нас в команді не було. Ми обійшлися рішенням .NET, так як він надає обгортки над системним API.

В основі Y-Productive лежить функціонал, який допомагає зосередитися на роботі і розвивати продуктивні звички. Старт таймера — це сигнал налаштуватися на роботу. Коли заводиш завдання і запускаєш трекінг, і правда простіше сказати собі: «Все, я працюю». Ми спеціально прив'язали до старту таймера автоматичне блокування непродуктивних сайтів, яку ми називаємо Focus Mode.

Focus Mode реалізований через розширення для Chrome , Firefox і Safari . При включенні вони блокують відволікаючі сайти. Через них ми також передаємо інформацію про роботу з вкладками. Нативні трекери працювали з помилками, втрачали або плутали дані. На той момент у нас було розширення для Google Chrome. Ідея трекать через нього ще і сайти виявилася прекрасним рішенням. В результаті ми написали розширення для Firefox і навіть для Safari.

Підтримка Safari — це серйозний аргумент при скачуванні Y-Productive, так як половина користувачів macOS користується тільки цим браузером. Розширення довелося писати з нуля, так як у Safari нестандартний API і підхід до архітектури розширень. Реліз в Safari Extensions Gallery проходить рев'ю, який може тривати від одного тижня до місяця. Якщо ваше розширення відхилили, ви отримуєте повідомлення з причиною відмови... або без неї. Для стартапів час — цінний ресурс, і довгі рев'ю коштували нам цілого місяця — ми зарелизились з четвертої спроби. Зате у нас є дуже корисна функція для всіх популярних браузерів.

Focus Mode служить бар'єром для неусвідомлених дій, допомагає зрозуміти: «А чи точно я хочу зайти на Фейсбук саме зараз або відволікаюся?» Так ми допомагаємо зберегти залученість у роботу над завданням довше:

Якщо хочете зрозуміти, куди пішло ваш час і скільки разів за день ви відволікалися, у нас є окрема функція і для цього:

Розуміння того, куди пішло час, корисно для правильної оцінки своїх сил і дисципліни. А це, в свою чергу, допомагає не тільки планувати завдання по своїм силам, але і дотримуватися плану, працювати на результат.

Як для бізнесу, так і з технічної точки зору цікаво згадати наш Demo Mode . Це демонстраційна версія програми, яку можна поклацати прямо на сайті, правда, тільки з десктопа. Це ми реалізували завдяки все тому ж Electron.

Одна з основних її особливостей — наявність двох пов'язаних між собою процесів Main і Renderer (кому цікаво, ось посилання на документацію ). Завдяки тому, що в нашій архітектурі Renderer процес — це чистий UI (він розмальовує отримані від Main процесу дані), ми змогли відносно швидко і безболісно зробити з нього веб-додаток. За фактом, ми дописали заглушки в тих місцях, де Renderer звертався до Main. Дуже пощастило, що NeDB підтримує роботу в браузері, не довелося переписувати роботи з даними. У підсумку демо виклали на Amazon S3 і роздаємо через CloudFront.

Додаток ми розмістили на власному сайті . Щоб вийти на ранніх користувачів, використовували рекламу в Facebook і google AdWords. Ведемо партизанський маркетинг в нішевих блогах, на Quora і Reddit. Останні два ресурсу дають хороший результат, саме звідти приходить більшість користувачів. Детальніше про це ми розповіли в статті .

На сайті і в програмі є вбудований Intercom. Він спростив зворотний зв'язок з нами. Саме через чат ми отримуємо масу відгуків від користувачів Y-Productive. Зазвичай хвалять простоту в користуванні і те, що програма допомагає працювати ефективніше, дають відгуки за функціоналом і просять нові фічі:

Результати та плани

Над додатком зараз працюють шість чоловік : три розробника і троє з «бізнес-команди», включаючи мене. Ми всі працюємо віддалено, це дозволяє заощадити на офісі, краще відпочивати і не витрачати час на пересування по місту. За рік роботи додаток зросла з MVP варіанту повноцінного помічника для продуктивної роботи за комп'ютером.

У Y-Productive є все що потрібно, щоб зосередитися над завданням або виявити непродуктивні звички: завдання, проекти та звіти, відгук про ефективність, лічильник відвернень, блокувальник непродуктивних сайтів і дуже простий інтерфейс. Завдяки цьому ще до виходу з бети у нас понад 300 користувачів.

Досвідченим шляхом ми знайшли оптимальні канали. Y-Productive добре підходить людям, які знають ціну своєму часу і прагнуть працювати на результат. Додатком цікавляться в таких ком'юніті, як IndieHackers , сабреддитах по бізнесу та продуктивності на Reddit, тематичних питаннях на Quora.

Бачили маскота на головній сторінці сайту? У планах випускати з ним комікси про специфіку продуктивної роботи за комп'ютером. Це буде як мінімум весело, ми любимо пожартувати і над собою в тому числі.

В кінці травня виходимо на ProductHunt . Розраховуємо на підтримку наших користувачів та українського ком'юніті. Додаток можна завантажити на сайті . Ми прислухаємося до відгуків, нам завжди можна написати в чаті. До того ж спеціально для читачів DOU ми зробили знижку. Отримати її можна, ввівши промокод HELLODOU на сторінці прайсингу.

Ми продовжуємо працювати над додатком, будуть з'являтися нові фічі для поліпшення продуктивності.

Спасибі за вашу увагу! Якщо є питання, задавайте їх у коментарях або пишіть на пошту:

alex@y-productive.com — Саша, СЕО Y-Productive
kyrylo@y-productive.com — Кирило, маркетолог і ком'юніті-менеджер:

Опубліковано: 17/05/18 @ 10:50
Розділ Блоги

Рекомендуємо:

Вступ до Machine Learning: перше знайомство з моделями
DOU Books: 5 класичних книг від Сергія Сыроватченко, SQL Server DBA
Senior Data Scientist із Лондона – про ринок Британії та майбутнє великих даних
SQL Server дайджест #15: другий сервіс пак для SQL Server 2016, як підняти сіквел на Маці і SQLSaturday Kyiv 2018
Геймдев: які є спеціалізації програмістів і з чого починати