Designing for Trust


The Role of Trust in Algorithm Explainability

Supporting conversations for memory recall

Designing for Trust explores what level of information quality would users seek to trust the decision of a recommendation algorithm through design sprints. Please check back later until May 2018 for more design sprints and initial research findings of my thesis.

This work is currently in-progress.

A mixed reality system that supports conversation and memory recall to help aging adults connect with others and preserve memories in the moment.

A mixed reality system that supports conversation and memory recall, to help aging adults connect with others and preserve memories in the moment.

A mixed reality system that supports conversation and memory recall,  to help aging adults connect with others and preserve memories in the moment.

Artifact #1 Source Code:
Artifact #2 Source Code: TBD
Artifact #3 Source Code: TBD
Relevant Courses: Programming for Online Prototyping, Understanding Game Engines
Thesis Advisors: Dan Lockton, Daragh Byrne 
Expected Publication: May 2018

While researching trust on algorithms, one of the personal goals that I also want to achieve is to not only design but also learn how to develop working digital prototypes to test with users. To do this, I am learning:

  1. how to prototype zero UIs and web services with Ruby and Sinatra
  2. how to prototype augmented reality experiences with Unity.

By October 2017, I am exploring what level of information quality and other agent characteristics such as personality, etiquette, and multimedia use through a working prototype of a Facebook Messenger bot: Botae.

WIP Artifact #1: Botae

Botae is a Messenger bot informs its users' on their trust level with other bots by walking them through a food recommendation scenario. It finds the best places for food/coffee through using users' location and promises user to find the most popular places among their Facebook friends by accessing their Facebook data.

What can it do for users?

Designing for the Expectation Gap

Currently, Botae provides a user value similar to As users go through the flow of getting recommendations for nearby places by providing their location, it aims to establish an initial trust with users by working as they expected. Then it aims to get users' consent of accessing their Facebook data by asking them to click a pseudo-authorization button. After users 'authorize', it shows its real intention, which is showing users how easily they give access to their data.


What can it do for the researcher?

Botae is mainly a bot conversation research tool. As its replies are all tied to numerous conversation flows that have slightly different content, it enables to test different dimensions of content such as personality, etiquette, use of other media such as GIFs, emojis, photos etc. for gaining user trust in relation to persuasive design. 

As Botae also keeps a log of user actions, it also becomes a point of data collection. It provides insights about how many participants used the system and what is the level of trust that they had with the system. In the current scenario, the level of trust is measured as below.

High Trust: Users approve access to their location and their FB data.
Medium Trust: Users only give access to their FB data.
Low Trust: Users only give access to their location data.
Not Trusted: Users do not give access any of their data.

Changing Personalities, Faces as Words

By default, Botae is smart, somehow poker-face, caring. Its most important characteristic is being poker-faced, a little mysterious until it builds up trust with its user. It is task-driven, but also have a sense of humor, especially when it things go as not planned.

As it can't understand many general commands that people may expect from a general bot such as Alexa or Siri, it is forgiving in a way that it will inform the user what it can do. No matter how people interact with it, it is polite.


How does it work?

Botae uses Facebook Messenger as a platform. It is powered by several Ruby gems and a PostgreSQL database that are hosted on Heroku. Its technology stack as follows: 

  • Sinatra gem as the main web app structure.
  • Facebook Messenger API, Graph API through Facebook-Messenger gem and Rubotnik Boilerplate. 
  • Facebook Wit.AI NLP for understanding human natural language, and turning user intentions into actionable entities.
  • GMaps API for location inquiries through httparty and json gems.
  • Puma for a basic web server.
  • PostgreSQL database through PG and ActiveRecord gems.
  • Heroku as hosting the app, and other back-end actions. 


In its first version, Botae consists of two flows: the main flow and a persuasion flow. If the user needs more explanation before entering the main flow to try its "functions", it provides a separate 'persuasion' flow, that gives information on different levels. In the next iteration, I will combine two flows into one, which users can get answers about how the system works.


Data Structure

I am still working on reading all of the bot responses and storing users information and replies in a PostgreSQL database planned as below.


Initial User/Participant Reactions

While I was developing Botae, I was able to test with my close friends and save their initial reactions to specific patterns, such as bouncing back their profile information, or not replying them in a way that they expect. For example, when I bounced back their public profile data, many of my friends shocked and questioned the intention of the bot.

Learnings (so far)

While I am developing Botae, so far I learned:

  • Although Facebook Messenger enables users to overcome the initial onboarding for a new experience, users try to end the conversation quickly, especially if the chatbot is task-oriented. 
  • Ending conversation as soon as possible is a similar effect when PC users that blindly click "next, next, next, submit" buttons while installing a new software. This inspired me to make the conversation intentionally long.
  • When things go wrong in the deployment, Heroku's console and Ruby's print functions are the best ways to debug. 
  • If I got stuck on technical/programming problems,  StackOverflow, GitHub search are the best places, but also getting hands-on help is a very precious opportunity.

Next Steps for Botae

As I am still working on Botae, I am planning to improve these areas:

  • Working on storing user records in the database and serving flows to users, and starting more structured tests.
  • Updating and framing test flows more concisely in terms of their content. For example, flows to test language, flows to test personality, flows to test the use of media usage, flows to test emoji's etc.
  • Improving the language, and revisit the 'trust' thread to make it more impactful, such as bouncing back more data to users, that this bot can read their personal data, but it is not designed to use that personal data.
  • Revisiting my location suggestion logic and make it working with real data.
  • Applying for Facebook App Review and IRB.

© 2017 Meriç Dağlı