Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. iOS SDK

Conversation Desain User Experiences untuk SiriKit dan iOS

by
Difficulty:IntermediateLength:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Muhammad Gufron (you can also view the original English article)

Final product image
What You'll Be Creating

Pengenalan

Banyak artikel, termasuk situs kami, telah difokuskan untuk membantu pembaca membuat aplikasi iOS yang menakjubkan dengan merancang user experience mobile yang luar biasa (UX).

Namun, dengan munculnya Apple Watch beberapa tahun lalu, bersama CarKit, dan baru-baru ini HomePod tahun ini, kami mulai melihat lebih banyak aplikasi dan peralatan IoT yang menggunakan perintah suara, bukan antarmuka visual. Prevalensi perangkat IoT seperti HomePod dan asisten suara lainnya, serta ledakan di asisten suara memungkinkan aplikasi pihak ketiga, telah melahirkan kategori baru metodologi desain pengalaman pengguna, yang berfokus pada Voice User Experiences (VUX ), atau Conversational Design UX.

Hal ini menyebabkan Apple berfokus pada pengembangan SiriKit beberapa tahun yang lalu dan memberikan pengembang pihak ketiga kemampuan untuk memperluas aplikasi mereka untuk memungkinkan pengguna berkomunikasi dengan aplikasi mereka secara lebih alami. Karena SiriKit membuka lebih banyak untuk pengembang pihak ketiga, kami mulai melihat lebih banyak aplikasi yang menjadi bagian dari SiriKit, seperti aplikasi pesan terkemuka WhatsApp dan Skype, serta aplikasi pembayaran seperti Venmo dan Apple Pay.

Sasaran SiriKit adalah mengaburkan batas antara aplikasi melalui pengalaman pengguna percakapan yang konsisten yang memungkinkan aplikasi tetap intuitif, fungsional, dan menarik melalui maksud dan domain yang telah ditentukan sebelumnya. Tutorial ini akan membantu Anda menerapkan praktik terbaik untuk membuat pengalaman pengguna desain percakapan intuitif tanpa isyarat visual.

Tujuan dari Tutorial ini

Tutorial ini akan mengajarkan mu untuk merancang audibly engaging SiriKit-enabled aplikasi melalui penerapan terbaik dalam VUX. Kamu akan belajar tentang:

  • merancang untuk interaksi suara
  • menerapkan conversational design UX best practices
  • pengujian SiriKit-enabled apps

Diasumsikan pengetahuan

Saya akan berasumsi Anda telah bekerja dengan SiriKit sebelumnya, dan memiliki pengalaman coding dengan Swift dan Xcode.

Merancang untuk Voice Interactions

Membuat aplikasi yang menarik membutuhkan desain yang dipikirkan matang untuk pengalaman pengguna— UX design untuk jangka pendek. Satu prinsip dasar yang umum untuk semua platform seluler adalah desain didasarkan pada antarmuka pengguna visual. Namun, saat merancang platform di mana pengguna terlibat melalui suara, Kamu tidak memiliki keuntungan dari isyarat visual untuk membantu memandu pengguna. Ini membawa tantangan desain yang benar-benar baru.

Tidak adanya antarmuka pengguna grafis yang memaksa pengguna untuk memahami bagaimana untuk berkomunikasi dengan perangkat mereka dengan suara, menentukan apa mereka mampu mengatakan ketika menavigasi antara berbagai negara untuk mencapai tujuan mereka. Interaction Design Foundation menjelaskan situasi di pengalaman conservational pengguna:

"Di antarmuka pengguna suara, kamu tidak dapat membuat visual affordances. Pengguna akan memiliki ada indikasi yang jelas dari antarmuka apa yang dapat Anda lakukan atau apa pilihan mereka."

Sebagai seorang desainer, Anda perlu memahami bagaimana orang berkomunikasi dengan teknologi secara alami—dasar-dasar interaksi suara. Menurut studi terbaru oleh Stanford, pengguna umumnya memahami dan berinteraksi dengan antarmuka suara dalam banyak cara yang sama mereka berkomunikasi dengan orang lain, terlepas dari fakta bahwa mereka menyadari mereka berbicara ke perangkat.

Kesulitan dalam mampu mengantisipasi berbagai cara di mana orang-orang berbicara telah menyebabkan kemajuan dalam pembelajaran mesin selama beberapa tahun, dengan natural language processing  (NLP) untuk memahami manusia dengan cara yang lebih alami, dengan pemrosesan bahasa alami mengenali maksud dan asosiatif domain perintah. Satu platform yang menonjol adalah Apple Siri, dan dengan kerangka kerja untuk pengembang pihak ketiga, SiriKit.

Ikhtisar SiriKit

Sementara kebanyakan akan mengerti Siri sebagai terutama berfokus pada bantuan visual bebas-suara, integrasi ke dalam Apple ekosistem memungkinkan pengguna untuk memicu interaksi suara melalui sistem operasi mereka, baik itu iOS, watchOS, CarPlay, atau HomePod.

Tiga platform pertama menyediakan panduan visual terbatas selain umpan balik yang terdengar, sedangkan HomePod hanya menyediakan umpan balik yang audiable. Menggunakan iOS atau CarPlay whilst driving, platform yang akan memberikan less feed back visual dan lebih banyak feed back yang audio, sehingga jumlah informasi pengguna yang diterima dinamis. Sebagai seorang desainer app, Kamu akan perlu untuk memenuhi kedua jenis interaksi.

Providing commands with Siri

Ini berarti bahwa SiriKit mengatur berapa banyak menawarkan visual atau secara lisan berdasarkan keadaan perangkat dan pengguna, dan selama Kamu sesuai dengan praktek-praktek terbaik, SiriKit anggun akan menangani semua ini untukmu.

Intents dan Penanganan Domain

Framework menangani permintaan pengguna melalui dua proses utama: intents dan penanganan domain.

Intents dikelola melalui framework Intents suara-penanganan, Intents App Extension, yang mengambil permintaan pengguna dan mengubahnya menjadi app-specific actions, seperti booking mobil atau mengirim uang kepada seseorang.

Siri Interaction Workflow

Intens UI App extension, di sisi lain, memungkinkan kamu untuk memberikan konfirmasi konten visual minimal sekali pengguna telah membuat permintaan dan aplikasi Anda ingin mengkonfirmasi sebelum menyelesaikan permintaan.

Calling a ride-share app with Siri

SiriKit mengklasifikasikan maksud (permintaan pengguna) ke dalam tipe tertentu, disebut domain. Pada iOS 11, pengembang pihak ketiga mampu leverage domain dan interaksi berikut:

List of SiriKit domains and interactions

Pada awalnya mungkin tampak bahwa pilihan yang cukup terbatas, tetapi Apple pembenaran adalah bahwa ini membantu mengelola pengguna kepercayaan dan harapan dengan hati-hati sambil secara bertahap memungkinkan pengguna untuk belajar dan membangun pengetahuan mereka tentang bagaimana berinteraksi dengan Siri. Hal ini juga memungkinkan Apple dan masyarakat untuk skala dari waktu ke waktu sementara mengaburkan batas-batas antara aplikasi yang duduk di belakang antarmuka bantuan suara.

Pengembang iOS yang memanfaatkan SiriKit juga mendapat manfaat dari pengetahuan kontekstual yang disediakan platform. Ini termasuk pengelompokan kalimat berdasarkan konteks percakapan, sesuai dengan intents dan domain yang diberikan machine learninng. Artinya, Siri akan mencoba mencari tahu apakah perintah Anda berikutnya adalah bagian dari konteks percakapan yang sama atau yang baru. Jika Anda mengatakan 'Silakan memesan Uber ride', Siri akan tahu bahwa Anda bermaksud memesan tumpangan car-share, di domain carshare. Namun, aplikasi akan membutuhkan lebih banyak informasi, seperti jenis kendaraan apa. Jika perintah Anda berikutnya adalah 'Uber Pool', itu akan tahu bahwa perintah kedua adalah dalam konteks yang sama.

Memanfaatkan SiriKit memungkinkan Anda untuk mendapatkan keuntungan dari platform Apple merancang banyak angkat berat, memungkinkan Anda untuk fokus pada apa yang penting, yang sedang mengembangkan nilai. Karena itu, Anda tetap harus menjadi 'Siri citizen' yang baik. Selanjutnya, Anda akan mempelajari berbagai praktik terbaik yang dapat Anda ikuti untuk menciptakan pengalaman pengguna yang kondusif dengan komunikasi non-visual dan interaksi suara.

Untuk informasi lebih lanjut tentang pengembangan dengan SiriKit, periksa Buat SiriKit Extensions di iOS 10.

Menerapkan Conversational Design UX Best Practice

Mari kita lihat beberapa praktik terbaik yang dapat Anda segera terapkan pada ekstensi SiriKit Anda untuk memastikan aplikasi Anda menyediakan antarmuka suara percakapan yang menyenangkan, logis, dan intuitif bagi pengguna Anda.

Menginformasikan Pengguna pada Pilihan Mereka

Prinsip panduan pertama secara ringkas adalah memberi tahu pengguna tentang opsi apa yang mereka miliki selama keadaan interaksi tertentu.

Sedangkan grafis user experiences dengan mudah dapat memberikan konteks visual kembali ke pengguna mereka, seperti melalui kotak modal dialog, misalnya, mewah yang sama tidak ada dengan aplikasi suara-diaktifkan. Pengguna memiliki beragam harapan tentang apa yang dapat ditangani oleh pemrosesan bahasa alami. Beberapa akan sangat konservatif dan mungkin tidak menyadari kekuatan Siri, dan yang lain mungkin mulai dengan menanyakan sesuatu yang rumit yang tidak masuk akal bagi Siri.

Anda perlu merancang pengalaman pengguna Anda sehingga dapat memberikan informasi kepada pengguna tentang apa yang dapat mereka lakukan pada titik tertentu, dalam bentuk opsi.

Siris global options

Opsi apa yang dihasilkan aplikasi Anda harus relevan secara kontekstual. Pada tangkapan layar berikut, orang yang dihubungi memiliki beberapa nomor telepon, dan jika pengguna tidak secara eksplisit menyatakan yang mana yang akan digunakan, pengguna harus diminta.

Contact Resolution with SiriKit

SiriKit menggunakan resolusi kontak, yang dapat Anda akses melalui SDK, untuk memandu aplikasi untuk menentukan nomor telepon kontak (atau bahkan nama kontak jika lebih dari satu entri kontak memiliki nama yang sama) yang dimaksudkan oleh pengguna akhir. Menurut dokumentasi Apple:

Selama resolusi, SiriKit meminta Anda untuk memverifikasi setiap parameter secara individual dengan memanggil metode resolusi objek handler Anda. Dalam setiap metode, Anda memvalidasi data diberikan dan membuat objek hasil resolusi menunjukkan keberhasilan atau kegagalan Anda dalam menyelesaikan parameter. SiriKit menggunakan resolusi hasil objek untuk menentukan bagaimana untuk melanjutkan. Misalnya, jika hasil resolusi Anda meminta pengguna untuk tidak ambigu antara dua atau lebih pilihan, SiriKit meminta pengguna untuk memilih salah satu dari orang-orang pilihan.

Untuk informasi lebih lanjut tentang menyelesaikan maksud pengguna, lihat dokumentasi Apple pada Resolving dan menangani maksud.

Menjadi Cepat & Akurat

Ini penting dalam app's conversiational user experience anda, anda menanggapi perintah segera, seperti pengguna mengharapkan respon yang cepat. Apakah ini berarti bahwa anda harus desain alur kerja interaksi anda untuk memberikan serangkaian tindakan untuk mencapai penyelesaian fungsi tanpa petunjuk yang tidak perlu atau layar yang tercepat.

Apel mendorong anda untuk mengambil pengguna langsung ke konten tanpa perantara layar atau pesan. Jika pengguna perlu dikonfirmasi, mengambil pengguna ke layar otentikasi langsung, dan kemudian pastikan untuk menjaga konteks sehingga user dapat melanjutkan dengan cara yang logis untuk menyelesaikan tindakannya. Panduan Antarmuka Manusia Apple menyarankan anda akan perlu:

Merespon dengan cepat dan meminimalkan interaksi. Orang menggunakan Siri untuk kenyamanan dan mengharapkan respon yang cepat. Menyajikan pilihan yang efisien, fokus yang mengurangi kemungkinan mendorong tambahan.

Membatasi jumlah informasi

Amazon Echo desain guidelines merekomendasikan bahwa anda tidak daftar lebih dari tiga pilihan yang berbeda dalam interaksi yang satu, tapi agak menyediakan pengguna dengan pilihan yang paling populer pertama. Kemudian, jika anda perlu menyediakan lebih dari tiga pilihan, memberikan pilihan pada akhir untuk pergi melalui sisa dari mereka.

Siri Options in response

Memprioritaskan dan memesan pilihan yang pengguna akan paling mungkin menggunakan, dan memungkinkan pengguna untuk secara eksplisit memanggil beberapa pilihan yang kurang populer tanpa membaca mereka. Anda dapat secara dinamis menyesuaikan pilihan terkemuka yang berdasarkan sejarah preferensi pengguna anda juga.

Yang terpenting, jangan menunjukkan prasangka atau penipuan! Artinya, jangan memberikan informasi yang salah atau mempertimbangkan permintaan untuk memprioritaskan opsi termahal misalnya, mencantumkan opsi naik mobil bersama yang paling mahal dengan opsi car-pooling yang lebih murah bertahan lama. Ini adalah cara pasti bagi pelanggan Anda untuk kehilangan kepercayaan dan kepercayaan pada aplikasi Anda.

Menyediakan Conversational Breadcrumbs

Sulit bagi pengguna untuk mencari tahu di mana mereka tanpa isyarat visual, dan bahkan jika SiriKit dapat melacak konteks saat ini, pengguna cenderung berinteraksi dengan SiriKit sambil melakukan sesuatu yang lain, seperti mengemudi atau joging.

Oleh karena itu, anda selalu perlu memberikan tanggapan yang informatif terhadap sebuah perintah, tidak hanya mengonfirmasikannya tetapi juga mengingatkan pengguna tentang konteksnya. Misalnya, ketika pengguna meminta untuk memesan naik mobil-berbagi, Anda dapat memberikan konteks di sekitar respons Anda dengan mengatakan sesuatu seperti: 'Anda telah memesan perjalanan untuk hari ini pukul 5 sore, menggunakan AcmeCar' alih-alih hanya menanggapi dengan 'pemesanan dikonfirmasi ”.

Dengan kata lain, berikan informasi kontekstual yang cukup dalam tanggapan anda agar pengguna memahami apa yang telah dikonfirmasi, tanpa harus meliriknya atau ponselnya sebagai konfirmasi niat pengguna.

Memberikan Sebuah Pengalaman yang Tidak Memerlukan Menyentuh atau Melirik

Karena ekosistem Apple perangkat berkemampuan Siri diperluas melampaui iOS dan watchOS ke perangkat yang tidak memiliki antarmuka visual, penting bahwa tanggapan dan interaksi anda tidak mengharuskan pengguna untuk melirik kembali ke layar atau bahkan menyentuh perangkat mereka untuk mengonfirmasi sesuatu. Tanggapan verbal harus kontekstual dan cukup ringkas (termasuk menyediakan subset opsi yang terbatas), memberi pengguna jumlah informasi yang tepat bagi mereka untuk terus membabi buta berinteraksi dengan perangkat mereka.

Kekuatan Siri berasal dari pengguna yang dapat memiliki iPhone mereka di saku mereka dan menggunakan headphone untuk berinteraksi dengan asisten suara mereka, untuk meneriakkan pengingat baru ke HomePods mereka dari seberang ruangan, atau untuk mendengarkan pesan sambil mengendarai CarKit-enabled mereka kendaraan. Berinteraksi dengan aplikasi SiriKit-enabled mereka seharusnya hanya membutuhkan fokus dan perhatian sekunder, bukan sentuhan primer atau konfirmasi visual.

Namun, pengecualiannya adalah ketika suatu intent membutuhkan lapisan keamanan dan otentikasi ekstra sebelum memenuhi permintaan tersebut.

Membutuhkan Otentikasi untuk Maksud-Maksud Tertentu

Penting bahwa anda mengidentifikasi maksud yang memang memerlukan otentikasi dan otorisasi tertentu sebelum digunakan. Jika pengguna bertanya 'What is the weather', anda tidak perlu autentikasi. Namun, jika pengguna meminta “Pay Jane $20 dengan Venmo”, anda jelas harus meminta pengguna untuk melakukan otentikasi terlebih dahulu.

SiriKit mengelola pembatasan maksud di mana pengguna perlu mengotentikasi melalui FaceID, TouchID atau kode sandi saat perangkat terkunci, dengan mengharuskan anda menentukan dalam info.plist aplikasi Anda secara eksplisit yang maksudnya dibatasi saat terkunci:

Antisipasi dan Tangani Kesalahan

Serta menggunakan perintah suara untuk menangani disambiguasi, seperti yang dibahas sebelumnya, anda juga harus memastikan bahwa anda mengantisipasi dan menangani sebanyak skenario kesalahan yang anda bisa.

Misalnya, ketika seorang pengguna mencoba mengirim uang ke peserta lain dan peserta itu tidak memiliki alamat email yang diperlukan atau memiliki banyak nomor, anda perlu mengatasinya. SiriKit menyediakan kelas INIntentResolutionResult yang memungkinkan anda menetapkan resolusi untuk tipe data yang sesuai yang anda coba atasi:

Apple menyarankan anda untuk mencoba dan mengekstrapolasi informasi historis dari perilaku pengguna jika memungkinkan, untuk mengurangi jumlah langkah interaksi dalam alur kerja. Lihatlah dokumentasi INIntentError, yang menyediakan serangkaian kemungkinan kesalahan yang dapat Anda tangani, seperti interactionOperationNotSupported atau requestTimedOut.

Tambahkan Kosakata Khusus

SiriKit mendukung penambahan kosa kata khusus melalui penggunaan file plist AppIntentVocabulary.plist untuk membantu meningkatkan pengalaman pengguna percakapan aplikasi anda. Anda dapat menggunakan ini untuk pengguna onboarding serta untuk menyertakan istilah spesifik yang dapat dikenali oleh aplikasi anda.

Memberikan pengguna anda dengan contoh perintah membantu dengan orientasi dengan membimbing pengguna anda ke kemampuan aplikasi anda. Jika anda bertanya pada Siri 'Apa yang bisa Anda lakukan?' ini akan mendorong anda tidak hanya dengan fungsi yang dapat dibangun yang mungkin, tetapi juga dengan aplikasi pihak ketiga. To promote your app’s functionalities to your users globally, include intent examples in your AppIntentVocabulary.plist file:

Anda juga dapat membantu Siri memahami dan mengenali istilah-istilah yang khusus hanya untuk aplikasi anda dengan menyediakannya dengan serangkaian kata kosakata. Ini adalah kata-kata yang berlaku untuk setiap pengguna aplikasi anda (seperti jika anda memiliki istilah khusus untuk perpesanan yang digunakan aplikasi anda), tetapi jika anda perlu menyediakan istilah khusus pengguna, manfaatkanlah Invocabulary. Dalam plist, Anda menambahkan kunci ParameterVocabularies untuk istilah global kustom anda dan mengaitkan setiap istilah dengan objek properti maksud terkait tertentu (anda mungkin memiliki beberapa maksud untuk setiap istilah).

Lihat dokumentasi Apple tentang Mendaftarkan Kosakata Khusus dengan SiriKit untuk mempelajari cara membuat istilah khusus pengguna.

Menguji Aplikasi SiriKit-Enabled Anda

Akhirnya, pada Xcode 9, anda dapat dengan mudah menguji Siri menggunakan Simulator anda dengan memicu Siri melalui XCUIDevice subclass baru XCUISiriService. Manfaatkan ini untuk menguji semua fase niat anda, kosakata khusus, dan bahkan sinonim aplikasi, dan untuk memastikan pengalaman pengguna yang dirancang anda berfungsi sebagaimana yang dimaksudkan.

Untuk keperluan tutorial ini, clone repo proyek tutorial, buka proyek di Xcode, dan jalankan untuk memastikannya bekerja di environment anda. Dengan simulator berjalan, aktifkan Siri dengan membuka Settings. Panggil Siri di Simulator anda seperti yang anda lakukan pada perangkat fisik anda dan katakan sesuatu seperti 'Kirim pesan ke Jane'.

Selanjutnya, di Xcode, buka file yang berjudul MessagingIntentsUITests.swift dan anda akan melihat metode uji tunggal

Testing SiriKit with Xcode and Simulator

Anda dapat menambahkan sebanyak mungkin maksud yang ingin anda uji. Akhirnya, lanjutkan dan jalankan test case ini dan anda akan mengamati Simulator memicu Siri dan mengucapkan perintah yang dimaksud. Ingat, ini bukan pengganti pengujian manusia nyata dan berurusan dengan aksen yang berbeda dan kebisingan latar belakang, tapi tetap berguna sebagai bagian dari alur kerja otomatis anda.

Kesimpulan

Merancang user experiences untuk interaksi suara adalah dunia baru dari desain UX visual. Praktik dan teknik terbaik masih ditemukan oleh para desainer dan pengembang yang merintis bidang baru ini.

Pos ini telah memberi anda ikhtisar tentang praktik terbaik saat ini untuk desain percakapan UX di iOS dengan SiriKit. Anda melihat beberapa prinsip utama dalam mendesain antarmuka suara, serta beberapa cara yang dapat Anda gunakan dengan SiriKit sebagai dev. Saya harap ini telah menginspirasi anda untuk bereksperimen dengan antarmuka suara di aplikasi anda berikutnya!

Saat anda berada di sini, lihat beberapa posting kami yang lain tentang pengembangan aplikasi iOS terdepan.

Atau periksa beberapa kursus video komprehensif kami tentang pengembangan aplikasi iOS:

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.