Các kỹ thuật thiết kế Bot App (Phần 1)

Web App, Mobile App, Desktop App những nền tảng phát triển các sản phẩm ứng dụng công nghệ thông tin hay có thể gọi đơn giản là các phần mềm đã trở thành những khái niệm rất thân thuộc với mọi người bởi sự “già dặn” của chúng và như một điều tất yếu, khi mà một thứ gì đó cũ kĩ không còn đủ hấp dẫn để thỏa mãn những đòi hỏi “luôn luôn thay đổi” của con người, chính sự sáng tạo của họ tạo ra những ý tưởng, khái niệm mới để thỏa mãn chính họ. Và Bot, Bot App được ra đời, một hướng phát triển sản phẩm công nghệ mới lạ đang nhận được nhiều ánh mắt quan tâm của cộng đồng công nghệ hiện nay, mở ra một kỷ nguyên “Conversation as a Platform“.

Các cá nhân lập trình viên hay các công ty ở mọi lĩnh vực đều đang dành một sự quan tâm đặc biệt tới bot, họ quan tâm đến cách làm sao để có thể xây dựng được một con bot thông minh, sáng tạo và có đủ sức thuyết phục  để giải quyết được những bài toán của họ. Và hiển nhiên để làm được điều này thì có những kỹ thuật thiết kế bot mà họ nên hay thậm trí là cần phải sử dụng khi xây dựng, thiết kế bot của họ. Hãy cùng mình tìm hiểu những kỹ thuật thiết kế bot này trong loạt bài viết “Các kỹ thuật thiết kế Bot App“.

Khi bạn cần tìm hiểu những kỹ thuật thiết kế hay nhiều bạn còn biết tới từ khóa “best practice” để phát triển Web App, Mobile App hay Desktop App ví dụ kỹ thuật để thiết kế bố cục cho web app hay cách để điều hướng thông minh giữa các trang trong mobile app, những kỹ thuật như vậy bạn có thể dễ dàng có được  thông qua việc tìm kiếm trên mạng bởi vì đây là những nền tảng khá “già cỗi” và đã có nhiều sản phẩm thành công đủ để hình thành những kinh nghiệm để xây dựng được những “best practice” cho cộng đồng. Tuy nhiên với bot thì là một câu chuyện khác, nền tảng này còn rất trẻ và những “bot best practice” hiện nay không có nhiều và đang được hình thành theo sự phát triển của nền tảng này. Những kỹ thuật thiết kế được chia sẻ trong bài viết này không phải là tất cả mà đây là những gì mà mình học được, thu lượm được khi tìm hiểu về nền tảng này. Những chia sẻ trong bài viết này có thể không phù hợp ở thời điểm bạn đọc nên hãy luôn luôn tham khảo ở nhiều nguồn để có được những kiến thức về kỹ thuật thiết kế bot mới nhất. Nào! Hãy cùng bắt đầu tìm hiểu làm sao để xây dựng được một ứng dụng bot “tốt”?

Điều gì làm nên một ứng dụng bot tốt?

Khi bạn xây dựng bot, một điều chắc chắn rằng bạn muốn ứng dụng bot của bạn sẽ được sử dụng để giải quyết vấn đề của người dùng. Ngoài ra, một điều chắc chắn rằng bạn muốn ứng dụng bot của bạn sẽ được sử dụng để giải quyết vấn đề của họ thay vì sử dụng những giải pháp thay thế như sử dụng web app hay mobile app hay thậm chí là trực tiếp gọi điện ví dụ như trong bài toán đặt món ăn chẳng hạn. Làm sao để ứng dụng bot của bạn dành được sự chú ý của người dùng thay vì sử dụng những phương pháp khác như mobile app hay web app?

Những yếu tố KHÔNG đảm bảo rằng ứng dụng bot của bạn thành công:

  • Sự “thông minh” của bot: Nhiều người khi thiết kế ứng dụng bot thường có suy nghĩ ngay trong đầu rằng bot phải thông minh, thậm trí phải thông minh hơn những giải pháp truyền thống thì mới nhận được sự đón nhận của người sử dụng. Trong một số ứng dụng bot, lập trình viên áp dụng những công nghệ học máy (machine learning) phức tạp, khả năng xử lý ngôn ngữ tự nhiên (NLP – natural language processing) thông minh. Việc áp dụng những công nghệ hiện đại này có thể được cân nhắc khi chúng là thực sự cần thiết để giải quyết bài toán của ứng dụng bot. Tuy nhiên đừng đánh đồng việc bot của bạn “thông minh” đồng nghĩa với việc sẽ nhận được sự đón nhận của người sử dụng.
  • Có bao nhiêu ngôn ngữ tự nhiên mà bot của bạn hỗ trợ: Bot app được ra đời để việc tương tác giữa người và máy trở nên thân thiện và tự nhiên hơn thông qua việc trao đổi, hội thoại (conversation). Bot của bạn có thể có khả năng xử lý hội thoại linh hoạt, vốn từ vựng rộng lớn, hoặc thậm trí pha trò gây cười cho người sử dụng. Tuy nhiên trừ khi những khả năng này giải quyết được bài toán mà người dùng cần giải quyết, còn lại khả năng này không thực sự có sức ảnh hưởng lớn để đảm bảo được rằng ứng dụng bot của bạn thành công. Trên thực tế, có khá nhiều ứng dụng bot thành công mà không cần có khả năng xử lý hội thoại tinh tế.
  • Âm thanh: Trao đổi, hội thoại không chỉ là qua việc gõ chữ mà còn qua việc trao đổi bằng âm thanh. Nhiều lập trình viên nghĩ rằng việc hỗ trợ âm thanh sẽ giúp ứng dụng bot của mình có trải nghiệm người dùng tốt.  Nhưng thực tế không phải vậy! Việc ép người sử dụng phải sử dụng âm thanh để tương tác với bot của bạn thậm trí còn mang lại những kết quả rất tồi tệ. Khi thiết kế bot, bạn cần tìm hiểu xem liệu âm thanh có phải là cách hay để giải quyết vấn đề? Liệu bot của bạn có hoạt động ổn định với âm thanh trong môi trường có tiếng ồn? Liệu âm thanh có đủ để trao đổi thông tin một cách đầy đủ với người sử dụng? Âm thanh có thể tốt cho ứng dụng bot của bạn tuy nhiên không phải lúc nào cũng vậy!

Vậy điều gì khiến tạo nên một ứng dụng bot “tốt”?

Trải nghiệm người dùng” (UX) là câu trả lời mà bạn sẽ nhận được khi hỏi bất kỳ những lập trình viên thiết kế ứng dụng web hay mobile “lão làng” cho câu hỏi “Điều gì giúp ứng dụng web/mobile của bạn “tốt”“? Và không có gì bất ngờ rằng câu trả lời trên cũng chính là câu trả lời cho ứng dụng bot. UX là yếu tố chính mà lập trình viên cần quan tâm khi thiết kế ứng dụng bot của họ. Vậy trải nghiệm người dùng trên ứng dụng bot là như thế nào?

Một số ví dụ để trả lời cho câu hỏi trên:

  • Liệu rằng ứng dụng bot của bạn có thể dễ dàng giải quyết được bài toán của người sử dụng chỉ với ít thao tác?
  • Liệu rằng ứng dụng bot của bạn có thể giải quyết vấn đề dễ dàng hơn/nhanh hơn/hiệu quả hơn so với các giải pháp thay thế như web app, mobile app?
  • Liệu rằng ứng dụng bot của bạn có thể hoạt động được trên thiết bị/nền tảng của người sử dụng?
  • Liệu rằng ứng dụng bot của bạn có dễ sử dụng với người dùng? Liệu rằng người dùng có thể theo một cách tự nhiên sử dụng được ứng dụng bot của bạn?

Nhận thấy rằng những ví dụ trên không chỉ ra hay không liên hệ gì tới sự thông minh của ứng dụng bot, khả năng hỗ trợ nhiều ngôn ngữ tự nhiên, công nghệ học máy hay ngôn ngữ lập trình nào đang được sử dụng? Một điều đơn giản rằng “Người sử dụng không quan tâm tới những thứ đấy!“. Tuy nhiên họ sẽ quan tâm và chú ý tới việc bot của bạn phải khiến họ gõ quá nhiều, nói quá nhiều, lặp đi lặp lại thứ mà họ cần quá nhiều hay phải giải thích những vấn đề mà người dùng nghĩ rằng những vấn đề đấy bot của bạn nên tự động hiểu.

Trong trường hợp bạn không tìm được cách thiết kế phù hợp cho ứng dụng bot của bạn, một lời khuyên dành cho bạn đó chính là hãy quên đi việc bạn đang xây dựng bot và trả lời câu hỏi “Bạn giải quyết được bài toán đó bằng ứng dụng di động hoặc web như thế nào?”.

Với hàng thập kỷ đúc kết những kỹ thuật thiết kế UX, những kinh nghiệm này sẽ không bị “vứt đi” một cách lãng phí khi thiết kế ứng dụng bot. Nếu bạn là một lập trình viên với nhiều kinh nghiệm thiết kế UX trong phát triển ứng dụng web, mobile, tin vui cho bạn là những kinh nghiệm đấy sẽ rất rất có giá trị trong việc thiết kế ứng dụng bot.

Ở phần 1 này mình và các bạn đã cùng nhau tìm hiểu được một phần kỹ thuật thiết kế Bot App trong đó có 3 yếu tố không thực sự làm nên sự thành công của bot app và UX chính là yếu tố quan trọng trong việc thiết kế một ứng dụng bot. Trong phần 2 của bài viết, mình và các bạn sẽ cùng nhau tìm hiểu về các nguyên tắc chính, cơ bản khi thiết kế một ứng dụng bot.

Phạm Dũng

Anh Phạm Dũng là chuyên gia các giải pháp phát triển công nghệ Microsoft, hiện đang giữ vị trí Technical Evangelist tại Microsoft Việt Nam. Anh Dũng có 5 năm kinh nghiệm phát triển phần mềm, đặc biệt là trên các platform và sản phẩm của Microsoft. Đến với AzureVN.NET, anh Dũng hi vọng sẽ chia sẻ về các kinh nghiệm, thông tin về Microsoft Azure và hướng tiếp cận để phát triển trên nền tảng Azure.

lion-pham has 7 posts and counting.See all posts by lion-pham

Leave a Reply

Your email address will not be published. Required fields are marked *