 So we have Elliot here, we have Chris, we have Matt, and we have Corey on stage. And we'll just pass them the mic and see what happens. I guess the mic is being passed to the middle. Hello everybody, how are you doing? We're good. Yeah! Preaching the end of the first day of Fosdom so everybody's probably a little bit exhausted. I'm Chris Weber. I'm one of the co-editors and co-authors of Activity Pub. Just out of curiosity, how many people here are familiar with Activity Pub? Raise your hand. A good portion of the audience, not everyone. Also, how many people have looked at the Activity Pub specification? Wow! That's like a lot of people for a specification. So for those of you who aren't familiar, talking about Federation, the general idea of Federation is that we have the same way that you can speak to people on different e-mail servers. We want to do the same thing with the social web. So there's no reason that Twitter or Facebook should control just those social sites. Anybody should be able to run their own server and speak to each other. Activity Pub is just a protocol that describes how the different servers can talk to each other. So anyway, I said who I am, I'm Chris Weber. I'm going to pass it this way and then I'll wrap around like Mario too. Hi everyone. I'm Elliot, I'm the maintainer of a software called Funkwale, which is basically a groove shark slash sun cloud alternative, working with Activity Pub and over decentralized technologies. Hi everyone, I'm Matt Baer. I'm working on a project called Write Freely, that's basically a really simple blogging platform that also integrates with Activity Pub. Hello, I am Corey Slep. I work on GoFed, which is a go-lang implementation of Activity Pub, a library, not an end-user app, busy working getting v1 out. So I'm here on my individual capacity and I don't speak from my employer. We'll just assume that goes for everyone. So I guess, so we're freestyling this one a little bit, partly because of my fault because I've been very overloaded. So I'm just going to start things out by saying what, to the other panelists on the panel, what made you interested in picking up Activity Pub specifically? For me, it was because it was really easy to understand, I think. And also because most of the protocols I've seen were focused on social stuff and Activity Pub in Funkwale, it's used not at all for user interaction, but more for server-to-server interaction. Because Funkwale used Activity Pub to exchange music from servers to servers. And Activity Pub helped me do that, and I don't know if I could have done that with something else without reinventing too much things. Yeah, for me, I was just really attracted to how easy it was to start up communities that had their own flavors to them and could still communicate. I started running a mastodon instance, and that really got me just seeing how the type of people that were coming on board and seeing how everyone interacted and how the software worked, how you could have music or video or just small posts, and they all come into one place. So I thought that would be perfect to build on. I'd like to add to it. For me, GoFed is kind of a personal story. I emigrated to Europe in the winter of 2017 and found integration difficult, so I started a side project, which is what it's grown into. And I've had a couple users, I think, right freely as one of them, and it's been amazing seeing the ecosystem come to be what it is, and I've learned quite a lot along the way what the spec is, what the spec isn't, what it is meant to cover, what it is meant to not cover, and where the state of the world is now. Before I throw on the next question, I just wanted to say how much I appreciated the previous talk, actually, and how much I agree that the process of federation and decentralization is a political act, and that a real goal for me, and one of the reasons I got involved in standardizing things, is about distributing power. And so I think that it's important to keep in mind with our work. But anyway, I have one more question that I'd like to ask, and then either you all can ask questions or even better, the audience can ask questions. And I have an answer to this for myself, but I'm going to wait last to say it. What is one thing you've liked about Activity Pub, and what's one thing you don't like slash hate? Anybody want to go first? Don't be afraid. I won't get mad. I like Activity Pub because, so I like it for what it does, and what it does is it gets very distinct applications to agree on a way to communicate. I don't like the way people have taken what is lacking out of Activity Pub sometimes as an excuse to downplay it and dismiss it. It's meant to grow. It's meant to be iterated upon, and some people look at it as it is now and say, this is it. This is how it's meant to be for the rest of the world for the end of time. It can't grow. Activity Pub is dead in the water. I fundamentally disagree with that claim. I agree. We need to switch. Can you hear me? One thing I really liked is that it's made of small pieces, so you can pick webfinger or activity streams, and it's conceptually easy to get. And fourth and quail, there were many types of objects that were already available, like audio, listen, and things like that. So I could just pick things and it worked. And one thing I didn't like was the fact that some things were not specified enough, like the HTTP signatures thing or all the authentication workflow, basically. Yeah, I agree with both of those things, basically. I like being able to just pick and choose which types you're going to send around and pretty much they'll be understood. And the hardest part was the implementation. Just going from the spec, started reading through it, did not finish it. It was kind of open-ended enough to where it was hard, so luckily our panelist on the end there was around building his own, doing the dirty work, so that's pretty much why I could end up implementing it. Great, so the thing that I like is that ActivityPub has a good conceptual foundation for it, which is the actor model, actually. Everything is an actor. Well, not all things are actors. Things that have inboxes are actors, and they send messages to each other, which is a pretty well understood concept and the whole idea of the inbox and outbox I think are pretty simple. I wish people would pick up the client to server protocol, by the way. That'd be really great. And I think that having that foundational understanding, even though many things are an actor model, understanding that your implementation is an actor model allowed the specification to be much cleaner. What I don't like, it sounds like we're achieving some consensus on this panel, actually, we did leave some gaps in the spec, and that's correct. And the reason for that is we had a few years of a specified timeline. We got several extensions, and at the time that we moved to specification, there were certain things that were not agreed upon in the community. For example, how do you do authorization and authentication is probably the biggest complaint that people bring up all the time. And it was, and we instead put suggestions and actually pointed at community suggestions in the specification, and that's because if we did it at that time and we implemented it and we threw it in there, I suggested something that was probably wrong. And so we decided to deliver a specification with the parts that we knew were right in general, with one big exception, which is shared inbox, which I think we did something wrong with that at the end, in trying to help mast it on, get it out the door quickly. But I think that, and part of my goal over the next couple of years, by the way, it was just announced a couple of days ago, I got a grant from Samsung's Stack Zero thing, and I'm going to be spending the next couple of years on a project called Spritely that develops demos on how we can fill in those gaps to make the federated social web much more resilient. And that includes things like what happens when a server goes down and all that content disappears, and then nobody can interact with it anymore. I just put out the first demo that begins to give an answer to that this week called Golem. And so that's going to be my next couple of years as trying to develop demos that piece by piece show how we can bring the Fediverse to the next level even closer to the kind of things that peer-to-peer networks provide. Anyway, with that, I'd like to open it up to the audience, unless any of you have a question that you'd like to move forward on. All right, I bet some people have questions. We have at least one. While I implemented Activity Pub in our project, it was really easy implementing the parts that already had been implemented by Macedon Playroma and so on to see how they did make it. But our project is fairly complicated, so we have a much larger thing to implement. And then I came to a point where I was unsure how to implement this or that. And so I guess it would be important to have some kind of coordination, some kind of discussion form. I don't know where all developers or most developers should agree upon how to make things. So have you any suggestions how to do this? Because I don't want to develop things that would be standard conform not only for our software, but something that all would implement that way or in another way, so that we agree upon this. My bad. So we actually, I'm co-chair of a group called the Social Web Community Group, which is a W3C group that anybody can join. Unlike the working groups that are set up and this is a space to incubate ideas and figure out the next generation of things that have not been well defined. You're welcome to join. Anyone in this audience is welcome and encouraged to join. I will say that I have not been doing a great job as community leader aside from showing up to meetings, which I don't always do. And I would like to do better. And one of the other problems is that we have a whole bunch of issues and I haven't been getting through them very well. But in one of the most recent meetings and I haven't put it on the activitypubs.rock site. Sorry, sorry, I know I'm very terrible about these things. Someone did set up and I forget the name of it. It was used to theoretically coordinate this panel at the end. There is a forum. What was the name of it? What? Social Hub.Network. That's going to be a place for people to communicate. We also have an IRC channel on the W3C thing, but that's not, it's kind of disconnected. But I think that the Social Hub.Network could help out a lot. But do any of you all have comments? No, about Social.Network. Yeah, it's really interesting. I'm using it for fanquail. And if more projects came and used it all together, it would be interesting to coordinate on developments and fill the gaps in the specs or things like that. Sorry, I have one last thing to say. This is an area I really want to explore once I feel good about the GoFed library. I've posted a blog post about this exploring an idea where you take an Activity Pub extension and embed it into Activity Pub itself so your extension to Activity Pub can federate, which would enable centralized authorities managing their own Activity Pub extensions, but since it's federated data, a centralized repository. So you don't have the problem of you have to know all these different projects and their extensions. It's on the Fediverse. However, you don't have the problem of a centralized authority where it's you know, David versus Goliath kind of situations and acrimony and power struggles. Each person can manage their own, or group can manage them, Activity Pub . We should talk more after this panel. Other questions? I'm impressed by the number of people who said Activity Pub is simple because I feel really stupid because implementing it was harder for me. What's your project name? What's your project name? Excuse me? What's your project name? It's not released yet. Oh, okay, okay. Maybe it will stay internal. The biggest difficulty for me was to understand that Activity Pub by itself is not important. It's actually Mastodon Pub being compatible with Mastodon which is a real goal for most people. And then there are a lot of things you don't fight. I read the specification and it's only a small part of what you need to know. You need authentication, authorization, web finger, encoding of content. A lot of things are completely not specified. So to be more concrete, do you think it would be a good idea if someone were brave enough to describe the actual profile which makes Mastodon Pub or whatever its name? All the things that you need to know when you want to be a part of the Fediverse. I think that documenting how to be compatible with the, let's say, average current deployment of Activity Pub would be good. A lot of people want to be compatible with Mastodon especially. In fact, I think that Mastodon compatibility is something that is important and useful for many people in this community. I also think that for those people who are trying to do things that are not just Mastodon, that are not just microblogging things, we also want to be able to have conversations about how to do that as well. How do you post an audio that funk will? We'll be able to receive and stuff like that. We'd like more of those sources to be able to do those things. My main work that's coming up is going to be talking about much more next-generational things, but we should document at least the current generation things that are not specified. I believe there is also a project called Phineas. It's an automated test that can assess compatibility between different Fediverse software. You can test and build automatically each funk whale release and test it against the right 3D or Mastodon or Playroma. I was just going to say I think also as people implementing it, I've been meaning to do this to just write about it in general, just talking about this is how I did it, this is how I did this one piece of functionality. I think just everyone, especially while we're all kind of exploring and trying things out, that's what we should be doing as well as part of the development process. Other questions? So you said in your introduction you learned what activity pub is and what it's not. Can you elaborate on that, especially on what it's not? Like your own idea what people might interpret oh yeah I'm going to use activity pub for my thing and it's going to be awesome but maybe there are actually some cases where you shouldn't use it. This goes to like a philosophy I've been developing over a year and I'm not sure if it's what was intended by the social working group. I read the notes but I really view activity pub as two protocols and one there's a client to server and server to server, that's how it's divided. But I view it as two protocols in a different sense. I view activity pub as a physical byte transmission protocol, getting bytes from A to B. I also view it as a very lightweight social networking application layer on top of it. So it's one protocol with both a transmission layer and a little bit of an application layer. What kind of helped me realize this were folks at the forge fed effort and the value flows effort. These are people who want to extend activity streams of vocabulary into other domains like the economic and the code forage domains and it made me realize that activity pub had built in this social media lightweight vocabulary bias into it. So that kind of fuels my perspective on why we need to iterate on this to allow these other kinds of I call them flavors of networks coexisting with each other so you can have your code forage living on its own if you want but if you want to build a co-op around a code forage then maybe you also want the economic network as well. Did that answer your question? Thank you. I have two things from that. One of them is what activity pub so I'm kind of twisting your question a little bit into what activity pub could be and also so there have been some perspectives so one of the criticisms that activity pub has gotten actually was that some people don't like that we allow for extensions for instance actually because when you allow for extensions that means by default there's going to be things you don't understand because somebody will have used extensions but let's just ignore what that way is and ask should extensions be allowed and there's a famous post by one of the diaspora developers that says basically no you should bake in everything that your world is going to be at standards time and then that's it and I never got around to blogging about my response to that but to me that doesn't I don't see how we could I felt like if I had tried to write in all of the types that were possible in activity streams and activity pub at the time that we put it out it would be very egotistical to me to believe that I would know what the future was going to be so for instance maybe the future was going to involve you know there's a lot of interest in having like virtual spaces maybe you put on a helmet and you walk around somebody's virtual reality thing in some sort of no VR helmet right you know we have image and video the future may involve that type of thing it certainly doesn't exist well enough to specify at the time that activity streams and activity pub were released I can't assume that I know what the needs of that community are going to be and I don't want to lock them out so it's an open world system as opposed to a closed world system and those are two different ways of handling things and I think that so I stand by that decision I think there are ways that we can make extensions easier and then we should talk about that but I think that the other thing that I'd like to say I'm sorry I feel like I'm monopolizing this but I'm going to say the one other thing really quick anyway the other thing that I was oh I lost it I'll come back to it later do you have anything or do you want to move to the next question yeah I would just say as far as today you know especially you know there are a lot of different applications but it really is one of the more lightweight implementers of activity pub and that's that was just a design decision so that's kind of how you know there's definitely the protocol side I can do a lot and it does have a bit of that application layer but it's really if you need it then you know I think it takes a lot of conscious thought about okay is this actually going to add to the product or is this kind of something that we don't even need any more question oh yeah if an answer to my question is out of scope for the for here please say so I have no personal experience with social media I've seen websites but I never used it and I dislike centralized stations I would like to get into federated systems and so I have some difficulty imagining what the activity pub accomplishes what kind of information is sent out and can you give end user benefit of the federation between different platforms okay what would you say I've got too many opinions on this I'm going to hand this off to one of you what is the end user benefit of federation for Fenquay our use case is to have people sharing music and creators sharing their music publicly and to have people commenting on music and sharing people with their followers so maybe that answers your question because you could do that on any server interacting with any other server any other user transparently I'll let you I really wanted to talk about the thing that I just remembered was in part for the other question it's allowed really cool interactions where you can have a micro blogging site like Plurum or Mastodon have its users sharing their thoughts and then as well with PeerTube for example someone uploading videos whether it's video blogging or whether it's instructional videos and that will pop up in a Mastodon feed, Pluroma feed PixelFed as well I think just launched with lots and lots of pictures, beautiful pictures and so you're able to get those as well and your Mastodon feed so it allows these users if they want and this is an open problem to sign up for these different services and have the experience they want consuming media different kinds of media if I want to use it it's a precondition that I have an account on each of those services this ties in directly with what I wanted to say okay so the thing I forgot that I wanted to talk about was the client-to-server server-to-server protocol and why both of those exist and how it ties in directly to this actually so client-to-server and server-to-server curiously the client-to-server thing at the end of the activity pub specification part the end of the social working group we were running out of time and it wasn't clear if we'd get the federated stuff done and Evan Prodromo, who's really responsible for a lot of activity pubs design and his predecessor O-Status said we should just release the client-to-server specification and not the server-to-server and I said no, I'm quitting the group if we don't get out server-to-server and we did get it out and thankfully it was Mastodon picking up that allowed us a lot of momentum but there was a weird thing that happened we thought that one of the reasons why we would push out the client-to-server instead of the server-to-server was that it's such an easier protocol actually and then weirdly I'm getting messages saying oh the reason the client-to-server server thing is not implemented is that it's much harder, what, what so it's almost the same protocol and there's an interesting world that opens up if we took client-to-server and server-to-server seriously because if we, it's almost the same protocol design-wise and if we took this seriously it meant that you could use Mastodon's interface to talk to PeerTube and PeerTube's interface to talk to, you know funk whale or anything like that but the way that the Fetaverse is currently designed is actually really bizarre to me has been to encourage each one of the projects that has come out has wanted to brand themselves as like the activity-pub-server for this and like it's cool that like these different things are happening and maybe that actually motivates developers and I show you all have comments on this to be able to do that type of thing but to me, you know so my friend Sebastian and I were just talking about this and one of the, you know, one of the there are a bunch of people who are currently leaving Google Plus who are really disappointed because one of the things that Google Plus did for them was to take seriously that you could host a whole bunch of different media types on it I don't see why we shouldn't try to pursue this vision of, you know you are able to swap out any client for any server so I'm curious what my fellow panelists have about that idea oh and the reason that that's an answer to your question is that you wouldn't need five different accounts for me, I think one reason is that it's really hard to design a client to work with any server because for Thunquail, the main use case is to listen to music and for Mastodon is to share toots and browse the feed and those are simply not the same use cases so if you wanted to build a client that would do all of this it would be a huge beast and maybe with a bad user experience but that's an hypothesis I don't know this is actually somewhere I've been thinking as well and maybe it's what you're saying I think we're like accidentally on the same wavelength because I've been imagining it to where you would essentially have your Mastodon account for example but then you would use Thunquail to post to like through the client to server send it to Mastodon so that's kind of where I've been going in addition to the right freely side the actual producing content I'm working on a reading side called read as and that's basically just a nicely basically a feed reader except built on activity pub and using that to again you wouldn't have to create an account but having it integrate with right freely to where you have these kind of these two sides where you're subscribed to all these people in the Fediverse you're receiving their posts and if you want to curate some of that for other people to read you just boost it and that ends up going to your Mastodon account or whatever or your blog or you know wherever else on in the Fediverse that you're kind of connected to so that's I've kind of been thinking about those lines so my question is I don't have deep knowledge of activity pub but from the information I got in my brief investigation of it my feeling has been that the concept like server and client stuff like this is really hard wired into the protocol and that it would not be suitable for for example P2P solution and because for example there's assumption that the my name is the way to reach the other server and so on while for example in my world it's more like you have a cryptographic idea and that's to find the other I wouldn't like to know if my impression is wrong or if it's like that no you're right but there's no reason that it actually has to be the case in my view the I actually think that there is no so you're right I actually think that one of the weird things that happened the current one of the reasons why I think the current generation the Fediverse and I have ideas on how to be able to do this with activity pub maybe we should actually talk about this for instance let's assume that you just actually why should your client and server not be the same thing a lot of it has to do with the current assumption that everybody needs to run a server that exists somewhere else probably all hosted at Amazon and you're like hooray I've decentralized things and as opposed to home hosting or even just on the machine that you're actually on and it's a weird thing that we've developed in this mindset where we've given up on the idea of your personal computer being a very active agent in the system which was much stronger of an idea in peer to peer systems and I think that a large portion of the reason for this is that a number of interests a number of things happen at once one what 2.0 happened and everybody assumed they needed to run a server two ISPs IPv4 started to run out of spaces and we started to get more NATs and ISPs actually started to put in their terms of service that you can't self host a server three peer to peer networks became associated with file sharing and specifically file sharing of pirated content when in reality there's no reason that peer to peer services can't be used for all sorts of other things so I completely agree with you that this is something we should be exploring and the separation between so technically nobody's using the client to server protocol anyway so it doesn't really matter but the server to server protocol there's no reason if I spin up a tour onion service for activity pub and hosted on my machine that's right there aside from the liveness problem there's no reason that I can't actually send a message to another person who's hosting an activity pub service over a tour onion services just running on a virtual machine and another reason for that I think has to do with a complicated topic called Zico's Triangle and the way that main names come into that but I feel like that's a long topic and I'll be exploring it with Spratly and maybe you and I should talk more any of you want to discuss it or should we do next question one thing I like about activity pub is that it does everything that host status did so I'm from Gino social and the thing I dislike sort of about activity pub is that it tries to sort of portray an image of serving private content in some way or like ACLs and stuff like there's a notion of a private message or a direct message or whatever it's called I think it's somewhere it's explicitly that the spec doesn't have the scope of like preserving privacy or like guaranteeing the end to end encryption or whatever like there's no specific it's explicit in the specification I remember okay and yeah like the I'm thinking considering the last talk now like we should be open about how political code is and like maybe specifications as well like maybe we should say that like this has nothing to do with private messages or otherwise we have a huge problem of service like solving federation where everyone have their different scope and sense of privacy essentially any comments about that activity pub can absolutely do private messages but the premier application that took off and ran with it even picked it up partly for that reason but and this is one of the reasons why I say shared inbox was a mistake actually shared inbox moves from the idea that you're sending a message directly to another entity directly to that entity's index and instead assumes that you start routing things based off of the server that you're sending to is understanding of the addresses that are coming in and that's a big problem activity pub as it's designed is let's go in a couple of approximations first one if you go with the activity pub spec even with shared inbox it's as secure as email as much as I can send in fact design it specifically influenced by email in that it has email like addressing where you do too and blah blah blah and you post directly to a specific user's inbox and if you implemented your server the same way that many mail servers do where it ends up very much so in a specific user's inbox then it would absolutely be direct messages as secure as email right but now maybe you're talking about end to end encryption right so end to end encryption the reason why we might want that is that a server you have to trust your administrator to not snoop on your stuff and that's the same thing in email the same reason we have that thing you'll notice how well email is doing with end to end encryption thing which is pretty bad you know and I'll finish this and then I'll get back to you and there are things like O-MEMO and things like that that we could observe we actually had an issue in activity stream and I think activity pub and I think it still exists about how we could do end to end encryption but if we instead moved over to the fellow who has disappeared who was sitting over there comment about more peer to peer delivery where we're doing direct messages between two different people's home computers this entirely disappears if the server to server transmission is from my tour onion service on the machine that's running on my local machine and I send the message directly to your inbox directly on that machine there is no man in the middle of an administrator and there are ways to be able to move forward with that and that's one of the things I'll be exploring as brightly but anyway you raised your hand again so what was the follow up the question slash statement was in a federated server environment you always have the problem of the server basically sending things around from place to place if you take the activity pub as spec seriously at its most core of people sending things from inbox to inbox it's very clear and direct exactly which messages get posted exactly to which inboxes when you start to get into attaching the public inbox or followers things get more complicated the original version of activity pub you would still post except for the public inbox that we had and then removed you would still post directly to each followers individual inbox the shared inbox that we then discussed later would actually as a compromise when we were talking to mastodons folks would actually have even still with that one for the non-public posts anything that was not explicitly directed to public you would actually the intermediate one that we discussed and then was rejected you would actually deliver still to the shared inbox thing and you would deliver a header of explicitly every single person that was going to be the receiving server would not inference who it was going to be distributing things to it would be explicitly distributed to these specific groups that didn't happen partly because the response from mastodon which I said okay that makes sense and I move forward with at the time and then later regretted was but we already have the information on our side of who the followers are so we can more efficiently distribute it without that header I think that was a big mistake and actually violates the possibility of activity pub being very secure from an object capability perspective there are no ACLs in activity pub by the way and there shouldn't be but people have discussed it possibly adding them and this is one of the things I'm going to be exploring with Spritely is how to make activity pub into a very secure protocol developed from object capability security literature so anyway that's my response it was kind of long I'm sorry if you're more interested in following along someone who's pursuing this light pub and a pluroma developer named canini is looking heavily into this area next question yes so more to back to philosophy in economics popular micro blogging platforms I heard our Twitter and Instagram will they adjust for compliance or will they pick up activity pub or otherwise what reactions come from these that category of providers of micro blogging will Twitter or Facebook pick it up or will they even notice I'm sure they've noticed a little but they clearly don't care too much partly because we haven't really hit their radar on the level of success I think I mean we've got a couple million users now but it's not really enough to really worry Facebook or Twitter I think you brought up regulation like whether or not a regulative organization might force them to federate or something like that I think that would be really interesting and I think very unlikely to happen but anyway I think they're kind of ignoring us partly because I wrote in a blog post one of the reasons that the big players I think haven't actually had to really fight us in any way is that we tend to spend a lot of time fighting with each other and they don't and we do that work for them so I'd like to do less of that more collaborating but anyway I have very low hopes that organizations because profit model is entirely based around them being the walled garden of your of your content are going to be interested in picking up the Fediverse basically Hi so for some comments so I absolutely love the fact that it's based around an activity operating on objects that's absolutely great I don't really like the fact that it's using JSNLD to do things like sometimes I'm going to be list sometimes I'm going to be string sometimes I'm going to be this sometimes I'm going to be that and I'm specifically I was looking at and that I mean you had to generate so much code that was killing my VPS when I was trying to build GoFed so I really don't like that aspect I wish there was a better schema now another comment I really like Webfinger and I wish that in the social aspect of it it was more clearly specified that Webfinger is nice thing to look up email like identifiers actual question have you looked into federating sorry cooperating with XNPP standards foundation specifically to replace the microblogging specification or something like that did you get in touch with them because that thing is based around atom but not even like or status used it slightly differently slightly incompatible probably not really trivially interoperable so is there any work interacting with them XNPP is awesome and it was my first federated love so first I want to say that and more people should run XNPP I hate the fact that XNPP is kind of dying my buddy list is very small and I blame partly large corporations picking up XNPP and dropping it in fact which could happen to the XNPP activity pub I actually asked Evan early on why didn't we just do all this stuff over XNPP and he said well if it could be done over XNPP then maybe I'd be interested several social attempts have been done for XNPP and nobody agrees on whether or not you represent each user individually or if the server is doing things and now there's maybe the standard which didn't exist with the time we started and but I think that part of the other reason for it is that activity pub is a web protocol taking the web protocol as being a web protocol very seriously it's entirely based on get and post and XNPP isn't that but XNPP is pretty awesome in some other ways right you're going in but I've never seen yeah it can be mapped if you kind of squint your eyes and you figure out how to and you intentionally make that a decision but it's not fundamentally a web protocol it's not fundamentally the way that activity pub is I'm going to backtrack make a comment on your last one about web finger a lot of people would like to see web finger officially in activity pub and it's not done intentionally for a reason and let me be very clear about why that is in fact I think it's a shame that the way that web finger is being handled is not with the best way that it could be being handled in activity pub which is to use the ACCT colon URI form of web finger because we use URIs for everything and that would be the best way to do it and actually that's perfectly compatible with activity pubs that's not how it ended up shaking out basically because of the way that implementers were already using web finger however the reason why we're not using web finger specifically was the same reason why HTTPS is not actually mandated in the specification despite everybody being like HTTPS how else is it going to be secure the demo that I gave of how to do securely transmitting things over a peer to peer network would not be possible in the way that I did it in a way that can be offline if we only did HTTPS and you will always have the centralization of DNS always and there's an if we require web finger and actually that's one of the biggest reasons I'm going to argue and that we'll get into more with the Spratly papers about why federated social web things are so hard to roll out is partly our reliance on DNS and SSL security authorities if you imagine instead bob at 200 characters of garbage dot onion nobody could address that guy right there is a solution it's called pet names and we'll get into it more throughout the Spratly project as for the other one I want to hand it over to this guy who worked on GoFed and then I have comments as well probably in response to him so let's let him respond and then I just won't respond ok just for the GoFed part v1 you can compile in Raspberry Pi 3 so ok next question hey so we're from Dublin City University and are working on a social blogging platform using Activity Bob and we are worried that a federated social system is more susceptible to the problem of echo chambers and so we're working on a few extra spec features to try and remedy this and generally increase engagement across the federation and we were just wondering if anyone had any advice or opinions or experience in implementing searching across like the federation and also in like recommender systems in a federated social system we've got at least one person over there who is Arne who you should talk to who works on this stuff with free net I'm going to hold back from commenting anybody else I just want to say as implemented currently mastodon pluroma tend to be very account centric with discoverability and there's no reason it needs to be account centric discoverability I was discussing before with some other folks interested that it could be a server to server discoverability this discoverability problem has not been solved at all so if you discover hey doing server to server wholesale discovery is the way to go I'd definitely be interested in following your work there is funding for discoverability if you didn't get the word yet nnnet.nl slash discovery there is a 5.6 million euro over the next three years no strings attached for free software projects and this is part of the thing that can be funded awesome so basically if you do a recommendation be very, very, very careful about spam I'm release match of the free net project and we have some spam defense in there which does not rely on any centralized service but it's problem which can really easily solve that and which is not trivial to solve I have some math lying around which shows that we can actually scale it up to the million or billion scale if we accept that there is no global visibility that visibility goes only over connections between people and it should be possible to map it to non free net stuff in free net stuff basically it's that there's a shared database which you can access anonymous accounts and this has to be somehow mapped on the federation but then maybe I can give Christopher the address of some reference for that so he can paste it around in the right discussion forum let's chat more let's distribute these ideas I just wanted to make a bit of a reaction to your quick dismissal about the possibility of corporation implementing activity because I mean no one thought Microsoft would buy Github that long so I think dismissing it is not a good idea it's really about addressing it and maybe there's no technical solution to that maybe it's an identity solution that's fair that's true by the way great talk the I agree and actually it's something we should be careful about because of what we've seen happen with XMPP and email as big players pick it up and then decide that they're the only players in the space or lose interest I think having decentralized authorities can really help with distributing the power again thank you for your excellent talk hey there's your so I have a question for everyone but Chris so the implementers so there's a part of ActivityPub that talks about streams and it basically looks like no one really uses that sort of secondary stream so like yeah if you are interested in these inbox and outbox of this user you might also care about these other streams and when I think about you know the way we use ActivityPub right now it's basically like okay I'm gonna subscribe to you on mastodon and on Funkwale and pixel fed where I'm like oh but it should just be my feed should a whole bunch of these sub feeds that can go to the right place so for the folks who are actually implementing these protocols what are your thoughts on that I don't have any solution for that but I think it's ZOT ZOT yeah there is a protocol to do federated identities and nomadic identities so maybe it's in the protocol now like it's in ActivityPub where you can just set secondary streams oh I didn't know about that sorry honestly I didn't know about that either so everybody's just looking at mastodon's code base so someone who code generated the spec and treated the spec as data I am aware of that and everyone's lack of supporting that but since I'm a library I don't really have power to go tell people how to build applications and how to use the library so we can use your input yes the users should stand up and demand power from the implementers and specification of this yeah so I have no question thanks for mentioning the test suite the federated test suite but it's not the test suite because Fines is the federated networks association and one of our main goals is to actually get everyone together so that is what you actually mentioned with the forum and correct me guys if I'm wrong but we actually exchanged already some mails with the forum you mentioned so if someone is interested in the association then we should definitely have a talk very good is that it then one more aha you already talked I have a troll question because a few months ago I bumped into some articles and also a conference big conference with big sponsors which says blockchain 3.0 and the future of decentralized internet what about it I had a really they are in the spotlight everyone everywhere you hear about decentralized internet blockchain here my favorite blockchain is Git with signed commits but I mean blockchain very vague what that means because there's a whole lot of things that it could be it's the cloud of mercury situation but you know I had an interesting experience there's a lot of hype around blockchains because there's a lot of money around blockchains I had an interesting experience at rebooting web of trust last year where I was talking with somebody who said I'm really excited about blockchains because they can finally bring decentralization to the world and I'm like they have their uses in particular domains but sometimes you don't want the overhead of a database that grows forever and you know all of the depending on which definition of blockchain is there are some other computational things overhead you know I'm interested in the actor model you know in my own work and stuff like that and they said oh I thought that blockchain just meant decentralized systems and I was like now I get it right so I think that like that's the only exposure that many people have to these things and I think there's a lot of cool things that the person who is standing next to me Mark Miller who works on has you know done a tremendous amount of work on blockchain capability said something really brilliant at that moment and said there's only one case where you need a blockchain and it's a distributed system where the ordering events is critical to its operation that's the only case double-spending problem makes sense if you need a decentralized payment system there are lots of other cases that don't need that but I do think that there are cool things you can do with things like secure scuttlebutt and stuff like that that are blockchain-ish but a little bit closer to a Git repository where you have no guarantees that won't fork then you know like this thing that requires consensus I think do we still have time for the GNU social final question sorry I'm just high-checking but there are already social networks running on blockchain and it's really awful because you have to download the whole chain and it takes five or six hours before you have to you can use it maybe you have a lot of hard drive space what I'm thinking is what I would like to have a discussion about is how many social problems we're trying to solve with technology for example discoverability etc etc considering how we have the federated space and we sort of tend to think about it as a distributed database however it's not distributed it's decentralized so you have different networks every server has a different view of the network and that's like what's causing all the problems with discoverability etc so I think whenever you start thinking about these issues then remember like what is the network made of it's made of people how do we create a social web we'll always create it with the people using it rather than the technical issues technology is meant to like make it easier to use of course there's like this open search standard for searching like discovering search endpoints for various objects etc for servers on the web you heard it you heard it the Feta vs. people it's people anyway I think that was the last question is that correct yes all right thank you everybody happy to talk in the hallway if you want to thank you for the fellow panelists and everybody who's implemented this job yeah