Przestrzenie w zespole — kto czyta którą — i publiczny link do podsumowania.
Domyślnie spotkanie należy do ciebie i do nikogo innego. Dwie rzeczy mogą to poszerzyć, i są od siebie niezależne: bycie w zespole i opublikowanie linku.
Każde spotkanie nagrane w zespole jest w jednej przestrzeni albo w kilku, i kto może czytać KTÓRĄKOLWIEK z nich, ten może je czytać. Spotkanie o sprawie kadrowej, która jest też sprawą prawną, może być naraz w «HR» i w «Dział prawny». Zespół zaczyna z dwiema przestrzeniami:
Każdy w zespole może tworzyć kolejne — przestrzeń dla jednego klienta, jednej transakcji, trzech osób — nazwać ją, zmienić nazwę oraz dodawać i usuwać kolegów. Dodana osoba czyta wszystko, co w niej jest, od tej chwili, także spotkania nagrane, zanim do niej trafiła; po to właśnie dzieli się przestrzeń. Administratorzy zespołu czytają każdą przestrzeń oprócz czyjejkolwiek «Prywatnej», niezależnie od tego, czy w niej są.
Osoba, która nagrała spotkanie, dodaje je do przestrzeni i je z nich wyjmuje, w trakcie nagrywania albo w dowolnym momencie później; w aplikacji karta przestrzeni na spotkaniu otwiera listę do zaznaczania i odznaczania. «Prywatnej» nie da się łączyć z niczym: dodanie spotkania do dowolnej innej przestrzeni wyjmuje je z «Prywatnej», wyjęcie go z ostatniej odkłada je tam z powrotem, a wybranie «Prywatnej» wyjmuje je naraz ze wszystkich innych przestrzeni — sprzed oczu wszystkich innych. Nikt inny nie może go umieścić, także administratorzy. Udostępniony link działa dalej, niezależnie od tego, w jakich przestrzeniach jest spotkanie.
Przestrzenie istnieją tylko w zespole. Osoba działająca sama nigdy żadnej nie zobaczy.
Nikt, kto może spotkanie tylko czytać, nie może go zmienić ani usunąć. Dotyczy to każdego sposobu korzystania z Chui, także przez asystenta.
Spotkanie nagrane przez kogoś innego pojawia się na listach i w wynikach wyszukiwania oznaczone jako jego, więc zawsze jest jasne, czyje spotkanie jest cytowane. Jest też filtr „moje” kontra „zespół”.
Odejście z zespołu albo usunięcie z niego sprawia, że od tej chwili nie czytasz przestrzeni zespołu, i wyjmuje cię z każdej przestrzeni, w której byłeś. Już nagrane spotkania zostają w przestrzeniach, w których są, a osoba, która nagrała każde z nich, nadal może je przenieść z powrotem do swojej «Prywatnej». Osoba usunięta z jednej przestrzeni przestaje czytać spotkanie tylko wtedy, gdy tego spotkania nie ma w żadnej innej przestrzeni, do której ta osoba ma dostęp.
Wszystko to można zrobić, prosząc. list_workspaces() to każda przestrzeń, którą możesz otworzyć, kto czyta każdą i ile jest w niej spotkań — z identyfikatorami, których potrzebują pozostałe. create_workspace() i rename_workspace() robią to, co mówią. add_to_workspace() dodaje kolegę, a asystent ma polecenie najpierw powiedzieć, że ta osoba przeczyta wszystko, co już tam jest. add_meeting_to_workspace() dodaje jedno z twoich spotkań do przestrzeni, obok tych, w których już jest, a remove_meeting_from_workspace() wyjmuje je z jednej. get_meeting() wymienia każdą przestrzeń, w której jest spotkanie. list_meetings() przyjmuje identyfikator przestrzeni, żeby wymienić tylko jej spotkania — spotkanie w kilku jest wymienione pod każdą. O dwie operacje asystent pyta najpierw, bo odbierają dostęp czytelnikom: prepare_remove_from_workspace() nazywa, kto przestałby czytać co — twój własny identyfikator to sposób, żeby z niej odejść — a remove_from_workspace() przyjmuje tylko jego token; prepare_delete_workspace() nazywa każde spotkanie, które wciąż jest w utworzonej przez ciebie przestrzeni, a delete_workspace() wyjmuje z niej każde z nich — takie, które nie było w żadnej innej przestrzeni, wraca do «Prywatnej» osoby, która je nagrała. «Prywatnej» i «Całego zespołu» nie da się usunąć.
Spotkanie można opublikować pod linkiem, który każdy może otworzyć — bez konta Chui, bez logowania. Strona pokazuje tytuł, datę, długość spotkania, osoby, które nazwałeś, i podsumowanie; ty decydujesz, czy trafią na nią też transkrypcja i nagranie. Chui liczy, ile razy otwarto link, pomijając pobrania, które rozpoznaje jako wykonane przez mechanizm generujący kartę podglądu — więc wklejenie linku w WhatsAppie, Slacku czy Telegramie nie zmienia liczby. Maszyna, której Chui nie rozpoznaje, nadal się liczy, a otwarcie to nie przeczytanie: liczba to najlepszy dowód, jaki ma Chui, że ktoś zajrzał, a nie dowód, że ktokolwiek przeczytał spotkanie.
Jeśli osoba otwierająca link jest już zalogowana do Chui i widzi to spotkanie, strona przenosi ją prosto do Chui, na to spotkanie, zamiast zostawiać ją z kopią. Wszyscy inni czytają stronę.
Notatki, które wpisałeś, zostają przy tobie, cokolwiek innego wybierzesz.
Można go zatrzymać, a zatrzymanie znaczy zatrzymanie: od tej chwili adres nie odpowiada niczym, nikomu, kto go ma. Ponowne opublikowanie spotkania tworzy inny adres, więc ktoś, kto zachował stary link w czacie, nie odzyska spotkania.
Tylko osoba, która nagrała spotkanie, może je opublikować albo odebrać link. Kolega, który może otworzyć spotkanie udostępnione zespołowi, nie może tego zrobić i nawet nie dowiaduje się, czy link istnieje — to nie jego decyzja.
Pod linkiem trzy wiersze mówią, co dostaje osoba, która go otwiera:
Zdanie nad tymi trzema wierszami zawsze mówi, który obowiązuje, więc wiesz, co przekazujesz, zanim to przekażesz. Zmiana to ten sam adres, a nie nowy, więc działa od razu dla wszystkich, którym już wysłałeś link — ekran to mówi. Zawężenie z powrotem równie szybko zdejmuje ze strony transkrypcję albo nagranie, choć kto w międzyczasie je przeczytał lub usłyszał, ten już to zrobił.
Przy dwóch węższych ustawieniach nagrania w ogóle nie ma na stronie — nie ma na niej adresu, który prowadziłby do dźwięku. Przy Wszystko strona podaje nagranie tylko tak długo, jak działa sam link: zatrzymanie linku albo zawężenie go z powrotem zatrzymuje dźwięk w tej samej chwili, w której zatrzymuje stronę.
Spotkanie, którego dźwięku Chui nigdy nie otrzymało, nadal można ustawić na Wszystko; jego strona po prostu nie ma odtwarzacza.
Link wysłany, zanim to istniało, się nie zmienił. Każdy link zaczyna od podsumowania i na nim zostaje, dopóki ktoś celowo go nie przestawi.
O jedno i drugie możesz poprosić słowami. share_meeting() nadaje spotkaniu adres i go zwraca, więc asystent może wstawić go prosto do wiadomości, którą piszesz — ma polecenie nazwać spotkanie i poczekać, aż powiesz „tak”, bo kto przeczyta stronę, zanim zmienisz zdanie, ten już ją przeczytał. Spotkania, które Chui wciąż opracowuje, nie da się opublikować: za linkiem nie byłoby jeszcze nic.
set_share_level() to te trzy wiersze powyżej, powiedziane na głos: poproś, żeby na stronę trafiła też transkrypcja — albo nagranie — albo żeby któreś z nich z niej zeszło. Nie może niczego opublikować — spotkanie bez aktywnego linku to błąd — więc asystent poproszony, żeby „udostępnić je z transkrypcją”, robi to w dwóch krokach, a jeśli drugi się nie uda, strona jest węższa, niż prosiłeś, a nie szersza. Asystent ma polecenie powiedzieć wprost, co przekazuje ustawienie Wszystko, zanim cię zapyta: twój głos i głos wszystkich innych, do odtworzenia przez każdego, kto ma adres.
O zatrzymanie linku asystent pyta najpierw. prepare_unshare_meeting() odczytuje, o które spotkanie chodzi, jaki jest adres i ile razy go otwarto, i w tym momencie nic się nie stało; dopiero gdy powiesz „tak”, unshare_meeting() go odbiera, i może odebrać tylko link, który właśnie ci pokazano. To to samo pytanie, które zadaje aplikacja, rysując adres obok przycisku, a tutaj jest zadawane dlatego, że tego nie da się cofnąć.
Chui może odpowiedzieć na pytanie „które z moich spotkań może przeczytać każdy, kto ma link?” jednym pytaniem, a nie spotkanie po spotkaniu. W aplikacji to osobny ekran — Ustawienia → Linki publiczne (Settings → Public links) — z listą każdego spotkania, które ma aktywny link, z datą publikacji i liczbą otwarć strony, oraz z możliwością zatrzymania każdego od razu tam. Gdy nic nie jest opublikowane, mówi to jednym zdaniem, i to jest uspokajająca odpowiedź.
list_shared_meetings() to ta sama lista, i mówi, co pokazuje każda strona — podsumowanie, podsumowanie i transkrypcję, albo to wszystko i nagranie — bo trzy aktywne linki mogą pokazywać zupełnie co innego. Nie zwraca samych adresów: o link zapytaj przy jednym spotkaniu. Linków, które już zatrzymałeś, nie ma nigdzie na liście — to jest to, co można przeczytać teraz, a nie historia tego, co kiedyś było.
O tym, kto w zespole czyta spotkanie, decydują jego przestrzenie — add_meeting_to_workspace(), wyżej.
Spotkanie udostępnione przez kogoś innego to czyjaś rozmowa, i możesz z tym zrobić dwie rzeczy. Obie są na dole tego spotkania, tam, gdzie byłby przycisk Usuń (Delete) właściciela — żadna nie jest wyświetlana przy twoim własnym spotkaniu, bo nie ma komu tego zgłosić i nie ma kogo zablokować.
Zgłoś je. «Zgłoś to spotkanie (Report this meeting)» przyjmuje to, co chcesz powiedzieć, twoimi własnymi słowami, i wysyła to do człowieka w Chui, który to czyta i na to odpowiada. Nie ma kategorii do wyboru ani adresu e-mail do podania. Strona otwierana przez publiczny link ma to samo jako formularz na samej stronie, co ma znaczenie, bo osoba, która ją otwiera, zwykle w ogóle nie ma Chui.
report_meeting() to ta sama droga, tylko przez pisanie. To nie jest report_problem(): tamto zgłasza błąd w Chui — złe podsumowanie, nagranie, które się zatrzymało — i trafia do innej kolejki, czytanej przez innych ludzi. To dotyczy osoby i jej nagrania.
Zgłoś nielegalne treści. Jeśli uważasz, że nagranie przechowywane w Chui łamie prawo — czyjekolwiek, nie tylko udostępnione tobie — unijny akt o usługach cyfrowych (Digital Services Act) pozwala ci wysłać formalne zgłoszenie: formularz na chui.io/dsa/report, podlinkowany ze strony każdego udostępnionego nagrania, albo e-mail na privacy@chui.io. Prosi o link, o to, dlaczego jest nielegalne, o twoje imię i nazwisko oraz e-mail i o twoje oświadczenie, że wysyłasz je w dobrej wierze. Dostajesz potwierdzenie e-mailem, człowiek je rozpatruje, a ty dowiadujesz się, co postanowiono i jak to zakwestionować. chui.io/dsa podaje punkty kontaktowe. report_illegal_content() to to samo zgłoszenie przez pisanie.
Zablokuj tę osobę. Po zablokowaniu nic, co ta osoba udostępnia, już do ciebie nie trafi, a nic, co ty udostępniasz, nie trafi do niej — łącznie ze spotkaniami już udostępnionymi. Nic nie jest usuwane, wyłączane z udostępniania ani zmieniane: Chui po prostu przestaje odpowiadać, a Ustawienia → Prywatność (Settings → Privacy) wymienia każdego, kogo zablokowałeś, z możliwością zdjęcia blokady. Zdjęcie jej przywraca każde spotkanie po obu stronach, dokładnie tak, jak było.
Blokada to nie to samo co usunięcie kolegi z firmy: pozostaje w mocy nawet wtedy, gdy ktoś zaprosi cię z powrotem.
prepare_block_person() odczytuje, kto by zamilkł i ile spotkań przestałaby widzieć każda strona; block_person() przyjmuje tylko token, który on przekazuje, więc nie da się zablokować nikogo, kogo wcześniej ci nie pokazano. unblock_person() zdejmuje jedną blokadę, a list_blocked() to lista — i zawsze są na niej tylko blokady założone przez CIEBIE, bo blokady założonej przeciwko tobie nie możesz zdjąć.
Gdy nagrane przez ciebie spotkanie pochodzi z zaproszenia w kalendarzu, karta pod podsumowaniem proponuje wysłanie podsumowania e-mailem do osób z tego zaproszenia — nigdy transkrypcji, nagrania ani twoich notatek. «Przejrzyj i wyślij» pokazuje każdy adres zaznaczony (możesz kogoś odznaczyć albo dopisać adres) i e-mail dokładnie taki, jaki wyjdzie. Wychodzi z Chui w twoim imieniu, odpowiedzi trafiają do ciebie, a ty dostajesz kopię. Link do spotkania jest w nim tylko wtedy, gdy już je udostępniłeś. Jedno konto ma dzienny limit adresów.
prepare_send_notes() pokazuje e-mail i każdego odbiorcę; send_notes() przyjmuje tylko token, który on wydał. Wysłanego e-maila nie da się cofnąć.
Po każdym spotkaniu, na którego zaproszeniu byli inni ludzie, powiadomienie «twoje spotkanie jest gotowe» proponuje też wysłanie im notatek, z ich liczbą; dotknięcie otwiera ekran wysyłania i nic nie wychodzi, dopóki osoba nie naciśnie wyślij. Pod tym ekranem «Nie pytaj po każdym spotkaniu» wyłącza propozycję, dopóki nie zostanie ponownie włączona w Ustawieniach → Przypomnienia o spotkaniach. set_notes_offer() włącza ją lub wyłącza pisaniem; get_account mówi, jak jest teraz.
W Ustawieniach «Podsumowanie — także gdzie indziej» przyjmuje jeden adres internetowy na konto: Slack incoming webhook, Zapier «Catch Hook», Make custom webhook albo dowolny własny adres https. Wklej go i naciśnij Zapisz: Chui najpierw wysyła tam jedną wiadomość próbną i odrzuca adres, który jej nie przyjmie. Od tej pory, gdy podsumowanie spotkania jest gotowe, Chui sam je tam wysyła — Slack dostaje wiadomość we własnym kształcie, każdy inny adres jeden dokument JSON (tytuł, podsumowanie, link, godzina rozpoczęcia, długość w minutach, język). Wychodzi tylko podsumowanie, nigdy transkrypcja, nagranie ani notatki, które wpisałeś; link tylko wtedy, gdy spotkanie jest już udostępnione. Każde spotkanie wychodzi raz, a notatki głosowe do siebie nigdy nie wychodzą same.
Najpierw działa ta sama kontrola prywatności co przy e-mailu. Jeśli znajdzie cokolwiek, co wygląda na prywatne, nie wychodzi nic: spotkanie o tym mówi, a «Przejrzyj i wyślij» pokazuje każdy oznaczony fragment, żebyś go zostawił albo usunął przed wysłaniem. Jeśli adres przestanie je przyjmować, Ustawienia mówią, co odpowiedział; «Zmień adres» albo «Zatrzymaj».
prepare_set_summary_destination() pokazuje, dokąd szłoby każde podsumowanie, a set_summary_destination() przyjmuje tylko token, który on wydał; stop_summary_destination() zatrzymuje wysyłanie. prepare_post_summary() pokazuje podsumowanie jednego spotkania takie, jakie by wyszło (z oznaczonymi fragmentami do rozstrzygnięcia), a post_summary() je wysyła. get_account mówi, co jest połączone.
Adres, który przyjmuje tylko wpisy z kluczem, dostaje go w polu Klucz pod adresem: idzie z każdym wpisem w nagłówku Authorization i po zapisaniu nie jest nigdzie pokazywany. test_summary_destination() wysyła jedną wiadomość próbną na zapisany adres z kluczem. Gdy adres nie odpowiada albo mówi, że jest zajęty, Chui pyta jeszcze dwa razy; odmowy (401 to zły klucz) nie ponawia.
Pod podsumowaniem spotkania «Obiecane» pokazuje jedną kartę dla każdej rzeczy, którą obiecałeś ty — komu, co i do kiedy. Dla tych, które Chui potrafi napisać, e-mail jest już gotowy: «Zobacz e-mail» pokazuje go dokładnie tak, jak wyjdzie, na adres z zaproszenia lub ze strony tej osoby (albo ten, który wpiszesz raz — Chui zapamięta go przy tej osobie), z Chui w twoim imieniu, a odpowiedzi i kopia trafiają do ciebie. Obietnica wysłania pliku mówi, którego; dołącz jeden z plików spotkania albo dodaj nowy i wyślij — do 3,5 MB na e-mail. Obietnica, która najpierw wymaga twojej pracy (wycena, umowa), nie ma e-maila; karta mówi tylko, co jest do zrobienia. «Ukryj» usuwa kartę i nic nie jest wysyłane. Karty nie są listą zadań.
list_promises() wymienia je z każdym e-mailem słowo w słowo. prepare_send_promise() pokazuje e-mail, odbiorcę i pliki, a send_promise() przyjmuje tylko token, który wydaje; prepare_dismiss_promise() i dismiss_promise() tak samo ukrywają jedną. Wysłanego e-maila nie da się cofnąć.
Od kompilacji 225. Jeśli twoja poczta jest w Microsofcie (Outlook, Microsoft 365), Chui może wysłać notatki i e-mail z obietnicy z twojego własnego adresu zamiast «ty przez Chui»: zostaje wtedy w twoim folderze Elementy wysłane, a odpowiedzi wracają prosto do ciebie. Na ekranie wysyłania «Wyślij zamiast tego z <twój adres>» raz pyta Microsoft; potem wybór «Od» przełącza między twoim adresem a adresem Chui, a Chui pamięta ten, który wybrałeś. Ta sama zgoda pozwala, by obietnica wymagająca twojej pracy trafiła do twojego Microsoft To Do — «Dodaj do mojego To Do» na jej karcie wpisuje ją z terminem i linkiem z powrotem do spotkania. Nic nie wychodzi i nic nie jest wpisywane bez twojego dotknięcia. Firma, która nie pozwala ludziom samodzielnie zatwierdzać aplikacji, pokazuje zamiast tego stronę do przekazania jej działowi IT. Z twojego własnego adresu jeden e-mail mieści do 2,9 MB plików.
Na iPhonie (od #1800) «Dodaj do moich zadań» pyta, dokąd ma trafić: do Przypomnień Apple — na domyślną listę na tym iPhonie — czy do Microsoft To Do. «Zawsze tam» zapamiętuje odpowiedź na wszystkich twoich urządzeniach; «zmień» obok przycisku pyta ponownie, a Ustawienia → Linki publiczne → «Pytaj za każdym razem» ją zapomina. Do Przypomnień Apple nie da się dotrzeć przez internet, więc przypomnienie zapisuje sam twój iPhone i tylko po twoim dotknięciu: iOS raz pyta, czy Chui może używać Przypomnień, a Chui dodaje jedno przypomnienie — tytuł, termin, dla kogo i link do spotkania — i nigdy nie czyta, nie zmienia ani nie usuwa pozostałych. Jeśli odpowiedziałeś «nie», karta powie, gdzie to włączyć. Na Androidzie, Windows i chui.io obietnice trafiają do Microsoft To Do. set_todo_destination() wybiera miejsce przez pisanie.
Obietnica, która jest listą, na przykład listą zakupów, trafia do twojej listy zadań jako jedno zadanie, w którym każda pozycja jest osobnym krokiem, w kolejności, w jakiej ją wypowiedziano, a jej karta pokazuje najpierw nagłówek, a pod nim pozycje jaśniejszą czcionką (od kompilacji 239).
connect_mailbox() mówi, czy skrzynka jest połączona, a jeśli nie, gdzie ją połączyć — asystent nie może zrobić tego kroku za ciebie. set_send_from("mine") albo set_send_from("chui") wybiera adres. prepare_add_task() pokazuje zadanie, którym stałaby się obietnica, a add_task() je wpisuje; prepare_disconnect_mailbox() i disconnect_mailbox() zwalniają połączenie, po czym Microsoft nadal wymienia Chui na myaccount.microsoft.com, dopóki go tam nie usuniesz.
Przed wysłaniem Chui sprawdza podsumowanie pod kątem fragmentów, które wyglądają na prywatne (od kompilacji 224) — ceny, uwagi o kimś, czegoś z twoich notatek, czegoś nazwanego poufnym — i pokazuje każdy na swoim miejscu wraz z powodem: zostaw go albo usuń z tego, co wychodzi. Nic nie jest rozstrzygane za ciebie, a twoje podsumowanie się nie zmienia. Potem «Co udostępniłeś» na tej samej karcie pokazuje, kiedy wyszło, do kogo i dokładnie co dostali.
prepare_send_notes() wymienia też fragmenty wyglądające na prywatne i dlaczego; wywołaj go ponownie z remove dla tych, które osoba usunęła, a e-mail, który pokaże, jest wtedy wersją, która wyjdzie. get_shared_version() odczytuje, co wyszło.