foreign
[Music]
our team is about as a growing team a
bit over 60 people now and they're
six of us who make up the design and
Communications team
we all work really closely with our devs
and have weekly meetings to facilitate
remote collaboration
on CK apps and protocols
and we used design to align teammates
from various technical backgrounds
creating this common understanding
internally allows us to communicate the
value of our open source protocols and
apps to the ecosystem so that you our
community Can Dream up and build your
own ZK products when I started working
with PSE designing public goods it took
me some time to wrap my head around the
idea of not designing for profit
because almost all of my previous design
experience involved aligning ux strategy
with business goals
it was a big mental shift to move from
designing to increase sales or signups
to designing to attract participants
who can use what we have built to build
their own thing on my team designers
developers writers product owners we're
all using design as a tool to make the
unfamiliar familiar
in this presentation I'll start by
addressing the value of Designing for
privacy
share some design challenges highlight a
few ZK apps
discuss the ways design can be used to
facilitate conversation and touch on
mental models the PSE we're building
privacy and anonymity infrastructure
using zero knowledge proofs so that you
can choose how much of your identity you
want to expose when going about
interacting with others on the ethereum
blockchain
put simply a zero knowledge or ZK proof
is a method by which one party can prove
to another party that something is true
without revealing anything besides the
fact that it is true
we call our zero knowledge protocols and
apps public goods because they're open
source and free for anyone to build with
or use
I believe that we need to design for
privacy so that we can evolve beyond our
current challenges
understand our material more deeply
involve more people as collaborative
co-creative participants and in turn
fortify privacy Solutions with greater
anonymity sets
so yes privacy resources are difficult
to opt into
true user experience for these apps has
a lot of room for improvement
sure the material is abstract and
complex
and to some of us
zero knowledge feels like
incomprehensible witchcraft
but design can help people from any
technical background make sense of the
things that they don't understand
the only way to create better more
usable interfaces is by exploring and
iterating our work
we're only at the very beginning there
are many design Cycles in our future
which to me is super exciting
the design process is a Hands-On way for
anyone to learn
on my team contributors from all kinds
of backgrounds are finding alignment by
cycling through phases of Discovery
problem definition
prototyping and testing
together
when the abstract can become something
physical Concepts can sink in and
Inspire the next cycle
the more that we understand the
protocols that we're working with the
easier time we will have communicating
their value
more and more people are understanding
how our information is collected and how
our data is used to influence our
thoughts and actions but they're
apathetic
imagine if by default we had privacy and
anonymity online
If people could make an informed
decision to opt out
they wouldn't be saying
well they have all my data anyway what
can I do
instead of creating extractive
applications that use users we can
choose to design participatory
environments where people consent to how
much personal information they reveal
about themselves
and although there may not be a high
demand for zero knowledge public goods
or products yet I believe the more that
we design the more people will come to
understand the magic of ZK and want to
use it
we're still in really early stages of
research and Design
the experiences we create will become
more usable more accessible the more
cycles that we go through and the more
people that we can talk to about their
experiences
and this part's really cool to me the
better the experiences are the more
participants there will be which will
result in larger sets of anonymous
participants and increase privacy for
everyone
if this material still feels conceptual
and you're wondering what an experience
with zero knowledge would be like here's
a relevant example
say you want to anonymously share
feedback about this event with the event
organizers
but in order to do so you have to prove
that you attended the event
an app built with ZK could allow you to
prove that you did in fact attend the
event
without revealing Who You Are
giving you the opportunity to truly
share feedback anonymously
can you think of other instances where
you might want to prove that something
is true without revealing additional
personal information
a few other ones I've also heard are
speaking out against systems of power
and engaging in conversation and
discourse
so a lot of our protocols have the
potential to structure or manage
Anonymous or private environments for
these purposes
there are plenty of challenges that
arise when designing ZK apps
we like to use how might we questions to
help us explore problem spaces without
immediately jumping to Solutions
so I'd like to share some of those with
you
some of our challenges reframe does help
mightweight statements
how might we balance approachability and
transparency
an ever-present challenge that we're
facing is deciding how much information
to share in our apps and other resources
we want to be true transparent and help
curious individuals learn more about CK
products while they're using them but we
also want to avoid overwhelm and
cognitive overload
here's some screenshots from our zko
Prue a private wallet this is a browser
extension my teammate bionder came up
with these designs and I included them
because I think they're a really nice
example of progressive disclosure
where users land on the primary screen
that's on the left
and
they just see the tokens in their wallet
when they want to
get more information about a specific
token they can
click the Chevron to open up this
secondary window where you see more
information about the track transactions
and also like the full functions of that
app how might we give users the freedom
to choose how much they reveal about
themselves
because ZK apps give us Anonymous
identities it's up to us to preserve or
break the level of anonymity that we
start with
when we're Anonymous our identity is
unknown but our actions are public
Trails of actions we have taken can be
Clues to our real identities
ZK apps can expose you to the idea of
controlling how much you reveal
or when you reveal it
in one of our applications in Europe
social
um this user in this screenshot the user
is about to post
um to the feed of an anonymous social
app you can see that they have 30 rep
and you can see that before they post
um
five points are required to post
and they can choose from three different
personas
and they can also
choose on a sliding scale how much of
their rep they want to display so my
teammate chiali created this sliding
scale model for
giving people that opportunity
to decide how much
to reveal about the reputation they have
and that's like a cool way to show
people
making a decision about how they want to
appear in this group how might we craft
environments for anonymous users to
build trust with one another
a lot of people ask me why I would ever
design apps where people can be
anonymous online because they feel that
a non-environments are often hostile
um
and I would argue that anonymity can
also create places where everyone has an
equal voice
and they're not limited by potential uh
judgments that they might experience if
their identity was revealed
however an interesting way to create
trust is by creating groups where
everyone has to prove that they belong
and if they qualify to join a group they
can trust that everyone else who
qualified
um also had to go through the same
qualification process this per
um
project that we've worked on interop is
a good example of bridging reputation
from centralized applications
um
to your on-chain identity
to be able to
prove that you qualify for a certain
group with other people so in this
example the person qualifies to be a
Twitter Gold Member because they have a
certain number of followers
um and they can join
how might we represent identity in
communities of anonymous individuals
if a non-environments are not all going
to necessarily have like profile pics
and user bios uh what will the
identities look like
it's fun to think of the different ways
things could be represented
like will handles always be the same
will they change if they change how
often
could handles instead be tied to
reputation
my teammate sukino created skitter this
is a social app where
um people have the option to decide how
they want to be displayed by username by
their ens address
or saying that they're a member of a
group so you can see at the top of the
screenshot like a Tas member posted
that's someone who signed up for our
temporary Anonymous Zone downstairs so
you guys should all check it out
um
and then they were able to take their
identity from that app and use it in
skitter
and say like yeah I'm a non but I'm also
associated with this group
and another clever thing I think tsukino
came up with was
um saying a Twitter user with 500 plus
followers said XYZ
but what gets us to the point of
creating designs that address these hell
might way statements
I believe it's environments that Foster
collaboration and discovery
and processes that facilitate
conversation
as much as design is about creating
objects or interfaces that people can
interact with it's also about creating
containers
where people from different technical
backgrounds can explore ideas and find
alignment
we create containers for conversation by
frequently hosting workshops in digital
whiteboards
it's in these workshops that people from
different technical backgrounds can
develop common language and create
Bridges between their domains of
understanding
foreign
here's an example from like one of our
fig Jam files
um I am obsessed with the digital
whiteboards
um I feel like it's so cool to allow
people to support their words with
um you know markers sticky notes
shapes cursor gestures or chat bubbles
it's way more comfy spending time with
unknowns
when everyone can visualize the
discussion
and I've noticed that when a group of
people are all looking at the same thing
on you know their different screens and
wherever they are in the world it's
easier to identify misunderstandings
uh with the visual aids in this created
environment there's less room to miss
what someone said or to not understand
what they mean
we've been hosting a bunch of workshops
and so I wanted to share with you some
principles that have helped us lead
successful ones
uh we're opening our workshops to
teammates from various uh backgrounds uh
different technical backgrounds
and experience levels
we offer people multiple ways to
contribute because you need to think
about different personality types
different technical circumstances not
every Workshop should just be people
verbally
exchanging ideas with each other there
needs to be time set aside for writing
or drawing as well
um we also make sure we always have a
dedicated notes Taker and before we
synthesize results at the end of the
workshop we preserve what we had like
the workshop results because you don't
want to have one or two people
synthesize and be left with the bias of
their synthesis
for workshops that involve a lot of
people and have a tight time limit I
highly suggest collaborating with
someone else as like a co-host
um
and like time box yourselves and have a
dress rehearsal
um I encourage anyone to explore using
digital whiteboards in this way and
watch how it gets people thinking and
talking through challenges
for us we've learned a lot about some of
our protocols like zkl Peru semaphore
and unirub through these digital
whiteboard sessions
no matter how Lo-Fi visuals help us move
from abstraction to something concrete
translating a protocol into an
approachable user interface takes time
it takes time because our initial means
to understanding what a protocol can do
usually starts with documentation
this kind of writing reflects an
implementation model necessary for
development because it reflects the
technology back to the use the reader
when we begin designing we can create
other kinds of models to better
understand protocols that instead
reflect familiarity back to us
uh represented models reflect the
designer's vision
because they know some stuff about the
protocol and mental models reflect the
user's understanding
they know nothing about the protocol
most likely
um I really like this chart for
visualizing the difference it's adapted
from the book about face
there's five shapes on this scale can
you identify any of the shapes
I heard Circle
so while we might
um some of us might be able to identify
the potato
um most of us are going to identify the
circle
and it's a representation of how users
mental models take recognizable shapes
however the closer we get to the other
side of that scale the the model that
reflects technology it's a less
recognizable form or at least one that
we are probably not going to agree on
what it's called
and a really interesting aspect of this
is that developers on my team encounter
a similar Journey when they create
programmable cryptography
they start with mathematical proofs
which they abstract into simple and
familiar code
so both developers and designers on our
team are on this similar Journey
transforming abstraction into something
familiar and usable
let me give you an example of how this
plays out
back to some screenshots of unirf social
I could describe this with an
implementation model and say that uni
rep social was built with two ZK
protocols uni rep and sentma 4. and when
you register and a tester will give you
three Epoch keys and a set number of
reputation points
every Epoch to interact with other users
positive reputation points are used to
post and comment you can give positive
reputation points to content that you
like and give negative reputation points
to content that you don't like
at the end of every Epoch a user State
transition occurs where the positive and
negative reputation points are
recalculated and your epoc keys are
swapped for three new ones
that might have made sense to some of
you but for me when I first heard this
it made literally no sense at all
the language is Niche and uncommon
but I I do understand it now but it's
only because we created mental models
to understand it we could have trained
ourselves to learn the system vocabulary
but instead we came up with a new way to
describe the app by asking ourselves
questions like what does this remind me
of
what do I know that is similar to this
if we want to create usable ZK products
we cannot ask people to just get used to
a machine's language we have to put time
into deepening our understanding so that
we can create approachable applications
that mirror the familiar
so let's try this again what if I said
unirup social is a place to build
communities based on ideas rather than
identities
if you sign up for the app you get three
personas and 30 rep to interact with
other users rep is like points or
currency
it's needed to post in comment
it's also used to boost the content that
you like and squash the content that you
don't like
every cycle about one week you receive
three new personas and your rep total is
calculated based on what you have used
and what you received from other members
you must have a positive amount of rep
to interact with the system
I think that that was probably more
except accessible but the thing to point
out is that it's not a user's mental
model we're still not at that stage it's
a design team's
represented model
and this just goes back to iterating the
point of like we need to keep cycling
through uh and iterating on the work
putting the work in front of people and
getting feedback
this is true for any of the designs in
the space
so although I could only share a few of
our challenges there are many
um but that means there's lots of
opportunity for design
with more people designing CK public
goods I believe that we can Empower more
Builders and product teams
reduce friction when onboarding to
privacy apps
help developers create protocol
resources that are informed by user
research
educate users by providing transparent
information that evolves with them as
they learn
and reduce the stigma and normalize
online privacy and anonymity
if we want to see privacy normalized and
made accessible to everyone we must
continue to collaboratively design
people from all kinds of technical
backgrounds design by approaching
challenges with curiosity getting
comfortable spending time with the
unknown
aligning strategy to audience objectives
testing potential Solutions and
iterating their work
I want to
thank my team members who helped me
collaboratively
uh with this presentation
we worked really similarly to the way we
work on other things
um
our the QR code goes to our PSE Discord
where you can find all of us
um
my handle's in the top left and we
started a designing for public goods
channel so if this content resonates
with you please
um join our Channel and start a
conversation
if you want to get involved this week
like I mentioned earlier the temporary
Anonymous Zone Community Hub is
downstairs on the first floor and then
on Thursday from 10 to 6
uh there's the adoption day ux
unconference where we'll do some ZK
design lightning talks and then have
discussion groups later in the day
we also want to
um start some uh learning groups for
people who are designing in this space
and we'll keep you updated in our
designing public goods channel on the
PSC Discord
thank you so much