An Inconsistent User Experience in iOS

When it comes to user experience, I’m a big fan of consistent design, which gives users confidence that their actions will lead to an expected outcome. When users know what to expect, they are open to experimentations; thay are not afraid to explore wider set of features, and try out new capabilities.

When there’s no consistency, when the same function gets different names or labels, or when it shows in different places, then users get confused. And when users get confused, they’re reluctant to try anything that’s not within their immediate need. Here’s an example for such confusion, which I’ve just experienced on my iPhone, when trying to share an image with a friend.

That’s the flow I went through:

  • Took a screenshot on my iPhone 
  • Went to the iOS photos app
  • Selected the screenshot I’ve just taken
  • Clicked the share icon
  • Selected to share via Messages
  • Selected the friend I wanted to share the screenshot with
  • Clicked send

Or have I…? when I clicked what I thought was send, the Messages’ screen closed, leaving me wondering if the image was actually sent. I repeated the flow, and just before clicking the “send” button1 paused to read its label. Hmm… it says “cancel”. That’s weird. I’m pretty sure it should say “send”. But what made me think that that’s where the “send” button is? was there another app that primed me with this expectation?

There is, off course. It’s called Mail.

In Mail, the send button dominates the top-right corner of the screen. Now, since I send too many emails every day, way more than I share photos, my brain expect the “send” button, in whatever app I’m in, to show at the top-right.

ios-inconsistency-ux.png

Figure 1: To the left is the Messages. On the right – the Mail app. Note the different buttons on the top-right corner of each of those apps.

I love those moment of self awareness, which allow me to test some of my own assumptions…

Footnotes:

1

It’s a little hard for me to call it button, because nothing make it stand out from its background, like you would have expect a button. Is it possible that my brains is still wired in the pseudo physical, skeuomorphism, design…?

Self User Testing

OK, so I’m retracting from agreeing that descriptions are useless. I just had an experience that proved that wrong.

Well, some context will be helpful… let me step back and explain. Yesterday we had a heated discussion in the team about the usefulness of showing a description of a post inside a recommendation tile in our chatbot. Take a look at the screenshot bellow. This is how we currently display recommendations in our Facebook Messenger bot:

fb-chatbot-ctas.PNG

Each recommendation comes with a set of metadata: thumbnail, title, source, and description. The bot.outbrain.com is an ugly appendage forced by Facebook. Then there are the actions you can take on a recommendation. Clicking on the thumbnail will open the article in a webview. Summary will return an auto generated summary1, stash will save it for later, and #{topic} will return more recommendations from the same topic.

You’ll notice that the description in this example (taken from the article page) isn’t great. It’s trimmed, and do little to explain what this story is about. Essentially, it doesn’t help me taking a decision to read or pass on this recommendation.

One of the ideas we came up with is replacing the description with the reason the user see a specific recommendation. We call this feature “Amplify the WHY”. So in the example the image above,  I’m probably seeing this story because I read a lot about science and astronomy. So the “WHY” in this case might read something like “because you’re interested in astronomy”.

It would have been nice to show both description and the “WHY”, but we have limited real-estate to work in, and need to choose one of them.

My team was adamant that we should drop the description and go with the “WHY”. At first, I was reluctant to agree. “I want to see data first”, I said. “Let’s run AB testing”. “Well, we don’t have users yet, so AB testing isn’t relevant at that point. Also, it is clear that ‘amplifying the WHY’ is so much better than showing a crappy description that we should take this as the baseline” was the reply I got. How can you argue with such compelling reasoning…

Now, circling back to my opening, I’m taking my agreement back.

I woke up at 7am today and wanted to read about the results of the debate yesterday night. I didn’t know where I can find this information, quickly and succinctly2. I thought about the CNN chatbot, but CNN’s top stories are posted only at about 9am. Then I figure, let’s try to see if I can find something relevant in our bot.

I typed “hi”, and (to my surprise) the first story I got was right on point –

fb-chatbot-election-debate.PNG

Then I browsed a little more, and suddenly took notice that in any recommendation, which has a relevant title, I skim the description for more context. I also realized that I don’t look for completeness or quality; just few more words that will give better idea what the article is about.

“WHY” I get a recommendation, and why it’s important to me wasn’t relevant in the context I were in – checking the news, the objective news, not that that that’s in my “bubble”.

Summary wasn’t relevant in that usecases either, because much like clicking to read the story, it means “choosing” and focusing on one article, whereas I was still at the decision making stage.

So, what I’ve learned from observing myself (and in that rare instance, I acted as a user, rather than a stakeholder) is that description does have value, and in certain usecased, such as browsing the news, I need objective hooks. Description, in that case, and not personalized reason, were more relevant.

Definitely not representative experience, but one that makes me rethink what should be the baseline. And whatever the baseline is, we should put it to test.

Footnotes:

1

Works pretty neatly. Here’s the summary for this article in the picture: “On Tuesday, thousands of people stampeded into a lecture hall in Guadalajara, Mexico, to hear SpaceX CEO Elon Musk talk about how he wants to colonize Mars. Another question is how — and if — Musk plans to prevent Earth microbes from contaminating Mars, and Mars microbes (if there are any) from contaminating Earth.”

2

I don’t go to sites to look for news anymore, and rarly google for news. And since the extinction of Zite, I now realize, I have no idea where I get my news from…

Google Allo – First Impression

Yesterday I installed the new Google Allo and gave it a first try. My team at Outbrain is responsible building chatbot CMS for publishers. So I was interested to learn about some of the decision made in Allo, and compare them with what we’ve learned over the last 6 month powering the CNN bots on Facebook Messenger and Kik.

User on-boarding

I downloaded the app, installed it, but then deleted it in the middle of the on-boarding. Why? because Google are being overly transparent. Why do they make such a point that they are going to send my contact list to their cloud now and then? there must be some evil reason for that…

Allo-onboarding-1.png

So, I deleted the app. But then I thought to myself, “wait, you’re using Google Contacts, and your contacts are already syncing with google. Not periodically, but all the time, in real-time…” I felt stupid, downloaded the app again and completed the on-boarding. And I won’t say I felt better when the first few prompts from Allo kept pushing on that sharing thing, as if trying to tell me that I’ll be better not use it, if I want keeping private anything

Allo-onboarding-2.PNG

To sum things up, the on-boarding experience could have done more to instill trust and make me more comfortable. Right now I’m not, and although he is a bit more of a privacy snob than I am, Snowden already made a point about the lack of privacy in Allo.

Content experience

  • Typed “top stories” – I got relatively fresh stories, but definitely not important ones.
  • They put the publish time. Seeing that a story published 37 minutes ago give confidence that they deliver news as they happen.
  • The stories carousel is clean and simple, but I would have liked to be able to take action on a specific story. This is possible in Facebook Messenger using the ‘Structured Message’ template. Articles’ recommendations in Allo feel temporary, since you can’t do much to engage with them other than read when you see them. Adding an option to see a summary of an article, save it for later or get more similar stories might give users a better sense of control over the experience and the stories they are seeing.
  • Google seems to think of Allo as a new interface for search, which makes sense for Google, but make Allo feels like a browser. When searching for something, the first quick reply is “Google results”, which once tapped opens the browser and search for your input. I didn’t like that it takes me out of the app.
  • The content in Allo doesn’t feel native. Rather, it feels like a patch, a cut and paste from the browser. Again, makes me feel that Allo is just another browser.

Chat-flow and experience

  • There are no dead ends. Even when chatting with friends, you always have quick replies available. That’s great.
  • There are ‘like’ and ‘dislike’ emoji’s at the last two positions of every set of quick replies. It didn’t make sense to me. As a user, I don’t know what they mean, hence probably won’t use them.

AI

  • That’s the part that surprised me the most. Allo tries to be smart. It tries as much as it can to be non scriptive. Say “hi” and every time it will answer with something different. The first time I typed “hi”, I got the entry point experience, namely the option that I have to interact with the bot. Later, when I wanted to get to the same entry point, I typed “hi” again. This time, though, Allo tried to get into conversation with me. After few more greeting inputs that got me no where, I gave up and typed what I was looking for.
  • At that early stage, when users aren’t educated enough on the conversational design, and are accustomed to more deterministic experiences, trying to be smart is wrong. It’s like the early days of the iPhone – the skeuomorphism design helped users get accustomed to use it, through the icons that imitated physical objects. Once they got educated, more than 8 years latter, the flat design was introduced.

To sum things up, my overall impression is ahh. Yeah, it’s cool to play with Allo and see how well it handles natural language, but it’s no different than google search. In fact, it feels too much like google search, which is bit outdated. But than again, I’m writing this post with Emacs…

Hostile Lead Generation

In the last few days I’ve been getting daily emails from TWC, promoting their “Time Warner Cable Business Class” service. I don’t know anything about this service, and since I don’t run a business, its irrelevant to me. 

Until today I simply deleted those emails, but today I got annoyed, and made an effort to indicate it by unsubscribing from thier mailing list. However, the unsubscribe flow made me think that TWC isn’t really deterred by requests to unsubscribe. In fact, it seems it’s using it as another user acquisition channel.
And I think I cracked the protocol of this funnel:

Marketing emails

Send daily emails to users whose emails we get buy.
img

Keep sending those emails until the user respond, by clicking on the unsubscribe link, or selecting the gmail “report spam & unsubscribe” button.
img

Clean user information through an unsubscribe form

When a user clicks the unsubscribe link in the email, we have a precious opportunity to make sure the information we have about this user is correct.

img

When a user submit the unsubscribe form, we should update our database with the new information.

User is redirected to unsubscribe form

After we get a successful respond from our servers, redirect the user to the TWC homepage.

img

We assume (or hope) that when the user submit the form, she moves focus to another tab, rather than closing the one she’ve submitted the form in. If this assumption holds, then the user will have the TWC homepage waiting for her, and she’ll get to it in the near future.

User visit the TWC homepage

At some point, as we assumed, the user zap through open tabs and open the one that displays the TWC homepage. Great, we have a new lead! The user is visiting our site, meaning she’s interested in our service.

img

Hurry up to drop a cookie on her, and look for whatever information we can get on that cookie. Wait, we have her full name and email address!

Retarget potential leads

Let’s make sure we slice the bread while it’s still fresh, and find that user wherever she browse. This way we can nudge her just a little more, and try to get her to come back to our site and take another step toward conversion.

img

And wait, we have her email! that’s gold…

Well, no bad feelings for TWC. It’s just an amusing example of the absurdity of how user acquisition works.

Revising My Approach To Drafts

a blog post is like a news story about yourself

This was an insightful commnet made by Nathan, a member of my Blog Writing  Meetup. He made this remark in the context of writing style and voice – he would like to reflect his personality in his posts, rather than simply report on facts. But thinking about this insight from another angle might help me understand why I accumulate so many unfinished drafts, and why I rarely go back to them.

News vs. Blog post

News (n): newly received or noteworthy information, especially about recent or important events

I won’t go into explaining news nor will I try to redifine it. I’ll simply assume that if you’re reading this post, you can tell a news article when you see one1.

The thing about news is that it’s ephermal. No one will care about this Apple iPhone 7 release date a year from now; or as we joke in my team – chatbots are so April 2016….

Going back to Nathan’s comment, I think of a blog post as coverage of one’s thoughts and ideas, a translation of what goes in one’s mind. And so, writing a blog post is really like writing a news story, covering what’s going on in the writer’s head2. And since thoughts and ideas come and go, not reporting on them in time (obviously, reporting on those worth noting), makes them stale, irrelevant and less interesting. Mind you, though, that they become so in the writer’s mind, and not necesserily in the readers’3.

My Drafts Graveyard

It now makes sense why I accumulate tons of drafts, but don’t go back to edit and publish any of them. It’s not that they’re not good, or not interesting, but that they’re not relevant to me anymore. I lost interest, as new thoughts are gushing through my head.

When I started this blog, I implemented a writing hack I thought was useful (I still do) – keeping a draft section in my blog. Every post I start goes into this section, which suppose to help me capture ideas and serve as a springboard for future posts. In reality, though, it’s less a springboard and more graveyard of half backed posts.

Fight Back

The formulation of the problem is often more essential than its solution

― Albert Einstein

So now that I understand why I never go back to rework on my drafts, it might be easier to find ways around it. My current approach is to use the “burn the bridges” strategy 4, inspired by Sacha Chua’s “Clear out your drafts by scheduling Minimum Viable Posts” post.

The idea is to write a first draft that captures just enough of a thought to make it understandable. Then, instead of putting it aside and plan to get back to work on it (which rarely happens), I would schedule this post to be published in a day or two. Now, I know it’s going to go public and I have no way around it5; I can either iterate on the draft or let it be. But draft it won’t be forever.

I use this new strategy with this post, with that very paragraph, which I’m writing during the grace period before the post published. Next thing I’m thinking to go through my drafts, and start scheduling few of them, reminiscence of past time thoughts’ news…

 

 


  1. To further your understanding of news, I recommend The News: A User’s Manual, by Alain De Botton 
  2. I’m not going into the differences of writing styles between news articles and blog posts. 
  3. The user will not know, of course about worthy thoughts that have been discarded or laying as uncompleted drafts, craving to be published some day… 
  4.  “When your army has crossed the border, you should burn your boats and bridges, in order to make it clear to everybody that you have no hankering after home.” -Sun Tzu, The Art of War 
  5. Of course, I can cancel the scheduling, but the idea is to let go of that option…