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

Benutzererfahrungen im Conversation Design für SiriKit und iOS

by
Difficulty:IntermediateLength:LongLanguages:

German (Deutsch) translation by Federicco Ancie (you can also view the original English article)

Final product image
What You'll Be Creating

Einführung

Viele Artikel, einschließlich unserer Website, haben sich darauf konzentriert, Lesern beim Erstellen erstaunlicher iOS-Apps zu helfen, indem sie eine großartige mobile Benutzererfahrung (UX) entwickelt haben.

Mit dem Aufkommen der Apple Watch vor einigen Jahren, neben CarKit und in jüngerer Zeit dem HomePod in diesem Jahr, sehen wir jedoch immer mehr Apps und IoT-Appliances, die Sprachbefehle anstelle von visuellen Schnittstellen verwenden. Die Verbreitung von IoT-Geräten wie dem HomePod und anderen Sprachassistenten sowie die Explosion von Sprachassistenten-fähigen Apps von Drittanbietern haben zu einer völlig neuen Kategorie von User Experience Design-Methoden geführt, die sich auf Voice User Experiences (VUX) konzentrieren ) oder Conversational Design UX.

Dies hat dazu geführt, dass Apple sich vor einigen Jahren auf die Entwicklung von SiriKit konzentriert und Entwicklern von Drittanbietern die Möglichkeit bietet, ihre Apps zu erweitern, damit Benutzer sich natürlicher mit ihren Apps unterhalten können. Da SiriKit immer mehr für Entwickler von Drittanbietern geöffnet wird, werden immer mehr Apps Teil von SiriKit, wie beispielsweise die bekannten Messaging-Apps WhatsApp und Skype sowie Zahlungs-Apps wie Venmo und Apple Pay.

SiriKits Ziel ist es, die Grenzen zwischen Apps durch eine konsistente Benutzererfahrung im Gespräch zu verwischen, die es Apps ermöglicht, durch vordefinierte Absichten und Domänen intuitiv, funktional und ansprechend zu bleiben. Dieses Tutorial hilft Ihnen dabei, Best Practices anzuwenden, um intuitive Benutzererfahrungen für das Konversationsdesign ohne visuelle Hinweise zu erstellen.

Ziele dieses Tutorials

In diesem Tutorial lernen Sie, wie Sie mithilfe von Best Practices in VUX hörbar ansprechende SiriKit-fähige Apps entwerfen. Sie werden lernen über:

  • Entwerfen für Sprachinteraktionen
  • Anwenden von UX-Best Practices für Konversationsdesign
  • Testen von SiriKit-fähigen Apps

Vorausgesetztes Wissen

Ich gehe davon aus, dass Sie zuvor mit SiriKit gearbeitet haben und Erfahrung im Codieren mit Swift und Xcode haben.

Entwerfen für Sprachinteraktionen

Das Erstellen ansprechender Apps erfordert ein durchdachtes Design für die Benutzererfahrung - kurz UX-Design. Ein gemeinsames Grundprinzip aller mobilen Plattformen ist, dass das Design auf einer visuellen Benutzeroberfläche basiert. Beim Entwerfen für Plattformen, auf denen Benutzer über Sprache interagieren, haben Sie jedoch nicht den Vorteil visueller Hinweise, um Benutzer anzuleiten. Dies bringt eine völlig neue Reihe von Designherausforderungen mit sich.

Das Fehlen einer grafischen Benutzeroberfläche zwingt Benutzer dazu, zu verstehen, wie sie mit ihren Geräten per Sprache kommunizieren können, und zu bestimmen, was sie sagen können, wenn sie zwischen verschiedenen Zuständen navigieren, um ihre Ziele zu erreichen. Die Interaction Design Foundation beschreibt die Situation in der konservativen Benutzererfahrung:

„In Sprachbenutzeroberflächen können Sie keine visuellen Vorteile erzielen. Die Benutzer haben keine klaren Hinweise darauf, was die Benutzeroberfläche kann oder welche Optionen sie haben.“

Als Designer müssen Sie verstehen, wie Menschen auf natürliche Weise mit Technologien kommunizieren - die Grundlagen der Sprachinteraktion. Jüngsten Studien von Stanford zufolge nehmen Benutzer Sprachschnittstellen im Allgemeinen so wahr und interagieren mit ihnen, wie sie sich mit anderen Personen unterhalten, unabhängig davon, dass sie wissen, dass sie mit einem Gerät sprechen.

Die Schwierigkeit, die unterschiedlichen Sprechweisen der Menschen vorhersehen zu können, hat in den letzten Jahren zu Fortschritten beim maschinellen Lernen geführt. Die Verarbeitung natürlicher Sprache (NLP) ermöglicht es Plattformen, Menschen auf natürlichere Weise zu verstehen, indem Absichten und Assoziationen erkannt werden Domänen von Befehlen. Eine herausragende Plattform ist Siri von Apple und das Framework für Drittentwickler, SiriKit.

Übersicht über SiriKit

Während die meisten verstehen würden, dass Siri sich hauptsächlich auf nicht-visuelle Sprachunterstützung konzentriert, ermöglicht die Integration in das Apple-Ökosystem Benutzern, Sprachinteraktionen über ihr Betriebssystem auszulösen, sei es iOS, watchOS, CarPlay oder den HomePod.

Die ersten drei Plattformen bieten neben akustischem Feedback nur eine eingeschränkte visuelle Anleitung, während der HomePod nur akustisches Feedback bietet. Wenn Sie während der Fahrt iOS oder CarPlay verwenden, bietet die Plattform noch weniger visuelles Feedback und mehr Audio-Feedback, sodass die Menge an Informationen, die ein Benutzer erhält, dynamisch ist. Als App-Designer müssen Sie beide Arten von Interaktionen berücksichtigen.

Providing commands with Siri

Dies bedeutet, dass SiriKit anhand des Status des Geräts und des Benutzers kalibriert, wie viel es visuell oder verbal bietet. Solange Sie die Best Practices einhalten, wird SiriKit all dies ordnungsgemäß für Sie erledigen.

Absichten und Domain-Handling

Das Framework verarbeitet Benutzeranforderungen über zwei Hauptprozesse: Absichten und Domänenbehandlung.

Absichten werden über das Intents-Framework für die Sprachverarbeitung, die Intents App Extension, verwaltet, das Benutzeranfragen entgegennimmt und sie in app-spezifische Aktionen umwandelt, z.B. das Buchen einer Carsharing-Fahrt oder das Senden von Geld an jemanden.

Siri Interaction Workflow

Die Intents UI-App-Erweiterung hingegen ermöglicht es Ihnen, eine minimale Bestätigung des visuellen Inhalts zu liefern, sobald ein Benutzer eine Anfrage gestellt hat und Ihre App dies vor Abschluss der Anfrage bestätigen möchte.

Calling a ride-share app with Siri

SiriKit klassifiziert Absichten (Benutzeranforderungen) in bestimmte Typen, sogenannte Domänen. Ab iOS 11 können Entwickler von Drittanbietern die folgenden Domänen und Interaktionen nutzen:

List of SiriKit domains and interactions

Es scheint zuerst, als ob die Auswahl sehr begrenzt ist, aber Apple begründet das damit, dass dies dazu beiträgt, das Vertrauen und die Erwartungen der Benutzer sorgfältig zu verwalten und den Benutzern schrittweise zu ermöglichen, ihr Wissen über die Interaktion mit Siri zu erlernen. Auf diese Weise können Apple und Apple-Community skalieren und gleichzeitig die Grenzen zwischen Apps verwischen, die sich hinter der Sprachunterstützungsoberfläche befinden.

iOS-Entwickler, die SiriKit nutzen, profitieren auch von dem Kontextwissen, das die Plattform bietet. Dies umfasst das Gruppieren von Sätzen nach Konversationskontext nach den Absichten und Bereichen, die maschinelles Lernen bietet. Das heißt, Siri wird versuchen herauszufinden, ob Ihr nächster Befehl Teil desselben oder eines neuen Konversationskontexts ist. Wenn Sie "Bitte buchen Sie eine Uber-Fahrt" sagen, würde Siri wissen, dass Sie beabsichtigen, eine Carsharing-Fahrt im Carshare-Bereich zu buchen. Die App würde jedoch weitere Informationen benötigen, z.B. welche Art von Fahrt. Wenn Ihr nächster Befehl "Uber Pool" wäre, würde er wissen, dass sich der zweite Befehl im selben Kontext befindet.

Durch die Nutzung von SiriKit können Sie von der Apple-Plattform profitieren, die einen Großteil des schweren Hebens koordiniert, sodass Sie sich auf das konzentrieren können, was wichtig ist, nämlich die Wertentwicklung. Trotzdem müssen Sie immer noch ein guter „Siri-Bürger“ sein. Dann lernen Sie verschiedene Best Practices kennen, die Sie befolgen können, um eine förderliche Benutzererfahrung mit nicht visueller Kommunikation und Sprachinteraktion zu erzielen.

Weitere Informationen zum Entwickeln mit SiriKit finden Sie unter Erstellen von SiriKit-Erweiterungen in iOS 10.

Die Anwendunf von dem besten Methoden für Conversational Design UX

Schauen wir uns einige Best Practices an, die Sie sofort auf Ihre SiriKit-Erweiterung anwenden können, um sicherzustellen, dass Ihre App Ihren Benutzern eine angenehme, logische und intuitive Sprachschnittstelle bietet.

Informieren Sie die Benutzer über ihre Optionen

Das erste Leitprinzip besteht darin, Ihre Benutzer kurz und bündig darüber zu informieren, welche Optionen sie während eines bestimmten Interaktionszustands haben.

Während grafische Benutzererlebnisse ihren Benutzern mühelos einen visuellen Kontext bieten können, beispielsweise durch modale Dialogfelder, gibt es diesen Luxus bei sprachgesteuerten Apps nicht. Die Benutzer haben unterschiedliche Erwartungen an die Verarbeitung natürlicher Sprache. Einige werden sehr konservativ sein und die Macht von Siri nicht erkennen, andere könnten damit beginnen, etwas Komplexes zu fragen, das für Siri keinen Sinn ergibt.

Sie müssen Ihre Benutzererfahrung so gestalten, dass Benutzer Informationen darüber erhalten, was sie zu einem bestimmten Zeitpunkt in Form von Optionen tun können.

Siris global options

Welche Optionen Ihre App zurückgibt, sollte kontextbezogen sein. Im folgenden Screenshot verfügt die Kontaktperson über mehrere Telefonnummern. Wenn der Benutzer nicht ausdrücklich angegeben hat, welche verwendet werden soll, sollte er dazu aufgefordert werden.

Contact Resolution with SiriKit

SiriKit verwendet die Kontaktauflösung, auf die Sie über das SDK zugreifen können, um die App zu steuern, um festzustellen, welche Kontakttelefonnummer (oder sogar welcher Kontaktname, wenn mehr als ein Kontakteintrag denselben Namen hat) der Endbenutzer beabsichtigt hat. Laut Apple-Dokumentation:

Während der Auflösung fordert SiriKit Sie auf, jeden Parameter einzeln zu überprüfen, indem Sie die Auflösungsmethoden Ihres Handler-Objekts aufrufen. Bei jeder Methode validieren Sie die bereitgestellten Daten und erstellen ein Auflösungsergebnisobjekt, das Ihren Erfolg oder Misserfolg bei der Auflösung des Parameters angibt. SiriKit verwendet Ihr Auflösungsergebnisobjekt, um zu bestimmen, wie fortgefahren werden soll. Wenn Ihr Auflösungsergebnis den Benutzer beispielsweise auffordert, zwischen zwei oder mehr Auswahlmöglichkeiten zu unterscheiden, fordert SiriKit den Benutzer auf, eine dieser Auswahlmöglichkeiten auszuwählen.

Weitere Informationen zum Auflösen von Benutzerabsichten finden Sie in der Apple-Dokumentation zum Auflösen und Behandeln von Absichten.

Seien Sie schnell und genau

Es ist wichtig, dass Sie in der Konversationsbenutzererfahrung Ihrer App schnell auf Befehle reagieren, da Benutzer eine schnelle Antwort erwarten. Dies bedeutet, dass Sie Ihren Interaktionsworkflow so gestalten sollten, dass er die schnellsten Aktionen bereitstellt, um die Funktionserfüllung ohne unnötige Eingabeaufforderungen oder Bildschirme zu erreichen.

Apple empfiehlt Ihnen, den Benutzer ohne Zwischenbildschirme oder Nachrichten direkt zum Inhalt zu führen. Wenn ein Benutzer authentifiziert werden muss, rufen Sie den Benutzer direkt zum Authentifizierungsbildschirm auf und stellen Sie sicher, dass der Kontext beibehalten wird, damit der Benutzer auf logische Weise fortfahren kann, um seine Aktionen abzuschließen. In den Richtlinien für die Benutzeroberfläche von Apple wird Folgendes empfohlen:

Reagieren Sie schnell und minimieren Sie die Interaktion. Die Leute benutzen Siri aus Bequemlichkeitsgründen und erwarten eine schnelle Reaktion. Präsentieren Sie effiziente, zielgerichtete Entscheidungen, die die Möglichkeit zusätzlicher Aufforderungen verringern.

Begrenzen Sie die Informationsmenge

In den Amazon Echo-Designrichtlinien wird empfohlen, nicht mehr als drei verschiedene Optionen in einer einzigen Interaktion aufzulisten, sondern den Benutzern zuerst die beliebtesten Optionen bereitzustellen. Wenn Sie dann mehr als drei Optionen bereitstellen müssen, geben Sie am Ende eine Option an, um den Rest durchzugehen.

Siri Options in response

Priorisieren und ordnen Sie die Optionen, nach denen die Benutzer sie am wahrscheinlichsten verwenden würden, und ermöglichen Sie den Benutzern, einige der weniger beliebten Optionen explizit aufzurufen, ohne sie vorzulesen. Sie können die wichtigsten Optionen auch dynamisch an die historischen Einstellungen Ihrer Benutzer anpassen.

Zeigen Sie vor allem keine Vorurteile oder Täuschungen! Das heißt, stellen Sie Informationen nicht falsch dar und wägen Sie nicht die Eingabeaufforderungen ab, um die teuersten Optionen zu priorisieren. Führen Sie beispielsweise zuerst die teuersten Optionen für Mitfahrgelegenheiten und zuletzt die günstigeren Optionen für Fahrgemeinschaften auf. Dies ist ein sicherer Weg für Ihre Kunden, das Vertrauen in Ihre App zu verlieren.

Stellen Sie Conversational Breadcrumbs bereit

Für Benutzer ist es schwierig herauszufinden, wo sie sich ohne visuelle Hinweise befinden, und selbst wenn SiriKit den aktuellen Kontext verfolgen kann, interagieren Benutzer in der Regel mit SiriKit, während sie etwas anderes tun, z. B. Fahren oder Joggen.

Daher müssen Sie immer eine informative Antwort auf einen Befehl geben, die ihn nicht nur bestätigt, sondern den Benutzer auch an den Kontext erinnert. Wenn der Benutzer beispielsweise eine Carsharing-Fahrt buchen möchte, können Sie einen Kontext für Ihre Antwort angeben, indem Sie Folgendes sagen: „Sie haben heute um 17:00 Uhr eine Fahrt mit AcmeCar gebucht“, anstatt nur mit „Buchung“ zu antworten Bestätigt".

Mit anderen Worten, geben Sie in Ihrer Antwort genügend Kontextinformationen an, damit der Benutzer verstehen kann, was bestätigt wurde, ohne einen Blick auf sein Telefon werfen zu müssen, um die Absichten des Benutzers zu bestätigen.

Bieten Sie eine Erfahrung, die kein Berühren oder Schauen erfordert

Da sich Apples Ökosystem von Siri-fähigen Geräten über iOS und watchOS hinaus auf Geräte ohne visuelle Oberfläche erweitert, ist es wichtig, dass Benutzer bei Ihren Antworten und Interaktionen nicht auf den Bildschirm zurückblicken oder ihre Geräte berühren müssen, um etwas zu bestätigen. Die verbalen Antworten sollten kontextbezogen und prägnant genug sein (einschließlich der Bereitstellung einer begrenzten Teilmenge von Optionen), damit Benutzer genau die richtige Menge an Informationen erhalten, damit sie weiterhin blind mit ihrem Gerät interagieren können.

Die Stärke von Siri liegt darin, dass Benutzer ihre iPhones in der Tasche haben und Kopfhörer verwenden können, um mit ihren Sprachassistenten zu interagieren, eine neue Erinnerung an ihre HomePods aus dem gesamten Raum zu rufen oder Nachrichten zu hören, während sie mit ihrem CarKit-fähigen Fahrzeug fahren Fahrzeuge. Die Interaktion mit ihren SiriKit-fähigen Apps sollte nur sekundären Fokus und Aufmerksamkeit erfordern, keine primäre Berührung oder visuelle Bestätigung.

Die Ausnahme ist jedoch, wenn eine Absicht eine zusätzliche Sicherheits- und Authentifizierungsebene erfordert, bevor die Anforderung erfüllt wird.

Für bestimmte Absichten eine Authentifizierung erforderlich

Es ist wichtig, dass Sie Absichten identifizieren, für die vor der Verwendung eine bestimmte Authentifizierung und Autorisierung erforderlich ist. Wenn ein Benutzer nach "Wie ist das Wetter?" Fragt, benötigen Sie keine Authentifizierung. Wenn ein Benutzer jedoch nach "Pay Jane $20 with Venmo" fragt, sollten Sie natürlich verlangen, dass sich der Benutzer zuerst authentifiziert.

SiriKit verwaltet die Absichtsbeschränkung, bei der Benutzer sich beim Sperren des Geräts über FaceID, TouchID oder einen Passcode authentifizieren müssten, indem Sie in der info.plist Ihrer Anwendung explizit angeben müssen, welche Absichten beim Sperren eingeschränkt sind:

Fehler antizipieren und behandeln

Neben der Verwendung der Sprachaufforderung zur Behandlung der Disambiguierung, wie bereits erläutert, müssen Sie auch sicherstellen, dass Sie so viele Fehlerszenarien wie möglich antizipieren und behandeln.

Wenn ein Benutzer beispielsweise versucht, Geld an einen anderen Teilnehmer zu senden, und dieser Teilnehmer keine erforderliche E-Mail-Adresse oder mehrere Nummern hat, müssen Sie damit umgehen. SiriKit bietet die INIntentResolutionResult-Klasse, mit der Sie eine Auflösung für den entsprechenden Datentyp festlegen können, den Sie auflösen möchten:

Apple empfiehlt, dass Sie versuchen, historische Informationen aus dem Benutzerverhalten nach Möglichkeit zu extrapolieren, um die Anzahl der Interaktionsschritte im Workflow zu verringern. Schauen Sie sich die INIntentError-Dokumentation an, die eine Reihe möglicher Fehler enthält, die Sie behandeln können, z. B. InteractionOperationNotSupported oder requestTimedOut.

Fügen Sie benutzerdefinierte Vokabulare hinzu

SiriKit unterstützt das Hinzufügen benutzerdefinierter Vokabulare mithilfe der Plist-Datei AppIntentVocabulary.plist, um die Benutzererfahrung Ihrer App im Gespräch zu verbessern. Sie können dies verwenden, um Benutzer einzubinden und um bestimmte Begriffe aufzunehmen, die Ihre App erkennen kann.

Das Bereitstellen von Beispielbefehlen für Ihre Benutzer hilft beim Onboarding, indem Ihre Benutzer zu den Funktionen Ihrer App geführt werden. Wenn Sie Siri fragen "Was können Sie tun?" Sie werden nicht nur über die eingebauten Funktionen informiert, die möglich sind, sondern auch über Apps von Drittanbietern. Fügen Sie Ihrer AppIntentVocabulary.plist-Datei Absichtsbeispiele hinzu, um die Funktionen Ihrer App bei Ihren Benutzern weltweit bekannt zu machen:

Sie können Siri auch dabei helfen, Begriffe zu verstehen und zu erkennen, die nur für Ihre App spezifisch sind, indem Sie sie mit einer Reihe von Vokabeln versehen. Dies sind Wörter, die für jeden Benutzer Ihrer App gelten (z. B. wenn Sie einen bestimmten Begriff für Messaging haben, den Ihre App verwendet). Wenn Sie jedoch benutzerspezifische Begriffe angeben müssen, nutzen Sie INVocabulary. Innerhalb der Liste fügen Sie einen ParameterVocabularies-Schlüssel für Ihre benutzerdefinierten globalen Begriffe hinzu und ordnen jeden Begriff einem bestimmten entsprechenden Intent-Eigenschaftsobjekt zu (möglicherweise haben Sie mehrere Absichten für jeden Begriff).

Informationen zum Erstellen benutzerspezifischer Begriffe finden Sie in der Apple-Dokumentation zum Registrieren von benutzerdefiniertem Wortschatz bei SiriKit.

Testen Ihrer SiriKit-fähigen Apps

Ab Xcode 9 können Sie Siri bequem mit Ihrem Simulator testen, indem Sie Siri über die neue XCUIDevice-Unterklasse XCUISiriService auslösen. Nutzen Sie diese Option, um alle Ihre Absichtsphasen, benutzerdefinierten Vokabulare und sogar App-Synonyme zu testen und sicherzustellen, dass Ihre gestalteten Benutzererfahrungen wie beabsichtigt funktionieren.

Klonen Sie für die Zwecke dieses Lernprogramms das Projekt-Repo des Lernprogramms, öffnen Sie das Projekt in Xcode und führen Sie es aus, um sicherzustellen, dass es in Ihrer Umgebung funktioniert. Aktivieren Sie Siri bei laufendem Simulator, indem Sie zu Einstellungen gehen. Beschwöre Siri auf deinem Simulator wie auf deinem physischen Gerät und sage etwas wie "Sende eine Nachricht an Jane".

Öffnen Sie als Nächstes in Xcode die Datei MessagingIntentsUITests.swift, und Sie werden die einzelne Testfallmethode bemerken:

Testing SiriKit with Xcode and Simulator

Sie können so viele Absichten hinzufügen, wie Sie testen möchten. Führen Sie abschließend diesen Testfall aus, und Sie werden den Simulator-Trigger Siri beobachten und den beabsichtigten Befehl aussprechen. Denken Sie daran, dass dies kein Ersatz für echte menschliche Tests und den Umgang mit unterschiedlichen Akzenten und Hintergrundgeräuschen ist, aber dennoch als Teil Ihres automatisierten Workflows nützlich ist.

Abschluss

Das Entwerfen von Benutzererlebnissen für die Sprachinteraktion ist eine völlig neue Welt des visuellen UX-Designs. Best Practices und Techniken werden immer noch von den Designern und Entwicklern entdeckt, die auf diesem neuen Gebiet Pionierarbeit leisten.

Dieser Beitrag gibt Ihnen einen Überblick über die aktuellen Best Practices für Konversationsdesign UX unter iOS mit SiriKit. Sie haben einige der wichtigsten Prinzipien beim Entwerfen einer Sprachschnittstelle sowie einige Möglichkeiten gesehen, wie Sie mit SiriKit als Entwickler kommunizieren können. Ich hoffe, dies hat Sie dazu inspiriert, in Ihrer nächsten App mit Sprachschnittstellen zu experimentieren!

Während Sie hier sind, lesen Sie einige unserer anderen Beiträge zur neuesten Entwicklung von iOS-Apps.

Oder sehen Sie sich einige unserer umfassenden Videokurse zur Entwicklung von iOS-Apps an:

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.