 So who has read Debian's social contract? Yes? Okay, so what is point number four in the social contract? Our users, yes, our users. What about our users? Yes, that our users and free software, those are our priorities in Debian. This is from the Debian social contract. How does this compare to the priorities of corporate app developers and social media services? What are their priorities? Profit and, yes, shareholders, yes. So the directors of corporations are obliged to do what's best for their company and for their shareholders, not their employees, not their users, not what's good for society, but their obligation is to their corporation and their shareholders. So what happened to MySpace and all the other social media networks? Facebook just came along and clobbered them all, didn't they? So this chart shows the market share of actually the minutes that people spend on social media networks as Facebook took over. So if you were running another social media network or developing another app and you were one of the directors of those companies, you'd be very concerned about your company being wiped out just like MySpace or other operators who just lost all of their users to Facebook. So would that leave you tempted to do things to keep the attention of your users, to interrupt them with push messages, even to the point that you're almost spamming them? So this is the way it's been working in the domain of corporate solutions for real-time communications. So WhatsApp, Viber, Twitter, Facebook, they're all competing for every minute you have in the day. They're competing for your attention, for user engagement, and they're interrupting you to get it. Can they get that share of people's attention without interrupting you? People have a soft spot for things that are new or unusual. Has anyone seen a cat photo recently? Yeah, just about every cat photo is different. Cat photos get your attention, don't they? They say that Facebook would be dead within a week if it wasn't for cats. Half the people come to Facebook just to see a new cat photo each day. No two cat photos are the same. People are attracted to things that are new, that are changing, that are interesting. They're doing something like studying for an exam, and it's boring, and then this cat photo pops up and it just brightens up their whole face. But it may not be helping them study or whatever they were doing at that time before they received the new cat photo. People have a vulnerability for things that are new or unusual, that our brains are wired to be excited by those things. This is actually similar to the vulnerability we have for fatty foods. Back in the cave mandates when we were hunter-gatherers, it was very hard to get a lot of fat in your diet. People would struggle to get the minimum amount of fat in their diet. If we can get more fat in one meal from McDonald's, then a caveman could get in a whole week. So the human body is hard-wired to try and find fat because it used to be difficult to find. It's the same thing with the interruptions we get from our social media, messaging apps and what have you. That our brains react to this excitement that something is happening. Companies like McDonald's, which are huge, or even your local fish and chip shop business, they all know that they're selling a product that is not healthy, that they're appealing to this excitement that you have for eating fatty foods. They've worked out it's profitable and they continue to do it. In the same way, many of the developers of communications apps have worked out that it's profitable to keep interrupting people. Just like putting chips on their plate, they just keep doing it because they've worked out they'll end up like Myspace if they don't keep people's attention. Now if you're driving your car or you're reading a book and you hear that you've just got a text message or a WhatsApp message or what have you, do you find that affects your concentration? Can you even finish reading that paragraph in the book without some difficulty? You want to know what was in the text message, don't you? So they've actually suggested that knowing you have a message that you haven't read has the same impact on your concentration as a glass of wine. Or another way it's been explained is that having that message that you haven't read sitting there and you know it's there, you heard the beep but you haven't looked, that it's the same as a 10-point drop in your IQ doing under certain conditions. So back to the social contract. Is it in the best interests of our users to interrupt them? To put notifications on their screen, whether it's on their laptop or their desktop or on their mobile phone? Or in a corner of their web browser? As an organisation, Debian is not run like a corporation. We don't have a board of directors. We're not regulated like a company. So we don't have to chase profits or look out for shareholders. We don't have to worry about maximising the number of minutes that our users spend using Debian each day. Has anyone ever tried to count that? No? Okay. Not only that, we can design our tools to put users in control of their communications. Instead of the communications controlling the user, the user can control their communications. You see this with all successful people, whether it's a politician or a rock singer or a sports star. They have two or three people to filter all their communications. So they don't have to answer questions themselves. Someone else runs their Twitter account for them while they're busy playing golf or going to the beach. Another thing that we can do is we can change the default settings in the applications we distribute with the notifications. If, as a community, we value the ability of people to concentrate and to control their time, we don't have to interrupt them. We can say, look, we'll turn off the notifications and the people who want them can turn them on if they need them. Most other software vendors wouldn't dare to try something like that, but we can do that because we're Debian, because it's free software and we can change it and we can design it with the user in mind. Just think about a couple of potential users for a moment. Imagine a university student who's trying to learn a language and they're memorizing a list of words. What impact would that glass of wine have on that exercise? What impact will it have if they are getting beeps from their computer or their phone? For memory to work, there's a strong link between memory and concentration. If their concentration is elsewhere, they may as well not have even started the learning exercise. They didn't even need to open the book or pick up the list of words because after they've had that notification, they're not going to remember anything anyway. Imagine a software developer who's been analyzing a complicated bug like a race condition or something and their phone beeps and they lose their concentration and they were just on the verge of solving that bug and their concentration has gone out the window and they will miss some small detail in the log file that would have helped them solve the problem and now they're going to spend their own working on it. So they've lost their time and they have to start again. These are real examples of the impact of push notifications and all these other pop-ups and interruptions from messaging technologies today. So in Lumicall, which is an app that I look after for Android, there are outreach interns, Avika Gola who will be arriving some time today has experimented with silent times in the app. So this is just one example of something that free software can do that no phone company would dare to dream of. When your phone is not answered, there's no charge for the call. That's a nightmare for phone companies. This is why they enable voicemail on every new phone because they want to know that they can still charge people to call you even when you don't answer. So with a silent mode feature, an automatic silent mode that automatically stops your phone ringing after a certain time every night and from the phone company's perspective, you're cutting their revenue. They're not going to offer you that choice but free software can give you that choice. So Avika has developed that and you're welcome to try it. You're welcome to copy it into other apps because free software lets you do that. People often ask me, can we make an alternative to Skype and Viber and WhatsApp? But we have to be careful to think about what that alternative will look like. We can't just offer another Skype or another Viber. If we try to just do the same things, the way that the corporations do them, then our service will be indistinguishable. There'll be no reason for users to change over. If you look at privacy, for example, even after the revelations by Edward Snowden, many people still are not motivated to change. Who has had a conversation with a friend recently about privacy? Anybody? And are they still using the same technologies or have they moved over to free software? And whose friends have tried free software for a day or a week and then they've gone back to something proprietary? Privacy has not helped people to change their mind about those technologies. But when some users realise how much it's costing them to lose their attention, to lose their energy dealing with the interruptions from messaging apps and what have you, are we ready with a solution for those users? And when people realise that their children are not learning at school and they go out looking for solutions, wouldn't that be a great place for us to be in to have an alternative, not just a Skype with a different name, but a completely different way of doing messaging and real-time communications where the user is in control? So those are some questions I wanted to raise to get some discussion going over this week. Who's going to be here for the rest of the week at DevConf? So there's a lot of developers and a lot of people who are very keen on free software. And these are problems that we can solve and we can offer these things to people. So these are things we can continue talking about through the week. The next thing I want to bring up now is to demo some of the things we're actually doing today in Debian, things that work for free real-time communication. And these are things based entirely on free software. So the first demo, we're going to use the RTC.Debian.org service. So who's a Debian developer here? So who's tried RTC.Debian.org already? So a few people. So you can log in and using a RTC password. You actually have to go to the LDAP service and set up an RTC password there before you can use this site. Do not use your secure SSO passwords or things to try and log in here. Okay, so I've logged in and now I can make and receive calls through my browser using my Pocock at Debian.org address. So we have someone who's hopefully going to call. Let's have a look on IRC. We'll know if it rings as we'll hear it. It's one of those interruptions I've been speaking about. Okay. Anyone remember which workspace I was on? One of the problems with WebRTC is that if you have a lot of tabs open and a lot of windows, it can be hard to find which one is ringing. So we've got Yona is calling and she's calling from this SIP address. So she's in the Fedora community. They have a similar service. So I'm going to enable that. Hello, Yona. Okay, so that's working. I'm going to hang up. Can you hear me? Let me just try the sound. We tried to hook this up to the speakers before. Can you check your microphone volume? Check that you are not muted. Yona, I've got the sound at maximum and I've only got one output which is wired in here to the sound system. So that's working. You can hear me, Yona. Okay. Let's try changing something. I'm going to change my webcam. So I'm going to hang up and then I'll call you. It's like the transformers. We have to choose the camera here. Hello. Can you see the room? We have a few waves to Yona. Okay. We have communication. Very good. Yona is in Tirana in Albania. She's one of the open labs team. They made us very welcome there at Oskal, their annual conference back in May. Yona is going to Flock later this month. Is anyone here going to Flock with Fedora? They have a similar service. It's actually based on the same code just with their Fedora logo. Hopefully we'll be able to establish more communication between different distributions using WebRTC. We'll try the jitsimete now. Jitsimete is another solution that you can have more than two people in a call. I'm going to hang up again. If we're lucky, we might even get audio with jitsimete. Yona, we're going to jitsimete. I have to go and find the URL. What was that? It's a notification. Who was that? You've proven my point. Thank you. Now we're in jitsimete. Hello. What we could do is somebody else could try and join this session as well using the URL. Can you hear me, Yona? It's this URL. Can you read that at the back? I'll put the URL on the IRC. Here we go. It's working for somebody. Who else is joining us? I don't know what's happening here with the sound. I could try... We've got feedback. Hello. You can hear me. Okay. I'm going to try unplugging the amplifier and see if we can hear people through my laptop speakers, which will probably not be loud enough to fill the room. Yona? Yona, can you say something? Can you hear me? Hello? Okay. Can you hear me? We're hearing anyone else coming back through the speakers here, so I don't know exactly where the sound has gone. I can check that. There's also a bit of feedback with latency. There are far too many options in the pulse audio. When you go into the jitsimete, you can put your name in there somewhere. Let me stop that. So, fellow jitster. You can add your name. That wasn't me. That was feedback again. I'll turn that down. Okay. There are exciting possibilities with jitsimetes. Whatever's going wrong, because it didn't work from either of those pages. There's probably something I've done in my sound settings in my laptop that has stopped it working, which is not unusual because I'm often tweaking these things. I tested it earlier today and it was okay, but maybe I've changed something when I was connecting up to the projector. So, I'd like to encourage people to try both of these things. If you're a Debian developer, please register with rtc.debian.org and try calling other people in the community or ask people to call you. Anyone can go to jitsimete. So, try that out. Share the results using the Debian RTC mailing list. If you have questions, there are people there who can answer them. The next thing we're going to move on to now is ring. So, who has already heard of ring? So, many people. So, ring is peer-to-peer. So, there's no central server like with WebRTC. So, I'm going to invite Alex and Dorina from Savoie Fair Linux. They're part of the team behind ring. Yeah, Sebastian. Yeah, you can come up as well. So, come and join us. Okay, so, you will need a microphone. So, ring is completely new. It's a peer-to-peer solution. So, Alex is going to explain more about what it does and why this is different. If you've got fDroid, you can try and download, or Google Play as well. You can download it on your phone while it's been explained. Hi. So, I'm Alex Sam. I'm from the ring team, and I'm a Debian developer. I happen to be maintaining ring in Debian, actually. We have a recent version of rings in Debian backports, but a bit older in Debian stable and very recent and unstable. So, what the ring is, it's a fully distributed communications platform. So, I'm not saying centralized. I'm not saying federated. I'm saying distributed. So, just like BitTorrent MagnetLynx works, they work using DHT. We do the same thing with ring. So, when you use ring, you're not trusting any entity to really messages. You're really using a fully distributed service. So, it comes with some downsides, such as messages can take up to one or two seconds to get to the other participant and things like that. But mostly, we have... If we don't have it already, we have solutions for most like RTC problems. As you can see on my client right now, I can see that Avio is online. So, we have presence, which is very special for a distributed service. And we also have usernames. This guy here, he is called Avio, and this is a registered username in a distributed service. So, this is problems we have solved with ring 2. We are making use of blockchain technology, just like Bitcoin, to register usernames. And I'm going to make a call to show you what it looks like. This is what we call a ring ID. Ring ID are not really convenient to share with people, but I don't know the username of this user. I'm going to call someone else then. Ring also has some useful features such as delivery reports. So, when you send messages, even though it goes through a fully distributed server, you have delivery reports. So, you can know whether or not your contact has received a message. You don't see my full screen. I'm going to resize the window here. All right. Yeah, I'm calling through my cell phone with my laptop. So, I can... Yeah, I'm going to give it to Durina. Did anyone else download it onto Android? Yeah, so we have apps for most platforms, including Android and some non-free platforms. We have clients for everything. Ring is still... We still consider ring a very early software, so you can expect bugs, but that's what the software does. Oh, yeah. We also have useful features such as multi-device. So, when you call a ring user, it's going to ring on all of its devices, and adding a new device is as simple as entering a PIN in your password. We still struggle with many concepts that we have to fight that people are used to. For example, when you create a ring account, sometimes we have users coming back to us and asking how come I can't log in on my new device to just put my login password. Well, no, that's not how it works. You have to transfer actually your certificate to the new device. So, concepts like this don't apply to ring because it's fully distributed. You can't just log in on a new laptop and expect it to work. You really have to transfer files from one computer to another. But we try to make it as easy as possible to simplify those concepts. And feedback from the community will also help, especially from users that do not understand the concepts behind distributed services. Yeah, and we do have a talk about ring in a few hours, so if you're interested in more detail as to how it works, please come. So, 6 p.m. which day? Can you hear me? Okay. So, it will be at 6 p.m. in the woody room. So, we were all invited if you're interested on ring. Thank you. Okay. So, we've got about maybe five minutes for questions. So, does anyone have questions? And you need the microphone. Do you want to take the microphone out to people? And who has a question? Can I up get the install ring? Yeah. The package is called ring. I suggest you use the one in backports. So, please enable backports on your machine. But if you're running on stable or whatever, you're going to have a recent version. Thank you. We also have repositories for all distros for those of you guys that are not using Debian for some reason. Okay, so next question. Okay. So, you said it's peer-to-peer, but do you understand it correctly that there's a server in the middle? No, there's absolutely no server. Well, the way peer-to-peer networks work usually is you have to know at least one node to join the network. So, we run what we call a bootstrap node at bootstrap.ring.cx. But if you do not want your client to connect to this node when it first boots, you put your friend's IP and it's going to work. It's fully distributed. There's one thing, though, is when calls do not work. So, for example, there are situations where both peers are behind the firewall that they do not control. It's impossible to establish a connection between the two users, right? Because they don't have a UPNP and they are both behind the firewall. Ring will revert to using turn servers. But this is like a last resort thing. And we host turn servers for the community to use. So, when you install Ring, it's pre-configured with a server that is hosted by several file units. So, you are almost assured that every call will work at all times. There may be... There are maybe turn servers in Debian 2. If what? There are the turn servers in Debian 2. The turn server is not a Ring thing. It's a fully open protocol. We have three turn server packages in Debian. So, people can run their own turn server if they don't want to use the turn server provided by the Ring developers. Ring does not invent many things. Like, we use SIP, we use turn servers, all of those protocols we haven't invented. We have another question. Do you have any plans for making an iPhone version? An iPhone app? Did you say that? Yes, we do have a work-in-progress iPhone app. It's almost the only platform that we haven't released on yet. It's working, so you can build from source if that's what you want. But it's not in the store, and there are issues with that too. Thank you. Any more questions? Okay, very good. So, yeah, thank you everybody for coming, and thank you Alex and the Ring team for demonstrating that. And thank you to Yona for joining us remotely. I'm sorry we could not hear you. I'm sure this was my fault and not yours. So, please do feel free to approach us and test things with us while we're here. It's even for problems like this with the WebRTC. There's no better place to test these things than iron out the bugs than when you're standing up in front of a room of people. But the second best place to test the things and iron out the bugs is when you're meeting people here at an event like DebConf. So if you're trying these things and they're not working for you, sit down with me and we can have a look at it together. Even if I can get some more data to file a bug report and we can fix it in the future, that's one of the things that makes an event like this really productive. So I'd welcome any questions or problems people have. So, thanks for coming everybody.