Alexa, das geht besser!

Alexa wird vorwiegend als Fernsteuerung für Wecker, Timer, Wetter und Home Automation vermarktet. Trotzdem wäre leicht viel mehr machbar, als jetzt geht.

Ich habe mir als Nerd natürlich sofort ein Echo Dot gekauft. Es ist anfangs witzig, auf Zuruf Aktionen starten zu können, zumal die Qualität der Mikrofone sehr hoch ist. Man kann durch laufende Musik hindurch Befehle geben und sie werden verstanden. Meine Mutter mit 79 Jahren war total geflasht, als Alexa nach „Spiel deutsche Schlager“ tatsächlich ihre Lieblingsmusik spielte.

Aber die Technik mit den Skills ist sehr unausgereift. Ich verstehe nicht, was die Entwickler sich dabei gedacht haben.

Um es kurz zu erklären: Alexa weiß von sich aus nicht allzu viel. Was sie weiß, kann man nur durch Herumprobieren herausfinden, was recht schnell zu Frust führen kann. Insbesondere deshalb, weil Alexa nicht im Netz sucht, wenn sie keine Antwort weiß. Sie sagt dann einfach, dass sie keine Antwort kennt. Damit liegt sie Welten hinter Google Now oder noch extremer hinter Google Assistant zurück.

Amazon unterstützt sehr wenige Anwendungen nativ, z.B. Todoist und Anydo für Listen. Damit kann man in diesen Apps mit einem Befehl Einträge vornehmen. Andere gängige Apps wie z.B. Bring oder viele weitere werden nicht unterstützt. Amazon muss mit sehr viel mehr Firmen Partnerschaften eingehen.

Um Alexa „schlauer“ zu machen, kann man mit einem recht komplexen System sogenannte Skills entwickeln und bereitstellen.
Dazu wird ein Name ausgewählt, auf den Alexa reagiert. Anschließend werden Abfragen definiert, die der Skill erkennt. Als letztes werden Antworten auf diese Anfragen definiert, wobei die Skills auch auf Datenbanken Zugriff nehmen können. Das wird „dynamische Inhalte“ genannt, z.B. bei Fernsehprogrammen oder Kinoaufführungen. Jeder Skill muss manuell installiert werden, Alexa hilft dabei nicht. Nur wenn man den Namen des Skills kennt – und woher kennt man den, wenn es einmal tausende gibt – kann man Alexa bitten, den Skill zu installieren.

Das Problem ist:
Man muss sich merken, wie jeder einzelne Skill genannt wird und welche Syntax er versteht.
So muss man bei jeder Abfrage den Skill nennen und eine Frage, z.B. „Frage <Fernsehprogramm> was heute Abend läuft“ oder „Öffne <Mantawitze> und erzähle mir einen Mantawitz.“

Bei einigen Skills kann man auch sagen „Starte <skill>“ und kann dann nacheinander Abfragen nennen, bis man mit „Stop“ den Skill beendet. Gute Skills erklären nach jeder Antwort, was man als nächstes tun kann oder man kann Aufzählungen mit „Weiter“ durchblättern.
Beispiel: „Starte Fernsehprogramm“ und nach der Antwort von Alexa „Was läuft heute um 20:15“. Sie nennt drei Sender und fragt, ob man weitere Sendungen genannt bekommen möchte.

Und hier sehe ich das Problem.

Ich möchte sagen können: „Was kommt heute Abend im TV?“ und nicht sagen müssen „Frage <Fernsehprogramm> was heute Abend läuft“.

Wenn es in einem Jahr tausende Skills gibt, wer soll sich alle Namen und die dazugehörigen Fragen merken können? Insbesondere da Marketingleute schon jetzt allen Firmen raten, dringend einen eigenen Skill zu entwickeln, damit sie dabei sind. Also wird es Opel-Skills, Mercedes-Skills, Toyota-Skills, McDonalds-Skills und was weiß ich noch alles geben. Seht ihr das Problem?

Die Entwickler haben meiner Meinung nach in eine falsche Richtung gedacht. Es kommt mir vor, als wären sie ohne jedes Gefühl für intuitives Handling vorgegangen. Das war anfangs auch das Problem von Google Now, was mit dem Google Assistant jetzt behoben wurde.

Wie es laufen sollte:

Skills stellen Datenbanken zur Verfügung, die dann direkt von Alexa verarbeitet werden können. Sie erweitern quasi das Grundwissen von Alexa, ohne selbst angesprochen werden zu müssen. Alexa muss in die Lage versetzt werden, in allen installierten – oder besser noch in allen existierenden – Skills nach Ergebnissen suchen zu können. Dazu könnte jedem Skill eine Reihe von Kategorien zugeteilt werden, zu denen er Informationen geben kann, z.B. „Auto“, „Kino“, „Fernsehprogramm“, „Lexikon“, „Wetter“, „Medizin“, „Lotto“ usw. Alexa erkennt Stichwörter, durchsucht die entsprechenden Datenbanken, fragt sie ab und formuliert eine Antwort.

Beispiel: Ich frage Alexa nach dem Fernsehprogramm für Heute Abend. Alexa sucht in den Skills nach denen mit Kategorie „Fernsehprogramm“, fragt diese intern ab und liefert das Ergebnis. Da Alexa ohnehin online ist, sehe ich keinen Grund, wieso Skills überhaupt installiert werden müssen. Google Assistant braucht das auch nicht. Die Antwort mag das erste Mal etwas länger dauern. Alexa kann sagen „Moment, ich muss die Informationen abfragen“ und speichert anschließend die Daten lokal für späteren schnelleren Zugriff. Findet Alexa keinen passenden Skill/Datenbank, sucht sie im Netz und bereitet die Daten auf.

Google Assistant – an dem sich Alexa messen lassen muss – setzt ausschließlich auf Online-Ergebnisse und liefert dank Zusammenarbeit mit immer mehr Firmen/Datenbanken – und Googles eigenen – sehr gute Ergebnisse, und das innerhalb weniger Sekunden. Und er erkennt sogar Folgeabfragen aufgrund der letzten Suchergebnisse, z.B. nach einer Suche von Filmen die Frage „Wer ist der Regisseur“. Alexa kann zumindest bei einem laufenden Song auf Fragen wie „Wer singt das“ oder „Wie heißt das Lied“ antworten. Aber naja…

Die Leute kennen Google und sind dementsprechend verwöhnt, beliebige Abfragen formulieren zu können und vernünftige Ergebnisse zu bekommen. Alexa muss mindestens genauso gut werden, um für den Massenmarkt tauglich werden zu können.

Ich bin optimistisch und hoffe, dass die Entwickler meine Gedankengänge nach ein bissel Erfahrung ebenso haben werden. Fraglich ist nur, wieso sie es in der Betaphase nicht schon längst gemerkt haben. Sollten sie es nicht hinbekommen, wird Alexa sterben und Google wieder einmal siegen.

Wenn Office 365 sich nicht aktivieren lässt

Ich hatte das Problem, dass ich Office 365 unter Windows 10 nicht aktivieren konnte. Diese Lösung erhielt ich schließlich in einem Forum:

1. Schließe alle offenen Anwendungen.
2. Drücke die Tastenkombination Windows-Taste+X und wähle Eingabeaufforderung (Administrator).
3. Gib nacheinander folgende Befehle ein und bestätige diese jeweils mit Enter:
net localgroup Administratoren localservice /add
fsutil resource setautoreset true C:\
netsh int ip reset
exit
4. Starte deinen Rechner neu über Alt+F4 > Neu starten.