This subtitle is not finished yet. If you are able to, please support us and watch the talk in amara for the last changes: https://c3subtitles.de/talk/2482 Thanks!
*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]
Subtitles created by many many volunteers and the c3subtitles.de team. Join us, and help us!