WEBVTT 00:00.000 --> 00:10.160 All right, hello, everybody, and welcome to another day of Faustem. 00:10.160 --> 00:13.280 We're going to get started here with our next talk. 00:13.280 --> 00:20.320 We have Pablo from Spain, the founder of Penn Bot, talking about open source design, 00:20.320 --> 00:22.640 the wake-up call for developers. 00:22.640 --> 00:23.640 So thank you. 00:23.640 --> 00:25.200 Let's have a warm welcome, we're going to have a place. 00:30.080 --> 00:32.800 All right, hello, everyone. 00:32.800 --> 00:39.440 Welcome to my amazing talk on this very great main track. 00:39.440 --> 00:43.440 So yes, this is the talk for today, open source design, 00:43.440 --> 00:45.640 the wake-up call for developers. 00:45.640 --> 00:48.000 Who here is, by the way, a developer. 00:51.680 --> 00:53.280 No surprise. 00:53.280 --> 00:55.200 So yeah, I'm Pablo with Muthgith. 00:55.200 --> 00:56.920 I'm Ciong of Honor of Penn Bot. 00:56.920 --> 00:59.240 And this is my 18th Faustem. 01:04.040 --> 01:07.240 First one was 2006. 01:07.240 --> 01:11.640 And I think when you, so it's not 18th in a row, 01:11.640 --> 01:15.120 like I had to miss a couple. 01:15.120 --> 01:20.840 But when you keep attending Faustem for 18 editions, 01:20.840 --> 01:23.160 I think there are two things that 01:23.160 --> 01:25.880 the two perspectives that you are entitled to share. 01:25.880 --> 01:30.880 One is climate crisis. 01:30.880 --> 01:32.400 There is a change in Brussels. 01:32.400 --> 01:33.840 We can feel it. 01:33.840 --> 01:37.640 For those of you that we're here, like in 2012, 01:37.640 --> 01:42.240 or even in 2008, there is a sad shift. 01:42.240 --> 01:46.080 I miss the harsh winter of Brussels. 01:46.080 --> 01:48.960 If you can say something like that, I can say that. 01:48.960 --> 01:51.680 But the second perspective is that some things have 01:51.680 --> 01:55.200 not changed in how we build open source. 01:55.200 --> 01:58.320 And one of those things is how we treat design 01:58.320 --> 02:01.360 in open source, how we treat the user experience. 02:01.360 --> 02:08.120 So up to 18 editions, I think I can contribute to that conversation. 02:08.120 --> 02:12.080 And I'm going to try to convince you about these three ideas. 02:12.080 --> 02:17.280 One that we have been dispossessed of good user experience, 02:17.280 --> 02:19.240 of good design in open source. 02:19.240 --> 02:20.240 It's face it. 02:20.240 --> 02:22.120 We're not famous. 02:22.120 --> 02:29.920 Open source is not famous for having the best design in Absofa. 02:29.920 --> 02:35.520 Then I will try to convince you about how important is to rethink 02:35.520 --> 02:39.480 or think for the first time what is a design contribution. 02:39.480 --> 02:42.040 We know what a code contribution is, but what is actually 02:42.040 --> 02:47.280 a design contribution, and why solving that matters. 02:47.280 --> 02:53.000 And then finally, of course, I'm going to deliver this key point 02:53.000 --> 02:58.000 about that, for me, open source has to have both open source code 02:58.000 --> 02:59.760 and open source design. 02:59.760 --> 03:02.640 It is when you have both that you can really 03:02.640 --> 03:07.600 be proud of speaking about open source. 03:07.600 --> 03:09.880 So let's start with the first one. 03:09.880 --> 03:15.160 This process, we've been dispossessed in a way it's our fault. 03:15.160 --> 03:21.040 I think when you come from a scientific and technological background, 03:21.040 --> 03:24.560 you might think that from small principles, everything 03:24.560 --> 03:29.160 important will eventually emerge, including the interaction 03:29.160 --> 03:30.920 with the user. 03:30.920 --> 03:34.360 And so I'm here to tell you that good user experience doesn't 03:34.360 --> 03:40.160 emerge just because we have a collection of specifications 03:40.160 --> 03:44.280 and requirements as a solid foundation. 03:44.280 --> 03:48.640 It is something that you have to consider from a more cognitive level 03:48.640 --> 03:51.840 and then go down. 03:51.840 --> 03:55.800 So as long as we think that we can solve design 03:55.800 --> 03:59.880 with this spec-driven approach, we won't really 03:59.880 --> 04:04.360 have true user experience or really meaningful user experience. 04:04.360 --> 04:06.280 And you can think of how we've 04:06.280 --> 04:09.840 treated technology programming languages, different tools 04:09.840 --> 04:11.880 to solve different problems. 04:11.880 --> 04:16.080 We know how to respect the right approach to the problem. 04:16.080 --> 04:18.440 Design is no different. 04:18.440 --> 04:22.360 Now, also, I have this feeling that we have done 04:22.360 --> 04:24.440 play the value of design. 04:24.440 --> 04:31.720 And I think in some ways, we can consider this a natural consequence 04:31.720 --> 04:35.160 of the fact that open source started with developers, not with designers. 04:35.160 --> 04:37.880 And so statistically, you're going to find open source developers, 04:37.880 --> 04:39.320 not open source designers. 04:39.320 --> 04:44.360 And so developers are not required to understand design and many other 04:44.360 --> 04:45.240 things. 04:45.240 --> 04:49.080 But the fact that you don't understand something, sometimes 04:49.080 --> 04:51.440 leads you to think that is not that relevant. 04:51.440 --> 04:53.880 At least if you are in this privileged position where you're 04:53.880 --> 04:55.760 a developer, you have a lot of important things 04:55.760 --> 04:57.680 to consider already. 04:57.680 --> 04:59.720 So I think that is sad. 04:59.720 --> 05:02.960 But I can understand what that happened. 05:02.960 --> 05:04.560 And also, let's face it. 05:04.560 --> 05:08.680 If you don't have good open source tools to solve some problem, 05:08.680 --> 05:11.800 you might want to avoid that problem. 05:11.800 --> 05:14.920 Because you might not be feeling comfortable using 05:14.920 --> 05:17.360 proprietary tools to solve something that even if you feel 05:17.360 --> 05:21.000 it's important, you consider it to be problematic 05:21.000 --> 05:23.640 to use proprietary design tools. 05:27.840 --> 05:33.000 Next, this second idea I want to discuss with you today 05:33.000 --> 05:36.000 is why design contributions is something 05:36.000 --> 05:38.160 that we have to really consider. 05:42.080 --> 05:47.280 For some people, we were like enjoying internet in the late 90s. 05:47.280 --> 05:51.240 We saw the emergence of our coal contributions, 05:51.240 --> 05:53.400 a fashion control system, and decentralized 05:53.400 --> 05:55.960 was a fashion control system. 05:55.960 --> 05:59.200 Because suddenly, it was not just a license attached to a software 05:59.200 --> 06:02.920 that you could just give away with some physical device, 06:02.920 --> 06:04.960 like a CD or something like that. 06:05.040 --> 06:08.640 You actually, if you wanted to have contributions in open source, 06:08.640 --> 06:12.240 you need to understand that the whole internet at the time 06:12.240 --> 06:15.200 a tiny, tiny portion of what is today, of course, 06:15.200 --> 06:16.760 should be able to contribute. 06:16.760 --> 06:21.240 So we created ways to understand what I call contribution 06:21.240 --> 06:24.480 is and how to make that scalable. 06:24.480 --> 06:28.520 And one thing that code has that is amazing when you contribute 06:28.520 --> 06:33.360 is that the fact that it's so easy to undo and massive commit 06:33.360 --> 06:35.960 actually allows you to be bolder. 06:35.960 --> 06:40.160 Sometimes the fact that you can do something, you can go wrong, 06:40.160 --> 06:44.160 allows you to never go wrong because you're bold 06:44.160 --> 06:46.080 and you're right being bold. 06:46.080 --> 06:48.480 But that's safety net, that's from the mental safety net 06:48.480 --> 06:52.840 allows for a lot of developers to actually do crazy stuff, 06:52.840 --> 06:54.520 just because it is cheap. 06:54.520 --> 06:56.400 There's no waste in the undo. 06:56.400 --> 07:00.920 Now, in this eye contribution, what should that look like? 07:00.920 --> 07:04.040 How can we make design be bold? 07:04.040 --> 07:08.480 How that makes sense in that rule and workflow 07:08.480 --> 07:09.480 of our contributions? 07:09.480 --> 07:12.680 Because, of course, we want designers to be bold. 07:12.680 --> 07:16.640 We want designs to be as bold as we developers are. 07:16.640 --> 07:18.200 And then if we're going to solve the problem 07:18.200 --> 07:20.400 of what is a proper design contribution, 07:20.400 --> 07:22.560 of course, recognition matters. 07:22.560 --> 07:26.320 Recognition has always been at the heart 07:26.320 --> 07:28.920 and the core of why we do open source. 07:28.920 --> 07:32.720 Not necessarily as an egotistical obsession. 07:32.720 --> 07:35.560 But the fact that you can point to something 07:35.560 --> 07:37.680 and say, I did that. 07:37.680 --> 07:40.760 It has my name or my nickname or whatever. 07:40.760 --> 07:43.360 There's a license choice. 07:43.360 --> 07:44.960 How do you do that with design? 07:44.960 --> 07:47.280 How can a design, a particular, actually, 07:47.280 --> 07:49.760 go and say, that is my contribution there? 07:49.760 --> 07:53.320 And it's obvious for everyone, that is a design contribution. 07:53.320 --> 07:57.120 So these are questions I have for all of us here. 07:57.120 --> 07:59.680 I'm not going to give you answers. 07:59.680 --> 08:04.280 But this is to start the conversation. 08:04.280 --> 08:09.760 And then finally, this is a core idea 08:09.760 --> 08:11.680 that I want to share with you today, of course, 08:11.680 --> 08:14.520 is that open source has to have both code and design. 08:14.520 --> 08:17.480 Otherwise, it's limited. 08:17.480 --> 08:19.360 It's fundamental to limited. 08:19.360 --> 08:21.320 You can do open source code and then use 08:21.320 --> 08:22.560 probably target design tools. 08:22.560 --> 08:25.760 But that means that your conversation with the user 08:25.760 --> 08:27.160 is mediated. 08:27.160 --> 08:30.560 It's sponsored by a proprietary tool. 08:30.560 --> 08:32.560 Your design, data is not yours. 08:32.560 --> 08:35.040 Your design decisions are not yours. 08:35.040 --> 08:38.280 You have basically outsourced the design agency 08:38.280 --> 08:39.720 in your project. 08:39.720 --> 08:42.080 And you can say, OK, well, I won't use any design tools. 08:42.080 --> 08:43.440 I just use code. 08:43.440 --> 08:48.280 But then, of course, you are working with a huge handicap. 08:48.280 --> 08:50.400 It's like, I don't know, if you are coding 08:50.400 --> 08:53.080 and you're using a lever off is right. 08:53.080 --> 08:54.240 It is a text set. 08:54.240 --> 08:58.200 But that's not the tool that you would use to code, right? 08:58.200 --> 09:02.520 So tools matter. 09:02.520 --> 09:04.120 Well, this is PEMPOT. 09:04.120 --> 09:06.320 Of course, we have obsessed about all this. 09:06.320 --> 09:10.200 This is an open source UI design tool. 09:10.200 --> 09:12.240 It's a, we think it's beautiful. 09:12.240 --> 09:13.080 I don't know what you think. 09:13.080 --> 09:16.520 I think it's really nice, good UX, good UI. 09:16.520 --> 09:21.360 Here, you're seeing the user's method for more or less. 09:21.360 --> 09:26.320 If it's more capital, it's a bit broken on purpose, where 09:26.320 --> 09:29.440 you have some information to the left, design 09:29.440 --> 09:31.920 tokens in that case, and then design components, 09:31.920 --> 09:32.840 and some designs. 09:32.840 --> 09:37.480 And then to the right, you have code. 09:37.480 --> 09:40.520 In this case, that would be CSS. 09:40.520 --> 09:43.160 This is talk is not about PEMPOT, but this 09:43.160 --> 09:46.640 is a way for us to express how we see design and code 09:46.640 --> 09:48.040 working alongside. 09:48.040 --> 09:51.880 Here, after all, and if anyone is interested in understanding 09:51.880 --> 09:53.800 why we had to build PEMPOT, is because we 09:53.800 --> 09:56.920 wanted a developer tool that was actually a design tool. 09:56.920 --> 09:59.680 So it's kind of a hybrid approach. 09:59.680 --> 10:03.280 And this had to be built by open source developers 10:03.280 --> 10:06.160 and open source designers. 10:06.160 --> 10:11.480 Otherwise, PEMPOT wouldn't have existed in the first place. 10:11.480 --> 10:15.440 So am I saying that developers should learn how to design? 10:15.440 --> 10:16.560 Because let's face it. 10:16.560 --> 10:19.840 There's a lot of conversations online saying that designers 10:19.840 --> 10:21.560 should learn how to code. 10:21.560 --> 10:24.000 Lots of tutorials. 10:24.000 --> 10:26.720 And of course, no, I'm saying that. 10:26.720 --> 10:32.040 I don't think we have to continue to build this solo 10:32.040 --> 10:34.000 perinerative that can do everything. 10:34.000 --> 10:37.760 I can monetize things that are not in their skill set, 10:37.760 --> 10:42.480 but they kind of have to know who other stuff 10:42.480 --> 10:44.920 beyond their core knowledge. 10:44.920 --> 10:49.840 I think we should have specialized people in different areas. 10:49.840 --> 10:52.680 Also, there is this question, perhaps what we can do 10:52.680 --> 10:57.480 as developers is just use a lens as a way 10:57.480 --> 11:02.280 to design for ourselves, build you eyes. 11:02.280 --> 11:05.920 You can, in a way, you can brute force your way 11:05.920 --> 11:06.800 with a little lens. 11:06.800 --> 11:08.360 You can do that. 11:08.360 --> 11:12.320 But there's nothing really different from glorify templates 11:12.320 --> 11:13.520 and UI kits. 11:13.520 --> 11:16.200 There's not design with a capital D. 11:16.200 --> 11:19.160 And LMS are very good at understanding code, 11:19.160 --> 11:22.800 but design has a very cognitive and visual 11:22.800 --> 11:27.400 and neo-cortex approach that not necessarily code, 11:27.400 --> 11:30.080 the written code can express. 11:30.080 --> 11:32.560 Anyone here interested in philosophy of language 11:32.560 --> 11:35.840 will understand that you think and you speak, 11:35.840 --> 11:40.080 but that not exactly the same artifact. 11:40.080 --> 11:42.800 So you can think of when you think that's design 11:42.800 --> 11:47.200 and when you write or speak, that is code. 11:47.200 --> 11:54.440 And so there are different renditions of an external element, right? 11:54.440 --> 11:55.880 So no. 11:55.880 --> 11:59.040 And then should we break hard property design tools 11:59.040 --> 12:01.040 in our teams? 12:01.040 --> 12:03.880 Should we have this active assistant? 12:03.880 --> 12:05.920 OK, I mean the team, I know they're using these 12:05.920 --> 12:10.000 so the property design tool should I actually say, 12:10.000 --> 12:14.200 I'm not going to work until you change that property design tool 12:14.200 --> 12:17.280 and use whatever all the tools that have to be a pamper. 12:17.280 --> 12:22.560 And of course, no, I'm not, I'm sadly no, no. 12:22.560 --> 12:26.960 Because then you are a jerk if you do that. 12:26.960 --> 12:29.400 I mean it's a sense that you have to have some empathy 12:29.400 --> 12:30.240 for your peers. 12:30.240 --> 12:32.680 They are used to some tools. 12:32.680 --> 12:34.640 But so no ball cutting. 12:34.640 --> 12:37.280 You can constructively criticize what they're using 12:37.280 --> 12:39.200 and perhaps office alternatives. 12:39.200 --> 12:43.960 Better, I'm not suggesting that we go a boycott mode. 12:43.960 --> 12:45.480 So this is what we can do. 12:45.480 --> 12:50.360 This is my constructive proposition. 12:50.360 --> 12:52.840 But first, let me drink a bit of water here. 12:52.840 --> 12:53.840 OK. 13:01.840 --> 13:04.560 Anyway, who here was in 2012? 13:04.560 --> 13:05.760 This blizzard. 13:05.760 --> 13:07.240 Do you remember the blizzard? 13:07.240 --> 13:09.360 I was, yeah, Jela. 13:09.360 --> 13:11.360 Wow. 13:11.360 --> 13:13.360 But that was the first person for someone. 13:13.360 --> 13:14.880 They would probably say, what is this? 13:14.880 --> 13:18.120 Then, you know, amazing. 13:18.120 --> 13:20.120 My nose, I don't know, 10. 13:20.120 --> 13:23.800 So this is what we can do. 13:23.800 --> 13:26.800 Treat design and design practitioners are through our lives. 13:26.800 --> 13:28.240 I think we all remember the drama 13:28.240 --> 13:33.200 between back in and front and 16 years ago. 13:33.200 --> 13:36.200 Front in is not that serious development stuff. 13:36.200 --> 13:37.760 Things like that. 13:37.760 --> 13:40.040 Fortunately, we are past that stage. 13:40.040 --> 13:42.200 Similarly, I think we have to understand designers 13:42.200 --> 13:44.520 and design practitioners as through our lives. 13:44.520 --> 13:46.920 And that actually means that we have to give them agency. 13:46.920 --> 13:49.720 We need to have them as co-founders of open source projects. 13:49.720 --> 13:52.880 We don't have to treat designers as the people 13:52.880 --> 13:56.440 that we ask for stuff like, this is what I need. 13:56.440 --> 14:00.720 No, they should be proposing or discussing the problem. 14:00.720 --> 14:02.960 You don't give them the question and then they reply. 14:02.960 --> 14:05.920 You actually allow them to ask the questions and perhaps come up 14:05.920 --> 14:07.600 with their own solutions. 14:07.600 --> 14:10.520 So that's giving away a lot of power, you know, 14:10.520 --> 14:11.120 open source. 14:11.120 --> 14:13.320 That's giving away a lot of privilege, you know, open source. 14:13.320 --> 14:15.880 But I think if we don't do that, 14:15.880 --> 14:19.600 then there will be kind of an outsourced, 14:19.600 --> 14:23.360 I don't know, a logo creation, you know, 14:23.360 --> 14:25.880 the population, right? 14:25.880 --> 14:28.360 So of course, this is not about asking a better logo. 14:28.360 --> 14:31.960 Or can you fix my design, but actually having them really 14:31.960 --> 14:35.560 on board from the very beginning of that is possible? 14:35.560 --> 14:39.680 And then how that means in terms of how the design 14:39.680 --> 14:43.280 can contribute to your project that means in terms of road 14:43.280 --> 14:46.240 map, strategy, design contributions, et cetera. 14:46.240 --> 14:50.960 Just rethink it, don't have that as an afterthought. 14:50.960 --> 14:54.080 A good example of this is Blender. 14:54.080 --> 14:55.160 Anyone here knows Blender? 14:55.160 --> 14:56.840 I hope a lot of people know, yeah. 14:56.840 --> 15:00.080 So Blender uses Pempo to design Blender, the Blender UI. 15:00.080 --> 15:02.760 Anyone loves here, the Blender UI? 15:02.760 --> 15:06.880 Yeah, it's an acquired taste, I guess. 15:06.880 --> 15:12.560 But what they do is they use Pempo to redesign the UI 15:12.560 --> 15:18.000 in Blender, it gets updated more often than in the past. 15:18.000 --> 15:20.640 This is very cool because they share the stream, 15:20.640 --> 15:23.120 the live stream, how they are rethinking the design 15:23.120 --> 15:24.880 or the Blender UI. 15:24.880 --> 15:26.760 In this case, they're using design tokens. 15:26.760 --> 15:27.760 And it's very fun. 15:27.760 --> 15:32.640 If you see the low fidelity there, checked that's a token set, 15:32.640 --> 15:35.520 but if they had activated the other one, 15:35.520 --> 15:38.360 then there would be values over it 15:38.360 --> 15:40.600 and for border radius color opacity. 15:40.600 --> 15:43.960 And it would look high-res, final, polished result. 15:43.960 --> 15:47.560 It's amazing what you can do with design tokens. 15:47.560 --> 15:50.160 This looks like low-res for having a conversation 15:50.160 --> 15:52.280 of wife framing. 15:52.280 --> 15:53.880 And then if you activate the other set, 15:53.880 --> 15:55.800 it just is a final product. 15:55.800 --> 15:57.480 This is very interesting because the conversation 15:57.480 --> 16:02.560 you have are simpler depending on what are you discussing. 16:02.560 --> 16:05.400 You don't want to have excessive level of detail, 16:05.400 --> 16:07.800 because it is distracting. 16:07.800 --> 16:11.200 So this is a good example of a good alliance 16:11.200 --> 16:16.160 between code and design in the Blender project. 16:16.160 --> 16:18.840 Next, I suggest that you explore the limitless space 16:18.840 --> 16:19.960 between design and code. 16:19.960 --> 16:23.760 That's a wonderful place to be, by the way. 16:23.760 --> 16:25.720 And here are some tips design systems, 16:25.720 --> 16:27.040 are a great hybrid framework. 16:27.040 --> 16:29.080 Design systems are something that designers 16:29.080 --> 16:30.880 borrowed in a way from engineering, 16:30.880 --> 16:35.040 also from other design arts like architecture, 16:35.040 --> 16:38.880 where you actually define smallest elements 16:38.880 --> 16:42.400 like about the radius, up to components, dialogues, 16:42.400 --> 16:46.040 and even bigger design artefacts. 16:46.040 --> 16:47.800 This is good because it gives you a structure, 16:47.800 --> 16:51.480 but also there are intentional and they're reusable. 16:51.480 --> 16:53.120 And you can export in as libraries 16:53.120 --> 16:58.760 that you can be consumed for the people, not only yourself. 16:58.760 --> 17:01.080 Now, not all design tools are created equal. 17:01.080 --> 17:03.840 When you go to manage huge design systems, 17:03.840 --> 17:07.360 there are tools that were born 10 years ago, 15 years ago, 17:07.360 --> 17:09.520 and they haven't been able to understand, 17:09.520 --> 17:11.080 fully understand what design system is, 17:11.080 --> 17:18.080 and they can give you a design system oriented design tool. 17:18.080 --> 17:19.640 And one of the things that actually 17:19.640 --> 17:21.640 makes some design tools better than others 17:21.640 --> 17:24.360 for this limitless space between design and code 17:24.360 --> 17:27.200 is whether they are favoring imperative design paradigms 17:27.200 --> 17:30.320 or declarative and semantic design paradigms. 17:30.320 --> 17:32.680 So very quickly, the imperative design paradigms 17:32.680 --> 17:35.680 is about controlling exactly how everything works. 17:35.680 --> 17:38.720 Where's the declarative design paradigms is a rules-based. 17:38.720 --> 17:41.520 And that means that I only care about the goal, 17:41.520 --> 17:43.960 but not exactly how to get to the goal. 17:43.960 --> 17:48.000 We all experience the creative design or language 17:48.000 --> 17:50.840 when we go into the street because the road signs 17:50.840 --> 17:52.000 are actually declarative. 17:52.000 --> 17:56.000 When you see a stop sign, it is very clear what the intention is. 17:56.000 --> 17:58.440 Like you have to have speed equals zero when you get to this stop 17:58.440 --> 18:01.800 sign, but doesn't say anything about how you should get 18:01.800 --> 18:04.760 to that speed equals zero or on what vehicle 18:04.760 --> 18:09.040 you should be traversing the street. 18:09.040 --> 18:11.520 CSS is a declarative design language. 18:11.520 --> 18:14.960 And so for layouts like Flexbox and Grid CSS, 18:14.960 --> 18:18.800 that is a very obvious way to express the declarative designs 18:18.800 --> 18:20.000 about the rules. 18:20.000 --> 18:23.200 But no exactly obsessed about how you do that. 18:23.200 --> 18:26.080 That doesn't mean that you can only do the declarative design 18:26.080 --> 18:27.880 if you do web, not at all. 18:27.880 --> 18:30.880 But we can borrow concept from CSS. 18:30.880 --> 18:33.040 And semantic is about the taxonomies. 18:33.040 --> 18:37.440 You saw before the design tokens, 18:37.440 --> 18:39.600 that's draft standard for W3C. 18:39.600 --> 18:42.360 I recommend that you look into that. 18:42.360 --> 18:44.120 That is a way to express the passivity type of 18:44.120 --> 18:47.240 reference for dimensions, everything, 18:47.240 --> 18:49.920 in a way that you can combine them because you can reference 18:49.920 --> 18:51.080 one token to other. 18:51.080 --> 18:55.320 Like I bought their ways could be three times the opacity. 18:55.320 --> 18:57.240 And then you can change the passivity 18:57.240 --> 19:01.560 and have multiple opacity values with the same name. 19:01.560 --> 19:04.520 And you basically override those values depending on the set 19:04.520 --> 19:06.040 you have activated. 19:06.040 --> 19:09.800 And that gives design systems a lot of an expressivity. 19:09.800 --> 19:11.640 And finally, please, please. 19:11.640 --> 19:15.120 Do consider something beyond design to code. 19:15.120 --> 19:19.240 And this would be more important for a designer audience 19:19.240 --> 19:21.920 that you start designing and then you get to a code. 19:21.920 --> 19:23.280 You design and you code. 19:23.280 --> 19:26.200 That is very old-fashioned. 19:26.200 --> 19:28.160 But we can go from code to design these days, 19:28.160 --> 19:31.480 design to code, design to design using an open source 19:31.480 --> 19:31.920 design tool. 19:34.760 --> 19:37.160 A good example of design systems is the KDE. 19:37.160 --> 19:37.880 KDE, anyone? 19:37.880 --> 19:40.160 No, it's KDE. 19:40.160 --> 19:43.280 So KDE uses this to build their design system. 19:43.280 --> 19:44.040 It's called Ocean. 19:44.040 --> 19:48.000 And later today, in the open source design track, 19:48.000 --> 19:51.120 and the embeds is going to describe, 19:51.120 --> 19:54.160 he's going to discuss how they're building their massive design 19:54.160 --> 19:56.920 system and KDE using panel. 19:56.920 --> 20:00.640 So good example there. 20:00.640 --> 20:03.520 And finally, she prioritizes the non-tangual users. 20:03.520 --> 20:06.320 Yeah, I was leaving, rather, the most controversial, 20:06.320 --> 20:08.280 or not, there's hardly the most controversial. 20:08.280 --> 20:13.600 But the most commented topic in open sources 20:13.600 --> 20:15.960 what about non-tangual users, what about software 20:15.960 --> 20:21.680 that is not intended just for ourselves, as developers might. 20:21.680 --> 20:26.000 And I think this is just my way to encourage you 20:26.000 --> 20:28.400 to think outside our own bias. 20:28.400 --> 20:32.200 Of course, it's very comforting to be building something 20:32.200 --> 20:34.360 for ourselves. 20:34.360 --> 20:38.000 But I think it's also very exciting to be able to go outside 20:38.000 --> 20:43.400 our own cognitive bias and think of tools and software 20:43.400 --> 20:46.000 of apps that are not necessarily for ourselves 20:46.000 --> 20:47.760 by for other people that we actually don't. 20:47.760 --> 20:51.360 We care about them, but we don't really know them. 20:51.360 --> 20:54.840 And this is a very neat way to have positive impact 20:54.840 --> 20:56.400 through technology that is explicit. 20:56.400 --> 21:01.680 That reaches out the global audience. 21:01.680 --> 21:04.520 We have all been confronted with people saying, 21:04.520 --> 21:06.800 but OK, I love open source, but can you tell me 21:06.800 --> 21:10.840 a great open source product that I am using? 21:10.840 --> 21:11.840 So I open my eyes. 21:11.840 --> 21:15.960 And normally, you would say, well, in Firefox, 21:15.960 --> 21:17.800 we'll see, do you know, Blender? 21:17.800 --> 21:21.800 I very quickly, you start going to the very technical. 21:21.800 --> 21:27.160 And I think we need to own the whole software stack 21:27.160 --> 21:27.640 in the world. 21:27.640 --> 21:30.000 I will need to own everything, and that includes 21:30.000 --> 21:31.960 silly apps that do nice to have things. 21:35.200 --> 21:40.640 So that will make better software for everyone. 21:40.640 --> 21:41.600 This is a great example. 21:41.600 --> 21:42.440 This is Tenzu. 21:42.440 --> 21:45.160 This is an open source project management tool. 21:45.160 --> 21:46.600 You don't need to be technical to use. 21:46.600 --> 21:49.200 You're also using them to design, see, 21:49.200 --> 21:52.200 very kind of accessible interface, 21:52.200 --> 21:54.320 to be able to use a very powerful one 21:54.320 --> 21:56.160 when you actually use it the right way. 21:56.160 --> 21:59.560 So you can do agile, agile project management, 21:59.560 --> 22:00.560 using open source. 22:00.560 --> 22:03.280 That's Tenzu. 22:03.280 --> 22:07.280 But then, finally, I want to express that fundamentally. 22:07.280 --> 22:09.920 You have to, I'm sorry, but you have to be aware. 22:09.920 --> 22:12.240 And we are very heavily aware. 22:12.240 --> 22:13.920 Strongly, we're here in this room. 22:13.920 --> 22:15.520 I know we are aware of so many things. 22:15.520 --> 22:17.240 So many things are actually, for me, it's 22:17.240 --> 22:18.360 kind of depressing. 22:18.360 --> 22:20.880 I'm aware so many things that are going wrong 22:20.880 --> 22:24.160 that I feel like I just want to go and hide myself 22:24.160 --> 22:27.040 in some dark corner or whatever. 22:27.040 --> 22:30.080 But this is one of the ones I would suggest 22:30.080 --> 22:32.120 that you prioritize. 22:32.120 --> 22:37.120 It's being aware that we keep avoiding good design 22:37.520 --> 22:39.080 and open source design. 22:39.080 --> 22:42.400 This is a precious territory that we are giving away. 22:42.400 --> 22:44.960 And this is the cognitive level. 22:44.960 --> 22:49.960 This is the conversation with the user that we're giving away. 22:49.960 --> 22:52.880 And if people are saying, look, I do developer tools. 22:52.880 --> 22:54.960 I do database, I do frameworks. 22:54.960 --> 22:55.520 That's fine. 22:55.520 --> 22:57.200 Your user is a developer. 22:57.200 --> 23:00.640 But let's do more than just your user is your developer. 23:00.640 --> 23:04.240 Just look at that and when you do that, 23:04.240 --> 23:07.400 if you don't have a great user experience, 23:07.400 --> 23:10.000 unfortunately, it is a differentiator. 23:10.000 --> 23:13.160 People are going to shy away your open source product 23:13.160 --> 23:15.560 because they cannot use it, they cannot enjoy it. 23:18.480 --> 23:22.160 So they introduced me as a public, I'm from Spain. 23:22.160 --> 23:26.400 So anyone here from any Mediterranean country? 23:26.400 --> 23:27.560 OK. 23:27.560 --> 23:35.400 So we have olive oil in Spain, really good olive oil in Spain. 23:35.400 --> 23:39.520 We say that we have a water and olive oil in our houses. 23:39.520 --> 23:41.920 You can just open the tap. 23:41.920 --> 23:46.400 And olive oil is a crucial element in our cuisine, 23:46.400 --> 23:47.880 in our gastronomy. 23:47.880 --> 23:51.320 Good olive oil, basically, is the fabric of dishes. 23:51.320 --> 23:54.520 This is relevant for me because open source was thought to me. 23:54.520 --> 23:57.240 I started open source in 1997. 23:57.240 --> 24:00.360 And I, of course, I had to read the recipe metaphor. 24:00.360 --> 24:03.960 Like recipes you read it, you can fork it, you can contribute, 24:03.960 --> 24:05.920 all that. 24:05.920 --> 24:08.560 And I think a lot of open source is olive oil. 24:08.560 --> 24:13.120 It just makes the dish feel amazing. 24:13.120 --> 24:16.200 It contributes greatly to the experience, 24:16.200 --> 24:17.280 but has one issue. 24:17.280 --> 24:19.520 It is invisible in many ways. 24:19.520 --> 24:23.120 If you know, olive oil isn't in the dish, 24:23.120 --> 24:24.120 you can appreciate that. 24:24.120 --> 24:27.760 You can ask, what is this olive oil that I'm enjoying? 24:27.760 --> 24:29.760 But normally, it is hidden. 24:29.760 --> 24:32.000 It is a pity because it's so important 24:32.000 --> 24:36.040 in how we consider our gastronomy. 24:36.040 --> 24:39.400 So we have wine. 24:39.400 --> 24:41.840 We also have great wine in Spain. 24:41.840 --> 24:45.120 And the good thing about wine is that you put an in front 24:45.120 --> 24:48.520 of the person that is having the dish. 24:48.520 --> 24:51.320 So at the same time, you are having something 24:51.320 --> 24:54.320 that gives the dish the right fabric. 24:54.320 --> 24:55.720 But then you own the conversation. 24:55.720 --> 24:58.200 You have a direct conversation with the user 24:58.200 --> 25:01.280 with a particularly bottle of wine that they can enjoy. 25:01.280 --> 25:03.920 And, of course, many days, not obviously, 25:03.920 --> 25:06.520 with olive oil. 25:06.520 --> 25:09.000 So I think we need to have both. 25:09.000 --> 25:10.960 We need to have code, and we need to have design. 25:10.960 --> 25:13.480 We need to have the control over what is running, 25:13.480 --> 25:17.280 but also we need to have the conversation with the user. 25:17.280 --> 25:20.320 No matter who the user is. 25:20.320 --> 25:22.440 And so that is for today. 25:22.440 --> 25:24.320 Thank you very much.