Also, Sie möchten eine @erwähnen Autocomplete-Funktion erstellen?

Avatar of Sarah Dayan
Sarah Dayan am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Wir alle sind mit dem Konzept der Autovervollständigung vertraut, oder? Sie tippen etwas in ein Suchfeld ein und es wird versucht zu erraten, wonach Sie suchen, während Sie tippen, und es werden Vorschläge angezeigt, oft unter dem Cursor. Während wir Autovervollständigung auf E-Commerce-Websites gewohnt sind, die zu Such- oder Produktseiten weiterleiten, ist eine unterschätzte Anwendung **die Verwendung als sekundäres Suchmuster zur Verbesserung der Tipperfahrung.**

In modernen Webanwendungen gibt es keinen Grund, warum eine Kompositionsbox nur ein langweiliges, einfaches Textfeld sein sollte oder sich auf Rich-Text-Formatierung beschränken sollte. Soziale und Produktivitäts-Apps wie Twitter, Slack, Notion, Google Docs und Asana haben das "@erwähnen"-Muster populär gemacht, das es Ihnen ermöglicht, andere Benutzer beim Tippen zu referenzieren. Sie können eine andere Person, einen Kanal, eine Datei oder ein anderes abfragbares Objekt mit Auslösern wie den Zeichen @ oder # erwähnen. Dies öffnet ein Panel mit Vorschlägen, mit dem Sie Ihre Nachricht mit der richtigen Referenz vervollständigen können.

Eine Twitter-ähnliche Compose-Box mit einer @erwähnen-Funktion für Benutzernamen.

Das Textfeld fungiert als Eingabefeld für die Suche, und das Vorschlagsfeld dient als Tippassistent, der es Benutzern ermöglicht, die richtige Ressource zu referenzieren, ohne die Tastatur verlassen zu müssen. Wenn es richtig implementiert ist, ist alles nur ein paar Tastenanschläge entfernt, auch wenn Benutzer etwas falsch schreiben.

Zusätzlich zur Stromversorgung einer Kompositionsbox **fördert dieses Muster die Konsistenz von benutzergenerierten Inhalten**. Hashtags sind ein gutes Beispiel: Benutzer werden befähigt, semi-strukturierte Daten in einem freien Kontext zu erstellen, was dann zur Kategorisierung von Inhalten beiträgt, ohne dass sie nachträglich verarbeitet werden müssen. Sobald Benutzer andere Personen in einem Dokument erwähnt, Ressourcen referenziert oder mehrere Hashtags hinzugefügt haben, erhalten Sie einen Verbindungs-Graph über alle verfügbaren Ressourcen in Ihrer App, was es viel einfacher macht, verwandte Inhalte zu empfehlen und zu verstehen, wie Benutzer denken.

Die Grundlagen des Erstellens von @Erwähnungen

Über das Finden dessen, was Benutzer wollen, hinaus sollte eine großartige @erwähnen Autovervollständigungsfunktion so flüssig wie möglich sein. Ziel ist es, **eine nahtlose Tipperfahrung zu schaffen, bei der sich das Muster wie ein Assistent verhält, der lernt, während Sie tippen**, und Ihnen hilft, aber weiß, wann er sich aus dem Weg gehen muss. Sie können weiter tippen, die Vorschläge ignorieren und sie verschwinden lassen, oder Sie können sie nutzen, um Ihre Nachricht reibungslos zu vervollständigen.

Auf Twitter, das das Muster mit Erwähnungen und Hashtags populär gemacht hat, schließt sich das Panel, sobald das getippte Wort nicht mehr als Token betrachtet wird, um Benutzer zu stören, die raus wollen. Twitter-Benutzer-Handles unterstützen keine Leerzeichen, daher schließt sich das Panel sofort nach einem Leerzeichen.

Twitter schließt das @erwähnen-Panel beim Drücken der Leertaste.

Slack funktioniert etwas anders und erlaubt Leerzeichen, damit Sie vollständige Namen suchen können. Es verwendet verschiedene Heuristiken, um zu bestimmen, was signalisiert, dass Benutzer raus wollen.

Slack erlaubt Leerzeichen, damit Benutzer nach vollständigen Namen suchen können.

Beim Auswählen einer Erwähnung **schließt Twitter das Panel, ersetzt das Token und fügt ein Leerzeichen hinzu**, damit der Benutzer nahtlos weiter tippen kann. Diese Art von Detailgenauigkeit mag isoliert unwichtig erscheinen, aber wenn sie sich summieren, ergeben sie ein Gefühl der Flüssigkeit, das es den Benutzern ermöglicht, das Muster anzunehmen, anstatt dagegen anzukämpfen.

Twitter fügt beim Auswählen ein Leerzeichen hinzu, damit Benutzer weiter tippen können.

Wenn Sie Erwähnungen in einer Kompositionsbox wie dieser hinzufügen, werden sie Teil Ihres Textes, **sollten aber auch die volle Interaktivität behalten, um es Benutzern zu ermöglichen, sie zu bearbeiten.**

Auf Twitter können Sie beispielsweise eine Erwähnung "fokussieren", indem Sie darauf klicken oder mit den Pfeiltasten Links und Rechts durch das Textfeld navigieren. Twitter erkennt dies und öffnet das Panel erneut mit den Erwähnungen als Suchanfrage. Dies stellt sicher, wer benachrichtigt wird, wenn der Tweet gesendet wird, und ermöglicht es Ihnen, die Erwähnung im Falle eines Fehlers zu bearbeiten.

Twitter ermöglicht Ihnen die Inspektion und Bearbeitung von Erwähnungen.

Eine Möglichkeit, solche Erfahrungen mit minimalem Aufwand zu erstellen, ist die Verwendung der Open-Source-Bibliothek Autocomplete. Autocomplete ist darauf ausgelegt, am besten mit Algolia zu integrieren, funktioniert aber mit jeder Quelle, statisch oder remote. Sie ermöglicht es Ihnen, dynamische und zugängliche Autovervollständigungserlebnisse mit mehreren Quellen zu erstellen, und eignet sich hervorragend für @erwähnen-Funktionen.

Mischen verschiedener Vorschlagstypen

Ein Symbol pro Ergebnistyp funktioniert gut, wenn Sie einige wenige, unterschiedliche Typen haben, z. B. "@" für Personen und "#" für Hashtags. Sobald Sie mehr Typen mit verschwommeneren Grenzen haben, ist es wahrscheinlich, dass Benutzer sich nicht alle merken können. Das Isolieren könnte die Erfahrung umständlicher machen.

Stattdessen **hilft die Zuweisung von mehr als einem Typ pro Symbol mit föderierter Suche (Multi-Source) beim Entdecken aller möglichen Typen**, ohne zu viele Muster "lernen" zu müssen.

Auf Slack werden Vorschläge gemischt und mit visuellen Hinweisen (wie verschiedenen Symbolen und Abzeichen) unterschieden. Dennoch sehen die Ergebnisse ähnlich aus wie in der übrigen App. Zum Beispiel zeigen Personen-Vorschläge den Avatar des Benutzers, den Anzeigenamen und den Status an. Dies hilft Benutzern, sich sicherer zu fühlen, wen oder was sie erwähnen.

Auf Slack durchsucht das "@"-Symbol nach Personen, Gruppen und Apps.

Auf Notion sind die Vorschläge nach Typ gruppiert. Im Gegensatz zu einer typischen Sucherfahrung, die die Relevanz pro Ergebnis bevorzugt, bevorzugt dieser Ansatz Konsistenz: Bis Sie die Abfrage verfeinern, erhalten Sie immer zuerst Daten, dann Personen und dann Links. Dies hilft Benutzern, beim Verwenden des Tools Muskelgedächtnis aufzubauen, indem Erwartungen gesetzt werden, wo sich die Dinge befinden.

Auf Notion durchsucht das "@"-Symbol nach Daten, Personen und Links.

Die Gruppierung nach Typ kann entweder durch Abfrage mehrerer Quellen gleichzeitig oder durch Verwendung von Gruppierungsmechanismen wie der Reshape API von Autocomplete erreicht werden, die Ergebnisse nach dem Abrufen transformiert.

Ein weiteres cooles Notion-Muster ist der dynamische Platzhalter oder der prädiktive Vorschlag, den sie basierend auf der aktiven Auswahl einfügen. Standardmäßig hilft der Platzhalter den Benutzern, Maßnahmen zu ergreifen, indem er andeutet, was sie tun können. Dann, während sie navigieren, aktualisiert sich der Platzhalter und informiert die Benutzer darüber, was sie erwarten können, wenn sie eine Auswahl treffen.

Wenn Benutzer mit dem Tippen beginnen, aktualisieren sich die Vorschläge im Panel, aber der Platzhalter passt sich auch an, indem er die Eingabe vorab ausfüllt.
Benutzer können einen Vorschlag mit Enter oder Tab anwenden.

Wenn man sich den Notion-Code ansieht, kann man sehen, wie sie CSS Custom Properties dafür verwenden: Jedes Mal, wenn Sie durch die Vorschläge navigieren, setzen sie die CSS-Variable --pseudoAfter--content auf dem Elternelement der Eingabe mit JavaScript. Diese CSS-Variable wird dann mit der content-Eigenschaft auf einem ::before-Pseudoelement verwendet. Raffiniert!

Beim Abrufen von Ergebnissen aus mehreren Quellen kann es schwieriger werden, die Anzahl der Ergebnisse zu kontrollieren. Das liegt daran, dass jede Quelle die Anzahl der angeforderten Vorschläge zurückgeben kann oder weniger, wenn sie nicht genügend Treffer hat. Dies kann zu einer "ruckeligen" Benutzeroberfläche führen, bei der die Anzahl der Ergebnisse schwankt, während der Benutzer tippt.

Sie können dies entweder mit einem Panel fester Höhe, das eine Bildlaufleiste enthält, oder durch Verwendung von Kombinations- und Grenzwertmechanismen wie der Reshape API von Autocomplete mildern.

Es gibt immer vier Ergebnisse. Die Anzahl der Vorschläge variiert je nach Anzahl der letzten Suchen.

Denken über die Suchergebnisse hinaus

Wenn Sie sich wie ich jeden Tag mit Suche und Entdeckung beschäftigen, fangen Sie an, sie überall zu sehen. Es ist fantastisch, wie kreativ Sie mit dem @erwähnen-Muster werden können, wenn Sie über die übliche Implementierung hinausgehen.

Wenn Sie Slack verwenden, sind Sie vielleicht daran gewöhnt, nach Emojis zu suchen, indem Sie ":" tippen und dann nach Namen verfeinern. Obwohl es nicht wie eine Suche oder Erwähnungen aussieht, **verwendet es genau die gleichen Mechanismen:** Sie öffnen ein Vorschlagsfenster mit einem Sonderzeichen, suchen nach dem richtigen Element und "wenden" es beim Auswählen an.

Auf Slack durchsucht das ":"-Symbol nach Emojis.

Dies ist auf Notion noch auffälliger, wo das Panel überhaupt nicht wie Suchergebnisse aussieht.

Notion verwendet das ":" Zeichen, um Benutzern die Suche nach Emojis zu ermöglichen.

Interessant ist hier, wie vielseitig das Muster sein kann, wenn man einfache Dinge wie Elementvorlagen ändert und Ergebnisse unterschiedlich gestaltet. Es integriert sich noch besser in eine Kompositionsbox und schafft eine flüssige Erfahrung, die Benutzer über alle Apps hinweg wiedererkennen, die sie verwenden.

Eine Slack-ähnliche Compose-Box mit einer benutzerdefinierten Emoji-Autocomplete.

Jenseits der Tipp-Vervollständigung

Erwähnungen sind der häufigste Anwendungsfall für dynamische Vorschläge in einer Kompositionsbox, aber Sie können viel weiter gehen. Während Erwähnungen Ihnen helfen, einen Satz zu "vervollständigen" und die Tipperfahrung zu verbessern, kann eine Kompositionsbox auch eine Konversationsschnittstelle zwischen dem Benutzer und der App sein.

Auf Notion ermöglicht die Eingabe des Sonderzeichens "/" das Einfügen von Aktionen. Sie können Vorschläge immer noch verfeinern, indem Sie weiter tippen, aber anstatt die Eingabe zu füllen, erstellt das Auswählen eines Ergebnisses einen brandneuen Block eines bestimmten Typs.

Auf Notion ermöglicht das "/" Symbol das Erstellen eines brandneuen Blocks eines bestimmten Typs.

Dieses Muster, allgemein bekannt als "Shortcuts" oder "Slash Commands", wurde in Spielechats populär und ist zum Standard in allgemeinen Chat-Anwendungen wie Slack und Discord geworden.

Auf Slack ermöglicht das "/" Symbol das Tippen von Verknüpfungen, um benutzerdefinierte Aktionen auszulösen
wie das Starten eines Zoom-Anrufs, das Verlassen eines Kanals, das Posten eines GIFs usw.

Shortcuts sind interessant, weil sie es Benutzern ermöglichen, gängige Aufgaben an einem Ort auszuführen, ohne nach der Funktion suchen zu müssen. Zum Beispiel sind spontane Zoom-Meetings mit entfernten Kollegen üblich und erfordern normalerweise das Senden eines Zoom-Links über Slack. Aber das Öffnen von Zoom, das Kopieren des Links und das Einfügen in Slack ist umständlich. Der "/zoom"-Shortcut beseitigt diese Hürden, indem er häufige Aufgaben in einer einzigen Schnittstelle zentralisiert.

Eine Slack-ähnliche Compose-Box mit einer Befehlsleiste.

Während Funktionen wie Slash Commands früher nur für Power-User gedacht waren, tauchen sie jetzt in immer mehr Apps auf und richten sich an alle Arten von Benutzern.


Letztendlich geht es bei der Verbesserung der Tipperfahrung nicht darum, "Power-Features" freizuschalten, sondern darum, Inhalte aufzudecken, sowie Reibungsverluste und die kognitive Belastung zu reduzieren: Anstatt den Benutzern die Komplexität Ihres Systems im Voraus beizubringen, **bringen Sie die richtigen Informationen zur richtigen Zeit, dort und wann Benutzer sie benötigen.**