Главное Свежее Вакансии Образование
9 728 112 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как мы делали блокнот для 21 века

Привет Спарк, меня зовут Иван, мне 23, я основатель Огнива, сервиса который помогает людям, стартапам и бизнесу управлять идеями, проектами и растить компании. Я хотел рассказать Вам нашу историю.

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

Что это такое

Огниво — это сочетание Evernote и Asana, только лучше масштабируется, быстрее работает и не навязывает Вам свою структуру. Вы можете придти к нам одиночкой и вести свои личные записи и задачи, наслаждаться нашими иерархическими тегами (мы их называем ветвями). Потом вы можете поделиться ветвью (или её подветвью) с другими пользователями и работать с ними вместе. Ветви позволяют Вам выстроить структуру любой формы и размера, которая будет наилучшим образом соответствовать вашему проекту или компании.

b_55e8333212f7c.jpg

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

Наша большая цель — стать лучшей в мире цифровой нервной системой для бизнеса. Это значит помогать компаниям принимать решения, транслировать их исполнителям, обеспечивать поток обратной связи и отчётов. Также мы хотим обеспечить и поиск сооснователей / сотрудников. Сейчас этим занимаются разрозненные сервисы, которые надо собирать самим, или платить интеграторам, так что мы выгодны тем, что снижаем все эти трансакционные издержки.

История

Идея появилась в конце третьего курса: я думал над тем, чем буду заниматься после окончания университета. Я уже год вел личный дневник и подумал, что дневник знает обо мне очень много, в том числе и мои планы и стремления, и было бы здорово, если бы существовал сервис, где можно найти людей, стремящихся к тому же, что и ты и обладающих тем же мотивом, что и ты. С ними можно было бы вместе делать проекты, им бы не пришлось объяснять, почему это круто, их бы не пришлось бить кнутом или манить пряником, чтобы заставить делать трудную работу. Только представьте себе эффективность компании, где все сотрудники разделяют общую цель и подобраны в соответствии с их компетенциями. В общем, то к чему стремится любой мудрый руководитель. Я поделился идеей с другом, он одобрил её, и мы начали работу.

Ребячество и первые уроки

В начале мы вдвоем много фантазировали и рисовали много эскизов, будто у нас уже есть миллиарды долларов прибыли, и мы можем воплотить в жизнь любые капризы, в общем, юношеский максимализм в лучшем виде. Это фантазирование больно ударило по нам в среднесрочной перспективе: мы хуже концентрировались, много отвлекались на нерелевантные функции, вроде мерцания формы входа, и в итоге капитально затянули выход прототипа.

b_55e8336024ef5.jpg

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

К сожалению, я потерял того друга как партнера: слишком сильно наседал на него, и через некоторые время он перестал заниматься проектом.

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

Большой ошибкой был найм программиста до момента окончания университета. Мне приходилось заниматься учебой и проектом одновременно, из-за чего страдали обе деятельности, причём в проекте я одновременно и давал задания, и кодил сам. В итоге, я потратил большую часть зарплатного фонда еще до начала полноценной работы над проектом.

Когда деньги окончательно иссякли, я устроился на работу сначала в Scade (бывший Wannafun), а затем в Достависту старшим фронтэндером. Вернув большую часть долгов, в июле прошлого года я уволился, чтобы вернуться к Огниву на полный рабочий день.

Создание продукта

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

Техническая часть приложения пережила несколько инкарнаций. Изначально я занимаюсь разработкой серверной части, которая была переписана 4 раза (Java -> Groovy -> NodeJS -> Clojure). Фронт приложения начинал тоже я, но очень быстро я передал его нанятому Вите Орлову. Часть его наработок используется до сих пор, хоть и в переписанном виде.

Мой максимализм привёл к тому, что я хотел сделать всё и сразу. Пожалуй, «сразу» было сильно излишним. Две многообещающие функции (визуальное планирование и визуализацию структуры ветвей), пришлось свернуть, слишком много ресурсов они отнимали, а удобными так и не стали.

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

Для технарей

Сейчас фронт написан на CoffeeScript, в форме AMD-модулей. Кофескрипт клёвый и лаконичный, и такой же быстрый как ЖС, после того как поймёшь как он компилится. На сервере крутится Clojure. Если бы я заново писал фронт я бы выбирал между TypeScript и ClojureScript. В качестве БД — MySQL с InnoDB табличками. Мускуль интересен тем, что помимо всех стандартных примочек, из него можно будет выжать много производительности на чтении за счёт HandlerSocket / Memcached Daemon. Параллельно думаю насчёт перехода на Datomic, это бы из коробки дало версионность записей, и сверхлёгкую синхронизацию данных клиента с сервером. Вообще, по БД я не спец, так что может есть и лучше рецепты, например на конференции по фронту мне сильно рекламировали FoundationDB, CockroachDB, а мой друг тащится от Postgres.

Конкуренты и аналоги

Рынок блокнотов и систем управления проектами очень конкурентен. В то же время половина этих приложений — дженерики, треть предлагают одну или две интересные функции и только пятая часть предлагает что-то интересное. Лучшее из того, что мы пробовали: Evernote, Google Keep, Any.DO, Asana, Trello, PivotalTracker, Atlassian Jira, Мегаплан, Clarizen, Podio. Из того, что не пробовали: Redmine, FogBugz, Teamer.

Конечно, мы не так вездесущи как Evernote — пока что у нас есть только веб-приложение, хоть оно и работает на мобильных, оно доступно только с интернетом. И до уровня Pivotal Tracker, Asana и Trello нам еще не хватает нескольких важных функций и полировки UX.

Однако Огниво — единственный в мире проект с иерархическими тегами. Это даёт пользователям ряд интересных возможностей: создание масштабных организационных структур с возможностью делегации полномочий и контролем доступа, создание бесконечно точных ветвистых классификаций. При этом наше веб-приложение работает быстрее аналогов, что позволяет использовать его для быстрых записей. А стандартный пакет функций мы доделываем.

Успехи

Пока что наши успехи очень скромные. У нас 511 регистраций и около 30 активных пользователей в месяц. Мы долго работали в стелс-режиме и только сейчас начали работать по разным медиа. В частности, заработали 300 регистраций рекламой Вконтакте.

Планы

Этой осенью мы хотим собрать как можно больше отзывов, чтобы прокачать продукт. Также причесать английскую локализацию с носителем, и вывести на всякие продактханты. В идеале, ещё и найти посевные.

По продукту планируем вывести простую визуализацию структуры ветвей и показателей по ним, сделать работу с ними более удобной, отчётливой. Прикрутить систему оплаты, и ввести первые платные опции, чтобы генерировать хоть какой-то поток денег. Потом можно будет делать крутые давно запланированные функции, в частности: визуальное планирование с захватывающим UX, и сервис рекомендации единомышленников — людей, которые разделяют цель вашего проекта и обладают необходимыми компетенциями.

А ещё найти техдира, и маркетолога.

Монетизация

В монетизации подобных проектов есть несколько проторенных путей. Наиболее вероятно, что это будет платное групповое пользование, для команд от 6 человек и больше. Возможно, кому-то будет интересна аналитика и рекомендательный сервис. Поиск единомышленников тоже можно лимитировать, после его отладки. Мы планируем заниматься монетизацией после набора достаточного количества лояльных пользователей. На данном этапе это кажется преждевременным и вредным.

Извлечённые уроки

За три года я успел сделать несколько промахов и попаданий и хочу поделиться ими:

Прототип

Помните, что Apple началась c того как Возняк с Джобсом показали кружку компьютерных энтузиастов абсолютно невзрачный прототип Apple I. Дизайн случился уже потом. Поэтому делайте прототип быстрее, испытывайте его как можно раньше. Если ваша инновация не в дизайне — то не отвлекайтесь на него, сделайте простейшие макеты на готовом фреймворке.

Не всё сразу

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

Занимайтесь тем, что увлекательно

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

Занимайтесь тем, что хорошо понимаете

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

Друзья не обязаны поддерживать вас

Это нормально, правильно, и вовсе не повод обижаться. Приложений, интересных всем без исключения, типа фейсбука или вотсапа, не так уж много. Evernote — как раз такой пример: из пары сотен моих знакомых им пользуются от силы 20 человек. Однако это не мешает ему быть популярным (более 100 млн пользователей) и прибыльным проектом.

Студентам. Стоит ли бросать универ?

Я порой думаю, что бы изменилось, брось я универ. Я учился на Бизнес-Информатике в ВШЭ, и очень рад этому. Первые два курса для меня были незаменимы, это были технические дисциплины, там то я и научился программировать. Третий и четвёртый курс — в основном гуманитарные предметы, многие из которых казались скучными. В то же время, некоторые предметы были сверхинтересными, например «институциональная экономика». А на четвертом был предмет про венчур; его вёл австриец с профильным опытом, да ещё и на английском. Да с моим ментором я бы потерял контакт если бы ушёл.

Если поближе посмотреть на Билла, Марка и Стива, то мы увидим, что все трое с самого детства занимались пусть и небольшими, но релевантными для айти проектами. Стив вообще в свои 12 уже работал на HP. Лично у меня в 12 лет только появился компьютер, и я не мог думать ни о чём кроме игр.

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

Вот, в принципе, и всё.

Здорово, если вы узнали что-то новое. Буду рад пообщаться и ответить на ваши комментарии. Наконец, я буду рад видеть Вас среди пользователей Огнива.

Обновление от 4 сентября:

2528 просмотров, ух ты! Дорогой читатель, спасибо за внимание! И спасибо за шанс, редакциям Спарка и ЦП!

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

Что-то Вы не лучше Evernote, Asana, MyFavoriteService. И дизайн на троечку (двоечку).

Да, мой друг, мы ещё не отполировали продукт, и не выпустили мобильные приложения. И до сих пор мы на живем на собственные средства (lean rocks!). После увольнения Вити и до недавнего времени я занимался разработкой и всем проектом один, хоть пару раз мне и помогали знакомые. Только два месяца назад ко мне присоединился дизайнер, который занимается Огнивом в свободное время. И плодам его труда ещё только предстоит увидеть свет.

Из материала не понятно о чём продукт

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

В любом случае, не стесняйтесь спрашивать ещё, и не стесняйтесь жаловаться на малейшие недочёты и неудобства, мы всё учтём. Хвалить тоже можно, особенно приятно, если что-то конкретное.

+11
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
В начало дискуссии
Surgebook
Социальная сеть для писателей и читателей
Комаров Егор
Ваш проект - это наглядный пример плохого UI. Можно смело книгу написать об ошибках. Весь интерфейс и дизайн проекта - так и говорит - "закрой меня скорее...не мучай..."

В корне проекта находятся амбициозные люди с хорошими идеями, но с малым опытом. Вся ответственность в данном случае лежит на дизайнере. Дизайнеру двойка. Пользоваться таким трешем к сожалению нереально. Хотя разрабы тоже далеко не ушли. Кучу косяков с версткой и есть ошибки с функционалом.
Ответить
Александр Чудо
Нажал кнопку Фейбук

java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Matcher.java:1283)
at java.util.regex.Matcher.reset(Matcher.java:309)
at java.util.regex.Matcher.<init>(Matcher.java:229)
at java.util.regex.Pattern.matcher(Pattern.java:1093)
at java.util.Formatter.parse(Formatter.java:2547)
at java.util.Formatter.format(Formatter.java:2501)
at java.util.Formatter.format(Formatter.java:2455)
at java.lang.String.format(String.java:2940)
at clojure.core$format.invokeStatic(core.clj:5533)
at clojure.core$format.doInvoke(core.clj:5527)
at clojure.lang.RestFn.invoke(RestFn.java:423)
at app.views.components$footer.invokeStatic(components.clj:302)
at app.views.components$footer.invoke(components.clj:299)
at app.views.components$layoutd.invokeStatic(components.clj:457)
at app.views.components$layoutd.invoke(components.clj:449)
at app.views.components$layout_public.invokeStatic(components.clj:474)
at app.views.components$layout_public.invoke(components.clj:473)
at app.views.components$simple_message.invokeStatic(components.clj:479)
at app.views.components$simple_message.invoke(components.clj:478)
at app.views.components$error_message.invokeStatic(components.clj:489)
at app.views.components$error_message.invoke(components.clj:488)
at app.util.web$wrap_exception_reporter$fn__24543.invoke(web.clj:265)
at app.ware.accept_lang$wrap_session_lang$fn__15598.invoke(accept_lang.clj:55)
at ring.middleware.session$wrap_session$fn__24334.invoke(session.clj:102)
at ring.middleware.keyword_params$wrap_keyword_params$fn__24750.invoke(keyword_params.clj:35)
at ring.middleware.nested_params$wrap_nested_params$fn__24794.invoke(nested_params.clj:84)
at ring.middleware.params$wrap_params$fn__24722.invoke(params.clj:64)
at ring.middleware.multipart_params$wrap_multipart_params$fn__24831.invoke(multipart_params.clj:117)
at ring.middleware.flash$wrap_flash$fn__24845.invoke(flash.clj:35)
at ring.middleware.session$wrap_session$fn__24334.invoke(session.clj:102)
at app.ware.accept_lang$wrap_accept_lang$fn__15591.invoke(accept_lang.clj:50)
at aleph.http.server$wrap_stream__GT_input_stream$fn__4041.invoke(server.clj:403)
at aleph.http.server$handle_request$fn__3959$f__395__auto____3960.invoke(server.clj:153)
at clojure.lang.AFn.run(AFn.java:22)
at io.aleph.dirigiste.Executor$Worker$1.run(Executor.java:49)
at java.lang.Thread.run(Thread.java:745)
Ответить
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.