聊天介面設計規範
簡單整理一下聊天介面(Conversational User Interface, CUI)的設計規範,以下內容可作為設計Bot對話模式和內容時的參考。在這邊分為幾個大項目說明,分別是輸入驗證、轉換任務、回頭追蹤、定時離開、等待緊急輸入、以及從清單中選擇。
- bot開頭先簡單地打招呼和自我介紹,告訴user可以詢問它什麼內容。
- bot告訴user完成了哪些任務,並引導user下一步。
- 當互動成功時,bot可逐步減少提示。
- 根據user與bot的活動歷程,提供進一步的資訊或操作。
- 確保bot提供的是與任務相關的建議,否則就會變成垃圾訊息。
- 多選選單、文件瀏覽、地圖搜尋..還是用指標式的圖案和按鍵較為恰當。
輸入驗證
在GUI中,你有許多方法可以限制使用者的回答方式,但MUI需接收來自user各種不同的回答內容,所以如何架構對話中的問題及消化回答內容就變得特別重要:
- 問出bot需要的東西,若user一次就回答清楚,就不用再多問。
- bot給user回答提示。一次問一個問題,保持問題與回應夠精準。
User: What size t-shirt are you? We have medium, large, and extra-large
- 當回應是有效時,重複user的答案,對話內連接下一題。
Bot: Got it. Size large. And what color would you like?
- 當回應是無效時,向user解釋bot期待的回答(項目列舉),可以的話,解釋一下bot無法解讀的部分。
Bot: And what color would you like?
User: purple
Bot: I’m sorry, we don’t have purple. We have white, gray, brown, red, orange, pink, and black. What color would you like?
User: brbrbl
Bot: I’m sorry, “brbrbl”? Is that a color? We have white, gray, brown, red, pink and black. What color would you like?
User: gray
Bot: Cool! So a large gray t-shirt!
- user有好幾種回應方式,可能都指向同一種選擇,設計時都要考慮在內。
_________________________________________________________________
轉換任務
不同於傳統的GUI介面,可以在各個平台或網頁之間切換頁面來轉換任務,MUI提供一個直通通的程序,bot一次只能處理一件事。以下是MUI在任務轉換時的設計準則:
- 當bot正在執行多個不同任務時,要先跟user明確的確認目前執行中的任務是否暫停。這個任務可能已經花很多時間在做了但被轉換到下一個任務,要先與user確定是不是要取消,以免功虧一簣。
User: Meekan, schedule a team meeting tomorrow
User: Meekan, how busy am I on Thursday?
Bot: We have an active meeting in progress. Say “cancel” if you want to abort the current meeting.
- 如果目前已經處理中的任務沒很重要,那麼bot要迅速的轉換去處理下一個user給的任務,並告訴user這個轉換中發生的事,取消了什麼任務,並執行了什麼任務。
Bot: Chris invited you to the project launch meeting on Friday 10am. Would you like to Accept or Decline?
User: Arrange a new meeting tomorrow with @jesse
Bot: Okay, Skipping the RSVP for now.
Bot: Matching your calendars for a meeting tomorrow (…)
_________________________________________________________________
回頭追蹤
- user常常會忘記他上次問過什麼,如果突然又問起會讓user感到困惑。回朔問題要適當地插入對話。
Bot: What size t-shirt are you? We have medium, large, and extra-large
User: large
Bot: Got it. Size large. And what color would you like?
User: actually make it extra large
Bot: Okay, extra-large. And what color would you like?
_________________________________________________________________
定時離開
- 你離開bot對話出去吃個中餐,或聊天清單被其他對話擠爆,跟bot的對話早就不知忘到哪去了。過期的對話過了一整天沒回應就中止吧。
_________________________________________________________________
等待緊急輸入
在GUI環境可以有個跳出視窗,直到回應跳出框的選項才可進行其他操作,但MUI無法強迫使用者優先操作某項目,我們複製此行為到MUI環境:
- 告訴user需要回應什麼及為什麼他需要回應,然後bot要準備幾種在這種狀況下的回應方式,不要每次拒絕都用同個句子,這只會讓狀況更糟。這裡可探討這個接觸點是user有負面情緒,要小心處理,可說明為何我會對statbot一直用同樣句子拒絕導致我很惱怒,別讓user覺得自己很笨。
Bot: To do my job, I need access to your schedule. Follow this link to connect your calendar.
User: Schedule a new meeting tomorrow
Bot: Seriously, you need to connect your calendar here to enjoy my scheduling superpowers.
User: Am I busy tomorrow?
Bot: I can’t wait to start working on your schedule! Please connect your calendar so I can do my magic.
- 如果不是真的特別重要的資訊,就不要進入此類狀況。也不要全盤否認使用者的回應,試著猜測user的答案或至少允許部分有限制的功能給user。這些都要確認bot是真的需要這項資訊,以免做無謂的干擾。
_________________________________________________________________
從清單中選擇
- 這裏沒有下拉選單、單選框、複選框..,所以要給每個選項特別的名字或編號讓user選擇。這裡還有一種方式是將對話框結合部分GUI來做,將選單或選框嵌入對話。簡單的點按在某些時候還是比輸入文字有效率的多。
User: Meekan, cancel that meeting I have tomorrow
Bot: You have 3 meetings tomorrow, which one would you like me to cancel?
(1) Project launch at 10 am
(2) Team stand-up at 11 am
(3) 1-on-1 with Jake at 2:30 pm
User: Cancel 3
Bot: Okay, I’m canceling “1-on-1 with Jake” tomorrow. I’ll notify Jake about this.
~我是思儀(Evonne),UI/UX Designer。持續有新點子,歡迎Follow我喔~
參考來源: