-
*Camp CCC 2023*
*Preroll music*
-
Herald: Eileen is presenting to us decent
patents on UX library for
-
decentralization. welcome.
Eileen Wagner: Thank you so
-
much!
*Applause*
-
[Filler, please remove in amara]
EW: After that last lightning talk I feel
-
like I'm being very greedy with 20
minutes but maybe we'll just have more
-
time for questions. So I'm here to talk
about decent patterns in open UX library
-
for decentralization, this is a project
that I guess I started a few years ago
-
with a small team of co-conspirators,
some of whom are all in at this Camp
-
actually so you can meet us too and talk
more about this. I'm hoping this talk
-
would be interesting to those of you who
are building decentralized Technologies,
-
but of course also people who are
generally just knowledge workers right.
-
Like if you have done a library in your
life maybe you'll run into some similar
-
questions that I'm going to raise today.
Similarly I think it's an interesting
-
answer to the question what can designers
contribute an open source. This is
-
something that I've been thinking about
for a long time, so I think maybe maybe
-
there's some answers here. But why?Why
build one in the first place? So I'm a
-
designer, I work in decentralization
Technologies around that and whenever I
-
work with people, you know you you know
how it is, you go into a small team you
-
work with them intensely for a few months
and then you go to another team and you
-
go to an organization and then maybe you
get a chance to talk to another designer,
-
but basically you're kind of alone. And
but as I was working alone with all of
-
these groups there were just some
recurring questions that everybody had
-
right? How to permanently delete content?
This is a very very common question if
-
you're working P2P. How to store
encryption keys, where to store them if
-
you have multiple devices and you have no
Central Authority? How to ensure a
-
critical number of peers being online
right, that's so that the content can be
-
replicated. How do you communicate the
unusual privacy and security properties
-
of your new technologies? How do you
explain a Federated architecture, I think
-
we saw a lot of that with the migration
to Mastadon of how to do it and how not
-
to do it. And then finally overall like
very abstract questions, like how do you
-
even distribute trust and power, right?
Like what is the right way to do it? And
-
I see all of these teams struggling with
that and as I was working on it, I was
-
like surely someone thought about this.
You know surely someone has come up with
-
a general solution to these very general
problems. And I was no! I was sitting
-
there I was nope, nobody has really
written like bigger pieces of like
-
solutions to these problems and, more
than that, it wasn't just that I couldn't
-
find those resources that I needed for my
work. But it was also somewhat of a a
-
general adoption problem, something well
UX problems that caused adoption
-
problems. And by that I mean most of us
who are building these Technologies
-
decentralized or not. We're seeing that
as a vehicle to drive or at least support
-
sociopolitical change. And for
sociopolitical change to happen you
-
really have to have a critical mass of
people using it right? It doesn't mean it
-
has to be the whole world, but it means a
critical mass of users need to be using
-
this tool. And adoption also is actually
very well understood, like products and
-
services get adopted you know by some
very common, you know, systems. Like
-
people are infused about it and then some
people are Visionaries, they see it and
-
then finally the pragmatists the
conservatives and the Skeptics follow.
-
But you know that curve is very well
understood. And as I was working with the
-
folks, I realize that we really never
move much further beyond the first group
-
of people right? The people who want to
try out everything, who want to show you
-
a proof of concept and who are really
excited about it. But there was very
-
little movement forward. And in my view
one of the reasons for that is when you
-
have new technologies like this you don't
have a lot of you don't have a common
-
framework you can build into. When you
have new Concepts and everybody names it
-
differently right, every user new user
who has to learn this has to learn a
-
completely new framework, this is super
hard. So in my view when I was thinking
-
about adoption, I was really thinking
about something like design standards,
-
like what would a good standard be as you
are building this new technology. And by
-
standards I don't mean sort of generic
guidelines like always give people good
-
error messages, when you build a tool,
right? Like not like generic things like
-
that, but also not super specific things
like Apple's mobile interface guidelines
-
or anything like that. Like something
somewhere in the middle. What was that
-
middle right? And then I realized
actually that middle is also very well
-
understood. This this is what I had to do
-
to sign up for this talk. You know you
you go to this website, either you have
-
an account already, then you log in, or
you don't have an account and you need
-
one, then you register. I see another
pattern there, reset password right, you
-
lost your password you reset the password
. There is a language switch I don't know
-
if you can see it on the top right. On
the bottom you have like the the legal
-
bits right, like all of this is something
that's familiar to us just as users on
-
the internet. Like it's something we see
day in and day out, we're trained to sort
-
of understand how that user experience is
supposed to be. And in in that way we're
-
sort of learning a language. Learning a
language of how to interact with these
-
Technologies. And this idea of having a
language is also not new. This is a book
-
by Christopher Alexander 1979 a Timeless
way of building. It really details this
-
idea of how you can see different
patterns in the World. Christopher
-
Alexander Was An Architect, he was
meticulously documenting different ways
-
of looking at sort of buildings, Urban
infrastructure, small room like window
-
placement and he defined this idea of a
pattern as a careful description of a
-
perennial solution to a recurring
problem. So again buildings right? People
-
have lived in buildings for thousands of
years, you don't need to reinvent the
-
wheel when you're doing a new building,
you just look at existing buildings. And
-
this is what he was was doing, as he was
sort of collecting these patterns and
-
this is just one example for sort of
urban planning. Like these are the the
-
typical ways of how you can put buildings
together, right? Like a very simple idea.
-
He's just going around collecting
different ways of putting buildings
-
together. So what I and the small team
I'm working with wanted to do, was to
-
just sort of collect these things and see
how we are putting our language together,
-
how we could put our language together.
And with that I just want to show you
-
really the thing that we built. This is
decent patterns.com, it's a pattern
-
Library meaning that we have, you know ,
different categories and different
-
patterns, sort of explained to a general
audience. The first thing we had to come
-
up with, was a template for a pattern. So
I'm just going to show you really, this
-
is a pattern we called host roulette, of
course the name is the most important
-
thing, because that is the thing that
explains it, and people can refer to it.
-
So host roulette is addressing a design
problem. The design problem is when you
-
are signing people onto a Federated
system, you want to give people default
-
options, that's just good UX. But if you
give everybody the same default option,
-
it's not much of a Federated system
anymore, right? So host roulette very
-
simple solution, you randomize it. You're
putting the host on a roulette get I
-
don't know. So basically what you're
doing is is you're randomizing the sign
-
up process and you can achieve better
distribution of your users, and then we
-
so, we describe the solution and then
give an example of who's already doing
-
this. In this case this is nextcloud. And
then we again this is a short one but why
-
choose host roulette right? Like
understanding what contexts, what reasons
-
you would have to actually act ually use
such a pattern. Then we have best
-
practice, these are just tips from the
actual practice of implementing these
-
patterns, small discussion potential
problems with a pattern, a takeaway and
-
then some references, where you can learn
more. So this is the general template,
-
that we have for a pattern and
importantly here I think, we also have
-
the option for you to just edit it on
GitHub, so you can always just you know
-
join the actual GitHub and see what's you
know what what you might want to change,
-
what's inaccurate what you might want to
add. The other thing that we did, which I
-
think is also part of running a knowledge
base, is we did name categories, we
-
basically identified even more kind of
overall topics, that are interesting here
-
in decentralization, we think. Those are
sort of around roughly four different
-
categories, where it's different from
centralized paradigms and that's identity
-
and agency, moderation and curation,
sharing and permissions and syn and
-
status. I'm not going to go into detail
on you know, why they're important but I
-
think for any of you who have worked in
decentralization hopefully those
-
categories ring true. Yeah I think this
is just my very quick demo of the
-
library. You can play around in it
there's also you can just look at all the
-
patterns, if you want to see them all.
Again the most important part here may be
-
the naming of it, and then the other
things just sort of come themselves.
-
You'll see that there many, there are
very different levels of kind of yeah
-
generality here. Like some some of them
are very specific, like a visual idea but
-
some of them are I don't know I'm looking
at cautious optimism, that is an idea of
-
how to even build a protocol, like how to
think about trust in a protocol, things
-
like that. So we really have sort of like
very large ideas IDE and very small
-
ideas, all collected in this one pattern
Library. Next I want to talk a little bit
-
about like okay, so what have we learned
in doing this. I think one thing that was
-
really interesting for me to see, is when
we first started it we were very happy
-
about putting QR code verification in it,
it was a very immediate way for devices
-
to connect and to verify it, had great
security properties it had, it was just
-
very immediate. And then the pandemic
happened and QR codes were everywhere
-
right? Every like all the different apps
that you had like introduced QR codes, it
-
just really sort of accelerated that
development. And then you see things like
-
this I don't know if the video is going
to be very much visible, but this person
-
is in Atlanta and is just peeling off the
QR code from a parking ticket provider, I
-
suppose, and that's that's what happens
right? Like once you have an idea, that
-
is out there in the world and people
learn to use it, like it's actually first
-
of all, what a success story for QR
codes, but also here are the caveats here
-
are the consequences, that come with
that. So how do we make sure that the
-
patterns we do have, you know, I mean I'm
not saying we have to see though so far
-
into the future, but what kind of
critical discussion, what kind of context
-
can we actually provide people with who
are using this in their actual
-
development. The other thing we sort of
ran into is, a question around
-
descriptive versus prescriptive ways of
presenting the patterns, and by that I
-
just mean descriptive as a you know it's
a description or just showing you the
-
actual patterns, prescriptive is there is
some recommendation coming with it right.
-
So in a descriptive sense we have
collecting existing Solutions and
-
relating them to one another, so the work
that you do there is mostly just finding
-
the right level of abstraction and making
sure that the patterns you have in a
-
library are are described correctly. And
you're to inspire you're there to inspire
-
people you're not not more. In a
prescriptive world we have a library that
-
perhaps creates new solutions to these
problems, so you really are generating
-
new content. Maybe you're testing an d
validating them with you know real users
-
in the real world and you're making sure
that whatever you build is actually going
-
to work and not just uh hypothetical. In
that case then the library is to guide
-
people, to really offer some guidance and
recommendations. So we're still sort of
-
unclear about that right now, it's a
collection and we do think most of the
-
patterns we have are good, but that's
just our opinion right and we know as
-
designers that a lot of the things we
design aren't necessarily good until we
-
test them. So that's it from me. You can
check out decent patterns.com, we
-
obviously welcome contributions and also
shout out to the team raised there, we
-
have Vincent and KN also and if you're
interested in pattern libraries in
-
general, you should also check out I mean
they're General libraries that you can
-
just go to that have UX patterns, if
you're a designer and trying to learn how
-
to design. But there's also particular
libraries I really would recommend for
-
privacy security, for social media,
there's one about digital public spaces
-
being made right now. Of course there's
also anti patterns you should think
-
about, patterns that are deceptive. Those
are all great libraries that you should
-
check out just if you're into patterns in
general. And that said I would love to
-
answer your questions, thank you.
[Filler, please remove in amara]
-
*Ovations, WOWs*
[Filler, please remove in amara]
-
Angel: Okay, thank you Eileen, Applause
are fine but I thought maybe we uh take
-
the time for questions, we have time for
two because we're a bit behind schedule.
-
What are your questions to Eileen ? Does
somebody have a question?
-
Q1: I just one question not I'm really
cous about XI and I wanted to know if I
-
wanted to know more, because you gave me
a lot of links if I wanted to have to
-
know more about it where I could look
into it about what's new because like
-
what look what you did was really is
already Edge but I'm really curious about
-
the world field because it's as a
developer it's really interesting for me
-
yeah, I think I mean so those are good
links to look if you'r
-
e into patterns
E: I think it's always difficult to think
-
about how patterns fit into the
development process, because it's very
-
abstract and sometimes you do need a
designer to help you actually put the
-
pixels in place right, like it's it's a
bit of a different type of work. But if
-
you're interested in UX in general like
they're awesome resources. The one that I
-
like a lot is the interaction design
Foundation. They have a lot of really
-
good courses and it's like a foundation
in Denmark that just sort of does good
-
work and it's sort of very classic and
and well presented I think.
-
Angel: We have time for one more
question. Anyone? Okay then I'll say
-
thank you Eileen again go talk to elen if
you have other questions it was nice to
-
have you
[Filler, please remove in amara]
-
*Applause*
[Filler, please remove in amara]
-
*Camp 2023 Postroll music *
[Filler, please remove in amara]