arj03 / ssb-browser-demo

A secure scuttlebutt client interface running in the browser
Other
58 stars 11 forks source link

Kyles ssb id #101

Closed arj03 closed 3 years ago

arj03 commented 3 years ago

Realized I don't know your SSB id. It's amazing to see all the things you have added to ssb browser. I was wondering if you wanted to make a posts on SSB about it? I'm thinking fixing some of the minor things and then doing a new release soon. I'll help test and see if I can reproduce some of the bad db bugs out found. Can be without the about/profile stuff.

arj03 commented 3 years ago

@KyleMaas :)

KyleMaas commented 3 years ago

Heh...thanks! I don't really have a fixed/static SSB ID. I'm kind of a quiet person and don't really have much to say. Since I don't normally post, I usually treat SSB profiles as fungible and regenerate and refollow as needed. Part of the reason it hasn't been too big of a problem for me to hit a crash, collect data, wipe my profile, and go bug hunting some more with ssb-browser-demo - it's similar to the strategy I've used on other devices. But, for the sake of this, I generated a new profile with ID @MI0aKQls1HIrZlyl4qSAW4ErLqb4xVUN+diSbG0j7Fc=.ed25519 - I'll try and keep that one around for at least a little while.

I only recently discovered SSB after being a big fan of Mastodon for quite a while, but I absolutely love the fully decentralized peer-to-peer model vs. federated. I've been looking for something like this for a long time, and only found it because I was starting to implement a very similar idea and ran across Scuttlebutt being mentioned in a few places. It's close enough to what I wanted and already had some inertia, so I dove in.

Federated is a good model. Peer-to-peer is better. But the support for offline use is huge for me, since I don't like to consider internet access as a prerequisite to all of everyones' communications, which is where we as a species seem to be heading. Not everyone has internet access all the time, and it's dangerous to assume that. Plus, monocultures tend to have very poor disease resistance - we don't need a "Yes! We Have No Bananas"/Gros Michel banana situation with a particular technology because of a fatal flaw in a ubiquitous centralized system. As an example of this, I prefer to run Linux, but I run systems both with and without systemd, and I think it's valuable for users to have that option.

Regarding ssb-browser-demo, I'm glad to see that there are a number of different clients for SSB. It bucks the trend of monocultures within tech, and I'm happy to see that. But it does bug me that we're still leaving very large tech companies in a gatekeeper role for whether client apps are allowed or not. With the walled garden approach, even if one person has a fully legitimate app that is open source and properly licensed for distribution, they cannot easily share it with their friends, family, and community without a large tech company giving them their blessing. That's where I see ssb-browser-demo come in. It's just about as cross-platform as is presently possible. Web apps are great like that - it's like the write-once-run-everywhere ideal of the Java applets while avoiding many of the problems with that implementation. ssb-browser-demo is open source under an exceedingly permissive license (not to get too political, but I'm a huge fan of CC-0 and zlib/libpng licenses and strongly dislike the AGPL end of the spectrum). ssb-browser-demo is surprisingly functional and capable despite the restrictions of running in a browser.

Now for a "bug report" on the general SSB community from a newcomer to Scuttlebutt, and why I see this as important. Unfortunately, coverage of what Scuttlebutt is about is sparse outside of the SSB universe. The folks within it seem to be quite familiar with it, but it's very insular. Had I known about SSB, I probably would have been doing my best to help out with SSB projects for years already. I was already looking for something like this for a long time, but didn't see it. The general lack of accessibility of it for the general public is something that I think is really hindering it right now.

The internet used to operate with everybody being on an equal playing field, without all this "carrier-grade" multiple-NAT nonsense. Back in the old days, if you didn't like something, you could build your own version. We've lost our way. Some of us Luddites have refused to accept the restrictions of modern technology in favor of alternative (or sometimes older) interoperable technology and protocols that still gave users a semblance of control. But that takes a special kind of crazy to take an ideological stand and do that in the modern world. If we ever want people to get back to what we had, it needs to be easy enough for users to actually be able to manage the transition. "Freedom" has to essentially out-compete "normal". It has to be not only better, but easy enough to spread.

And, again, this is where ssb-browser-demo comes in. It can be run by anybody, anywhere, and on nearly any device. It is essentially a "universal" client that still plays nice with the others. Anybody could pick this up and get started within minutes. There's still a learning curve, but it's less "risky" for someone to try than having to download and install something.

But most importantly, it can be packaged and distributed without needing to go through the "big tech" gatekeepers and brings tools of communication back to the users, where it belongs. That is huge.

So, anyway, that's why I see the goals of ssb-browser-demo being a critically-important part of the Scuttlebutt ecosystem. The Scuttlebutt model's great, but with ssb-browser-demo, it's even easier, more accessible, and more spreadable. Which is how open source software should be.

arj03 commented 3 years ago

Great, followed that id :) I usually backup my key and then restore it when doing a bunch of testing.

The newcomer aspect is def. true, wish we had more time to make the homepage and especially the developer documentation better. The protocol documentation is great, as is dev.scuttlebutt.nz, the latter could use an update for all the new jitdb/db2 stuff though.

Thanks for sharing your story, makes it a lot easier to know where you come from. I agree on the lots of clients is great aspect. One of the goals with ssb-browser-core was something super easy to plug in and start building applications on top. Not just social networks.