< Return to Video

Decent Patterns

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

more » « less
Video Language:
English
Duration:
16:26
C3Subtitles edited English subtitles for Decent Patterns
C3Subtitles edited English subtitles for Decent Patterns
C3Subtitles edited English subtitles for Decent Patterns
C3Subtitles edited English subtitles for Decent Patterns

English subtitles

Incomplete

Revisions Compare revisions