Op F8, een jaarlijkse conferentie voor Facebook ontwikkelaars – werd begin vorige maand de integratie van bots in Facebook Messenger aangekondigd. Ondertussen zijn de eerste Messenger bots live. Bots zijn applicaties waarmee je kan communiceren met behulp van eenvoudige tekstberichten. Net zoals je met jouw vrienden communiceert vuur je vragen af en krijg je terstond antwoorden. Het enige verschil is dat er geen echte persoon maar een bot (robot) aan de andere kant van de lijn zit.
Hoewel Facebook maar evengoed Microsoft, Amazon en IBM een aantal handige tools ter beschikking hebben gesteld voor het ontwikkelen van bots, komt er toch nog heel wat bij kijken. Voordat je aan het ontwikkelen slaat, laten we nagaan of zo’n bot interessant is voor jouw onderneming.
Een bot is dikwijls een alternatief op een mobiele app of een webapplicatie. Het voornaamste verschil is dat een bot helemaal geen visuele interface heeft, terwijl een app bestaat uit interface-elementen zoals navigatie, filters, een zoekveld en dergelijke, waar we ondertussen allen goed mee zijn vertrouwd. Een bot reageert op tekst- of spraakberichten terwijl een app reageert op input via vingers of computermuis. Dit is al meteen een wezenlijk verschil, want niet iedereen is even behendig met vingers of computermuis. Zij het mensen met een handicap, of situaties waarbij jouw handen niet vrij zijn, bijvoorbeeld tijdens het besturen van een voertuig.
De leercurve bij een goedwerkende bot ligt vaak lager waardoor je er sneller mee aan de slag kan.
Een visuele interface geeft je snel een overzicht van de mogelijkheden van een toepassing. Open je een kookboek app, dan vind je al snel filtermogelijkheden en elementen zoals een ster of hart om items aan jouw favorieten toe te voegen. Bij een bot is het gokken. Je kan op het eerste zicht niet zien wat zo’n bot allemaal in zijn mars heeft. Het voordeel daarvan is dat een complexe applicatie zeer eenvoudig lijkt en je minder snel wordt afgeschrikt door een overdonderende visuele interface (denk bijvoorbeeld aan de vele knoppen in Photoshop). De leercurve bij een goedwerkende bot ligt vaak lager waardoor je er sneller mee aan de slag kan.
Het vervelende aan visuele interfaces is dat er weinig coherentie is tussen verschillende toepassingen waardoor je iedere toepassing vaak opnieuw moet aanleren. Je herkent vermoedelijk de frustratie wanneer je iets probeert te doen, maar je de knoppen hiervoor niet meteen terugvindt. Terwijl je perfect in één zin kan vertellen wat je poogt te doen.
De verwachting is dat je met een bot op een natuurlijke wijze kan communiceren. De technische vereiste is dat jouw bot aan natural language processing (NLP) kan doen, wat wil zeggen dat de bot spreek- en schrijftaal kan interpreteren.
Een van de tools die Facebook aanbiedt voor natural language processing is Wit.ai en het goede nieuws is dat verschillende talen inclusief Nederlands (doch in beta) worden ondersteund. Ben je minder afhankelijk van de Nederlandse taal bekijk dan zeker ook api.ai. Het voordeel van deze service is dat deze zich niet beperkt tot Facebook Messenger maar ook toelaat om bots voor bijvoorbeeld het berichtenplatform Slack of de speakers van Amazon Alexa te maken. Daarnaast heb je luis.ai van Microsoft dat je toelaat voor de virtual assitent Cortana te ontwikkelen. Tenslotte is er het krachtige IBM Watson en het pas gelanceerde recast.ai.
Al deze APIs werken volgens het concept van intents en entities. Een intent is wat de gebruiker wenst te doen. In het kader van Creativeskills.be is dat bijvoobeeld het zoeken van een job. Maar een intent kan evengoed het opvolgen van een sollicitatie zijn of het wijzigen van persoonlijke gegevens. Per intent heeft de bot de taak entities te verzamelen die nodig zijn om de intent te kunnen realiseren.
De bot moet dus eerst trachten te achterhalen wat de intent van de gebruiker is. Pas als dat is gebeurd kan de bot overgaan tot het verzamelen van entities. Dat doet hij door vragen te stellen en entities aan de hand van natural language processing uit de antwoorden te filteren. Voor het vinden van een job zijn entities bijvoorbeeld het type vacature (full-time, freelance, stage) en de locatie. Van zodra alle vereiste entities verzameld zijn gaat de bot over tot een actie, wat in het geval van Creativeskills.be het tonen van relevante vacatures is.
Hoe meer intents en hoe meer entities per intent, hoe complexer jouw bot is.
Het merendeel van mobiele telefoongebruikers installeert zelden of nooit een app
Het laagdrempelig karakter en de lage leercurve zijn niet de enige troeven van een bot. Een andere voordeel is dat de gebruiker geen aparte applicatie hoeft te installeren. Het merendeel van mobiele telefoongebruikers installeert zelden of nooit een app. Het is dus een enorme drempel voor ondernemingen om gebruikers aan te zetten hun app te installeren. Het is ook relatief complex. Via een app store maak je eerst de keuze of je een app wenst te installeren en nadien volgt een installatieproces. Afhankelijk van jouw internetverbinding kan dit enkele minuten duren. Nadien moet je de app terugvinden, starten en doorheen de interface spartelen. Dit zijn een hele reeks stappen waarop heel wat mensen afhaken. Plus, vaak heb je die app maar één keertje nodig maar ondertussen neemt het wel plaats in op jouw mobiele telefoon, om nog maar te zwijgen van het dataverbruik bij het downloaden van zo’n toepassing en de updates die jou te pas en te onpas worden opgedrongen.
Een bot vereist geen installatie. Een bot neemt geen onnodige opslagruimte in. Met een bot communiceer je sneller dan je een app kan installeren. Een bot verbruikt een pak minder data dan het downloaden van een app. In minder ontwikkelde landen waar data relatief duur is en mobiele telefoons minder performant zijn lijken bots een uitstekend alternatief voor apps, tenminste als de taal van de gebruiker wordt ondersteund. Een bot kan ook helemaal onafhankelijk van Facebook Messenger, Amazon Alexa of Microsoft Cortana werken en simpelweg het SMS protocol gebruiken om te communiceren. M.a.w. weinig bevolkingsgroepen worden uitgesloten met een bot.
Niets dan lof voor bots zo blijkt. Laten we alvast aan de ontwikkeling beginnen denk je. Niet zo vlug! Laten we kijken wat de struikelblokken van bots zijn.
Spraakherkenning is nog onvoldoende ontwikkeld waardoor bots die hier op steunen nog in een embryonaal stadium zitten. De Amazon Echo – een soort speaker dat je kan besturen via jouw stem – zet hierin de eerste stappen, maar het is verre van perfect. Vaak worden jouw mooie volzinnen niet herkend en moet je terugvallen op korte duidelijke – en onvriendelijk klinkende – commando’s.
Voor eenvoudige toepassingen zoals het vinden van een film via Amazon Fire TV, het opzoeken van een contact via Siri van Apple of het aansturen van Google Now lukt het via de stem net nog wel. Is jouw vraag complex of lang dan loopt het vaak in het honderd. Stemherkenning heeft ook als nadeel dat niet jij, maar de bot een leercurve heeft. Iedere stem is immers anders en de bot heeft tijd nodig om aan jouw uitspraak te wennen.
Een ander nadeel van bots enkel gebaseerd op spraakherkenning is dat de gebruiker slechts één conversatie met één bot tegelijk kan voeren. Op tekst gebaseerde bots laten meerdere conversaties tegelijk toe, net zoals we meerdere gesprekken tegelijk met vrienden kunnen voeren.
Op Facebook F8 had men het voornamelijk over tekstbots. Dat zijn bots die eerder via tekst dan via stem worden aangestuurd. De technologie hiervoor staat al een pak verder en het is dus veel betrouwbaarder om jouw toepassing hierop te bouwen. Het voordeel is dat eens spraakherkenning perfect is, jouw op tekst gebaseerde bot evengoed op stem kan werken. Het loont dus om alvast in de ontwikkeling van bots te investeren.
Wat zijn nu de tekortkomingen aan bots? Vooreerst is er de tekstinvoer, die soms heel wat karakters kan innemen. Plus typen op een virtueel keyboard is niet altijd even snel in vergelijking met de snelheid van interactie met een mobiele app. Daarnaast is het ook een relatief traag proces aangezien je vaak pas tot jouw resultaat komt aan de hand van heel wat heen-en-weer communicatie.
Laten we de vacatures op Creativeskills.be als voorbeeld nemen. Terwijl je momenteel via de site vacatures snel op locatie, type en categorie kan filteren zou een gesprek met een bot er zo kunnen uitzien:
Sofie: “Hey, welke jobs heb je voor designers?”
Bot: “Goeie morgend Sofie, zoek je naar web design of grafisch design vacatures?”
Sofie: “Grafisch”
Bot: “Ok, als freelancer of full-time?”
Sofie: “Fulltime graag”
Bot: “Cool, welke regio had je in gedachte?”
Sofie: “Rond Brussel”
Bot: “Alright, ik heb negen vacatures voor jou gevonden voor grafisch designer omgeving Brussel.”
Bot: <carousel met daarin de 9 vacatures> “Wil je deze zoekopdracht bewaren?”
In bovenstaand voorbeeld typt Sofie 72 karakters en beantwoord ze drie vragen om tot haar resultaat te komen. Mits efficiëntere antwoorden (zonder “graag”, “rond”, etc.) zou je dit kunnen terugdringen tot ongeveer 50 karakters. Maar Sofie zou haar vraag ook alsvolgt kunnen stellen:
“Fulltime grafisch design vacatures omgeving Brussel”
Wat op 50 karakters neerkomt. Het kan nog korter, in 30 karakters:
“Fulltime grafisch jobs Brussel”
Facebook Messenger biedt een aantal templates waarmee antwoorden kunnen worden geformatteerd en die tevens acties kunnen bevatten. Op die manier kan Sofie in het bovenstaande voorbeeld een keuze selecteren i.p.v. een antwoord te typen. Voor zover de lijst van mogelijke keuzes beperkt blijft natuurlijk. In het geval van ‘full-time’ versus ‘freelance’ versus ‘stage’ keuzes lukt dit, maar in het geval van een jobcategorie zoals ‘grafisch design’ zal dit al minder goed lukken aangezien Creativeskills.be er zo meer dan twintig telt. Om onze toepassing botvriendelijk te maken organiseren we deze categorieën best in een boomstructuur. Dan kunnen we eerst de hoofdcategorie laten kiezen en nadien een subcategorie, bv “technische jobs” en nadien “front-end ontwikkeling” of “web ontwikkeling”,…
Het zou natuurlijk vervelend zijn moest dezelfde conversatie telkens opnieuw moeten gebeuren om de laatste jobs te tonen, vandaar dat het belangrijk is om de gebruiker de mogelijkheid te bieden om de zoekopdracht te bewaren. Daarbovenop kan de Facebook Messenger bot de toestemming vragen om jou bv. iedere ochtend de nieuwste vacatures op maat voor te schotelen. Je kan dit vergelijken met notifications bij mobiele apps met dit verschil dat deze berichten nu binnenkomen net zoals berichten van jouw vrienden.
Ziezo, onze denkbeeldige bot kan nu vacatures filteren, de zoekopdracht bewaren en geeft iedere ochtend een lijst met relevante vacatures door. Maar we zijn er nog niet. Wat als Sofie de zoekopdracht wenst te wijzigen? Of wat als Sofie het bericht met de dagelijkse vacatures wenst stop te zetten? Hoe kan ze deze wens aan de bot doorgeven? Ze kan proberen met een van onderstaande berichten, maar het blijft gokken want de terminologie voor “zoekopdracht”, “zoekcriteria” of “filter” zijn niet meteen alledaagse woorden waar je meteen aan denkt:
“Wijzig zoekopdracht”
“Verander zoekopdracht”
“Filters aanpassen”
“Zoekcriteria veranderen”
“Instellingen wijzigen”
Het is duidelijk dat een bot niet slim genoeg zal zijn om steeds al jouw vragen te kunnen beantwoorden. Daarom is het belangrijk dat bot-ontwikkelaars een aantal uniforme keyword triggers aanbieden zoals het commando “HELP”. Dit commando zou het volgende antwoord kunnen opleveren in de context van de Creativeskills Bot:
“Gebruik WIJZIG om jouw zoekcriteria aan te passen. RESET om jouw zoekopdracht te verwijderen. STOP om de dagelijkse vacature updates stop te zetten.”
Andere veel voorkomende commando’s zijn “MENU”, “CONTACT”, “UNSUBSCRIBE”, “MUTE”, “PAUSE” en vergeet niet scenario’s uit te werken voor veel voorkomende keyword triggers zoals “hi”, “hello” en “hallo”, want daarmee zullen de meeste gebruikers beginnen.
“Hi” is van evenveel waarde als een ‘like’ of een ‘follow’
Van zodra een gebruiker via Facebook Messenger een conversatie met een bot initieert wordt een relatie gelegd tussen de gebruiker en de bot. Ook al verlaat de gebruiker het gesprek of stopt deze met reageren, de relatie wordt pas verbroken wanneer de gebruiker de bot expliciet blokkeert. Met andere woorden, een “Hi” is van evenveel waarde als een like of een follow.
Er zijn ondertussen al een aantal experimentele bots beschikbaar. Maar hoe vind je die bots? Hoe kan je jouw gebruiker laten weten dat jouw web app of mobile app ook in bot-vorm beschikbaar is?
Net zoals bij Snapchat kan je een Facebook Messenger QR code genereren. Gebruikers kunnen deze tag dan met Facebook Messenger scannen en worden onmiddellijk naar jouw bot gestuurd. Je kan daarnaast in jouw web of mobiele applicatie een “Send to Messenger” knop integreren die een conversatie naar een Facebook Messenger bot overhevelt. Tenslotte kan je een bot vinden in Facebook Messenger via de zoekfunctie.
Momenteel zijn bots moeilijk vindbaar waardoor je zelf verantwoordelijk zal zijn om trafiek naar jouw bot te verzorgen. Met andere woorden, het is niet omdat je een bot hebt dat je opeens gebruikers bereikt die je voorheen nog niet bereikte. In deze eerste fase van Messenger bots zal je dus samen met Facebook jouw gebruikers moeten aanleren waar zij bots kunnen vinden en wat deze bots voor hen kunnen betekenen.
Hoewel er een onofficiële app store voor bots bestaat – botlist.co – trekt die momenteel enkel early adopters aan. Je kan er nieuwe gebruikers aantrekken, maar de vraag is in hoeverre deze relevant zijn voor jouw onderneming. Je bereikt er immers een internationaal publiek mee, wat misschien niet relevant is voor een bot met een Belgische doelgroep.
Absoluut niet. Bots bestaan al zo lang computers bestaat. Zo was DOS – het eerste besturingssysteem van Microsoft – eigenlijk een bot. Het had totaal geen visuele interface en je kon er enkel dingen van gedaan krijgen door exacte commando’s neer te typen. De uitdaging? Al die commando’s uit het hoofd leren. Maar ook in SMS land kennen we heel wat bots. Je kan bv. dagelijks per SMS een grap toegestuurd krijgen en kan deze (vaak dure) grap stopzetten door STOP terug te sturen.
Een interessante trend is dat de generatie die met de command line (Microsoft DOS) is opgegroeid (mensen die nu tussen de 35-45 jaar zijn) verschillend is van de generatie die volop bots omarmt (tussen 18 en 35 jaar). Daaruit kan je besluiten dat je met een bot voornamelijk een jongere doelgroep bereikt.
Met een bot bereik je voornamelijk een jongere doelgroep
In de hoedanigheid van de Facebook Messenger bot moet Facebook enkel WeChat laten voorgaan. WeChat is een gelijkaardige messaging app dat enorme populariteit in China kent. Terwijl Facebook Messenger wereldwijd 900 miljoen gebruikers telt, telt WeChat 700 miljoen gebruikers. Het platform biedt onderdak aan heel wat ondernemingen die soms enkel bekend zijn van hun bot.
Op WeChat bestaan twee type bots. Enerzijds heb je een subscription bot en anderzijds een service bot voor dienstverlening. Een subscription bot laat je toe content te ontvangen en het leuke is dat je per artikel een tip kan achterlaten. M.a.w. er is een systeem ingebouwd waarmee je auteurs kan betalen. In de aard van Blendle dus, maar volledig via het WeChat platform. Ook belangrijk op te merken is dat artikels niet in de browser worden geopend, maar in een popup in WeChat. Gebruikers hoeven de chatapplicatie dus niet te verlaten.
Een laatste interessant gegeven aan de WeChat app is dat je kan switchen tussen het keyboard – om zo vrijblijvende berichten te typen – of een menu waaruit je commando’s kunt kiezen, dat bespaart je alvast gok- en typwerk.
Mens en bot zullen elkaar aanvullen
Bots zullen de komende jaren slimmer en slimmer worden en het merendeel van frequente vragen kunnen beantwoorden. Maar dat wil niet zeggen dat alle customer service mensen opeens hun job kwijt zijn. Terwijl bots repetitieve taken kunnen uitvoeren zullen customer service mensen zich meer gaan bezighouden met anomalieën. Dat zijn weinig voorkomende scenario’s waarvoor het niet de moeite loont om bots te trainen. Als je kijkt hoe complex abonnementen, diensten en producten van bv. Proximus of Electrabel zijn, dan begrijp je al snel dat zelfs een bot het bos door de bomen niet meer zal zien en er een mens aan te pas zal moeten komen. Mens en bot zullen dus elkaar aanvullen. Het zal als eindgebruiker moeilijk te detecteren zijn wanneer nu een bot of een echte persoon antwoordt.
Niet alle bots zijn artificieel intelligent (AI). De meeste bots volgen vooraf uitgeschreven scenario’s en leren niets bij. Met andere woorden, de bot wordt niet slimmer bij iedere interactie, en dat is het wezenlijke verschil met een artificieel intelligente bot. AI bots kunnen worden getraind en worden steeds slimmer dankzij machine learning.
Maar het kan ook verkeren. Als diegene die de bot traint van slechte wil is, kan je een slecht karakter creëren. Dat heeft Microsoft geleerd nadat het de tienerbot Tay op de wereld losliet. Twitter gebruikers hadden al na 24 uur de bot getraind om racistisch te zijn.
Aangezien bots een visuele interface vervangen moet de rol van een User Interface Designer worden geherdefinieerd. De User Interface Designer zal niet enkel meer bezig zijn met het vormgeven van interface componenten, hij zal nu ook de conversaties en de persoonlijkheid van bots vormgeven. Van pixel pusher naar conversation starter zeg maar.
De Conversational UX Designer zal de persoonlijkheid van de bot vormgeven
De Conversational UI Designer, Conversational UX Designer of kortweg Conversation Designer zal in samenspraak met de Brand Designer onderzoeken welke tone of voice het best bij het merk past die de bot zal vertegenwoordigen. Is de bot grappig? Indien zo, welke humor past bij de bot? Nerdy humor met verwijzingen naar Star Wars passen misschien wel bij een product of dienst voor software ontwikkelaars, terwijl flauwe humor beter past bij de doelgroep van Bicky burgers en ondeugende humor bij klanten van Pabo.
En wat met de naam en het geslacht van de bot? Microsoft koos voor een tiener onder de naam van “Tay”, Apple ging voor een vrouw “Siri” genaamd en Amazon bracht de vrouw “Alexa” ter wereld. In de film “Her” (sterke aanrader!) kennen we de bot als “Samantha” (met de stem van Scarlett Johansson). Niet alle bots hebben een naam nodig natuurlijk, maar het kan een extra dimensie aan de conversatie geven, zeker als het merk zich al verpersoonlijkt in een bepaald karakter via bijvoorbeeld televisie- of radio-advertenties (denk aan de Bicky man, of de karakters achter Gamma).
Maar is de rol van Conversation Designer wel weggelegd voor de klassieke Visual Designer of User Interface Designer? In plaats van toveren met pixels is spelen met woorden vermoedelijk iets dat een copywriter een pak beter ligt? Het ontwikkelen van een karakter is dan weer ideaal weggelegd voor een schrijver. Maar ook voor copywriters die zich specialiseren in long copy of short copy en schrijvers zal het een aanpassing worden om conversaties vorm te geven die niet lineair zijn.
Facebook is enorm populair en met hun stap richting bots worden ze nog een stuk machtiger. Het is duidelijk dat ze het internet naar zich toe trekken en met bots zijn ze weer een stap dichterbij. Eens externe pagina’s in Facebook Messenger zelf kunnen openen is Google eraan voor de moeite (nu openen pagina’s in de browser van jouw smartphone, dus Chrome op Android). Eens Facebook Messenger betalingen integreert is het ambras met Apple (want zij proberen steeds een percentage van de aankopen via iOS app te claimen).
Niets staat in de weg om alvast met bots te beginnen experimenteren
Maar uiteraard zitten Apple en ook Google niet stil. Apple houdt echter angstvallig zijn Siri API achter slot, zodat geen derde partijen hierop kunnen ontwikkelen. Binnen een aantal weken tijdens de Google I/O conferentie zal Google volgens geruchten botmogelijkheden voor Google Hangouts aankondigen en wie weet volgt Apple snel met de integratie van bots in iMessage. Amazon ontwikkelt ondertussen verder aan het introduceren van hardware bots voor in onze woonkamer. Naast de Amazon Echo bestaat nu ook de Amazon Tap en Amazon Dot, het hardware aanbod breidt dus aanzienlijk uit.
Maar niets staat in de weg om alvast met bots te beginnen experimenteren. Welk platform je ook plant te ondersteunen (Facebook Messenger, Slack, Telegram, Kik, Microsoft Cortana, Apple Siri, Amazon Alexa,…) investeren in het uitwerken van scenario’s en een personaliteit voor jouw bot is geen weggegooide moeite aangezien je nadien kan koppelen met een platform naar keuze.
Alles ziet er naar uit dat bots een enorme populariteit zullen kennen
Alles ziet er naar uit dat bots een enorme populariteit zullen kennen. Moet je nu onmiddellijk aan het ontwikkelen slaan? Het antwoord hangt er van af. Als jouw dienst in enkele stappen tot een oplossing voor de gebruiker kan komen en jouw merk voornamelijk jonge gebruikers aanspreekt dan is jouw toepassing rijp voor een bot.
Doch onderschat het ontwikkelen van een bot niet, een slechte bot zal meer schade aan jouw merk doen dan geen bot. Werk dus steeds met een Conversation Designer om scenario’s uit te werken en test jouw bot grondig voordat je hem/haar op de wereld loslaat.
Voorlopig blijven de mogelijkheden van een Facebook Messenger bot beperkt tot het leveren van informatie en zal het succes afhangen van diepere integratie met Facebook. Zo zou het al een enorme stap voorwaards zijn als het adres van de gebruiker automatisch kan worden doorgegeven wanneer deze het woord “thuis” gebruikt. Eens Facebook betalingen via bots toelaat is het hek helemaal van de dam. Maar zo ver zijn we nog niet.
Heb je een bot voor de Belgische markt ontwikkeld? Geef ons een seintje op redactie apenstaartje creativeskills puntje be of via Facebook Messenger: m.me/creativeskills en wie weet schrijven we er wel een stuk over. Je kan de ontwikkeling van de Creativeskills bot volgen via de Creativeskills Instagram feed.
Op zoek naar een Conversational Designer, Conversation UI Designer, Conversational UX Designer, Voice User Interface Designer (VUI) of Natural User Interface Designer (NUI)? Aangezien Creativeskills.be zich richt op vacatures in de creatieve industrie, is dit de ideale plek om zulk talent te vinden. Vele UI Designers zullen zich deze titel nog niet aanmeten, maar iedere UI Designer met honger om bij te leren zou deze taak moeten aan kunnen.