Tanzu GemFire Developer Guides
Tanzu GemFire is an in-memory data grid powered by Apache Geode. It's a distributed, in-memory, key-value store that performs read and write operations at blazingly fast speeds. It offers highly available parallel message queues, continuous availability, and an event-driven architecture you can scale dynamically, with no downtime.
CONTEXT
Our goal for Tanzu GemFire was to make it easy for Developers to “get started” building apps with Tanzu GemFire and Spring Boot.
We wanted to radiate the understanding of the developer experience with our team both internally (the product team) and externally (e.g. customer support engineers).
MY ROLE
As the sole Product Designer on this team, it was my job to help the team understand our users, empathize with them, and design solutions that would improve their experience with Tanzu GemFire.
I was responsible for facilitating and organizing User Research, team workshops, experiments, solutions, user tests and final designs/delivery.
CATEGORY
Product Design, UI/UX, Technical Writing, Developer Experience
Overall timeline was about two years.
PROJECT GOALS
01
Identify existing projects intended to improve the Developer Experience: tools, APIs, docs, examples, Getting Started guides.
02
Radiate understanding of the developer experience with Tanzu GemFire internally (the product team) and externally (e.g. customer support engineers).
03
Understand the current pain points of the Developer experience with Tanzu GemFire.
OUR APPROACH
DISCOVERY & FRAMING KICKOFF
Agenda (2 Days):
Kickoff Results
SCOPE
OUT OF SCOPE
OVERALL GOALS
ASSUMPTIONS
RISKS
INTERVIEWS & OBSERVATIONS
9 Interviews
2 Observations
PERSONAS
PRIMARY PERSONA
36
Los Angeles, CA
App Developer
Snag Ticket Events, LLC
EXPERIENCE
Has been using Spring for more than 2 years
Experienced Java Developer
Familiar with PCF, Cloud Native
BEHAVIORS
Learns new things by Googling for examples
Uses XP practices (TDD, CI/CD, pairing, etc.)
NEEDS & GOALS
SECONDARY PERSONA
36
Los Angeles, CA
App Developer
VMware
EXPERIENCE
Helps customers to the PCF Platform.
Frequently travels to customers
NEEDS & GOALS
SECONDARY PERSONA
36
Los Angeles, CA
App Developer
Snag Ticket Events, LLC
EXPERIENCE
Attended one day workshop on GemFire
Is part of the first team to use GemFire
Comfortable with Spring Boot
Also may use other languages/dev environments - C++ or NodeJS
NEEDS & GOALS
USER RESEARCH PLAN
Key Goals
Understand what level of familiarity developers have with caching and also with Tanzu GemFire.
Understand how developers expect to learn how to use Tanzu GemFire.
Participants
3 video conferences
HAVE NOT used standalone GemFire, are new to Tanzu GemFire.
Spring Developers at Stubhub
Schedule
Introduction
Background
Questions
Introduction
We work for VMware and we’re working on [understanding how developers learn about and use GemFire].
We’re talking with you today to understand your experience in order to improve the way that developers get started with GemFire.
There are no right or wrong questions or answers — we’re testing the product, not you!
Please think out loud and provide honest feedback.
To make sure we capture everything, we’ll be recording your screen and the conversation. Is that alright with you?
Any questions before we begin?
Background
Let’s start with introductions (introduce team and user introduces themselves).
Tell us a bit about yourself. (Assume we know nothing about your role.)
What languages or frameworks have you used in the past?
Do you practice Test Driven Development?
How long have you been using Spring?
How did you end up choosing to use Spring?
What kind of Spring projects / parts of Spring have you used?
What kinds of applications have you used these with?
Question Categories:
Research Insights
Google is the starting point for research.
Searching for ‘Getting Started with X in 15 min’ or ‘in 5 easy steps’.
Users have a strong preference for samples and use cases, because it is helpful to see how others have solved a similar problem.
App developers live in their IDE and Chrome
Most users are introduced to GemFire, they don’t just “stumble” upon it and decide to use it.
Developer Questions & Pain Points
How do I know the right tools for developing on my local machine?
Can I find examples to work from? (build, run, cut & paste)
How do I debug my app locally? After my app works locally, can I push my app to PCF, and it just works?
How do I visualize and interact with the data?
Solution Ideation
Solution Prioritization
Tanzu GemFire was previously known as Pivotal Cloud Cache or "PCC."
Defining User Workflows
First Iterations
We tested both the content and the format with somes customer Developers and internal Developers.
Feedback
“Oh wow that was easy!”
“As a developer I’m skipping environment setup and going straight to getting started”
“It ran, but I don’t know what it did”
“Running code out of the box is really nice”
We iterated continuously between versions of these guides and the website until we felt we were getting to the outcome we were driving toward: Developers getting started with Tanzu GemFire within 15 minutes.
Today's Solution
We eventually discovered that VMware Tanzu had started a site called the "Tanzu Developer Center," and felt it made sense for our guides to exist there to provide Developers with a single source of truth. We created a proposal for what the Developer Center could become in the future.
You can view the latest Tanzu GemFire guides on the Tanzu Developer Center today. We are consistently adding more guides, speaking with our field teams to collaborate, and collecting feedback as well as Google analytics. We've even helped other Tanzu Data Services add some guides onto the Developer Center!
Through Google analytics we can see that a majority of our customers return to the site time and again, specifically to the Getting Started guides. We have had positive feedback from customers and the field on their increased satisfaction with ease of use and their appreciation for this new example based documentation.
Selected Works
Vodafone 2030Innovation, Next Generation Design
XYLAProject type
EllioProduct Design, Branding
Ford Commercial SolutionsProduct Design, UI/UX
Tanzu GemFire Developer GuidesUI/UX, Product Design, Technical Writing