image

Вчера случилось долгожданное для SourceTalk событие: наконец вышел полноценный релиз. Для тех кто о проекте слышит первый раз или уже успел забыть: SourceTalk — это сервис для обсуждения исходных кодов в реальном времени, по изначальной задумке — что-то вроде Campfire или HipChat для разработчиков, но возможно вы уже успели познакомиться с более близким аналогом, вышедшим в прошлом году — Gitter. О непростом пути, пройденном за два года развития от прототипа до релиза, можно прочитать в моей статье на Мегамозге. Здесь же я опишу только текущий функционал.

Что умеет SourceTalk на момент релиза?


  • Чат с возможностью просмотра исходного кода и синхронизацией выделения и прокрутки между пользователями
  • Интеграция с GitHub: файл для обсуждения можно добавить в конференцию напрямую из репозитория
  • Интеграция с редакторами кода: также файл можно добавить прямо из редактора (на данный момент только Sublime Text 2/3)
  • Поддержка расширенного синтаксиса Markdown в чате (отличия: URL автоматически конвертируются в ссылку, URL с адресом изображения — в ссылку с изображением, одинарный перенос строки соответствует переносу, а не пробелу)

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

Что планируется добавить в ближайшем будущем?


  1. Самое главное: платные подписки и возможность создания закрытых конференций (с доступом к закрытым репозиториям на GitHub)
  2. Дополнительные плагины для IDE и редакторов кода: в ближайших планах плагины для Emacs, Vim, Eclipse и NetBeans (на самом деле все они уже были выпущены раньше, но в связи с изменением в API старые версии на данный момент не работают)
  3. Большое количество менее заметных улучшений

Так как после введения платной подписки проект теряет возможность вести бесплатный корпоративный блог на Хабре, скорее всего это последняя запись в этом блоге.

Любые вопросы и замечания традиционно приветствуются.

Комментарии (53)


  1. js605451
    30.04.2015 21:31
    +1

    Правильно ли я понял, что:
    1. Можно смотреть код
    2. Можно чатиться
    3. Единственное что связывает код с чатом — возможность цитировать куски кода
    ?


    1. malroc Автор
      30.04.2015 21:37

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


      1. js605451
        30.04.2015 21:52
        +1

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

        1. Я хочу обсуждать конкретные части кода — как минимум строчки «от» и «до»
        2. Я хочу обсуждать конкретные части кода — методы, классы (конечно, с привязкой к конкретному языку)
        3. Я хочу чтобы обсуждение можно было привязать к конкретному куску кода
        4. Я хочу чтобы обсуждение можно было в итоге запостить как issue на Github — после того как все наобсуждались


        1. malroc Автор
          30.04.2015 21:54
          +1

          1-3: так или иначе поддерживается: прокрутка и выделение в файле синхронизируются между всеми пользователями. То есть выделяете нужный вам участок (это все видят) и пишете в чат что хотите о нём сказать.
          4: скорее всего будет в том или ином виде, это разумно, да


          1. js605451
            30.04.2015 22:00
            +2

            Я наверное неудачно выразился. Хочется на разные куски кода делать отдельные обсуждения. Но не в масштабе «а завтра обсудим XXX», а в масштабе — у нас есть 30 минут чтобы посмотреть на вот этот класс, давайте отдельно пообсуждаем каждый из вот этих трёх его методов. Посмотрите например на Upsource — у них сделано очень похоже на комментарии в Google Drive: можно выделить кусок кода и прокомментировать. Было бы интересно вместо комментариев мелким шрифтом где-то сбоку видеть это на половину экрана огромными буквами — в виде чата.


            1. malroc Автор
              30.04.2015 22:12

              Я посмотрю насколько это будет востребовано именно в таком виде как вы описываете. Если будет запрос на такой формат, возможно поменяем текущую концепцию.


              1. EpeTuK
                01.05.2015 21:50

                посмотрите комментарии у medium.com. Перенести их идею на уровень исходного кода было бы идеально — не раз уже о таком задумывался. Ну и у GDrive неплохой пример, да (Upsource не юзал)


            1. malroc Автор
              30.04.2015 22:43
              +4

              Я тут подумал немного. А если так?
              Чат остаётся один сплошной (как сейчас), но сообщения сегментируются по тем участкам кода которые были выделены на момент обсуждения. И соотвественно при наведении курсора на сообщение можно этот код увидеть (ну и само обсуждение отправить на GitHub).
              Не совсем то что вы предлагаете, но это наверное разрешит большую часть вопросов?


              1. EpeTuK
                01.05.2015 21:59

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


  1. Bick
    30.04.2015 21:50

    Сначала очень заинтересовался продуктом, но увидев остутствие Private conferences интерес поутих… Подскажите пожалуйста когда планируете введение данной фичи?
    Также кнопка Try it намекает о платности — я так подозреваю что в будущем появится платный функционал, верно ли это?

    Почему интересуюсь — компания разрабатывает IDE и интеграция с подобным сервисом нам была бы интересна, но не в текущем виде.


    1. malroc Автор
      30.04.2015 21:56

      Да, платная подписка с приватными конференциями будет, это первоочередная задача. По срокам: планирую в течение двух месяцев.


  1. leventov
    30.04.2015 23:39
    +8

    Чем это отличается от комментариев на самом Гитхабе? Где можно комментить каждую строчку по отдельности


    1. malroc Автор
      30.04.2015 23:41
      +1

      1. Обсуждения ведутся в реальном времени (ну то есть соотношение как между почтой и скайпом).
      2. Вы не ограничены кодом, закомиченным на гитхаб. Например вы можете обсудить промежуточный вариант который не хотите пока никуда комитить.


      1. jMas
        01.05.2015 00:17

        Есть уже такая issue у гитхаба, возможно когда ни будь появится.
        К автору проекта: возможно, не все поняли смысл проекта. Я, например вижу вариант использования такого продукта в скайп-митингах по ревью кода, но обязательно: с комментированием участков кода другими людьми. Ситуация: кто то из собеседников видит ошибку в коде и вместо того чтобы говорить в скайп и перебивать — комментирует участок кода. История сохраняется для последующей проверки лидом и создания задач. Так же было бы удобно создавать задачи по комментариям из кода с привязкой к задачи ссылки на комментарий и сам комментарий. Так же удобно если можно было бы вести дискуссию о выделенном участке кода (комментирование комментариев). Уведомления, если твой код прокомментировали, лента событий (комментариев) по всем расшаренным файлам.


        1. malroc Автор
          01.05.2015 00:22
          -2

          Да, кому приходилось обсуждать код по скайпу, тому обычно не нужно объяснять зачем это.
          По остальному: скорее всего в каком-то виде это будет. Технически это не так сложно реализовать, тут основная проблема сделать это удобно и прозрачно с точки зрения интерфейса. Чтобы швейцарского ножа не получилось.


  1. malroc Автор
    01.05.2015 00:22

    [комментарий перенесён в соответствующую ветку]


  1. monolithed
    01.05.2015 01:27
    +1

    Тоже смысла не понял. Посмотрите на досуге Сrucible

    image


    1. evil_random
      01.05.2015 03:26
      -5

      Сrucible хорош, но:
      а) не умеет в diff бинарников вообще никак
      б) не умеет в diff перемещенных файлов
      в) не всегда нормально умеет в diff текстовых файлов
      г) конская верстка шапки, которую мы после обновления каждый раз правим своим css файлом


      1. evil_random
        01.05.2015 19:35
        -4

        Аргументов не будет? Только молча в стрелочки тыкаем?


        1. fshp
          01.05.2015 23:56
          +2

          Как часто вы проводите ревью дифов бинариков?


          1. evil_random
            02.05.2015 01:05

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


            1. monolithed
              02.05.2015 17:28

              Stash решает эту проблему.


  1. nd0ut
    01.05.2015 01:46
    +1

    У меня вообще не вышло вставить кусок кода в поле. Он, видимо, хочет, чтоб я файлик ему перетянул с рабочего стола. Но у меня нет рабочего стола :(
    image
    А идея прикольная, мы сейчас в Slack'е код обсуждаем, ибо в гитхабе это дико неудобно, больше на форум похоже, чем на чат.


    1. js605451
      01.05.2015 11:07

      Там слева сверху есть большая надпись «Repository». Если её нажать, появляется панелька с содержимым репозитория. Вот оттуда надо перетягивать.


    1. malroc Автор
      01.05.2015 11:07

      Да, пока варианта три: перетащить сам файл, добавить из репозитория на гитхабе и добавить из редактора (пока SublimeText 2/3).
      Вариант с копи-пастом самого кода возможно тоже добавим.


  1. kosyag
    01.05.2015 09:19
    -9

    Не удержусь
    image


  1. ShiawasenaHoshi
    01.05.2015 09:52

    Я бы хотел попробовать. Пригласите меня кто-нибудь на обсуждение, когда оно будет.


  1. ihoru
    01.05.2015 10:18

    А что за проблема с кодировкой?
    У меня проект на utf-8, после выбора файла для обсуждения русский текст отобразился так:
    ??????N????? ?????????µN??¶?????°?µ??N?N? N?N?N


    1. malroc Автор
      01.05.2015 11:06

      Посмотрю. Русский текст в коде имеется в виду?


      1. ihoru
        01.05.2015 11:22

        В комментариях к PHP-коду. Пример отправил в личку.


  1. mMaxy
    01.05.2015 13:30
    +1

    Я может быть сейчас буду не прав, но:

    Emacs, Vim, Eclipse и NetBeans

    Я не знаком с вашей целевой аудиторией, поэтому не буду критиковать выбор Emacs и Vim. Но, чем тратить ресурсы на поддержку Eclipse и NetBeans лучше сделать плагины для продуктов JetBrains. Покрытие языков будет больше, скорей всего, аудитория более открытая на эксперименты и платящая, если сможете им продать.


    1. malroc Автор
      01.05.2015 13:34

      Спасибо, подумаю над этим.


      1. nekufa
        07.05.2015 13:52

        Поддерживаю jetbrains.


        1. malroc Автор
          07.05.2015 20:58

          Хорошо, постараюсь выпустить.


          1. Grawl
            10.05.2015 18:53

            И я тоже поддерживаю IntelliJ.


  1. Invision70
    01.05.2015 14:15
    +1

    Подскажите, планируется ли в дальнейшем поддержка Mercurial и интеграция с Bitbucket?


    1. malroc Автор
      01.05.2015 14:33

      Возможно, но это не в ближайших планах.


  1. alexf2000
    01.05.2015 17:52
    +1

    Странно, зачем это? Я же через скайп экран могу показать с чатом и голосом. Прямо в ИДЕ, с подсветкой и т.п.


    1. malroc Автор
      01.05.2015 18:02

      Ну вам наверное не слишком часто приходилось так делать. Крайне неудобно на самом деле.


      1. alexf2000
        01.05.2015 19:56
        +2

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


        1. malroc Автор
          01.05.2015 20:05
          -2

          > По умолчанию код весь и всегда проприетарный и вообще — чужая интеллектуальная собственность
          А про опенсурс вы ничего не слышали?

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


  1. iDennis
    01.05.2015 18:39

    А возможность просматривать другие конференции есть?


    1. malroc Автор
      01.05.2015 18:45

      Пока что все конференции могут быть только открытые, поэтому вы можете просмотреть/поучаствовать в любой, на которую вам дадут ссылку.
      Какого-то общего списка нет, не вижу в нём смысла.


      1. iDennis
        01.05.2015 18:53

        А в чём будет разница тогда между открытыми и закрытыми конференциями?


        1. malroc Автор
          01.05.2015 19:00

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


          1. iDennis
            01.05.2015 19:09

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


            1. malroc Автор
              01.05.2015 19:20

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


  1. PoN
    01.05.2015 19:48

    А что русской версии сервиса нет ?!


    1. malroc Автор
      01.05.2015 19:51

      Возможно когда-нибудь будет, но пока нет.


    1. fshp
      01.05.2015 23:59
      +1

      Что бы код с C++ на русский 1C переводило?


  1. Chikey
    01.05.2015 20:48

    Поставил бы локально потыкать. Доверять свои исходники какому то сервису без аудита безопасности, нафик


  1. heilage
    02.05.2015 07:35
    +1

    Непонятно, как позиционируется этот софт. Какую проблему вы хотите решить?
    Это инструмент для удаленного ревью? Для ревью более удобен формат форума (как на гитхабе), поскольку одновременное ревью несколькими разработчиками создаст такую кашу в чате, что будет непонятно что к чему.
    Или это все же инструмент для удаленного парного программирования? В таком случае, отсутствует главная возможность — совместное редактирование кода. И комментирование опять-таки в этом случае излишне, поскольку можно делать комментарии прямо в коде.


    1. malroc Автор
      02.05.2015 12:31

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