 First of all, thank you so much for coming, thank you to Fosden, thank you to the open-source design collective for making this talk possible. My name is Felipe, I work with Theronet. It is a Swedish RID company focused on mesh networks, direct connectivity, automotive sensors. Before that, I used to work at Igalia, working in the Nokia family of Linux devices, the non desktop and a bit on Android. I studied software engineering, human-computer interaction in the UK, and later on interaction design in Sweden. I work on mobile. Part of my work is to create demos and prototypes to communicate the useful of these direct connectivity technologies, and it has given me the chance to reflect about how we can find out what we can create with this technology. I have to apologize because I'm going to show some prototypes, but they are not free software. They are prototypes and I don't have a problem if you get in touch with me to explain you how they work or how some of the problems that they solve are solved. The direct connectivity is there's the ability to create networks directly between two or more devices without needing any other infrastructure or access to the internet. There are several ways to do this, some that you might already know about, and there's a couple of new ones, Wi-Fi Aware, which is what I am using for the examples here, and at some point in the future there will also be a 5G device to device. And why is this something that might be relevant? Well, because from my point of view, this technology bit by bit becoming fast enough, convenient enough, flexible enough that they enable new interactions and new kinds of solutions. So the question is how can we start to find out what are these new interactions and new solutions. This is a bit like exploring a new space, a new design space. You don't know what things might be out there and you have to feel your way around it. And my main point here in this talk is that in order to carry out this kind of exploration, you need to be switching continuously between the perspective of the engineer, of the one who understands the technology and thinkers with it and plays with it, and the perspective of the designer, the one that takes care of real users, finds real world problems to solve. Most importantly, you have to be taking a moment to reflect after each step to see what you have learned from these two perspectives and how you can use it to bring your work forward. I realize that this is kind of a niche area, so I don't expect all of you to just jump into it after this talk. But what I hope is that by showing you some of the explorations that I have been doing, you might be able to extract some ideas, some guidelines that could be useful for your own work. So let's start from the point of view of engineering. We look at this new technology called Wi-Fi AWARE, which is the implementation of a new Wi-Fi standard. There's two main implementations that I know about. One is with Qualcomm and Google for Android, which is as many things in Android open source but actually developed behind closed doors. And then there's an Intel Wi-Fi card that is supported in Linux, but the support for Wi-Fi AWARE is apparently still experimental. From the point of view of somebody designing an application with this, there's basically three things that you have to take into account. Wi-Fi AWARE allows you to have a very flexible discovery process where the devices announce the service that they are signed up for and they can distribute small amounts of data with these announcements. They can exchange small messages without needing to create a connection and they can create connections but only between two devices. Connections are one to one and there's only a limited number of simultaneous connections. So that's it. That's the material. How do you find out what to do with it? Well, as a starting point I built a small tool that just Wi-Fi AWARE to discover other devices and to connect to them and this helped me a lot in testing and understanding the API. So you can see how the devices have discovered each other and then when you tap on them you create a connection. So if I now take the IP of the remote device and start another application and paste that IP I should be able to use that application over Wi-Fi AWARE. This almost never works. I found one application where it does work and that application is Open Arena. A part of a desktop game using the Quake 3 engine that happens to be the only application that I found that can be used out of the box on top of Wi-Fi AWARE. So those three forms are not connected to a Wi-Fi. Of them are connected to the central node, the one that created the game and they are just playing on top of it. Other applications don't work because Wi-Fi AWARE uses IP6 addresses with a scope with the name of the network interface attached to it and a lot of applications try to be too smart. I didn't don't recognize that this is a valid IP that they can use but you know we're all Open Arena works. So something that we have learned here first of all is that the technology works. The API still needs some work. The concrete implementation is still a bit wobbly, a bit unstable but it's working and it's getting more stable. There seems to be work to do then in better APIs and improving the support of other applications and libraries and one interesting thing is that I mentioned that there's a discovery process where you announce the service that you offer. In Android right now you can announce anything. You can claim that you are Facebook or even worse you can be Facebook. I'm going to talk a bit after that about it later but there's some work there to make sure that this remains useful while also protecting the privacy and the security of the users. Now we change perspective and we approach it from the design point of view. From the design point of view we follow the usual design process when you research design prototype test evaluate and this last step of evaluation of critique is really important when you're doing one of these kind of explorations because what you learn is really what you want to take away from the whole for your whole work because what you are looking for in this exploration is a guideline a map that you can use in your future work. So I first got in touch with this field when I was studying in Sweden. Terran had contacted the university to do a master's project designing an application to do presentations using their mesh network. So I started researching and I saw a few I got a few interesting insights from this research phase. Presentations are usually one way linear one person one set of slides as I am doing now. So allowing people to share their own content became one of the main goals of the design. I want you to let people do that and the presentation became something a bit different becomes a collaborative medium. We also saw that in meetings there's a bit of social choreography at the beginning where people read each other say hands and so on and we thought about a way of using that of getting the people tap their their phones and tapping those phones would create the network but also mark kind of the start of the of the meeting and then when we did some testing I want to show you I did a small prototype back in 2015. An interesting thing to say is that a lot of the behavior is simulated although all the devices have all the images at the beginning and they just exchange small messages saying which image has to be displayed at each time. But this worked well enough that I was able to do presentations like this at university and in doing that we saw that when people can interrupt and add their own content the presentation becomes something much more inclusive and more shared and it was a good way of getting people to talk. So after that I continued working with Terranet to bring this application to life. Here is using NFC to create the network. We're going to be seeing an interesting presentation on cats. I was exploring and adding what functionality that could make sense for this kind of experience. So in this case for example I added live drawings. I also integrated the cameras so you can take a photo and then it is immediately shared by the other phones. But here you see it working with three devices and there's also some interesting things that you can do with something like this which is for example you can have poles instead of people raising their hands you can have them do it in their phones. So it was a nice prototype which was very useful for communication for showing what the technology can do. We saw that it was very useful also for sketching quickly other use cases for sketching drawing application for example annotating how would sharing the camera would work etc. We also saw that it was very hard to get people to get this if they are trying it on their own because obviously they need two devices and the mental model that you need to have here is different from how we usually use our phones. So working on top of these lessons I created a much smaller more focused tool that just uses this tapping gesture to create the network and exchange the data quickly. So it's a very simple very fluid interaction you just share your tap and it and it goes. But the nice thing about this tapping gesture is that it allows you to ground the interaction it gives an explanation as to why this only works when you are very close together. It's like you have to tap and by tapping you create a network only between you and me something kind of intimate no you say hands or you touch a friend and then there's a network that is created between my device and your device and the rest of the world the internet and so on doesn't have to know about it. So that's something I have been working on recently a few areas that I wanted to explore in the in the future is first as I mentioned improve privacy because for demos you don't really care that you are advertising user IDs, user names, applications etc. But in a real-world scenario this could be misused in many many many ways. So what we or what I would like to find is a way for your friends to find you but without anybody else knowing that you are you. So that's something that I think there should be a solution that is open and free software and that people can try and test it and see if there's any any problems with it. Another thing that I've been working on is video streaming because there's some interesting use cases when you can share cameras in real time you can take photos with somebody else's camera if you and your friend are taking a video or something of something you can be switching perspectives in the video that you are recording. I thought this would be easy to prototype it turns out when I started testing different libraries and different protocols that it's not that easy WebRTC or VLC for example I couldn't get them to work I'm still working on it but there's probably some work left to do there. The last one is the automotive sector the basic idea here is that if you can detect other pedestrians because of their cell phone or if you can detect another car you can have a car that can see around corners. If you know you're going to turn to the right but you get a signal from somebody who's crossing the street the car can already detect that and warn you even before you make the turn. So as a summary of what this means for design with direct connectivity I would say that there's a very interesting opportunity here for tools that are aware of the people that we have around us and that can support us when we are collaborating with them in a way that can take advantage of the context and can be more private than a solution where all your data by default is being sent back and forth to a remote server on the internet. This technology doesn't fit every use case so there has to be some working looking at which scenarios fit it better and there's work to do in finding the right mental model for users so they can understand that this technology works with people that you are nearby people that you are touching people that are close to you because otherwise it's hard to get them on board if you don't communicate you don't embed this mental model in the solution that you are creating and about the exploration process in itself while being switching perspectives because you need to combine an understanding of the technology especially in this case in the case of a new technology you have to have a good understanding of what the technology can do so you can then decide what you want to do with it and you also have to ground it in real use cases solving real problems and presenting the solutions in a way that people can understand easily having these two questions in mind you have to tell people why they should use something and why they need to or what they need to understand in order to use it and that's it thank you very much if you are interested in this working in this want to think with it or anything like that please get in touch I the last link is my blog in the coming days I will have the transcription of the talk and the video seeing better definition yeah thank you very much