mPainter: czat tekstowy w sesji współpracy
mPainter: czat tekstowy w sesji współpracy
Wspólne rysowanie w jednym dokumencie działa w mPainterze od dawna — ale dotąd brakowało najprostszej rzeczy: możliwości napisania do siebie słowa bez wychodzenia z aplikacji. Ta aktualizacja dodaje czat tekstowy wprost w sesji współpracy. To zarazem pierwszy krok większej funkcji: pełnego kanału komunikacji (czat + głos), który budujemy etapami.
Osobne, dokowalne okno czatu
Po wejściu do sesji współpracy pojawia się nowy panel „Czat collab" — dokowalny tak jak reszta paneli, domyślnie w zakładce obok listy uczestników. Możesz go przeciągnąć w dowolne miejsce, oderwać w osobne okno albo schować i wrócić przez menu okien.
- Każda wiadomość pokazuje nazwę i kolor nadawcy (ten sam kolor, którym świeci jego kursor na płótnie) oraz znacznik czasu.
- Treść jest wyświetlana dosłownie — wklejenie znaczników czy kodu nie psuje okna.
- Pole wpisywania wysyła Enterem albo przyciskiem.
Licznik nieprzeczytanych
Gdy patrzysz na inną zakładkę, a ktoś napisze — na zakładce czatu pojawia się licznik nieprzeczytanych (np. „Czat collab (3)"). Otwarcie czatu zeruje go. Twoje własne wiadomości licznika nie ruszają, a po wyjściu z sesji okno czyści się samo.
Działa dla wszystkich i tam, gdzie trzeba
Czat jest dostępny dla każdego uczestnika — także dla obserwatorów (spectator), którzy nie rysują, ale chcą się odezwać. Wiadomości jadą tym samym, sprawdzonym kanałem co operacje rysunkowe: w małych sesjach bezpośrednio między uczestnikami (najniższa latencja), a w dużych — przez serwer. Co ważne, czat nigdy nie trafia do historii cofania — Ctrl+Z na płótnie cofa rysunek, nie rozmowę.
Co dalej
To fundament szerszej komunikacji w sesjach współpracy. Pod spodem jest już gotowy potok kodeka głosu (Opus/RTP) — w kolejnych krokach dojdzie kanał głosowy z redukcją szumu i echa, wskaźnikami mówienia przy uczestnikach oraz nadawaniem na żywo. Najpierw jednak najważniejsze i najprostsze: można po prostu napisać „przesuń tę warstwę wyżej" zamiast pokazywać kursorem.