Hi Bill,
Today I had a meeting with some designers of JBoss and they suggested me to take a step
back and try to understand the structure of Keycloak and goals of the people who will use
it before diving into the graphic design. Based on this, I generated some materials that I
would like to validate with you:
Project definition
Keycloak is a central login service for one or more web applications and web services. It
also is a central place to manage what a logged in user is allowed to do and what
permissions the user has. It is a cloud service that allows administrators to secure their
web applications.
Personas [1]
Jared Rubin [2]
Jared is an administrator of IT systems with bachelor in technical degree. He usually
works on more than one project and his goal is to ensure that SSO, security, and other
common services are working properly with his systems. He works to upgrade systems and
make configuration changes, as well in application deployments. He often uses the command
line, more than GUI.
Linda Johnson [3]
Linda is a regular user of the internet. She access various portals and services and
eventually sign up to new services that she finds interesting. Although she is familiar
with the process of creating new accounts and logging in, she does not understand
technical terms and is often in trouble when she needs to set up something on her
computer. She is familiar with intranets and services like Facebook and Google.
Scenarios [4]
The company where Jared works on is creating a new web application. They asked Jared to
take care of the login part of the app. One of the requirements is to allow social login
via Facebook, Twitter and Google. Jared hear good things about Keycloak and decided that
this is a good opportunity to try the service. He access the Keycloak homepage and easily
understands what the solution does and the benefits of using it. As he is interested, he
jumps to the documentation to see how he can implement it on his new app. After reading
some documents, Jared goes to the registration page and create an account. After that, he
access the login page and log in the SaaS. He creates a realm and some users to test the
service. He also creates an application and sets up which users have access to some
restricted areas of the app. He finds the configuration process very easy and access his
application to test it.
Linda heard about an interesting app to mage her to dos. She access the app, reads about
it and click Sign in. She sees that she can login via Facebook and clicks the button. She
allows the service to use Facebook login but does not want to share this information on
her profile. After two clicks she is signed in the application.
Site Map
Based on the tasks you listed in JIRA and on the scenarios above, I created a site map
with the structure of the pages. I added a homepage for the SaaS, which I think we can put
some information about the project, as the scenario describes. A good benchmark for this
is the Open Shift homepage.
Sorry for the long email but I needed to check if my understanding of the project is
right. So here are some points that I would like to validate with you:
1) Do you think Jared and Linda are appropriate to represent the public that we want to
use the service? What can be changed?
2) Do you think the scenarios represent the goals that people will try to achieve in the
context of this first release? Improvements?
3) What do you think about a homepage to introduce the users to the service?
4) Is that site map correct?
Thanks,
Gabriel
-----------------
[1] Personas represent a group of users who we expect to use the product. We give him a
name and some characteristics to create empathy among team members and think of him as a
real person.
[2] This short description was based on one of the personas developed for JBoss, Jared
Rubin. The whole set of JBoss personas can be seen here:
https://community.jboss.org/wiki/JBossPersonas
[3] I tried to come up with this one to represent the users of the realm login.
[4] Scenarios are narratives that describe a persona interacting with the system from the
user's point of view.