Bots - die neuen Apps

Bot ist die Kurzform für "Robot" und bezeichnet einen automatischen Prozess, denn ein Anwender aus der Ferne ansprechen kann. Wer sagt denn, dass auf beiden Seiten des Communicator Kanals immer ein Mensch sitzen muss. Es gibt genug Beispiel, wo ein System auf entsprechende Anfragen von Menschen reagieren kann. Sicher gibt es schon immer Experimente mit künstlicher Intelligenz, um eine Maschine als Mensch auszugeben.

Beispiele für Bots

Früher war das oft per Mail der Fall, wenn ich vor vielen Jahren eine Mail an "filebot@fc" (eine NetWare MHS Adresse) mit einem UNC-Pfad im Betreff gesendet habe, dann hat mir mein Connect²-Server (Siehe Ahnengalerie) die Datei mit als Anlage gepackt an eine Mail zurück gesendet. Heute ist Mail ja schon wieder altmodisch und Instant Messages sind viel schnelle. Ich möchte heute auch keine Dateien mehr per Mail erhalten. Dazu gibt es VPN, Direct Access etc. Heute ist die Welt schnelllebiger und in weniger als 1000 Zeichen muss die Frage und die Antwort kommen. Und genau das kann ein BOT. Er kann auf Kurzmitteilungen reagieren. Und es gibt ne ganze Menge von Einsatzbeispielen, z.B. ein paar "Spassbots:

  • WetterBOT
    Das ist sicher der "einfachste Dienst", der aber von jedem zu verstehen ist. Sie starten eine Kommunikation mit dem Alias "Wetter" und geben die Postleitzahl oder den Ort ein. Der Bot kann dann aus anderen Quellen die Daten einsammeln und als Kurzfassung an den Anwender zurück senden
  • Übersetzung
    Warum nicht ein fremdsprachiges Wort an einen Agenten senden, der dann über www.leo.org o.a. die Übersetzung zurück sendet. ?
  • Taschenrechner
    Natürlich kann ich auch einfach eine Berechnung an einen Taschenrechner senden und warten, dass er mir das Ergebnis zurück gibt.

Dies sind natürlich sehr einfache Beispiele und z.B. eine Übersetzung könnte ja einfach Google Translation einholen.

Natürlich geht hier dann nichts ohne entsprechende Anpassungen und Entwicklungen über die OCS APIs und entsprechender Ideen. Hier eine Liste einiger möglichen Anwendungen als Appetitanreger. Leider kann ich nicht versprechen, dass alle Lösungen irgendwann auf der MSXFAQ erscheinen, speziell wenn diese im Kundenauftrag kostenpflichtig entwickelt wurden. Aber das kann durchaus eine ernsthafte Anwendung sein. Denken Sie einfach einmal über Folgendes nach:

  • ERP-Status
    Ist es so abwegig, dass Vertriebsmitarbeiter mit dem Communicator Mobile unterwegs sind über eine Kurzmitteilung an das ERP-System den letzten Status für den Kunden in Erfahrung bringen können? Interessant wären z.B. Ausstehende Lieferungen, Bonität, letzte Kontakte oder Aktionen.
  • Kontostandabfrage/Meldung
    Ich beschwere mich immer, dass ich Auszüge bei der Bank abholen muss und das "verzögert" passiert. Könnte ich nicht einfach eine IM-Adresse dort hinterlegen, an die die Band mir dann unkritische Meldungen sendet ? z.B. wenn eine Überweisung ausgeführt wird, oder mein Kontostand an eine Warngrenze kommt ?. Phishing-Aktionen könnte so umgehend widersprochen werden.
  • Monitoring
    Grün, Gelb, Rot, eine klassische Ampel. Könnten damit nicht kritische Prozesse einfach als IM-Kontakt mit ihrer Präsenz zeigen, wie es ihnen geht ?. Grün = OK, Busy = beschäftigt.  DND = habe ein Problem.,  und offline zeigt, dass der Agent nicht aktiv ist.
  • Exchange Status per IM
    Stellen Sie sich vor, es gäbe auch einen Benutzer "Exchange", den sich ein Anwender oder Operator einfach in seine OCS-Kontakte addieren kann. Was könnten die Farben denn bedeuten ?. Grün, dass der Exchange Server "normal" arbeitet und Gelb, dass er vielleicht gerade eine hohe CPU-Last, viele Mails in Warteschlangen oder eine langsame Antwortzeit hat ? (get-queue, test-mapiconnectivity etc.) und Rot, dass er nicht ausgefallen ist ?. So schlecht ist die Idee nicht, wenn Sie dann noch den Status des Server z.B. auf einer Statusseite oder der OWA Anmeldeseite anzeigen, noch ehe die Mitarbeiter sich anmelden.
    und auf eine "Kurzmitteilung" an den Server könnte dieser ja mit entsprechenden Antworten reagieren. für das Operating kann das ganz nett sein, auf ein ein "Quota Useradresse" oder "Queuestatus" einen aktuellen Bericht zu erhalten.
  • Telefonsteuerung
    Sicher kann Windows Mobile 6.5 das "Call from Work"-Feature ausnutzen, aber was, wenn das Telefon das nicht kann etc. Wäre es nicht nett, wenn ich per Kurzmitteilung einen Anrufwunsch initiieren könnte ?. z.B.: durch Eingabe "MeineRufnummer->Zielnummer". Der Agent "kennt" mich ja und kann mich so verbinden.
  • Paketzustellung
    Aktuell kenne ich noch keinen Zustelldienst, der Instant Messages aktiv nutzt, aber hier wäre sogar die Gegenrichtung interessant, d.h. der Paketdienstleister sendet keine Mail sondern eine Kurzmitteilung an den Empfänger oder Absender über Verzögerungen.
  • Reiseplanung
    Immer wieder kommt es zu Zug oder Flugverzögerungen. Aber wer seine Flugnummer weiß, könnte über diesen Weg auch "Mobil" sich informieren lassen. Der Kunde fragt per Instant Message die Fluggesellschaft an. Diese erhält über den Weg natürlich auch den Kunden und kann ihrerseits auch die Verbindung zu ihm für die Zeit bis zum Abflug aufbauen.
  • Ausfallbenachrichtigung
    Stellen Sie sich vor, dass ein Dienst oder Server nicht verfügbar ist. Sie können nun anfangen den Fehler zu beseitigen und werden permanent durch Telefonat ausgebremst, weil Kollegen und Kunden Sie mehr oder minder freundlich fragen, was denn "los" sei. Als wenn Sie gerade jetzt die zeit hätte, das lange zu erklären. OCS bietet einen Kommunikationskanal, mit dem Sie nur die gerade angemeldeten Benutzer erreichen. Anstatt also eine "Rundmal" zu senden, die Urlauber erst nach Wochen lesen und sich wundern, bietet es sich gerade zu an, die Nutzer des Dienstes per OCS über das Problem und den Fortschritt der Lösung zu informieren. Informierte Anwender sind zum einen freundlicher, weil Sie sich darauf einstellen können und Sie haben die notwendige Ruhe, um das Problem noch schneller zu lösen. Allerdings brauchen Sie vorab natürlich die Vorarbeit die Benutzer von Ressourcen entsprechend in Gruppen zu verpacken. Nicht immer ist es so einfach wie ein PowerShell Befehl auf Exchange 2007 um die User einer Datenbank zu finden und man ein Send-InstantMessage Commandlet installiert hat.

    Ein Beispiel für LCS2005 heißt "Group Alerts Sample für Microsoft Office Live Communications Server 2005 " unter http://www.microsoft.com/downloads/details.aspx?FamilyId=818FF21B-4610-4072-BFA9-6FB7CBC75C81&displaylang=en

    (fiktives Beispiel)

get-mailbox -database <xxx> | where {$_.status -eq "down"} | %{send-instantmessage -Sendto $_primaryMailAddress -helpmessage "DB Down"}

  • MessageTrackingStatus
    Stelle Sie sich vor Sie möchten den Status eine Mail nachverfolgen. Wie wäre ein Bot, dem Sie einen Teil des Betreffs geben und dieser sucht in den Exchange Message Trackings alle Mals an und von ihnen mit dem Begriff im Betreff. So könnten Sie z.B. sehen, ob ihre Mail schon das unternehmen verlassen hat oder wo sie steckt oder wann diese zugestellt wurde.

Wenn sie einige Minuten nachdenken, dann finden Sie sicher noch andere Anwendungsbereiche wie automatische Prozesse eine installierte OCS-Umgebung effektiv nutzen können. Oft ist aber ein ergebnisoffenes Gespräch der beste Ansatz mögliche Potentiale in ihrem unternehmen zu aktivieren.

Bots für Kunden und extern

Interessant wird das natürlich, wenn z.B. per Federation das eigene Lync-System mit MSN, AOL o.ä. verbunden ist und damit auch externe Kontakte teilhaben können. Die Lufthansa erlaubt ja schon Status per SMS (http://www.lufthansa.com/de/en/Information-via-SMS) SMS kosten aber in der Regel mehr, als eine Kurzmitteilung per Instant Messenger auf das Mobiltelefon oder wo auch immer ich gerade angemeldet bin.

Da die Kommunikation aber "sehr schnell" und auch "sicher" ist, kann das Instant Messaging Netzwerk natürlich auch für die Maschine zu Maschine-Kommunikation genutzt werden. Es muss nicht immer ein Webservice sein oder eine Anlage an einer Mail. Über Instant Messaging können auch zwei Prozesse direkt miteinander erkennen, welchen Status (Online, Busy, Offline) sie haben und Daten austauschen.

Da es sich bei Instant Messaging meist nicht um ein "geschlossenes System" handelt, müssen solche Prozesse gut "abgesichert" sein, d.h. sie dürfen sich durch absichtliche oder unabsichtliche Falschmeldungen nicht stören lassen.

Bots entwickeln

Die Entwicklung eines Bot orientiert sich natürlich an der Software, die letztlich die Daten bereit stellt und der Applikation, die der Anwender nutzt. Das kann ein Instant Messaging Client sein, aber ebenso ist es möglich, dass ein Webbrowser genutzt werden, der auf einer Bestell-Seite unterwegs ist und ein Bot dem Anwender entsprechende Hinweise gibt.

Microsoft hat hierzu eine nette Vorstellung veröffentlicht:

Microsoft Virtual Academy - Getting Started with Bots
https://mva.microsoft.com/en-US/training-courses/getting-started-with-bots-16759

Es gibt natürlich noch jede Menge anderen BOT-Frameworks, die primär für den Einsatz in Webseiten gedacht sind, z.B.

Einige sind "Free", anderen hosted mit einer gewissen Menge an Konversationen pro Monat oder Teilnehmern. Ich habe leider aber noch keinen gefunden, der per UCWA mit einem Skype for Business Server arbeitet.

Weitere Links