Шта се дешава када зауставиш снимање

Од заустављања до написаног сажетка: фазе, белешке и шта може да пође наопако.

Заустављање завршава снимање и покреће све остало. Звук иде на Chui сервере, транскрибује се, а затим се прави сажетак. На телефону је снимак безбедно сачуван на диску пре свега тога: ако нема везе, чека и отпрема се када веза постоји. Ништа се не губи због лоше мреже и не мораш ништа да притискаш.

На Mac или Windows рачунару снимак се не губи ако се Chui затворио док се снимање још заустављало: када се Chui следећи пут отвори, пронаћи ће тај снимак и отпремити га у састанак који си започео, заједно са белешкама (од верзије build 236).

Фазе, редом

Састанак пролази кроз њих, а апликација показује где се налази:

Обавештење јавља када су текст и сажетак састанка спремни. Не садржи ни наслов ни садржај.

Белешке су суштина

Chui није производ за транскрипцију. Замисао је да током састанка запишеш два реда (име, број, твоје обећање), а да их Chui споји са оним што је заиста речено. Сажетак настаје из оба. Укуцани редови га усмеравају, али се у њему не појављују дословно. Белешке се могу написати или исправити и после састанка.

Шта састанак садржи

list_meetings() даје списак: идентификатор, наслов, датум, трајање, статус и ништа више. get_meeting() даје сажетак једног састанка, његове белешке, трајање и број препознатих говорника. Ту је обично право место да се стане. Транскрипт је засебно, много скупље читање: види Како пронаћи оно што је речено.

Састанак који се није завршио

И састанак на ком си тренутно налази се на том списку, означен као in_progress, па асистент кога питају „усред чега сам?“ може да одговори. Транскрипта и сажетка нема док снимак не стигне, јер Chui транскрибује састанак тек кад се заврши. Нема ни коначне дужине. Зато се уместо тога враћа колико дуго траје, када је Chui последњи пут чуо звук са уређаја и белешке које се у њега уносе док се куцају. Асистент може да прочита те белешке, да их допуни и да каже да састанак није завршен. Не треба да га пријави као празан или неуспео, иако управо тако споља изгледају делови који недостају.

То значи „није завршен“, а не „дешава се сада“, и вреди знати разлику. Chui сазна да је снимак завршен тек када му уређај то јави, а три сасвим различите ствари са сервера изгледају исто: разговор који је у току, разговор који је стао пре минут, а звук му се још отпрема, и телефон који се угасио усред састанка и више се никада неће јавити. Зато асистент има упутство да не тврди да је микрофон укључен.

Уместо тога добија једну уску чињеницу. Док се састанак снима, телефон сваких деведесет секунди шаље део звука, па Chui зна пре колико времена је стигао најновији део тог снимка, и ништа више од тога. Дуга пауза значи да нов звук није стигао: снимање је можда паузирано, телефон је можда ван мреже, а можда се састанак завршио, а да Chui о томе није обавештен. Ни кратка пауза не доказује да је састанак уживо, јер телефон који преко нове везе надокнађује старији снимак изгледа једнако свеже. Chui прослеђује број и не наводи узрок, а где уопште није могао да провери, не каже ништа уместо да нагађа.

Chui сам даје наслов састанку, обично из позивнице у календару или из онога што је речено, па је назив често само претпоставка. Можеш да га исправиш у апликацији или да то кажеш асистенту: rename_meeting(). Асистент може да исправи и белешке укуцане током састанка, али за то прво пита, јер нови текст замењује све белешке одједном, а старе се нигде не чувају. prepare_update_meeting() чита белешке онакве какве јесу и какве би биле, а у том тренутку се још ништа није десило. Тек када кажеш да, update_meeting() их уписује, и то тачно текст који ти је приказан. Асистент треба да пошаље цео текст заједно са изменом, иначе остатак нестаје. Ако су се белешке у међувремену промениле, рецимо на другом уређају, ништа се не уписује и асистент мора поново да пита.

На исти начин се може исправити и сажетак: погрешно име, погрешан број, одлука записана наопако. prepare_update_summary() чита сажетак онакав какав јесте и какав би био. У том тренутку се још ништа није десило. Тек када кажеш да, update_summary() уписује тачно текст који ти је приказан и замењује цео сажетак. Транскрипт не може да се мења, ни преко асистента ни у апликацији, јер он бележи оно што је речено.

Ручно исправљен сажетак после тога је обичан сажетак и ништа га не штити. Chui поново пише сажетак из почетка, на основу транскрипта и белешки, у свим овим случајевима:

Тада се исправка замењује. Зато, ако је грешка у томе ко је говорио или шта је писало у белешци, исправи баш то. Сажетак ће сам пратити минут-два касније.

Шта смо рекли прошли пут

Недељни стендап је један састанак који се понавља, а Chui зна који снимци су његова понављања. То зна из серије у календару којој снимци припадају, а која се чува уз снимак и не тражи се накнадно. get_series() даје ранија понављања једног састанка, од најновијег. Тако су „шта смо договорили прошле недеље?“ и „шта је остало отворено са оног пре тога?“ један позив и затим get_meeting(), без претраге по насловима који можда нимало не личе један на други. Састанак снимљен без уноса у календару не припада ниједној серији, и одговор то каже уместо да стигне празан.

Када је снимљен само део

Састанак може да се врати означен као прекинут (cut short) или делимичан (partial). Тиме Chui каже да снимак не обухвата цео разговор: апликација је била суспендована, или је снимак обновљен после пада, а његов крај никада није стигао на диск. Сажми оно што постоји као одломак и не описуј га као цео састанак. Када ништа није пошло наопако, састанак нема такву ознаку. Увезена датотека је никада нема, јер нема сата састанка са којим би се поредила.

get_coverage() поставља то питање директно и одговара једном реченицом: да ли снимак обухвата састанак, колико је датотека дуга, колико је састанак трајао и који његов део је доспео у снимак. Ништа у транскрипту то не показује. Двадесет минута деведесетоминутног састанка чита се потпуно исто као цео двадесетоминутни састанак, па вреди питати пре него што некоме кажеш шта је договорено. Овај позив разликује и „ово нико није измерио“ од „ово је у реду“, а то нису исти одговори.

Поновно писање сажетка

Сажетак чине белешке уткане у оно што је речено. Кад се промени једно или друго, Chui га сам поново напише минут-два касније. Обично је довољно да дођеш име говорнику или исправиш белешку. У апликацији „Поново напиши сажетак“ (Write the summary again) приказује дискретан ред док се сажетак преписује (од верзије build 248).

Асистент може и изричито да затражи нови сажетак. То је једина ствар коју овде може да уради која кошта прави новац при сваком позиву:

Уз то се одбацује постојећи сажетак. Зато асистент прво пита. prepare_resummarise_meeting() чита сажетак који би нестао и каже које од два покретања би „да“ платило, а ништа се не троши. Тек када кажеш да, resummarise_meeting() покреће обраду. Ако је Chui у међувремену већ сам поново написао сажетак, то каже и ништа не плаћа. Састанак у ком Chui није чуо ниједну реч не може поново да се сажме. Chui то каже, уместо да плати да двапут слуша тишину.

Ако је Chui погрешно проценио врсту снимка, промени је. На крају сажетка дугме наводи за какав је снимак Chui сматрао, на пример белешку, интервју или састанак (од верзије build 248). Изабери другу врсту и сажетак се поново пише у том облику, а стари је затамњен док не стигне нови; исто дугме може и да врати избор Chui-ју. Куцањем, shape прослеђен у prepare_resummarise_meeting() поново пише сажетак у облику који наведеш и задржава га за тај састанак; auto враћа избор Chui-ју.

Кратка белешка, за један глас (од верзије build 235). Снимак у ком је само један глас, на пример мисао коју изговориш себи, може да се врати као кратка белешка: сама мисао, сређена, без наслова и имена говорника, означена сијалицом међу твојим састанцима. Од верзије build 236 то важи и за дуг снимак, који траје сатима, а који је раније могао да буде прочитан као два гласа и обрађен као састанак.

Сопствени облик, научен једном. Ако твој састанак има своје наслове — недељни преглед је увек бројке, ризици, молбе — реци то асистенту једном и Chui га од тада пише тако. Понављајућем састанку облик се учи са set_series_shape() (са било ког његовог састанка; get_series() га чита), а ознаци са summary_shape у update_label() (list_labels() га приказује). Chui и даље почиње кратким «укратко» и завршава следећим корацима и отвореним питањима. Облик понављајућег састанка има предност пред ознаком; две ознаке са различитим облицима препуштају избор Chui-ју. Празан облик враћа избор Chui-ју. Део је плаћеног плана и тражи се речима — у апликацији нема дугмета за то.

Ко је говорио

Транскрипт се враћа као speaker_0, speaker_1 … Систем разликује гласове, али не уме да им да имена. Име можеш да даш у апликацији или преко асистента са name_speaker(). Тада се:

Када у апликацији именујеш глас, списак почиње са «Ја», а поред стоји име твог налога: један додир ставља твоје име на тај глас тачно онако како га пише твој налог (од верзије build 249).

Глас се препознаје од једног састанка до другог само код особа које су саме себи укључиле „Препознавање сопственог гласа“ (Own-voice recognition) (Подешавања која се мењају на захтев). Њихов глас стиже већ именован на њиховим сопственим састанцима и на састанцима њихове фирме на које су били позвани. Сваки други глас почиње као speaker_0, speaker_1 … и именује се ручно. Име које је Chui ставио на глас мења се једним додиром, као и свако друго.

Име које је Chui закључио из разговора, а које још нико није потврдио, приказује се као обично име, али је само претпоставка. Додир на њега нуди две могућности:

Преко асистента, get_meeting() наводи таква имена под tentative_speaker_names. Ако гласу даш исто име, оно се потврђује. Позив prepare_reject_speaker_name(), па затим reject_speaker_name(), уклања име.

Када нешто не успе

Свака грешка каже која је и шта може да се уради:

Већина њих нуди поновни покушај.

Када сажетак не може да се напише због грешке на страни Chui сервиса, Chui сам покушава поново сваког сата током отприлике једног дана (од верзије 230), па проблем током ноћи не оставља састанак да чека на „Поново напиши сажетак“ (Write the summary again).

Брисање

Брисање састанка трајно уништава снимак, транскрипт, сажетак и белешке, свуда где постоје. Са њима нестаје и све што је Chui из тог разговора сазнао о људима који су у њему учествовали. Сваки јавни линк ка састанку престаје да ради. Chui памти да је састанак обрисан, па телефон који још има звук одбацује га уместо да га касније поново отпреми. Ништа од тога не може да се врати.

У апликацији је то Обриши састанак (Delete meeting) на дну састанка, или превлачење реда. У оба случаја Chui прво пита у панелу у ком пише назив састанка.

И асистент то може да уради, и пита на исти начин, у два корака, јер је ово једна од ствари које не могу да се пониште. prepare_delete_meeting() чита о ком састанку је реч:

У том тренутку се још ништа није десило. Тек када кажеш да, delete_meeting() га уништава. Тај позив не прима ништа осим одговора на то питање, па нема начина да се усмери на састанак који ти малопре није приказан. Колега који може да отвори састанак подељен са тимом не може да га обрише. То може само особа која га је снимила.

Када је један разговор завршио као два састанка

Снимање је заустављено на паузи и поново покренуто после ње. Или се снимање прекинуло, па је Chui остатак састанка сачувао засебно. У сваком случају, један разговор стоји на твом списку као два реда, са два сажетка и два скупа говорника.

Замоли асистента да их споји. prepare_merge_meetings() чита оба састанка и каже:

У том тренутку се још ништа није десило. Тек када кажеш да, merge_meetings() то ради. Тај позив не прима ништа осим одговора на то питање.

Шта ради: два снимка се надовезују један на други, редом којим су настали, у ранији састанак. Он задржава свој идентификатор и датум. Каснији састанак се затим брише. Chui поново чита спојени снимак од почетка, па састанак на крају има један транскрипт, један сажетак и један скуп говорника за цео разговор. То траје неколико минута. Белешке укуцане у било ком од два састанка се задржавају редом, а оне из друге половине се померају дуж временске линије.

Звук се тиме никада не губи. Свака секунда оба снимка налази се у састанку који остаје и измерена је пре него што се други ред уопште дотакне. Оно што се не враћа су речи. Оба сажетка и оба транскрипта се замењују, укључујући ручне исправке у било ком од њих, и ништа не враћа два реда. Нема поништавања.

Пре него што то затражиш, вреди знати још две ствари:

Chui одбија спајање у неколико случајева, и то каже пре него што одлучиш, а не после.

Неће спојити два снимка која не може поштено да састави, на пример две половине снимљене са различитим подешавањима, или једну снимљену на телефону, а другу на Mac рачунару. Тако избегава датотеку која би се пуштала као погрешан састанак.

Неће спојити ни два реда која су почела у истом тренутку и трајала исто. То је један разговор који је у Chui стигао двапут, а не две половине једног, па би спајање дало састанак у ком се све понавља двапут. У том случају обриши један од њих.

И још не може да споји ништа што је снимљено у картици прегледача. Снимак направљен у прегледачу уписује свој индекс у ходу, а не на једном месту на крају, и Chui нема начин да састави два таква снимка. Сами снимци су у реду и пуштају се нормално, само њихово спајање Chui не може да уради. Обе половине састанка које желиш да спојиш морају бити снимљене на телефону, на Mac рачунару или на рачунару са системом Windows.

На бесплатном налогу Chui одбија спајање ако важе оба услова:

Читање спојеног снимка било би тада прво читање и чекало би до краја месеца, а обе половине би одједном биле закључане. Плаћени налог нема такво ограничење. На бесплатном налогу састанци могу да се споје следећег месеца. Колико кошта налог објашњава каква ограничења има бесплатни налог.

Нигде у Chui апликацији не постоји дугме за ово. То је поправка коју приметиш док читаш оба састанка, и управо ту је место да је затражиш.

Када се испоставило да је један снимак више састанака

Обрнут случај: телефон је остао на столу или лаптоп отворен, и три разговора су завршила у једном снимку. Chui је сачувао један састанак са једним сажетком, који говори о свима њима, а самим тим ни о једном.

У верзијама build 238 и 239 снимак на телефону се сам делио на засебне састанке на свакој дугој тишини, још док је трајао; од верзије build 240 «Ново снимање» на телефону поново прави један снимак који траје до «Заустави» (Снимање састанка).

Chui то обично сам примети. Када прочита снимак од пола сата или дужи, Chui проверава да ли је то заправо више састанака. Углавном гледа ко говори: тамо где једни људи заувек утихну, а други почну, ту се један састанак завршава. Свако такво место пореди са темом разговора, твојим календаром и евентуалном паузом. Тек када се то поклопи, на екрану састанка се појављује картица „Изгледа као 3 засебна састанка“ (Looks like 3 separate meetings). На њој је сваки део са својим временом, насловом и људима у њему. Затим:

Или питај где се снимак прелама. find_split_points() одговара предлогом који сам Chui даје, истим деловима које показује картица, са именима. Наводи и дуге тишине:

Тај позив не мења ништа што се види. Ако кажеш да је то један састанак, keep_as_one_meeting() је исто што и „Ово је један састанак“, само речима.

Затим затражи сечење. prepare_split_meeting() наводи сваки део који би настао: када почиње, колико траје и шта је прво речено у њему. У том тренутку се још ништа није десило. Тек када кажеш да, split_meeting() то ради. Тај позив не прима ништа осим одговора на то питање.

Шта ради: звук се дели тачно тамо где је речено, и сваки део постаје засебан састанак. Први део задржава идентификатор овог састанка, његов датум, наслов и објављени линк. Остали су нови састанци, који почињу у тренуцима када су заиста снимљени. Ништа се не снима поново и ништа се поново не транскрибује. Chui зна у којој секунди је изговорена свака реч, па речи из првог сата једноставно остају са првим сатом, а имена на гласовима остају тачно онаква каква јесу. Твоје белешке иду са делом током ког су укуцане. Chui затим пише нови сажетак за сваки део, што траје мање од минута.

Сечење се не рачуна у десет састанака месечно на бесплатном налогу. Ништа се не шаље на поновну транскрипцију, па нема шта да се наплати. Ако је пре сечења било искоришћено девет састанака, после њега их је и даље девет.

Губиш сажетак целог снимка, као и оно што је тај сажетак уписао у податке о људима у њему. Chui те податке поново пише на основу нових сажетака. Не губи се ни звук ни иједна реч. Нема поништавања. Поновно спајање делова са merge_meetings() би успело, али тада се спојени снимак чита од нуле, што траје неколико минута.

Chui одбија сечење пре него што те било шта пита, у четири случаја:

Састанак који је Chui саставио након што је уређај за снимање престао да шаље може одмах да се подели или споји са другим састанком (од верзије build 247). Ако тај уређај касније пошаље остатак снимка, део који Chui није имао стиже као засебан састанак.

Једино дугме за ово налази се на картици коју Chui приказује када посумња да је снимак више састанака. Сечење било где друго тражи се речима.