Офтоп Andrey Zagoruiko
3 662

Trilldy - платформа-клон Medium, или новое слово в публикации контента?

Недавно пришло письмо от стартапера:
Добрый день.

Мы запустили наш стартап в открытое бета-тестирование.
Ознакомьтесь, пожалуйста. Trilldy.com

Доступна локализация на два языка (чуть позже добавим больше). Можно авторизоваться с помощью FB, Google или Twitter (с помощью меню на сайте). Авторизованные пользователи могут создавать свои публикации.

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



Я посмотрел, стало интересно. Спрашиваю
Стас, привет. Эван (фаундер Медиума) - визионер, сделал проект после Твиттера и Блоггера, как дальнейшее развитие своих идей по тому, как будет выглядеть паблишинг в интернете. Вы, очевидно, просто копируете их, то есть будете всегда на шаг позади, потому что вряд ли в вашей команде есть кто-то, кто сделал Твиттер (Футубра не считается). Этот проект - не е-коммерс, который глобальной компании иногда проще купить чем делать новый. В чем смысл вашего проекта?

Стас: Я не буду спорить на тему визионер ли Эван, но если все-таки вдаться в подробности, то и Блоггер и Твиттер был придуман и сделан другими людьми, а Эван как-то так примазался немного сбоку, чем и попал в историю. Пожелаем ему и дальше не хворать.

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

Как возникла наша история. В 2011 году мы делали проект PlanetProblem и 1 апреля 2012 его запустили. Мы хотели сделать его глобальным, но он получился локальный. Мы хотели сделать его простым и удобным, чтобы люди легко создавали свои опросы, но публикация осталась такой же древней как и блоги, как я говорил, одно поле для заголовка, второе для картинки, третье для содержания, четвертое для тегов и еще 10 для вопроса и ответов и еще 20 категорий... И как-то нам не нравилось все это. Какая-то тухлая форма из прошлого века.

Тогда мы задумали пересмотреть подход и выпустить новую версию PlanetProblem 2, в которой уже будет поддержка языков, WYSIWYG редактор, ну будет все по другому. Мы начали усиленно изучать рынок Rich Web Editors. Оказалось все довольно просто и скудно. Есть две технологии: ContentEditable и написанное с нуля. Первое - поддерживаемое на уровне браузера решение, т.е. тегу устанавливается это свойство и пользователь может писать прямо в теги текст, форматировать его, все это браузер на лету преобразует в html и получается псевдо MS Word. Самым известным проектом, который делает такой компонент является TinyMCE Он встроен во многие форумы, веб почту и т.д. Но тут очень много проблем и подводных камней: 1) все браузеры имеют свою реализацию, оно закрытая и разная, разная поддержка команд (API), разная реакция на функции и т.д. Тысячи строк TinyMCE и делают: если браузер такой и версия такая, то вызываем такую функцию с таким параметром, если другой то другую. 2) в реализации браузеров этот механизм поддержан по разному, если в хроме на 80% и мало багов, то в опере на 50% и много багов, в FF на 60% и много багов, с IE отдельная тема вообще. И эти баги побороть нельзя, а когда они будут исправлены - непонятно. Значит еще тысячи строк кода, которые проверяют тухлые места разных браузеров, обходят ошибки и вставляют костыли. 3) самый важный момент, это отсутствие контроля над вставляемым текстом, т.е. если это видео с ютюба, то это iframe, в котором целое html дерево объектов с тысячами параметров, а в ContentEditable режиме человек имеет доступ к любому тегу дерава, т.е. появляется беспрецедентная уязвимость для злоумышленников, сломать или взломать сайт можно просто на раз-два. Поэтому пишется еще тысячи строк кода и на клиентской стороне и на серверной чтобы ни пользователь не смог удалить какой-то нужный тег и не сломал отображение, ни случайно не передал на сервер неправильный html код и не повалил сервер.

Медиум как раз пошел этим путем и все что ему удалось - сделать пару простых команд, типа Жирный, Курсив (см. тут). И они не подумали, что проект TinyMCE писался и отлаживался 10 лет и им тут на коленке так просто не сделать. И это самый важный момент во всей истории. Сделать квадратики с картинками которые открываются в новой странице и там отображается текст (ну, т.е. просмотр, который у них есть) - это дело 1 недели. А сделать редактор - уходят годы, потому они и не дали еще людям доступ.


В то время Гугл пошел другим путем. Он оценил все описанные риски и весь этот геммор, и они решили сделать свой собственный редактор. Т.е. эмулируется мигающий курсор, по нажатию кнопок влево-вправа, мигающая палочка перемещается на экране на сколько то пикселов влево-вправо, по нажатию на букву создается объект буква и вставляется в html дерево самим скриптом Гугла, а не браузером. Какие преимущества: 1) полный контроль над всем процессом. 2) есть вполне иерархическая модель объекты-представление, т.е. в памяти у них массив с текстами, ссылками на картинки, ссылками на видео, еще что-то, они сами на лету генерят нужный html, который они понимают и умеют обрабатывать и вставляют его в страницу. соответственно все баги только их и они ими управляют. 3) это реально очень трудоемко, и никто пока не повторил такой редактор. Так они сделали Google Docs.

Когда я говорил никто, это было на тот момент времени, когда не было Trilldy. Мы пошли ровно по этому же пути и сделали сами свой такой редактор. Так, что с нашей точки зрения, не мы копируем Медиум, а Медиум просто сосет у нас, и им до нас как раком до Парижа. Какие преимущества мы сразу получаем: 1) у нас не такой ущербный набор команд, у нас есть цвет, большой-маленький текст, мы лекто вставляем картинки прямо в текст, еще легче вставляем видео (как они будут это делать, я пока не знаю, и решила ли эту проблему TinyMCE мне не известно). 2) у нас по сути безграничный набор внедряемых объектов, первым мы реализовали опросы, ровно как мы и хотели для своего PlanetProblem 2, теперь написал текст, выделил нужные строчки (одна заголовок, и еще от 2 до 20 мы ограничили для ответов) и нажал одну кнопку и опрос готов. После запуска мы пойдем еще дальше, мы добавим графики и диаграммы, SVG объекты, какие-нибудь простые таблицы (по принципу не создавать ничего монстрообразного, для простых людей) и т.д. А Медиум все это просто не сможет повторить.

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


Вы ищете инвестиции? Кто в команде?

Инвестиции мы ищем. На текущий момент мы вложили 100 тыс уе в проект, начинаем скоро вторую сотню, деньги свои, но они тоже заканчиваются. Сейчас не критично, но после запуска потребуется много на маркетинг, на настройку под высокие нагрузки, мы надеемся на это. Команда небольшая, скажем даже родственно-семейная, но сцуко сильная, попробуйте повторить технологии Гугла. Возможно есть слабые места в том же дизайне, но это легко решаемо, были бы проблемы в технологиях, было бы хуже.
В чем вы видите дальнейшее развитие? Повторять все, что сделает Medium?

Ну так как я объяснил, что мы не клонируем Медиум, то логично у нас свой путь. Мы это видим так: люди смогут создавать публикации и журналы, или просто журналы по тематикам и интересам, в эти журналы добавлять свои или написанные другими авторами публикации (типа кнопки прикрепить эту запись мне в журнал), тем самым они будут каталогизировать контент. У нас нет тегов, мы разбираем текст на слова, у слов обрезаем окончания, приводим к какой-то базовой форме, считаем веса этих слов, привязываем их к публикациям, это позволяет находить похожие статьи. Решает ли как-то эту проблему Медиум, я не знаю, у них не заметил нигде поиска. Мы же думаем сделать поиск удобный и релевантный как на Ютюбе, ведь контента рано или поздно станет много. У нас уже есть свой собственный поиск для PlanetProblem, здесь будут еще и уже усовершенствованы алгоритмы. У нас будут рейтинги. Да много еще чего. Пока сложно точно сказать о векторе развития, но он уходит в горизонт.

Да, и еще момент, мы начали работать над проектов с 1 апреля, а первые сырые публикации Медиума появились 1 мая, а мы про него узнали только в конце августа после отпуска. И за 3 месяца (сентябрь-ноябрь) мы либо не могли его скопировать, либо он не так уж и крут, что его могут так быстро скопировать другие.






Редко встречаются такие продуманные стартаперы, которые не только в курсе своих западных конкурентов, но и разбираются в технологиях настолько, что считают, что западный аналог "сосет". Обычно бывает по-другому, когда запускается типичный российский стартап, волна подобных проектов на Западе пережила пик расцвета и начинает отцветать. А тут - тренды.

#Medium #trilldy #эван_уильямс

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

Написать
{ "author_name": "Andrey Zagoruiko", "author_type": "self", "tags": ["\u044d\u0432\u0430\u043d_\u0443\u0438\u043b\u044c\u044f\u043c\u0441","trilldy","medium"], "comments": 0, "likes": 12, "favorites": 0, "is_advertisement": false, "subsite_label": "flood", "id": 1048, "is_wide": true, "is_ugc": true, "date": "Fri, 21 Dec 2012 13:31:22 +0400" }
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Компания отказалась от email
в пользу общения при помощи мемов
Подписаться на push-уведомления
{ "page_type": "default" }