1. Project 5 IBM® Bluemix™
‘CF Help Me’
Team 9
Design Lead, Julia Rickles
Presentation Lead, Tianjie Li
Research Lead, Urvashi Gupta
>_
Intelligent Personalized Accurate Familiar
3. Jane’s Experience as a New User of the CF-CLI
1.
Jane opens CF-CLI
for the first time
2.
Jane tries a known
command.
3.
Jane’s command
fails.
4.
Jane searches on
Google for a solution
over Cloud Foundry
Docs.
5.
Jane types the
correct help
command & gets a
list of everything.
4. PAIN POINTS of Jane’s Experience
! ! !
1.
Jane opens CF-CLI
for the first time
2.
Jane tried a known
command.
3.
Jane’s command
fails.
4.
Jane searches on
Google for a solution
over Cloud Foundry
Docs.
5.
Jane types the
correct help
command & gets a
list of everything.
5. Pain Point 1 Unknown Commands
PAIN POINTS OF JANES NUX OF THE CF-CLI
Problem
In Janes first experience with the CF-CLI, Jane
doesn’t know the exact command lines even
for pulling up the help list.
Supporting Insights
-“The biggest problems with the command line is
that you don’t know how to proceed.”
(G.Soni, Developer at Microsoft; Interviewee)
-“The question of ‘What’s next?’ comes often”
(A.Wazalwar, CS student at IU; Interviewee)
-“Unless you know the commands, you are kind
of lost.”
(A.Wazalwar, CS student at IU; Interviewee)
2.
Jane tried a known
command.
!
6. Pain Point 2 Searching for Answers
PAIN POINTS OF JANES NUX OF THE CF-CLI
Problem
When Jane needs help, she goes to Google. Finding
what she wants is possible, but it takes time…
often 2-5 minutes to locate a solution or 20+ minutes
for a response on a forum.
Supporting Insights
-“It is easier to search on Google than to look at the
documentation and figure it out.”
(G.Soni, Developer at Microsoft; Interviewee)
-“Having to Google things to search for answers to
questions, examples frustrates me.”
(Anonymous, CS student at IU; online survey respondent)
4.
Jane searches on
Google for a solution
over Cloud Foundry
Docs.
!
7. PAIN POINTS OF JANES NUX OF THE CF-CLI
Problem
After finding the appropriate command, Jane finds
the help list to be too long. A problem across all
CLIs.
Supporting Insights
“All interfaces have some help options but get-member
function (in Powershell) is what i really like.
….you pass an object to it and it tells you exactly
what can be done on it.”
(G.Soni, Developer at Microsoft; Interviewee)
“More explicit next steps for solving errors are too
few and far between”
(Anonymous, CS student at IU; online survey respondent)
5.
Jane types the
correct help
command & gets a
list of everything.
!
Pain Point 3 Help is Not So Helpful
9. CORE
Design Core
Provide contextually personalized help to each
developer by utilizing IBM’s trusted resources.
10. CONCEPT
INTRODUCING
‘CF Help Me’
A new help command that’s just for you
This command will provide contextually
personalized help to each developer by
utilizing IBM’s trusted resources.
11. CONCEPT How it Works
Everything
‘CF Help’ current scenario
When a user enters ‘cf help’ they are
presented with a list of every
possible command.
The list remains constant, regardless
of which stage in the code the help-command
is used at.
12. CONCEPT How it Works
‘CF Help Me’
When a user enters ‘cf help me’
they are presented with
a list of personalized
recommendations for you that
only get better with time.
There are for you when you need
a hand. Prioritized and accurate.
From your trusted old friend, IBM.
Commands you’ve
used (your history) Commands relevant
to your current
situation
This is based on previous
commands you’ve used in this
session and sourced from:
- other CF-CLI users with
similar workflows
- popular answers on
forums
Commands relevant
to your job, ie. the
type of developer you
are.
Your top ‘Cf help me’ results
13. CONCEPT How it Works
‘CF Help Me Find’
Hit the nail on the head.
If your ‘cf help me’ query is not
specific enough for you, we will
help you filter the results to find
exactly what you’re looking for.
Just type:
‘cf help me find _____’
Your ‘Cf help me find____’ results
15. Step 1 - Jane logs in and sees a welcome message
When Jane logs into the new CF-CLI,
she notices that there is a welcome
message in a straightforward and
friendly tone which makes her feel
confident and curious. She also notices
that it tells her to type ‘cf help me’ to
get started.
Research Insights -
“If i have to give a personality to
my CLi, I would like it to be
intelligent and not very casual”
(A.Wazalwar, CS student at IU; Interviewee)
16. Step 2 - Jane uses cf help me and the entire help list is displayed
Jane tries ‘cf-help me’ and it lists all the
available commands.
When the developers first use CF-CLI, it
will offer all the help resources as a full
list. But as time passes by and our
system gets to know them, it will
provide relevant help based on the
context, user’s information and online
forums.
Yeah! That’s what I
wanted!
This looks
interesting… let
me give it a try
17. Step 3 - Jane uses cf help me and the entire help list is displayed
Jane feels a little overwhelmed by the
huge list, but she notices that there’s a
hint that says she can narrow down the
list by using “cf help me find...”.
The purpose of ‘ cf help me find’ is to
offer a manual way for developers to
refine their help list.
Yeah! That’s what I
wanted!
The list is too
long! Oh, there’s a
way to filter it ...
18. Step 4 - Jane filters the list using cf help me find...
Jane gets excited about this command
line as she had never seen this before.
She types ‘cf help me find create new
app’ and receives a much more concise
list suited for her need.
Yeah! That’s what I
wanted!
That’s what
I wanted!
19. Step 5 - Jane becomes comfortable using cf help me
Jane really likes how ‘CF help me’ is
there for her whenever she gets stuck.
As she uses it more and more, she finds
the help content becomes more specific
and relevant.
Yeah! That’s what I
wanted!
This is like asking a
friend for exactly
what i want!
20. We want We don’t want
To help developers to figure out what’s next.
“minute operations like clear screen, scroll back,
forward etc are implemented differently on different
platforms.. minute differences but are quite annoying to
keep note of.”
(Anonymous, CS student at IU; online survey
respondent)
To offer help based on personal needs and
context
To offer help only when asked for
“Suggestions are really helpful to have but too many
suggestions will become annoying”
(A.Wazalwar, CS student at IU; Interviewee)
To constrain developers & tell them what to do
“I don’t like auto-complete or auto-correct on my
iphone. It annoys me when it corrects the word for me
without giving asking me ”
(A.Wazalwar, CS student at IU; Interviewee)
To change the look and feel of CLIs
“Developers like the look of CLI and they don’t like to
change it. It has a nerdy look to it and we love it.”
(A.Wazalwar, CS student at IU; Interviewee)
IN SUMMARY
21. IMPLEMENTATION
How to Make ‘cf help me’
a Reality
Strategies for: onboarding users, building a database of
accurate results, and developing a tone to support retention
22. IMPLEMENTATION
Onboarding users
The first step to getting users to utilize this feature is to help them understand that it is available.
Our Recommendation Display a message about ‘CF Help Me’ as part of the greeting when a user logs on to the CF-CLI.
Additionally, our research informed us that many developers have different roles, one person may
work specifically on mobile, another might be in a QA role or someone might be a system
administrator. ‘CF Help Me’ can give better results if it understands who you are.
Our Recommendation IBM can collect the role of each user when they register for Bluemix. This should also allow for
hybrid roles.
23. Building a Database of Accurate Results
IBM will need to build an algorithm so that ‘CF Help Me’ can generate the most personalized,
situational and accurate recommendations for each user.
Our Recommendations
Base the algorithm’s results on:
-Job role of the user
-Their current situation (context; intent of the code; previous commands used in session)
-Their entire history on CF-CLI
-Results from forums, such as Stack Overflow
-Other users who have entered a similar sequence of commands
The results should:
- Display in order of popularity and importance
For this algorithm to work, it should always be learning and changing
IMPLEMENTATION
24. IMPLEMENTATION
Developing a Tone to Support Retention
When we asked computer scientists how they would describe IBM, they said the following: “trusted,
veteran, old guards of engineering, smart tools for smart people, not for lay people, “experts expect
expertise”, functional, reliable.”
Our Recommendation The tone of the CF-CLI should be based on these adjectives. A friendly and familiar tone, from
the experts at IBM. Use words like “us” and “we” to personify the company & add impact of mass (not “me” or “I”)
We are creating a help function. Users call for help when they’re feeling lost
Our Recommendation The tone should be straightforward in a user’s moment of need. Humor can be distracting, so
let’s save the jokes for later.
Developers do like nerd culture and jokes, but the novelty wears off
Our Recommendation IBM’s message will be stronger, more trustworthy, and sustainable if it leverages the voice of
IBM, not Yoda, for example.
25. Thank you
Team 9
Julia Rickles , Tianjie Li, Urvashi Gupta