Which is better? Fast squats or slow squats? So this is a really good example of a question being posed to me that can't be answered. So I need a little bit more information before I can answer this question. What is the purpose of your squatting? If you are playing a sport, there is generally a time demand to your sport. So you need to think about the speed at which you develop your forces. Sport training is generally force-based and power-based. Power is a little bit more time component. I get rewarded more for doing things faster, but I also need the force to develop power. Likewise, I can get more force if I push the same weight at a higher acceleration. So that's just the general physics. You don't really need to understand it quite so much. The principle here is the nervous system. So let's come back to the nervous system. How am I producing forces? The brain, and maybe not even the brain, maybe just the central nervous system, maybe even just the peripheral nerves are encouraging the muscles to contract. They send contractions at higher rates and they send them quicker. We increase our rate of developing force and sometimes we even recruit more motor units, more of these neuron muscle bundle connections. And if I have more muscle being recruited, then I can produce more force. You can recruit all of those motor units, all of those muscle neuron bundles, at lower weights and at higher weights. But the trick is you have to have the intent, a maximal intent to move the bar as fast as you can. If I have a heavy weight, it's not going to move that fast. It's still going to be slow. I'm still going to grind through a rep. But I have to have the intent of moving it as quickly as I can. Likewise, I can take a lighter weight and I can move it pretty quickly and still just overload those neurons, turn all of those neurons on. Maybe it's so light that I need to jump with the bar. Maybe I got 95 pounds on my back and I just need to say, okay, we're going to do squat jumps right now. So let's go back. I'm rambling a little bit. So we need to know what the goal of the squat is. If the goal of the squat is hypertrophy, if you're just trying to look good, then generally slow speed stuff is fine and doing stuff at a really high velocity, high intent just keeps you making sure that you're pushing yourself, right? You take this kind of quantitative idea, did I push as hard as I possibly can, yes or no? And if I did, that means I'm pushing myself. And if I didn't, that means I'm saving something in the tank. I can get that development again with light weights and with heavy weights. Now, let's talk more about sports. So this is kind of where we started with. So if I have this time component to things, let's talk about powerlifting for sport training. So powerlifting in sport training can be very effective for some people and for a lot of people really, especially high schoolers who have never lifted weights. They've been out running, they've been out playing sports, climbing trees and stuff. They're a little bit more springy, but they've never had that load on their system. They've never had to deal with those heavy weights. And so heavy weight training gives them the tissue structure, stiffness and the neural capacity to be stronger on the field so they can cut. If you're a football player and you need to make a cut, they can stop their body really fast because they've developed the stiffness with their powerlifting type training. But if I do that, and that's all I do all the way through high school, all the way through college, it's not going to help me because I'm going to adapt to it. I need to take some sort of training and it needs to be fast. And some methods of powerlifting do consider that. They do say, hey, lift with maximal intent and don't always lift maximal weight. You need to be exposed to moving something faster. Likewise, other end of the spectrum, maybe you've got a basketball player who responds really well to quick based movements, maybe a little bit of load, not a lot. And they can always move it really fast. They look really athletic.  They would benefit from gradually easing themselves into higher weights, but maybe not training at 3s, 2s and 1s for their training. Maybe not traditional powerlifting training, but weight training, yes, proves effective. So the answer, fast squats, slow squats, the answer is that both of them are better. You just need to know when you're going to use them. Lift with maximal intent and they both prove to be useful. If I'm looking for hypertrophy, I need my muscles to fatigue. It's hard to do that with really light weights unless I do a lot of reps. So if I'm moving a light weight faster, it's not going to give me the hypertrophy stimulus that I'm looking for. It's not going to make my muscles grow as much. I need to move to a place where I'm so fatigued that I have to move the weight slower. Even if it's light, it still works. It just has to be that grinding through that last rep. So consider that when you're doing your squats. Make sure you're lifting with maximal intent as long as you feel fine.


All right. Well, good afternoon, everybody. I'm a minute early for starting, but there's a whole bunch of slides I want to go through. So I want to go through it quickly. And as you may notice during this presentation, there's a lot of text in it. And the reason why I put a lot of text in it so I can share it afterwards, so I can read it properly and learn from it, I hope. So I won't go through all the details on all the slides, but it's more like that I've set up the slides, not with just pictures only, which is really cool, but not really interesting to read afterwards. So that's why I've set up with a lot of text so you can read through it. And I hope this helps you and enables you, basically, to grow and foster your Drupal development. My name is Michel van Velde. I'm a regular speaker at DrupalCon. Today I'm going to tell a, well, it's a story, it's a presentation about is selling Drupal an art or a science? And I walk you through a lot of theory, which will, I hopefully, bring your minds boggling and stuff, and then you'll learn from it. A short introduction. As I said, Michel van Velde, I'm the founder of Wanshu, an advertising and digital agency. We're specialized in Drupal for over 11 years, working closely with Dries on UX, on the beginning of Drupal, it's really cool. And I've been a community member for 11 years and co-organizer of the Dutch Drupal community, the German Drupal community, and, well, Splash Awards and a lot more. That's one thing I want to tell you guys. I've come up with a new initiative, which I think is really exciting. Tomorrow we're going to have the world's first Drupal PR and marketing sprint. We all know code sprints, but tomorrow we're going to write PR and marketing material so which we can share all around the globe and beat the competition. It's never been done before. So I'm really excited. It's new. And so tomorrow afternoon, I hope I see some of you at the Drupal marketing and PR sprint. All right. Okay, so let's go into the presentation. Today is selling getting more and more important. Well, there's 10 factors that actually influence selling today. Basically, with the rise of the internet, there is more global competition. Yesterday I learned there's an agency from the UK now competing on the German market because the German company was basically looking for an agency and they were not only looking on the German market, they've been looking at a broader perspective in Europe. So the competition is getting bigger. For a salesperson, and I'm going to dive into the world of salespersons today, it's getting more difficult to reach decision makers. They are being harassed by emails and stuff and phone calls, and I get them as well every day, like, oh, I want to sell you something. So it's really difficult to get past the secretaries, you know, and what's also important is that selling has become more sophisticated. And why is that? Well, because of the internet, there's so much information that most of the time our buyers are already aware of a lot of product details. So it's really becoming more difficult. Prospects are also more skeptical. The economic crisis hasn't done us really well. There's less budgets available and there's more arguments on basically how to counter-measure your offer. All right, so I started the agency 11 years ago and I knew I needed an account team to basically grow the agency. And there's been a lot of hurdles, you know, and I'm going to be really open about this and you can talk to me afterwards about all the hurdles I've been taking. I want to share some with you because at first I looked at Drupal as basically a tool and I was trying to sell Drupal as a tool, as a CMS, but over the years I've learned that's not it. You know, we're not selling a product at all, but I was hiring product sellers, you know, that try to sell products. That didn't work out that well, I can tell you. I'm really honest about that. So I dove into the world of selling at the time and I've learned there's five selling skills which I'm going to share with you.  And the question is who are you? And I can ask this question every one of you is selling every day.  So we're selling basically every day, you know, and every conversation, well most of the conversation is about selling something. So the question is who are you? So let's walk through them.   And he receives plenty of introductions, he will prospect, he has no need for approval, he recovers from rejection, no, I'm not interested, okay, you win some, you lose some, you move on, the problem is he's not focusing on closing the deal, you know. But you need hunters if you want to basically address a new market, you know, and build a new market, so you need the hunters.    So if you set up a marketing campaign and leads are pouring in, you know, then it's interesting to have a closer at your office. So definitely closing urgency, he controls his emotions, no need for approval, but he won't accept put-offs. No, no, he wants that deal, all right. So then you have the consultative seller, you know. That's the person if you want to sell a solution. Now, he asks really good questions and enough questions, you know. He's listening, listening the whole time, you know, and he uncovers basically the needs of the client. So he's not presenting at inappropriate time, you know. He learns why prospects would buy, no need for approval, he does not assume, you know. There's a lot of, you know, sellers out there that make assumptions, you know, really important not to do that.  And then there's the pharma, you know. He also has closing urgency, but he won't, you know, find you any new leads, you know. So if you have, for example, a really large client, you know, if you work for, I don't know, for DHL or Coca-Cola or any other big firm, you know, he works on that client and he's farming, you know. He's getting new projects coming in every week or month. So he won't prospect, you know, he will not look for new clients. That's just not his thing.  So finding the right person is the most difficult task there is because there's so many different kind of types of account manager or salespeople. So making the right choice at the right time is really important for the success of your company. So be aware of that. Okay, so then there is, in terms of sales, the maturity model. It's a model that's created by Holden, and I walk you through it.   Okay, so let's have a look at the emerging and product seller. The emerging and product seller, you know, we hired them in the beginning, they worked out that well. They have conversations about products and services only, you know, yes, I got Drupal, I got these modules, and live with it, you know, this is what it is. But they're not listening really well, you know, they are not like the consultative sellers we're looking for right now, because they are trying to sell you a product. So we move over to the solution seller, that's basically stage two of the Holden model. The stage two sellers, they react to demand, but they elevate the conversation to bigger business issues, you know, they take a first step, and they try to learn what the problems are within the company. That's a stage two, and I think if you look at the average Drupal agency now, we've moved on from product sellers into solution sellers. But there's more stages, you know. Then you have stage three sellers, these are the people that actually understand all the political motives within the larger companies. They know how to deal with that, you know, they listen to the problems the company is facing, the political issues, and basically they compete through political support. And that's definitely a next level. You know, you must have a sense of urgency and a feeling that you need to understand basically the politics behind the companies you work for. And then, this is where we all want to be, let me assure you that, you want to become the customer advisor.  So they're talking about how with a new business model we can, in combination with, for example, Drupal, help you as an agency, help you as a company. So this is interesting, this is where you should go to. So basically there are several stages, the customers becoming bigger, and in terms of competitiveness, you know, I would definitely, if there's a strategy behind your company, you know, become a stage four seller. All right. So now we've identified the types of salespeople, we've identified the maturity model of your company. Let's move on in going down into the meetings they have, you know, and this has become really interesting. So let's say you've, as an account manager, you've passed the secretary, which is always the most difficult step, then you're talking to the CEO and basically you want to talk to them and basically make sure that everything you're telling, you know, actually reaches them. There are, and I urge you to read a book by Robert Kiel Dini, and I'll be sharing this presentation afterwards so you don't have to write it down. Robert Kiel Dini, he's written a brilliant book about influence and how you all are influenced every day in making decisions.  So is selling, is it an art or a science? Is selling Drupal an art or a science? I'll come to that later, but I have an idea on that one. Okay, so let's go back to influence.  That's not what persuades a person on the other side to actually buy from you, no. It's how that information is presented. So you're all sales guy, or whether you are yourself selling Drupal, you know, you should look at it, okay, how am I presenting this? Yeah, that's really important. Because survey show, and this is basically examined by the buying behaviors of 100,000 prospects, that has revealed that often a decision to purchase is based on, not on the features, but basically upon the salesperson, you know. And that's all about gaining trust. You know, trust that is the trigger is not the product, it's trust.  And the model by Robert Chiodini goes in, and this is an English word, I have never learned to pronounce properly, reciprocity, I think it is, is it, yeah? All right, excellent, thank you.  Can you agree upon consensus? Liking really important, you know, the liking factor within this is really, really important.  You know, being an authority helps you get the deal.  That's it, you know, and people like to buy from people with an authority. That's it. So I'm sharing this information with you and I hope to see you all next year on stage when we organize a new Drupalcon. So become an authority. Scarcity, you know, yeah, okay, we have limited amount of resources. If you want the deal, you know, you got to sign really quickly. It's little things that can help you closing the deal. And these principles are measurable, repeatable. So read the book, read the book influence. It changed my life, you know, if I'm really looking different at communication and marketing, it's definitely worth the read. Okay, I've done a negotiation course and that changed my life as well. And as many of you know, I always want to share all the knowledge I have. And the interesting bit is, and I didn't know that, that every conversation you have follows a model. And if you don't follow that model, you're in trouble. You know, conversations don't work well. Yeah, I'm going to walk you through that model and I thought it was scary at the time. It's like, okay, are we programmed like this as a person? You know, is every conversation going like this? Yes, it is. And I walk you through it and it's really interesting. The model is about negotiation phases, but I've learned it's basically every conversation goes like that. Okay, so we have four negotiation phases. And it's basically, you have a starting phase. You have an offering phase, you have a diagnose phase, and you have a closing phase. And you have to walk through them in every negotiation in this order. I can tell you a little story. You know, there's a sales guy who really wanted to work with me, you know, and he came up to me every time, hello, Mike, when are we going to do business? I'm like, well, never. He said, why? He said, you know, when you approach me, you're not setting the atmosphere for us to have a proper conversation.  That's basically phase one. It's a starting phase. You have to create an atmosphere where everybody's comfortable. And when I come home and tell my wife, hey, blah, blah, blah, blah, blah, blah, blah. She'd be like, what? How are you doing? How was your day? And then I can tell my story, you know, if I don't do it, she'll be overwhelmed me being like, okay, there's a lot of information coming my way straight away. Always create the atmosphere, even when you're at a client or telling to your wife or husband or whatever. It's really important. So that's basically a negotiation climate you have to create. And I'm telling you about pooling and pushing. Don't push too much information in that time. But create an atmosphere where you listen. We're talking about listening, consultative selling. So then we move over to the offering phase. And this is the phase in which you get to make your position known. Okay, we've said, and this is really interesting. You're talking, hey, how are you doing? You're talking about the weather. You're talking about the kitchen, things that, you know, are personal, his personal interests or anything. And then you have to make a bridge. And that bridging thing is sometimes an awkward time. Okay, so now, okay, well, it's good to know you, and then you had a great weekend. And, okay, today we are here for negotiating, blah, blah, blah, blah, blah. And basically it's good to have an agenda prepared. And then you have to set your marker. It's really interesting. It says, okay, I want to sell it for you for like 100K. That's setting the marker. The other guy says, sorry mate, got budget of 60. That's on the other end, you know. And then you basically, in this phase, in the offering phase, you make your position known on where you are, what your end goal is. And then you can start negotiating. You know. And believe me, you're never on the same position. It's always giving and taking. Because it's a miracle if you come in and say, yeah, 100K, cool. Done deal. So it's always a negotiation phase. All right. So basically you're listening to his position. What do you want? And then you're telling your position. And then you can start talking about arguments. You're listening to arguments and you repeat them. Am I listening correctly that you are stating, I want this, this, and this? Yes, that's true. So you know and you uncover all the arguments for his position. And you tell him yours. Sometimes you leave some arguments behind for a later stage. And you have to be tactical about that one. Okay. So then you go into the diagnose phase. It's basically you have to build trust in this time. And you don't ask questions just to drive your dream. And it's a critical phase because you repeat what the clients needs are. You basically make sure you're on the same page. But you also state your position. And this is part of the whole deal. It's really important you do that.  You know, and if he doesn't feel hurt there's a lack of trust. And if there's lack of trust, forget the deal. So it's about listening. Okay. Then you come into the closing phase. This is where it gets excited, you know. This is where the negotiation is being finalized. You negotiate and it's about giving and taking. Okay. Suppose you have 60K but I'm offering it for 100K. Okay. We can move to 80. But this is where you chip in. It says, okay, but I can give you less. You know, I don't know. We skip the block or we skip the, I don't know, which part of the CMS you're trying to build. You know what I mean? So this is negotiating. You want less, you have less money, I can offer you less. And then you have to come to a solution. And when you've reached the deal don't jump up and say, no, as you've created the atmosphere and you went from a, you know, well well, how do you say it, a well-prepared atmosphere in the beginning. You go into the negotiation phase and that can be sometimes a tough, really tough negotiation, you know. And emotions are heating up, you know. And if it's not working really well, you can take a break and stuff and finally reach the negotiation deal. You have your deal set up. You repeat, okay, did we conclude this? Yes, yes, yes. Okay. Well, I'm really happy that we've reached the deal. So, and then you start talking about you're starting chit-chatting again. And I urge you to start, you know, how to say it, listening now to conversations and see how that flow goes.  Really important to go through that deal. Never jump up, run away and that's it. No, always ended with a chit-chat phase.  But that's why we communicate with each other. So, if you break the rules, if you don't set the standard like this, there will be frustration because people are programmed to communicate like this. It's scary, but it's true. Okay, so now we've learned on how to communicate. We know what kind of salesperson we have in-house or who you are and what kind of things you still have to learn to become really good. Then it comes down to driving the business forward. And that's, I'm talking now about sales funnel management. Who knows about sales funnel management? Who knows what it is? Okay, there's not a lot of hands. All right, cool. Now I'm going to teach you something and that's what I really like. All right. Okay, so imagine, you know, you want to prospect, you want to hunt new prospects because you want to build your company and you need new clients, you know, and the telephone because your marketing campaign didn't work out as well, the telephone doesn't ring.  I want to grow my company. How to do that? Okay, so you can start prospecting and you have to be aware that it's all about a funnel and first you have to create awareness that's basically the marketing campaign, you know, hi, here we are and this is the products we're offering and this is how we can help your company foster and grow. Okay, cool. So let's say, I don't know, I'm going to do the details later on about the numbers. So after awareness, you can create leads. But leads, you know, this is where the hunter becomes really happy. Yeah, we've got 100 leads. And I always tell the hunters, it's great you've got 100 leads, man, but I don't have a signature. You know, but we've got 100 leads. I know but no signature. So then you have to move them on from leads to prospects. And that's basically you've basically given them an offer and they become a prospect.  Because if I send out like 10 prospects of 100K, I know how big my pipeline is and I can then start managing the amount of people you know, I should hire to basically fulfill those needs. Because I know for a fact that out of the 10 offers that I send out, I won't get them all. And if I get them all, I'm pretty much I can't say that. I'm well-bugged. So then you move into the sales phase and you see you need a lot of awareness, you lead a lot of leads and you move into sales. So then you look at some numbers. Okay, so let's say we have 13 deals qualified on average. And we know that from those 13 deals qualified we can have 10 meetings. This is where the hunter is really happy. We got a meeting. Okay, cool. And then we move over and then we know that from the meetings held, that's a 50% chance you'll get a proposal sent. So from 10, you go from 13 deals to 10 deals to 5 proposals sent and then about 50% let's say 3, the terms are accepted. And there's negotiation about the terms as well and it ends you up with 1 deal 1. Imagine if you want 20 clients how many qualified leads do you need? That's a lot. This cares the hmm, do I have to close it up? All right, I'm nearly finished. Yeah, I want to deal. Yeah. All right. So I'm closing out. Thank you. All right. So how do you do this? How do you manage this? I'm going fast-forward now.  You need a customer-relation management system for that. Set it up. They're open source for a version of that. That's for a strategic person. It's to data to identify target customers, operational CRM, collaborative CRM and analytics. Okay, strategies. There's a lot of Drupal strategies. I'm going really fast-forward now to bear with me. All right, Drupal gives you the opportunity to take a look at some of the real-time sales strategies. And it depends on your mission and vision for your company. You can do a price strategy. I want to be the lowest price in the market. I wouldn't suggest that, but people do it. You can have a product strategy, product type Drupal installation and make a product out of it and turn it into a niche market. Really interesting. You can have a differentiation strategy. Two weeks and hosting and more of that to become different than your competitors. And you can have the solution strategy. And I can give you one example really quickly. 30 seconds of example. Okay. I was working for DHL. I knew my competition was in there at a price strategy and I was listening to the guy. He said, what is your problem? Well, you know, we need efficiency, you know. And then I asked him, you have to make an investment in this website. Is there a business model behind it? Like a business model? Yeah, like a business proposition. He says, no. So I went back to the office, started thinking, okay, how can I help DHL? And I knew DHL sending packages. And I came up with the idea. Okay, let's, if we generate a website that can have 5% less calls within the call center by offering a state of the art FAQ the guy was saving thousands of euros every day with an investment of 30K offering 200K in savings, the deal was done. And he said, you know, I'm not going to sell the business. He never negotiated about the price and we got the deal and we are a long-term client of them. Okay, I really got to stop now. So my conclusion is, all right, selling is a form of art and a science as I probably have mentioned and do not sell Drupal, understand the business, understand the problem, understand the business case and find me at the...


Do you have trouble opening up to people? Do you find yourself to be constantly uneasy and on edge in your relationship? Trust issues might be at the core of it. Trust issues can harm your relationships and your mental health. It's important to be mindful of signs of trust issues so you can work on moving past them. So here are five signs that someone has trust issues. Number one, constantly comparing new people to toxic people from your past. A person with trust issues may develop a tendency to compare new people that they meet to people from their past that hurt them. Do you find yourself constantly looking for similarities between your partner and someone who hurt you in the past? It's important not to ignore red flags but you may have been obsessively seeking signs of toxic behavior even when your partner hasn't given you reason to. If all you can think about in your current relationship is how your previous partner mistreated you, you may have developed trust issues. Number two, keeping others at a distance. Have you observed that you tend to keep other people at a distance? You may feel reluctant to open up or get close to others. The thought of being vulnerable and opening up about your feelings, fears, and insecurities might feel too difficult or too scary to attempt. On the other hand, you may have noticed that it's your partner who avoids sharing their deeper feelings with you. Perhaps they always shut down whenever you try to open up this type of conversation, no matter how kindly you approach the subject. This can also extend to physical intimacy. Perhaps either you or your partner feel unsafe or even terrified at the prospect of physical intimacy with the other. Trust issues are one of the possible causes. Additionally, if you have a tendency to push people away, it can also be because of trust issues. Number three, fear of commitment. Pushing people away goes hand in hand with a fear of commitment, both of which stem from a fear of opening up and being truly seen. Thinking of relationship commitments in the long term may be a little scary, but you may end up running from people you can see yourself having loving, meaningful relationships with. So coming to a fear of commitment could be detrimental to your own happiness and is a sign that you may have trust issues to work through. If the person you are romantically involved with is confusing you with conflicting signs, it may be worth looking into whether they have a fear of commitment and trust issues at the root of it. Number four, frequent suspicions. Trust issues are often accompanied by suspicious behaviors. This could mean that either you or your partner tend not to believe what other people say, even when there's no specific reason to doubt them. You might live life on the edge, always expecting others to hurt or betray you, constantly suspicious of people's motives and actions. This inclination to believe that others are deceptive can also extend to friends and family. It can be difficult to accept kind gestures, love, and affection because of these suspicions of ulterior motives. Suspicion within a relationship can also involve jealousy and possessive behaviors. And number five, picking fights. Do you or your partner have a history of being in dramatic and stormy relationships? More importantly is your current relationship turbulent. Does one of you often pick fights with the other, even over small or petty things? Issues with trust and constantly assuming the worst of your partner can build up within a relationship and result in explosions of arguments and accusations. Do you relate to any of these signs? Trust issues can be difficult to navigate, but not impossible to work through and get past. Counseling from a qualified mental health care professional can help you overcome trust issues. Relationship counseling is also an option for working through these together with your partner.


This guitar part's about to have something really nasty happen to it. Let's have a listen. Oh, did you hear it? The dreaded squeak. Let's have a listen again. Luckily, we have this loaded up in Isotopes RX10. This is like the Swiss Army Knife of Audio Repair Kits and we've got this module over here in it called Guitar D Noise. I'll open that now and I'm just going to leave it at its default settings. I've got squeak switched on here and I'll go ahead and I'll click on Render. That's going to fix that for me. I'll close this module down and let's go to just before that squeak and have a listen now. And like magic, it's gone. It's very typical of the kind of thing you can do in Isotopes RX. However, this is not a new feature. So for the rest of this video, I'm going to be talking about what's new in RX10. Hi, folks. I'm Mike and I hope you're well. I want to start off with the new and very handy Repair Assistant plugin. This is the new built from the ground up Repair Assistant in RX10. Okay. This is a plugin. It's inserted into a vocal track in my door here. Okay. And that's what I'm going to improve. Let's just have a quick listen to that vocal now.  Wake up in the morning. Right away, I can hear a few things I want to fix. I want to do some de-essing. I want to get rid of some sort of little clicky sounds from the mouth, you know, that kind of thing. And I also want to improve upon the plosives. So in the plugin here, we've got some different modes. It's on voice mode at the moment, but you can select a musical mode here for pitched instruments. You can select a percussion mode here for things like drums and also a sound effects mode as well. Of course, I'm going to be selecting this voice mode and then I'm just going to click on the learn button and play the track.  Wake up in the morning and you've gone away. That's what we do. Okay. So we've got some suggestions to start off with. I can see it's turned on the de-ess module here. Okay. And we'll have a listen to that in a moment. And we've got some others where there's some settings. It hasn't turned them on, but we can optionally switch them on. So let's have a listen to the S's first of all.  So always that's a little bit harsh still in there. So I'm just going to push that up a bit. Okay. Let's have a listen.  Don't go too far with de-essing. If you get rid of the S's and that kind of thing, it does sound very, very weird. Okay. I think that's okay where it is at the moment. We've just controlled it a little bit.  Have a listen again. You listen carefully for them.  In that sort of around that here to stay region. Okay. So I'm just going to turn on de-click here. I'm just going to leave it at its suggested setting there and have a listen now.  That's absolutely perfect. Just really improve that. Now it has got de-reverb switched on. This attempts to sort of get rid of any room reflections you might be picking up. It's just got it turned on slightly. Let's see if we can improve that and make this vocal sound really sort of more intimate.  Wake up in the morning and you've gone away. You can definitely go too far with this because you'll start to sort of ruin the high end of the vocal. I think we can get away with it about there. Okay. Now the final thing I want to fix are the plosives. The plosives are not a part of this plugin, but they are a part of a plugin which is also in RX10. We'll just go over to that and that's the RXD plosive. Okay. It's actually bypassed at the moment. You can see it here. I'm not going to change any of the settings. I'm just going to turn it on and let's have a listen for those plosives now.  Wake up. They've almost, I think they've entirely gone. Actually, just bypass this again. Listen for the plosives.  On the telling. On the to. Telling.  Now I'll switch it back on again. Have a listen.  Got rid of it completely. I think that's really overall improved that vocal. It's ready now to go back in the mix and sound like this.  Wake up in the morning. By the way, there's three different versions of RX available at different budgets and with different features. So you should check the links in the description down below to find out what's included with each version. This is some audio from an interview I recently did with Micah Christian from Sons of Serendip and I'm going to use it to test out how well RX10 copes with multiple speakers. So let's just have a listen to the first few seconds of it. Why did you do it? Why did you suddenly decide to create a vocal library? Yeah, Mike, well first, thank you for having us. So you can hear both of us are speaking there. I'm going to go ahead and click on this icon and this is going to start to extract the actual text from the word as well as try to identify which one of us is speaking at different times. So you can see the text has appeared at the top here and also it's in different colors here for different speakers. Now isotope freely admit that this is not perfect at the moment and it is optimized to American accents. Okay, so it may not do quite so well on my accent. Let's just click on this text navigation pane here and we can see it's detected three speakers. Okay, we can click on this first one here. So I reckon maybe my accent has confused it slightly, but I can see that that is me there. I'm just going to double click on that and label that Mike for me and then this is Micah. So I will just double click on that and label that Micah. So now I can easily identify where each person is speaking and the beauty is I can now process these separately so I could select Micah's voice here and do something I would never do in real life and that's actually EQ it. He's got a wonderful voice, doesn't need EQing.  I'll click on render there and close that and let's have a listen to my part and then his call library. Yeah, Mike, well first, thank you for having us. And as you can hear, I've totally ruined his voice. Okay, the other thing that we can do is search for specific words and then process those. So for example, I'm going to look for the word grateful. Okay, you can see it's detected it there. So I'll click on that and you can see it's highlighted in the area here. Now don't worry if you can notice that it's actually not on the word grateful there. That's because we're not zoomed in enough. If we do zoom in, then we will see that the word grateful is being selected there and we can process that all by itself. This tool I don't think is perfect. And as I say, they freely admit that they need to work on, you know, different accents and things. But I think it's a great start and really useful for people who are processing things like podcasts, etc. Unfortunately, this recording has some hum on it. Indeed, let's go ahead and at least try and reduce that hum with the D hum module. I'll show you the way we used to do it in the old versions of Rx. You'd go ahead and you would select an area with just the hum and no speaking. Then you would click on learn. Okay. If we select the whole thing and preview the effect, it sounds like this. Unfortunately, this recording has some hum on it. And that's a great improvement on what we had before. Okay. But they've made the process a little bit easier with Rx 10. With this version, you can just go ahead and click on the adaptive mode there and just hit render. Okay. It's going to go ahead and process it. Let's have a listen to see what the result is. Unfortunately, this recording has some hum on it. So as you can hear, especially in the gaps, things have improved drastically and the process is a lot easier. This is a zoom recording and the quality is not all that great. And part of the reason it's not that great is because we haven't recorded the full frequency range that we're used to hearing. You can see these big black holes here up above 12K or so. So what we can do in Rx10 is attempt to improve this using something called spectral recovery. Sounds fancy, doesn't it? Well, click on that. Now, the idea of this is it tries to sort of rebuild parts of the frequency range which are missing in this recording. So I'm just going to select an area of it here and then click on learn. Okay. And you'll see that these two handles are moved in. It's suggesting that it could try to improve the low frequencies here below about 100 hertz or so and these high frequencies up here. Now, let's have a listen and kind of see what it would come up with by hitting preview. This is a zoom recording in the. Okay, that's not bad. It's added in a fair amount of low end in there, but I'll add a little bit more. I think it's a little harsh on the top end. So what I'm going to do is just turn this gain down just a tad here. So we've got two gain controls either side. One is for the low end fixes, one for the high end fixes. Let's have a listen again. This is a zoom recording in the. So you can hear the difference between the two parts there. If I go ahead and render this, it'll just take a moment or two. And I'll just get rid of all this. You can see that it's added information up here and you can see a little bit down the low end as well here. So it's attempted to rebuild those frequency areas. I would recommend you would play with this for a little bit more than I have just to refine it a little bit. But a pretty good tool for improving those sort of scratchy recordings if you're forced to use them. Now, there's quite a lot to learn about RX10 and Isotope. Tell me that with the final release, there's going to be a full tour in there for people new to RX, really, really handy. And talking of Isotope, they also, of course, make one of the most well-known pieces of software for music mastering. In fact, I don't know many producers who don't rave about it. I am, of course, talking about Isotope's ozone and to find out why exactly it is so fantastic, you should watch the video on the other side of this logo. And I'll tell you all about it.


This study suggests that obesity may be associated with increased risk of periodontal disease. Furthermore, it highlights the need for better oral hygiene maintenance in obese patients as well as those with normal weight. This article was authored by Najmas Seher, Pradeep Tangade, Ankita Jain and others.


So, let's see, I'll be giving a talk on API design and QML, so let's see. In this presentation, I'm going to go over what I consider to be the main type of QML APIs, the digital component APIs, the non-digital APIs that you can build with QML, as well as the general API guidelines for QML, and the design process that I personally use and an example that we use in that design process to build an API, so, whoop, hold on, let's see, hold on a second, so let's see, let's see if you're watching this presentation, I hope that you already know what QML is like, so you have the basic declarative syntax where you specify an object and you specify its properties and functions on it as well as the signals to react to other things, so, let's see, like QML is generally like about the exchange of data between the declarative QML site and the imperative C++ site or if you're using another language like a Python or a Go, your imperative site of the code can also be built with that, so, I generally consider there to be two main types of QML APIs, let's see, the first is what I would like to term by elements, which are the visual components that you can see in QD Quick applications, and then let's see, there is also what I would like to term by processors or utility data processing components or anything else that doesn't show anything visible on the screen, so, let's see, hold on a second, let's see, let's see, so there are generally two main types of visual components, so let's see, the first type is what I would like to call it, leaves or, these are generally the end nodes and the tree of items in your QML programs, you generally don't put other elements inside these elements, these are your controls like buttons, checkboxes and etc., let's see, you also have the branches that are components that are generally used for putting other components in, such as the layouts and other miscellaneous components like the Kirigami page pool and let's see, so, first I'll cover some specific considerations for deciding leaves, like, since the leaves in your public QML APIs are most likely going to be controls, let's see, like, it's generally a good practice to either inherit from the control type found in QT Quick components too or the abstract button type if your element is for clicking, so, let's see, let's see, use the controls expect that, controls should have appropriate sizing set automatically based on the input of the properties that you use in the APIs, so, let's see, like, sizing is generally exposed to the implicit and width and height properties, let's see, like, like, what you do not want to do when creating a digital control is exposed by a pseudo, well, width and height properties as the layouts often change these, let's see, as the width and height are often changed by external layouts, let's see, the content and its padding should dictate the implicit width and height of the control, like, in 99% of cases the background of control should be a subservient to its site and shouldn't really affect the site of the control, let's see, let's see, your control should be able to handle whatever developer throws at it without looking broken, even if it does look a little bit weird, you should also be mindful of options that inheriting from another type ring to the public API, for example, if you inherit from the abstract button type, your control should be able to handle all the clicking and the checkable types of the button, let's see, and then on the other side of things you have what I call the branch controls, these are generally APIs that are used for managing other components like the layouts which is the column layout which arranges items in the column or components that manage construction and destructions of other components like repeaters or the curiculum page holder, let's see, branch components can also make use of attached properties for exposing additional APIs, like for example, layouts use the layout attached property to expose stuff like a preferred height and width, as well as whether you want to fill height or width or not, let's see, for layouts it's expected that you set a sensible default property so that the user of your API can simply put the items inside the parent item in their program source code instead of using explicitly specify a channel property, let's see, like, if you're building a layout and the layout has a special default such as a header or header, you should generally expose these as their own properties, let's see, for specific purpose APIs where you're building both the components and where you're building both a parent component and the components that go inside them, you should generally take care to make sure that these components look like they are made together, let's see, like, generally this means like, these things should be named similarly and let's see, and things that look, and things that affect each other should look like they affect each other, let's see, you can also use attached properties to communicate information between the children items and the parent items, let's see, and that's all I have to say about the visual APIs, but there's also a lot more besides the visual APIs in the QML world, let's see, hold on a second, let's see, on the other side of the API is that you can build with QML or the non-visual ones, let's see, like, for example, this is the QBS build system on this line here, let's see, like, when you're building a non-visual API, it's generally extremely important to know your target audience more so than when you're building, like, a BI with visual components where QT quacks, so, let's see, like, like, talking about QBS, like, QBS, like, while having a purely declutative build system would be nice, it's pretty impractical for real world usage, like, this knowledge of the target audience is why QBS abandons the QBS build system, abandons the purely declutative site of QML and gives the JavaScript engine a lot more tools than the QML engine and QT quick does, such as exposing the required statement and expanding the JavaScript parameters, supporting useful and build systems, such as convenient methods on the array and string prototypes, let's see, let's see, not commonly in QT quick, but used fairly permanently in QBS, that's what I would like to call the annotation pattern, the annotation pattern is an extension of how a task properties are used in QT quick, but it allows it to be more specific and encode more information used in the hierarchy, let's see, this pattern lets individual elements take two forms, a plain unannotated form and a larger annotated form by moving out to its own item, the unannotated form of an item has a sensible default, while the annotated form of an item allows to use and specify more information about an element, such as flagging it with tags or making this application on other parts of the script depend on the condition, let's see, the annotation pattern also includes using attached properties on a larger form items to provide extra information, let's see, besides that, there's not much else specific to non-digital QML APIs it's mostly the same concepts that you see in general API design and speaking of that, there's this one quote that I really like to keep in mind when designing APIs, and it's, let's see, this quote is from Rob Pike, decide the architecture, name the components and document the details, let's see, what, hold on a second, let's see, when designing the high-level architecture of your API, you want to think about the big picture of your API, what do you want the end result to look like, think about how the parent components and your API interact with their child components and advice their set, what actions are the parent components are going to take on the children components, what are the children going to tell the parent about, let's see, what do you want to expose the developers using your API, and then after you've designed your high-level API, you want to think about what you want to name your things, what, when you're browsing a foreign code base, the names of items and properties are going to tell the reader how everything in the program fits together, if your names are obscure and hard to understand, readers of programs that use your API are going to have a hard time understanding how everything fits together and developers using your APIs are going to have trouble recalling what elements they should use to fix their problems, like components should have short names, but not names so short that it expires some reading, and on the other end, long names are cumbersome to type out and remember when they're writing code, a good name and convention to follow is either a single nail, such as a button, or spinner, or input, let's see, or you can do like a note and a verb, for example, let's see, the page router manages pages by routing them, or you can use two nouns together to form your component names, such as the Curie Gummi page pool or the tool button, let's see, for components with variants, for example, list items using a single initiative is often used to distinguish between them, let's say like, for example, you'd have a baseline list item, and then if you want a list item to be expandable, you would have that be an expandable list item, and so on, it's like a common mistake is given the base component of an adjective, such as basic or simple, this is redundant information that makes the name less concise, and it makes it hard to notice which components are subtypes of other components, let's see. Let's see, and finally, like, no good API is complete without the documentation, while a good architecture and names are important for developers to be able to intuit your API, they're not subtypes for documentation, like documentation should, first, give a description of every type, and then after you've filled out a description for every type, you want to describe their methods, properties, signals, and other things, then after you've written the explanations of everything, you should generally add small concise examples that show specific parts of your API. Let's see, let's see. When writing documentation, do not forget that comments are also documentation, nobody likes to read dense 1000 line files with an area of comment to help them, let's see. Let's see, that's all the talk, but it's time to explain how I applied this to designing something, so let's see. Every tool generally has a purpose and it aims to solve a problem, let's see, for the Curriculum API Trouter API that I designed, let's see, like, the main reason why I built this was because I noticed that a state management and page navigation is like all over the place, so, let's see, like, our most complex applications navigation wise tend to hold our own solutions for navigation, for example, I discovered uses a JavaScript file with custom navigation functions for all of its needs, like even simpler applications, like Alisa tend to do a custom stuff in regards to navigation, and especially in communicating data between different parts of the application, like simplifying this navigation and state management is like the problem that I wanted the page trouter API to sign to fix, so, let's see, like, before getting into designing the API, I first wanted to see what approaches other UI frameworks used to building navigation and routing part, or it is extremely important in making sure that you design something recognizable and not totally formed to developers after browsing through and poking with a lot of UI frameworks, I found I liked React and Flutter's navigation API so best, so I took most inspiration from them as well as combining them with QML specific items, like attached properties and the ability to develop domain-specific language as APIs. This is where the first step of API design comes in, deciding the architecture. Let's see, for a page trouter, I wanted to avoid applications having to avoid their own custom navigation solution and having to manually move exposed variables up the tree, so, like, this influenced the main architecture of the API, the controller object responsible for navigation, managing pages, moving data between them. Let's see, attached properties are used a lot in the page trouter's API to move data between them and between deeply nested trees, a component, and then after I designed a high-level approach of the API, let's see, I needed to name the component since Kirigami already has components like the page and the page pool, I named the components after them. The manager object here is called the page trouter and the specification for a page is called a page trout. Let's see, additionally, I named the navigation functions like as a bit of a mix of a stack base, such as like an array and browser navigation, such as navigating to a specific link, so, the methods are named such as push route, push route from here, pop route, navigate to route, et cetera, let's see, I chose this naming to make sure that it was apparent what the components do and what their interactions with each other were resulting in the application, and then after I designed and implemented the architecture and desk components, let's see, documentation was the last thing to do. Let's see, since the page trouter is pretty different from how navigation is usually handled, I emphasized, explained the high-level, how the high-level architecture works before explaining the individual details, I provided diagrams and documentation to help developers visualize how things are arranged and applications when they're using the page trouter API. Let's see, and that's the process that I used for designing the page trouter API, I hope that was enlightening. Let's see, do we have any questions that need answering? Let's see.


Those clothes. Pwynt i oaves, Mr Swinney. Sierra 所以 my machine was not able to connect. I would have voted no in that division Thank you Mr Swinney. I will make sure that is recorded. 5. The result of the vote on amend A712.1 in the name of Alexander Burnett is Yes 30, no 91. There were no abstention efor here, so the amendment is not agreed. The next question is the motion 7120, in the name of George Adam On behalf of the Parliamentary Bureau on setting out a business programme, be agreed. Are we all agreed? Yes. The Parliament is agreed. The next item of business is consideration of business motion 7121, in the name of George Adam, on behalf of the Parliamentary Bureau on a stage 1 timetable. Any member who wishes to speak against the motion, suppress the request, speak buttons now and I call on the minister to move the motion. Moved, Presiding Officer. Thank you minister. No member has asked to speak against the motion, so the question is, is Parliament agreed to motion 7121? Are we all agreed? That motion is therefore agreed. Next item of business is consideration of four Parliamentary Bureau motions. I asked George Adam on behalf of the Parliamentary Bureau to move motion 7122 to 7124 on approval of SSIs and 7155 on suspension and variation of standing orders. Minister. All four moved. Thank you. The question is, are these motions will be put at decision time? There are four decisions to be put as a result of today's business. The first question is that amendment 7111.3, in the name of Shirley-Anne Somerville, seeks to amend motion 7111 in the name of Stephen Kerr on the state of Scottish education system. Be agreed? Are we all agreed? No. The Parliament is not agreed. Therefore, we will move to a vote and members should cast their votes now. Vote is closed. Point of order, Jeremy Balfour. My phone wouldn't connect. I would have voted no. Thank you, Mr Balfour. Make sure that that is recorded. The result of the vote on amendment number 7111.3 in the name of Shirley-Anne Somerville is yes, 66, no, 54. There were no abstentions. That amendment is therefore agreed. The next question is that amendment 7111, in the name of Michael Marra, which seeks to amend motion 7111 in the name of Stephen Kerr, be agreed? Are we all agreed? No. We are not agreed. The Parliament should cast their votes now. The vote is closed. The result of the vote on amendment number 7111 in the name of Michael Marra is yes, 54, no, 67. There were no abstentions. That amendment is not agreed. The next question is that motion 7111, in the name of Stephen Kerr, as amended on the state of the Scottish education system, be agreed? Are we all agreed? No. The Parliament is not agreed. Therefore, we will move to a vote and members should cast their votes now. The vote is closed. Point of order, Ben Macpherson. Unfortunately, I was unable to connect. I would have voted yes. Thank you, Mr Macpherson. Make sure that is recorded. The result of the vote on motion 7111 in the name of Stephen Kerr, as amended is yes, 68, no, 53. There were no abstentions. The motion is therefore agreed. The fourth question, and I propose to ask a single question on the four parliamentary bureau motions. Does any member object? No member objects. The final question is that motion 7122 to 7124 on approval of SSIs and 7155 on suspension and variation of standing orders be agreed? Are we all agreed? Yes. The Parliament is agreed. That concludes decision time and there will be a brief pause before we move to the next item of business.


We've got creating accessible and privacy centric products by SAP Tech. So I'll let you take it away. I'm really excited to hear what you have to share with us. Yeah, thank you. Yeah, I feel like this is an important topic that we really need to talk about, making accessible and privacy centric web, and also other products like softwares, native desktop applications, Android applications. I think most of the things that I'm going to talk today are going to cover all of them. But I'm going to follow the route for the web. So in recent trends, websites and softwares often focus on visual beauty and fancy UI, rather than the usability and inclusivity. But the truth is, if your product doesn't support the basic human rights required for surfing the web, such as like accessibility, security, privacy, then it's just not usable by everyone.  So in this slide, I have actually linked to a talk called some user experience. It's an amazing talk. It covers how, if you're not thinking about everyone, then the user experience can be called some user experience and not like a great user experience because it doesn't cover everyone. So it's not very inclusive. So today, I'd like to talk about some ideas and methodologies that developers, designers, and the product team as a whole can adopt to ensure their products are accessible and privacy-centric. At certain points, this may sound like a little bit of rant, but we'll try to keep it as positive as I can. Before we get started with the talk, I have a brief introduction about myself. Well, my name is Saptak. I'm a self-proclaimed human rights center developer. What that kind of means is I try to focus more on security, accessibility, and usability of websites rather than the fanciness of it. It's not like, with that, it can't be fancy, but I try to focus on those first. I maintain and contribute to some open source projects like Onionshare, Dalai Project, Wagtel, and I'm contracting with Freedom of the Press Foundation. I was also this author of the Security and Accessibility chapter of the Almanac 2022. Now that we have that out of the way, I kind of want to talk first about who uses the web. Before we get into the ideas, before we get into the methodologies, I think it's really important to understand who are the users of your product, because I feel that gives the connection that helps you give a reason to make your products more accessible, more privacy, instead of just because some standards, some laws require you to do so. So the first thing that we are going to talk about is the interfaces used to browse with. So we are all kind of familiar with the mouse users and the touch users. Most of the software, most of the websites that we use are fairly supportive of mouse users and touch users. It works pretty good with them. I would go as far as to say that many designs and websites are made specifically with mouse users and touch users in mind. But there's more. There are much more interfaces. There are much more assistive technologies that are used. So the first one is keyboard users. I think this is kind of something that many of us might be a little bit more familiar, compared to the other ones that I'm going to talk about. So keyboard users, all of us might have used keyboard to do certain kind of activities in the web, such as filling up forms and things like that.  Just try that. So many people do use keyboards, just keyboards, and prefer to not touch their mouse as much as they can. For some, that's like a choice. But for many, that's like the only option. So any people who have temporary or permanent motor disabilities, for them using a keyboard is the only option that they have. So in this slide, I have an image of a person who is holding a stick in his mouth. And what they're doing is they're using that stick to press buttons on the keyboard, because they can't use a mouse because of their disability. This screenshot is taken from a web accessibility perspective stock, which is linked in the slide as well. So that's keyboard users. We have another thing called switch device users. Now switch device users, a switch device is kind of similar to keyboard, but much more restricted. So in a switch device, what happens is, for example, in this image, you can see there is a person who is sitting on a chair. And the headrest of the chair has a switch device, which has actually just two buttons. So what this switch device does is there are two buttons, and the two are switches, you can say. So the two switches, one is used as a select key. What I mean by select key would be an enter on a keyboard or a click on a mouse or a tap on a touch device. And another one is used as a next key. So next key can be similar to the tap key on the keyboard or a scroll in a mouse or sliding up in a touch. So one of the most famous persons using switch device that many might be familiar with was Stephen Hawkins. So yes, there are users who are actually using it. It's not like there are no users. So we definitely need to think about them while making things. The third important one is screen reader users. Now this is one of the assistive technologies that many people are familiar with, because after mouse and touch, when someone says about assistive technology, many people think screen reader users, but there are more. But yes, screen reader users are really important because people with limited or no visions actually need screen readers to read the content of the website. So for making a website usable, screen reader users, supporting screen reader users are very important. So most of the screen reader tools, so different operating systems have different screen reader tools. You can also install different softwares. But what most of the screen reader tools does is the person, the user still uses their keyboard to navigate through the website. And then things are read out to them. And when the tools also allow certain extra features, like you don't just need to go one by one or just page down and down, they have better navigations. Because when we use mouse, we don't just always scroll like that. We know sometimes like, OK, I need to go to this particular section. I just need to go to the footer of the page. That's where I need to go. So the screen reader tools also allow those kind of things which allows them to browse using the heading structure or the landmarks in a page, and which are all set by HTML actually. So it's really important to write good HTML and learn HTML, but we will come back to that. The other thing is, like I was saying for screen reader users, since they navigate with keyboard, the advantage is if you are making a screen reader user friendly, it's probably pretty friendly with keyboard users as well. And Zoom, so this is something that everyone knows about. All the browsers have Zoom capability. Almost all softwares also have Zoom capability. Operating systems have Zoom capability. And this is a really important assistive technology. People with low vision actually use Zoom a lot, but it's also one of the most neglected assistive technology. So it's really important that websites really work with Zoom actually by the web content accessibility guidelines. There are standards till which it should be supported. But you should really support Zoom for your products, for your websites, and always test that the website still works. Like once it goes to 200%, things should not break. Things should not go out of view and things like that. So yeah, supporting Zoom is also very important because it is an assistive technology. And there are many more. So there is mouse tick. There is voice. There is a sip and puff device, which kind of works like a switch device. There's even braille input and braille display. The braille display is really interesting. It's like there are switches which kind of either create depressions or go up, kind of like making a braille symbol. So yeah, there are many devices. And it's really important to be supporting all of them to make your websites inclusive. And just like accessibility needs, there are vary from person to person. There are various privacy needs as well, which vary from again user to user depending on their security requirements, depending on their chat model. So everyone has a different chat model. What I mean by chat model is everyone is trying to protect their themselves, their assets, their computer from different kind of attackers, right? So a journalist's chat model or an activist's chat model will be very different from my chat model. And based on that chat model, their security needs differ. And based on the security needs, obviously their privacy needs differ. And not everyone. So we can't just deny people who need privacy needs like, okay, they are just some users and they are probably already like tech savvy people. So they can just figure it out. No, it's most of the times the users who need a lot of security, they are not really tech savvy. And so they use tools like VPNs. They use tools like door browser. They use tools like NoScript. So it's really important that our websites, our products also support them and make it privacy first and then add all the things that fancy things that we want, but yeah, it's really important to do that. So now coming to the ideas and methodologies, the very first thing I would like to talk about today is progressive enhancement. Now progressive enhancement is a term that is often used for development when writing codes and things like that. But I think it's really important for designers to understand progressive enhancement as well. Because once designers understand progressive enhancement and I will get into how it works, it allows to provide better UI and UX in all the steps of the enhancement. So what do I mean? How to do progressive enhancement? So in code ways, what we do is, and I'm taking an example of making a website progressive and like progressively enhanced, but it can be, the steps will be kind of similar. The languages will change, but it will be similar for Android or OS development or stuff. So the first thing that we do is write the very basic HTML or any markup that you need for your Android app or anything. So write the very basic HTML. And then what we do is we add the basic CSS. Now what happens here is, why these are two different steps is when you write the basic HTML, you're just thinking about the structure.  Okay, then there is a navigation with few links here. Then there is this particular section. Then there is this particular section. In this section, there are four articles. So when you think like this, it also helps to write better HTML. It also helps to write semantic HTML, but we'll get to that later. And then we add basic CSS to kind of position things. So just to position, it doesn't need to, it covers things like font sizes, colors, what layout you're putting it, whether it comes before or after. And it's really important. Why I say really important is like, for example, the heading hierarchy. So you should ensure that your HTML has a proper heading hierarchy and H2 always follows an H1. And then H3 always follows an H2, irrespective of the style. The style you can add using CSS. Even if the H3 design aesthetically looks bigger than H2, the markup should still be H2 before H3 because think of the heading architecture like a content of a book, right? And then we add modern CSS to enhance. Now why I say these two different steps is in the third step, what you try to do is try to implement as many of the features using just CSS. And CSS has made like massive, massive new features have come out over the last few years. So almost everything can be made with CSS. Of course, it's important to test with everyone that it still works for all the users, but yeah, try to use modern CSS to write as many of the features and then add JavaScript to kind of improve the interactions. Now what this does is, why we are using this progressive enhancement is when you write just HTML. So many times if your website is very JavaScript focused, you start writing from the JavaScript itself and the HTML gets lost somewhere and it becomes just divs and spans. So when you start from writing HTML, what it does is it already starts making your website much more accessible than if you started writing from JavaScript. The reason is when a screen reader user for example is browsing through the website, they really can't see interactions as such or they really can't see the design of the website. What they're trying to consume is the content. So HTML does exactly that. It structures properly and then gives the content. And then you use JavaScript to enhance. Similarly, if you write modern CSS and try to like implement most of the features, then what it does is if some people who have higher security needs and for their privacy, they need to disable JavaScript. So they're using some tool like NoScript or they're using Tor browser in the Cephas settings. It still works for them. It's not like, okay, JavaScript is available and then they get a blank page which sadly happens for many famous websites as well. So it's really important to provide all those features as well. And while we are talking about that, the next point is no JavaScript alternatives. So it's really important to provide no JavaScript alternatives because I have nothing against the language. I love JavaScript, but it's a very powerful tool and it can be exploited really well. So it's important to have a no JavaScript alternative. And why I am saying this in a designer conference is when we are talking about the alternative, many times developers will be like, okay, we will provide a no JavaScript alternative but the alternative will be really bad because the design for that was never provided. So I feel like that's important that designers also know that there is a need something like that. So providing all the alternatives that are needed in the progressive enhancement and like providing a no JavaScript alternative. Let's take an example. So auto filter, auto filter I think is something that we always face while we are browsing through the web whether it be an e-commerce website, whether you are trying to book a flight. So there will always be this filter on the left side or some somewhere on the page. And most of the filters what they do is when you click on a particular filter, it will filter your search results and update it. While that's a great UX because it obviously reduces a lot of the clicks and gives instant feedback to the users. But at the same time that feature is very, very JavaScript dependent. So the thing is when someone is using that same website and using the auto filter, let's say in Tor browser and they have no JavaScript enabled, they actually can't even apply any auto filter because there is no submit button, right? It always works on the click. And since there is no JavaScript, the search results are not getting filtered at all. So it's important that if there is no JavaScript, just provide that apply button. That's it. Like it's as easy a solution as that. But that's why there should be two designs, I feel. One is like, okay, this is the submit button and this is where the submit button should be. But if they have JavaScript enabled, then you don't need this. This will be the layout. So providing those two design alternatives really have already make your website a lot more privacy friendly and everyone can use your website. And the next point here is design translation. So like I was saying, one of the things that often happens which we see in teams is the design is first made. And what we do is once the design is made, we give it to the developers and the development team starts writing the code. I think this is a really bad practice and this should not be done. There should be an interaction from the very beginning. When the design is started, even from the prototyping stage, it's really important that both the people communicate because there might be user testing that the designers did that the developers are not really aware of. And because they're not really aware of, they haven't really thought that, okay, changing it this way will affect our users. But also there might be privacy and accessibility concerns with the design that is needed to be fixed. So it's really important that the interaction happens from the very beginning so that you can get the edge cases very quickly and really think like sometimes probably if a developer goes back to a designer and says, hey, this solution is not really accessibility friendly, maybe let's try something else. And I've worked with designers and they love to provide a separate solution once they know it. So it's really important that the interaction happens a lot, right? So yeah, doing the interaction is important. One of the things that I like to do is called accessibility blue lines. It can be used to do, I guess, privacy blue lines as well. But what this means is I go through the design and then it helps me and it helps the designer and helps others as well to make decisions is you go to the design and you start leaving comments.  And you will find that there are many like features or code that you need to write which might not be there in the design at the very first. So for example, in accessibility, we always say that if you have a lot of navigations, you should provide a skip to content link. Now the skip to content link is not visible from the design just like that. It gets visible only when you press tab on the first, like just when you have opened the page and you press tab, the skip to content button should appear and then you press enter and it goes to the content. But many times that skip to content button is never designed because it doesn't appear in the website like that. So just writing, okay, there we will have a skip to content button and then making that design also helps. Learn HTML, yeah, it's really important to understand that HTML is not just div and span and I know again, this is a design conference but I feel like it's important that designers, you don't need to write HTML but it's good to have an understanding of how HTML works because it's a language that I feel like is often neglected and misunderstood because it has a very simple syntax. The syntax of HTML is very simple and probably anyone can learn in a DA at max but it's not in the syntax, the language, the beauty of the language is in the semantics. So understanding the semantics is very important. HTML has a lot of tags and all those tags have specific meanings. User testing and audits part a little bit. Yeah, it's really important that you user test your applications, you use a test your websites from the very early stage when you have little bit designs, prototypes ready, any kind of implementation done, start user testing and then use a varied group of users, people with different threat models, people with different assistive technology needs and that will give you a lot of feedback and after that it's really important that you do pride security audits and accessibility audits as well. The other point is don't rely on permissions always give alternatives. So for example, there will be softwares or websites which will depend on let's say the location permission and if you don't allow the location permission then it just doesn't know what to do. So let's say for example, there should be a place in the website where it also allows you to manually select your location. And now when that part comes in, the designers need to get involved because they need to provide like the input field where should it come in the website and things like that. So again, for providing alternatives to permissions it's also important that a design is made for that particular alternative and not just some scrappy bandaid way of doing it. And the last and the most important thing that I want to leave everyone with today is it's not a technical debt. Please don't treat accessibility and security and privacy as a technical debt. It happens almost everywhere. Everyone thinks of making the MVP first or like the product first and then we will think maybe we will make some accessibility changes afterwards. Please don't because that what happens is then there will be like the alternatives will just be bad. It's like because it didn't start thinking from the very beginning. All the alternatives that you provide are very bad. And many I have heard this argument a lot that, hey, I have seen and there are no users for our website who use assistive technology. So it's fine. But also there's this question that maybe there are no users of your website using assistive technology because your website is not accessible. So yeah, please don't treat it as a technical debt. It really doesn't hurt to make your website accessible and privacy centric. It actually makes your website good for everyone. So don't treat it as technical debt. Start discussing about accessibility and security and privacy from the very first day, from the very first decisions that you make while making the designs. Thanks, that's all from me. These are some of the links to my website and master done. You can also find me on IRC, my nickname is Saptakas in liberal.ch. Thank you. Thank you so much for that wonderful presentation. Oh my gosh, we have quite a few questions. I guess I'll get started and take some notes. So the first one is, how can open source communities work together to make their communities, tools, websites more accessible? Are there groups, communities working on this now? Okay, yeah. So a lot of the accessibility, like almost all accessibility standards are maintained by W3C and all of them actually happens in the open. So just now WCAG 2.2 became a candidate recommendation. So it's just a standards thing. But when that happens, even the text changes that happen in the standards actually happen through some, they have the GitHub repos and all the discussions happen there. So even if you have feedbacks for the standards, you can actually provide them because everything happens open source. Most of the, I won't say all, but a lot of the assistive technologies and accessibility projects are also open source. They might not have a huge community, but there are many open source projects. For example, the project I was talking about that I work on is called the Ally project. I will actually add, I think this HackMD link is being shared by everyone, to everyone, right? Yes. So after the talk at the session, I'll add some links as well to this question for GitHub repos and things like that. But yeah, there are projects like the Ally project, which is completely open source and it targets, it tries to make it much more simpler for users to make their products accessible, writing blogs and articles to make people aware. We also have a checklist for that that you can use. So yes, it's, most of the community is open source. I feel like often the gap is the open source projects need to have a communication. So there is often a communication gap or it's a single man project where that person themselves might not be an accessibility expert. So I guess, like doing communication, asking around in the community is a good way of starting. And most of the accessibility folks and the privacy folks do everything in open. Everything is open source. So they will be like more than happy to answer things. Yeah. Great. So our next question is rare, if any, is the middle ground between having a website that is thinking about privacy while collecting enough data to have feedback on how it's working for them to have metrics and are there other options to explore that are not based on tracking? Yeah, so what I said, and that's the entire idea of progressive enhancement, I guess, is giving options to the users. So yes, if you want to track certain things, firstly is I would always say that if you don't need to track a particular information about users, don't track it. Like really take that decision as a security decision for your website, like kind of getting hacked similar to that. So think of it from that perspective and really take that decision that, okay, do we really need that information from the user? If we don't, maybe we don't use it, but also giving options. It's okay that people who are totally fine with giving. So I have met many users who are also fine with having ads on the websites, right? Because they're like the ads, if they are tracking my activity, I'm getting better ads. So that really helps me. So I want to do that. And there are users they might not have a very big security threat model and maybe that's fine for them. So if you're building for them, it's okay, but build it progressively enhanced so that if someone decides to not give you that permission, they should still be able to use the website. They should still be able to consume your content, do the actual thing that they came to do and apart from the tracking. So providing that option, the alternative is very important. It would be kind of silly if you couldn't use the website just because of that one permission. Yeah, and I have seen that. Like there are websites which are like, okay, you don't give me location permission. I just don't show you anything. And that's just sad. Yeah. So then we have what are good accessibility projects that more people should be aware of? Yes. This is also, I think, something I can share. So usually in accessibility, what I try to do is, so firstly is, of course, WCAG standards. The standards are sometimes a little bit difficult to read, but they do have a understanding, a particular rule pages. So those kind of give examples and show you what they're really trying to do. So that is really important to follow that because even if you're following accessibility because of laws, most laws will ask you to follow a WCAG 2.1 AA or AA standard. So these are some standards. So it's really good to be aware of them. So obviously follow that. And secondly, because I feel that project is pretty good and I'm also maintainers, I'm going to plug it in here is the Ally project. I will again leave all the links in the notes. The Ally project is also an open source project. We write articles about accessibility. We also have a page with resources so that I feel is in itself a good resource which has a list of resources. So you can go through those resources that has everything from conferences to books to people to follow who are doing great works in accessibility. And we also have a checklist which explains this WCAG standard. It's not necessarily the WCAG standard correspondingly but also explains the things that you need to have in your website that makes your website accessible. So yeah, that's very important. And third is go through that resource list in the website and follow the folks working in accessibility. The folks working in accessibility write a lot of blogs and you can learn a lot from them. So yeah, I feel those three are the things that I always keep in touch of and that should be good enough to have an idea of the entire thing happen. Totally, and this is our last question. But what accessibility blind spots do you see in the average Linux distro? Interesting, so one of the things that I feel is it's not always the blind spot in the distro itself but sometimes it happens that they might not have user tested it with assistive technology users because Linux, all the distros don't really come with the assistive technology. For example, let's say a MacBook or Windows does have a screen reader tool built in it. So there are much more users of screen readers in MacBooks and Windows than in Linux. I'm not saying there is none. There's definitely a lot of them. But it's not as prevalent, I guess. So oftentimes I feel like oftentimes it's like there is not much user testing which is why I said when you are doing user testing it's really important to find those users who are using assistive technology and then try to because I've seen often the assistive technology in the assistive technology in itself is very buggy. Or sometimes it's not buggy but it's not in the same line as the other assistive technology. So when you're making websites it's really difficult to support both of them. So I think more user testing helps. One other thing and there has been some research articles around it which is a lot of the Linux users are terminal users and the accessibility of terminals is not really great because the outputs that we have on a terminal are not really markups. So let's say a lot of us, command line interface, tool builders love to give this ASCII art because that really looks cool but all the screen reader user here is adder it, adder it, adder it, dash, quotation, adder it, adder it. So they don't even get what the image is but they hear a lot of characters being spoken out for no real reason. So that again is like provide an alternative maybe, provide an alternative to your command line interface saying minus, minus, no ASCII art so that a screen reader user doesn't have to go through that hell. But yeah, the command line interface accessibility is not great. I have seen a lot of research articles or research papers being published on that and people are working on it. So I'm hoping it will get better. William, thank you so much for all of the wonderful answers and going into this presentation. I think it's a really, really important topic. So thank you so much. Yeah, thank you for having me.


OK, welcome to 6.002. 6.002x is the same as the electronic circuit scores taken by MIT students as the first course in an EE or EECS major at MIT. This course will help you make the transition from physics to electrical engineering.