Вчера случилось долгожданное для SourceTalk событие: наконец вышел полноценный релиз. Для тех кто о проекте слышит первый раз или уже успел забыть: SourceTalk — это сервис для обсуждения исходных кодов в реальном времени, по изначальной задумке — что-то вроде Campfire или HipChat для разработчиков, но возможно вы уже успели познакомиться с более близким аналогом, вышедшим в прошлом году — Gitter. О непростом пути, пройденном за два года развития от прототипа до релиза, можно прочитать в моей статье на Мегамозге. Здесь же я опишу только текущий функционал.
Что умеет SourceTalk на момент релиза?
- Чат с возможностью просмотра исходного кода и синхронизацией выделения и прокрутки между пользователями
- Интеграция с GitHub: файл для обсуждения можно добавить в конференцию напрямую из репозитория
- Интеграция с редакторами кода: также файл можно добавить прямо из редактора (на данный момент только Sublime Text 2/3)
- Поддержка расширенного синтаксиса Markdown в чате (отличия: URL автоматически конвертируются в ссылку, URL с адресом изображения — в ссылку с изображением, одинарный перенос строки соответствует переносу, а не пробелу)
Внимание: на текущий момент можно создавать только открытые конференции, которые имеют доступ только к открытым репозиториям на GitHub. Эта функциональность полностью бесплатна и всегда будет бесплатной, дабы поощрить Open Source-разработку.
Что планируется добавить в ближайшем будущем?
- Самое главное: платные подписки и возможность создания закрытых конференций (с доступом к закрытым репозиториям на GitHub)
- Дополнительные плагины для IDE и редакторов кода: в ближайших планах плагины для Emacs, Vim, Eclipse и NetBeans (на самом деле все они уже были выпущены раньше, но в связи с изменением в API старые версии на данный момент не работают)
- Большое количество менее заметных улучшений
Так как после введения платной подписки проект теряет возможность вести бесплатный корпоративный блог на Хабре, скорее всего это последняя запись в этом блоге.
Любые вопросы и замечания традиционно приветствуются.
Комментарии (53)
Bick
30.04.2015 21:50Сначала очень заинтересовался продуктом, но увидев остутствие Private conferences интерес поутих… Подскажите пожалуйста когда планируете введение данной фичи?
Также кнопка Try it намекает о платности — я так подозреваю что в будущем появится платный функционал, верно ли это?
Почему интересуюсь — компания разрабатывает IDE и интеграция с подобным сервисом нам была бы интересна, но не в текущем виде.malroc Автор
30.04.2015 21:56Да, платная подписка с приватными конференциями будет, это первоочередная задача. По срокам: планирую в течение двух месяцев.
leventov
30.04.2015 23:39+8Чем это отличается от комментариев на самом Гитхабе? Где можно комментить каждую строчку по отдельности
malroc Автор
30.04.2015 23:41+11. Обсуждения ведутся в реальном времени (ну то есть соотношение как между почтой и скайпом).
2. Вы не ограничены кодом, закомиченным на гитхаб. Например вы можете обсудить промежуточный вариант который не хотите пока никуда комитить.jMas
01.05.2015 00:17Есть уже такая issue у гитхаба, возможно когда ни будь появится.
К автору проекта: возможно, не все поняли смысл проекта. Я, например вижу вариант использования такого продукта в скайп-митингах по ревью кода, но обязательно: с комментированием участков кода другими людьми. Ситуация: кто то из собеседников видит ошибку в коде и вместо того чтобы говорить в скайп и перебивать — комментирует участок кода. История сохраняется для последующей проверки лидом и создания задач. Так же было бы удобно создавать задачи по комментариям из кода с привязкой к задачи ссылки на комментарий и сам комментарий. Так же удобно если можно было бы вести дискуссию о выделенном участке кода (комментирование комментариев). Уведомления, если твой код прокомментировали, лента событий (комментариев) по всем расшаренным файлам.malroc Автор
01.05.2015 00:22-2Да, кому приходилось обсуждать код по скайпу, тому обычно не нужно объяснять зачем это.
По остальному: скорее всего в каком-то виде это будет. Технически это не так сложно реализовать, тут основная проблема сделать это удобно и прозрачно с точки зрения интерфейса. Чтобы швейцарского ножа не получилось.
monolithed
01.05.2015 01:27+1Тоже смысла не понял. Посмотрите на досуге Сrucible
evil_random
01.05.2015 03:26-5Сrucible хорош, но:
а) не умеет в diff бинарников вообще никак
б) не умеет в diff перемещенных файлов
в) не всегда нормально умеет в diff текстовых файлов
г) конская верстка шапки, которую мы после обновления каждый раз правим своим css файломevil_random
01.05.2015 19:35-4Аргументов не будет? Только молча в стрелочки тыкаем?
fshp
01.05.2015 23:56+2Как часто вы проводите ревью дифов бинариков?
evil_random
02.05.2015 01:05В веб-проекте это необходимость. Положить их рядом, да или хотя бы просто показать что они изменились, можно было бы уже в 2015 году.
nd0ut
01.05.2015 01:46+1У меня вообще не вышло вставить кусок кода в поле. Он, видимо, хочет, чтоб я файлик ему перетянул с рабочего стола. Но у меня нет рабочего стола :(
А идея прикольная, мы сейчас в Slack'е код обсуждаем, ибо в гитхабе это дико неудобно, больше на форум похоже, чем на чат.js605451
01.05.2015 11:07Там слева сверху есть большая надпись «Repository». Если её нажать, появляется панелька с содержимым репозитория. Вот оттуда надо перетягивать.
malroc Автор
01.05.2015 11:07Да, пока варианта три: перетащить сам файл, добавить из репозитория на гитхабе и добавить из редактора (пока SublimeText 2/3).
Вариант с копи-пастом самого кода возможно тоже добавим.
ShiawasenaHoshi
01.05.2015 09:52Я бы хотел попробовать. Пригласите меня кто-нибудь на обсуждение, когда оно будет.
ihoru
01.05.2015 10:18А что за проблема с кодировкой?
У меня проект на utf-8, после выбора файла для обсуждения русский текст отобразился так:
??????N????? ?????????µN??¶?????°?µ??N?N? N?N?N
mMaxy
01.05.2015 13:30+1Я может быть сейчас буду не прав, но:
Emacs, Vim, Eclipse и NetBeans
Я не знаком с вашей целевой аудиторией, поэтому не буду критиковать выбор Emacs и Vim. Но, чем тратить ресурсы на поддержку Eclipse и NetBeans лучше сделать плагины для продуктов JetBrains. Покрытие языков будет больше, скорей всего, аудитория более открытая на эксперименты и платящая, если сможете им продать.
Invision70
01.05.2015 14:15+1Подскажите, планируется ли в дальнейшем поддержка Mercurial и интеграция с Bitbucket?
alexf2000
01.05.2015 17:52+1Странно, зачем это? Я же через скайп экран могу показать с чатом и голосом. Прямо в ИДЕ, с подсветкой и т.п.
malroc Автор
01.05.2015 18:02Ну вам наверное не слишком часто приходилось так делать. Крайне неудобно на самом деле.
alexf2000
01.05.2015 19:56+2Как раз наоборот, я типа кодер-пенсионер, код ревью у подрастающих поколений кодеров это одно из моих главных занятий. Почему я собственно и спросил, зачем нужна такая штука, что вроде бы на нашу нишу рассчитана, но настолько странно и нелепо сделанная.
По умолчанию код весь и всегда проприетарный и вообще — чужая интеллектуальная собственность. Показывать его в паблике нельзя никак, за это могут денег стрясти, лишить репутации, а особо неудачливых и свободы.
У меня есть знакомый младший кодер восьми лет, он кодит на скретче. Как я ему что-то подскажу с помощью вашей штуки? Учитывая, что с помощью Скайпа процесс не отличается от всех других языков.malroc Автор
01.05.2015 20:05-2> По умолчанию код весь и всегда проприетарный и вообще — чужая интеллектуальная собственность
А про опенсурс вы ничего не слышали?
> Показывать его в паблике нельзя никак, за это могут денег стрясти, лишить репутации, а особо неудачливых и свободы
Я же специально прописал в статье, что закрытые конференции планируются в будущем.
iDennis
01.05.2015 18:39А возможность просматривать другие конференции есть?
malroc Автор
01.05.2015 18:45Пока что все конференции могут быть только открытые, поэтому вы можете просмотреть/поучаствовать в любой, на которую вам дадут ссылку.
Какого-то общего списка нет, не вижу в нём смысла.iDennis
01.05.2015 18:53А в чём будет разница тогда между открытыми и закрытыми конференциями?
malroc Автор
01.05.2015 19:00Для участия в открытой вам нужна только ссылка. В ней кстати можно участвовать не имея аккаунта. Если кто-то такую ссылку опубликует на странице опенсурсного проекта например, в обсуждении сможет поучаствовать любой желающий.
Для участия в закрытой нужно, чтобы вам специально выдали к ней доступ.iDennis
01.05.2015 19:09Хорошо, тогда зачем мне может понадобится создать закрытую конференцию, если я могу создать открытую и отправить ссылку нужным людям? Помоему списки открытых конференций нужно бы добавить.
malroc Автор
01.05.2015 19:20Можете. Точно так же вы можете создать открытый репозиторий на гитхабе и не давать никому на него ссылку. На практике скорее всего сработает, но безопасность вам при этом никто не гарантирует.
Chikey
01.05.2015 20:48Поставил бы локально потыкать. Доверять свои исходники какому то сервису без аудита безопасности, нафик
heilage
02.05.2015 07:35+1Непонятно, как позиционируется этот софт. Какую проблему вы хотите решить?
Это инструмент для удаленного ревью? Для ревью более удобен формат форума (как на гитхабе), поскольку одновременное ревью несколькими разработчиками создаст такую кашу в чате, что будет непонятно что к чему.
Или это все же инструмент для удаленного парного программирования? В таком случае, отсутствует главная возможность — совместное редактирование кода. И комментирование опять-таки в этом случае излишне, поскольку можно делать комментарии прямо в коде.malroc Автор
02.05.2015 12:31На самом деле при удалённой разработке часто возникает задача просто обсудить какой-то кусок кода с коллегой. Решается обычно эта задача совершенно адскими методами от копирования кода в чат до демонстрации экрана. Вот это и есть основное предназначение.
Из других вариантов применений — ревью, обучение новичков, собеседования. В меньшей степени парное программирование, тут да, скорее что-то другое нужно, флубитс вот есть.
js605451
Правильно ли я понял, что:
1. Можно смотреть код
2. Можно чатиться
3. Единственное что связывает код с чатом — возможность цитировать куски кода
?
malroc Автор
Да, сервис рассчитан в первую очередь на обсуждение в реальном времени. То есть предполагается что все участники чата видят обсуждаемый код, поэтому цитирование поддерживается, но по большому счёту и оно не обязательно.
Возможность как-то на более длительное время сохранять привязку кода и обсуждения (например в виде отправки комментариев на GitHub) много раз обсуждалась, но пока однозначно удобного варианта с которым не было бы проблем с точки зрения понятности и удобства для пользователя не просматривается.
js605451
При всём уважении к проделанной работе, идея именно такой функциональности мне кажется немного странной. По-моему с таким же успехом можно попросить всех участников на половину экрана открыть нужный файл, а на вторую половину — чат. Предложу вот такие юзкейзы «как юзер»:
1. Я хочу обсуждать конкретные части кода — как минимум строчки «от» и «до»
2. Я хочу обсуждать конкретные части кода — методы, классы (конечно, с привязкой к конкретному языку)
3. Я хочу чтобы обсуждение можно было привязать к конкретному куску кода
4. Я хочу чтобы обсуждение можно было в итоге запостить как issue на Github — после того как все наобсуждались
malroc Автор
1-3: так или иначе поддерживается: прокрутка и выделение в файле синхронизируются между всеми пользователями. То есть выделяете нужный вам участок (это все видят) и пишете в чат что хотите о нём сказать.
4: скорее всего будет в том или ином виде, это разумно, да
js605451
Я наверное неудачно выразился. Хочется на разные куски кода делать отдельные обсуждения. Но не в масштабе «а завтра обсудим XXX», а в масштабе — у нас есть 30 минут чтобы посмотреть на вот этот класс, давайте отдельно пообсуждаем каждый из вот этих трёх его методов. Посмотрите например на Upsource — у них сделано очень похоже на комментарии в Google Drive: можно выделить кусок кода и прокомментировать. Было бы интересно вместо комментариев мелким шрифтом где-то сбоку видеть это на половину экрана огромными буквами — в виде чата.
malroc Автор
Я посмотрю насколько это будет востребовано именно в таком виде как вы описываете. Если будет запрос на такой формат, возможно поменяем текущую концепцию.
EpeTuK
посмотрите комментарии у medium.com. Перенести их идею на уровень исходного кода было бы идеально — не раз уже о таком задумывался. Ну и у GDrive неплохой пример, да (Upsource не юзал)
malroc Автор
Я тут подумал немного. А если так?
Чат остаётся один сплошной (как сейчас), но сообщения сегментируются по тем участкам кода которые были выделены на момент обсуждения. И соотвественно при наведении курсора на сообщение можно этот код увидеть (ну и само обсуждение отправить на GitHub).
Не совсем то что вы предлагаете, но это наверное разрешит большую часть вопросов?
EpeTuK
чатиться можно где угодно — от аськи до емайл-рассылки. И не важно кто ты — просто семиклассник или архитектор высоконагруженных проектов. Чат -не совсем то, что нужно на самом деле программисту, когда итак есть выбор. Вот хорошая ревью-система уже куда ближе к потребностям программистов. И далее уже можно присобачивать всякие довески, типа чата, таскменеджера, управления проектами и т.д. до полной системы управления жизненным циклом, где все в одном