I just started using Mastodon and I'm pretty impressed with it as a product. But I think you need to approach it in a different way from Twitter and Facebook to really see all the benefits. If everyone just signs up to a major instance like mastodon.social, some of the problems you see on platforms like Twitter and Facebook will just be re-introduced as the number of users grows.
The programmer/artist Darius Kazemi has done a great job articulating a way to use decentralized social networks like Mastodon in a "human-centric" way: "How to run a small social network site for your friends." [1]
I really hope the Fediverse can succeed and thrive, and Mastodon is a big part of that.
How would a home node cope with dynamic IPs, not having a registered domain name etc?
I mean, my flat broadband connection would allow say 10 Mb both down and uplink dedicated to a small Mastodon instance 24/7 at virtually zero cost without me even noticing, but my ISP changes my IP every night so that I'd be a moving target for anyone willing to connect. Hosting is a solution, but it costs money. Are there any means of connecting a node to the Mastodon network without being forced to look for fixed IP and a DNS name?
Admittedly I have no experience with Mastodon, although it intrigues me, so be patient:)
As far as I know, having a fixed IP address or domain name is a requirement – Mastodon is decentralized in a different way from P2P protocols.
This is one of the reasons that the article I linked to above recommends a community-based approach. friend.camp (Darius' instance) uses a Patreon to cover the (fairly small) costs of hosting, registration, etc. I think a lot of users donate something like $1-$5/ year.
Running an entire server just for personal use may be overkill in terms of time-investment, monetary costs, etc. But for a small group of users these costs are negligible, and the small community still gets the benefits of having a lot of control over how the instance operates (who to federate with, custom features, etc).
We are used to thinking in terms of solutions that are either totally individualistic (everyone for themselves) or rely on giant monolithic institutions. A system made up of small, autonomous communities which can still communicate is a nice middle-ground.
"How do you expect to provide a web service without a domain and an ever-changing IP?"
My thoughts were that if Mastodon nodes connect each other so that anyone on any node can communicate with anyone on a different node, can't nodes with dynamic IPs set up persistent connections to reachable nodes so that those will work as a sort of DNS?
> If everyone just signs up to a major instance like mastodon.social, some of the problems you see on platforms like Twitter and Facebook will just be re-introduced as the number of users grows.
Wouldn't this problem be mitigated by allowing users to migrate everything to other instances?
Also take a look at PeerTube (https://joinpeertube.org/en/) a federated youtube if you find mastedon interesting. Peertube is also using activitypub and can be used with Mastedon.
Hmm, I'm not sure if it says something about me or the current state of tech that I find "regularly adding major features" to be a bad thing. Not that I really know (or care) anything about Mastodon or its problem space in particular, it's just the concept itself that makes me weary. I'd rather have something simple and stable and understandable. Maybe that's why I still use IRC.
I haven't used Twitter or Facebook in years, but I had been relying on Google+ to follow quite a few Linux / FOSS developers. When G+ died I joined a Mastodon instance (linuxrocks.online) and have been really enjoying it. I found quite a few interesting developers, including people like Drew Devault. YMMV, but I think everyone should give it a try just to see how impressive the platform is.
Now, to see a few more services jump on the fediverse wagon and work together so we can have some choice... ;)
Hmmm, would've been useful if I could see those as a 'grouped' timeline to get an impression of the posted content and follow people with content you like. (As opposed to clicking on hundreds of links individually)
It would even be more useful if you could have a dynamically rendered timeline of multiple people with a single URL (sort of like a multireddit).
As somebody who has followed exactly one person before seeing these links, I appreciate the list. But wow, is there no better way to follow than a three click operation?
This site could ask you to sign in with your home instance first, then Follow would be a single click operation as it could call the appropriate API call on your home instance. (It could even show you which ones you already follow in that case.) It would require quite a bit more code though to get the OAuth flow in place.
As far as custom issue trackers go, this one isn't too bad. You could suggest an improvement. If you know perl, you could even write your own extension to provide this functionality.
That's only the flow if you click "follow" when you're looking at a profile on a third party server. If you come across that same profile in your server's federated timeline, it's a one click operation.
Paste link/username into the search box above the new toot box, hit return, the user will appear in the UI of your home server, hit the ‘follow’ button, done.
Probably about the same number of clicks, admittedly, but it may feel faster.
Have you seen the Pleroma? It's like mastadon but written in elixir so it's really snappy. It's made by a group of friends : Lain, the rabbit, mama rinpatch, and hj. I really like it. It looks more like classic Twitter and it's able to run on a rasperry pi. It even includes a mastadon front end, called Glitch.
Mastodon. Don't worry, seeminglyneveryone makes that mistake. Hell, the first version of the Gab fork called it that all over.
> It's like mastadon
Sort of. It started out with a "we want to be just indie enough to not attract mainstream attention" (but as I've heard they switched to wanting to be for everyone now). This is why it might seem less polished to end users.
> It even includes a mastadon front end, called Glitch.
Glitch is an entirely different thing. It's somewhere between a fork and a patchset. They keep up with upstream code and it hasn't been rare to see glitch features merged into the core version.
What you're speaking of is Mastofe, the frontend code. Pleroma uses the one modified by Glitch.
maybe it's just the way they're written or the frameworks they use, I just assume it's the language -- but Pleroma consumes fewer resources than Mastodon or Gab
Changes of note: an interface for the account migration activity that was added to the backend a few releases ago, built-in OCR for easier image captions, an option to disable live timeline updates, and custom emoji categories.
Mastodon takes about the same amount of usage as any rails app. For a small instance (less then 20 active users) I generally recommend 1GB of RAM and 2 CPUs.
the storage requirements can get pretty beefy over time though, so make sure to set up cheap block storage.
An introduction to forking web servers and multi-process concurrency is outside the scope of this comment thread, but the general idea is that you can run multiple processes per server, and each process can handle connections independently without needing to handle concurrency itself. Threading is only one way of achieving concurrency
If you're only looking to set up some fediverse software and you're not attached to Mastodon, then you should consider Pleroma, which has significantly lower minimum requirements.
I host my own that I've split into three layers, web front, app and db.
The web front only runs nginx and terminates tls. I tried building assets on it to serve static assets but gave up after a few upgrades and issues.
Web front only has 1G total RAM and right now has 595M available for IO buffering.
The app layer can sometimes run out of RAM when upgrading because of asset compiling. Perhaps this has gotten better with time. It has a total of 6G RAM and at present has 3.4G available for IO buffering. The only reason it has 6G total is likely because of upgrades causing OOM when compiling assets.
I put all media on S3 and that is up to around 35G in size after 1 year of operation and 50 some users. Probably much less active users. The database uses 4.3G.
masto.host is not affiliated with mastodon.social or the Mastodon project. It's an independent managed hosting provider run by Hugo Gameiro (@hugo@masto.pt)
If this is a production system and not a dev or test environment, don't deploy to a single server. Avoid single points of failure in your prod environment.
Federation with old GNU Social instances. Most active communities using GNU Social have since migrated to ActivityPub-compatible software like Mastodon and Pleroma, but a couple of them are using a work-in-progress plugin developed by dansup that provides ActivityPub compatibility. I don't know the status of the plugin—my understanding is that it's incomplete and not under active development, but I may be wrong.
Federation with GNUSocial, at the very least. Issue #256 [0] - add support for ActivityPub - was opened two years ago, but it doesn't look like it got added yet.
Mediagoblin is one of those projects that I really want to like, but can't. Admittedly the last time I tried to install it was a year ago, but I remember the installation process being incredibly finicky, and more often than not, resulting in a broken site.
And I'm no newbie to this. I've been comfortably RTM'ing and CLI'ing and admin'ing in various Linux flavours (and the occasional *BSD) for over two decades, after I cut my teeth on Slackware 2.something. I've often built LFS just for fun. I've been replacing a gaggle of Excel/Access crap at work with my own homemade golang web apps, despite us not being a tech company at all and me not being a pro developer, just because I know I can do a better job. The point I'm trying to make is that I'm not afraid of putting in effort to learn how to do something complex on a computer. But the Mediagoblin install process broke me each time.
But I wholeheartedly agree about Pleroma. It's a fantastic choice for someone looking to host a reasonably-sized microblogging community on truly minimal hardware. It's fast and stable.
I see a huge opportunity for the incumbent social media services to start thinking about white-labeling their apps for organizations and to adopt ActivityPub in order to do so.
Effectively this is the "G Suite" model: preserve auth and identity within an organization's existing set of namespaces.
If Mastodon is truly decentralized, then someone ought to be able to leverage the identities (and possibly other data) in it to create a tool that has more Facebook-like features for this wanting something different than a Twitter clone. Is this underway?
Mastodon does not come with features that enable the idea of "groups"?
I just found issue 139 [0], but "mastodon groups" is an extraordinary bad combination of search terms.
The author seems to dismiss the idea that "groups" are an obvious requirement (IMHO) for any "social" software. Instead he seems to be assuming that one instance of the software might serve one "group" - with no easy way to scale "instance" to many servers.
Pleroma seems to plan for a groups feature [2][3], also using a framework that might be much easier for scaling, but seems to be struggling with implementation.
I see GNU social seems to have groups [1], but in the linked issues people write about bugs with that.
I am not sure this is really how it is, so please correct me if I am wrong.
Would anybody with more knowledge please like to explain why such a basic feature is missing from "social" software alternatives?
I want to understand what the problem is here, I feel like this is the first feature that should be considered from day one. It seems to me trying to handle such a basic feature as an afterthought has a high potential for disaster score (PFD>80): will require a deep re-design and rewrite, trigger several different implementations, standards and endless discussions, in the end will destroy everything.
I understand that groups and p2p / federation is complicated - but is this not a solved problem?
If not, is it a good idea to put this on top of the agenda for "offer alternative for big social brother"?
You take this one "flaw" in your view and explode it into a major usability limitation that makes the whole software useless. If this was the case the platform would not be growing and developing as quickly as it is.
Which is sad IMO as Twitter - again IMNSHO - is one of the most overhyped and useless ideas there is.
I still have an account on mastodon thought and I'm far more active there than on twitter, mostly because new is interesting and to support a good cause.
I also sometimes follow development and hope that it might get more features from both Google+ or Facebook. Groups would be an obvious improvement in my book.
That way maybe it could become more than a twitter clone, which matters to me because in my opinion Twitter is close to useless except as a better way to receive spam and propaganda (it is even easier to ignore than the spam folder in my mail.)
I want to try Mastodon because it's open, federated, ethical etc, all the qualities I seek out in the software I run (not to mention new and interesting, like you say).
But at the end of the day it's still a Twitter clone, so offers absolutely no value to me.
> But at the end of the day it's still a Twitter clone, so offers absolutely no value to me.
Agree in the long run.
In the short run playing with interesting tech has its own value at least as long as it only replaces more useless stuff (I guess tv is the thing I "sacrifice" to have time for tech.)
> Mastodon is an alternative to Twitter and not Facebook.
And that is the one reason I haven't already started a Mastodon instance and tried to talk all my family and friends into using it instead of Facebook.
Some people like everything to be public; fine. But some people, like me, want to be able to control who sees stuff; as far as I can tell, the only platform which allows that at the moment is Facebook.
Why not make "groups" an option, so that it can serve both kinds of people?
The old Opera had an excellent integration with its M2 email client. There's also Seamonkey.
Most email programs use a built-in rendering engine anyway, and sometimes browsers can actually use the email code (e.g. MHTML is basically MIME+HTML, HTML sanitization[0], Opera used M2 for RSS support). So a browser having a built-in email client might be undesirable, but it is not "insane".
Browsing the web and reading / sending email are fundamentally different tasks. Twitter and Facebook are fundamentally the same thing. The key difference is that Facebook allows you to limit posts to specific people.
Mastodon not implementing a "limited visibility" option would be more like a web browser refusing to implement Private Browsing mode.
I love this example. Off topic but like yourself I too remember when camera phones were first released and most people (including myself) did shrug it off as an insane novelty which would never catch on. It didn't help that the resolution on those things were barely better than the original Nintendo Gameboy camera.
It's funny how something that seemed so insane at the time is now the de facto standard way of taking pictures.
Well, there is Diaspora, which has had groups (they call them "aspects") for many years now. I like it more than Mastodon, which is about as useless as Twitter.
I agree this is really frustrating. Even twitter has group chats. How can you have a social app without groups? I also would love events - then I could get rid of facebook entirely.
The programmer/artist Darius Kazemi has done a great job articulating a way to use decentralized social networks like Mastodon in a "human-centric" way: "How to run a small social network site for your friends." [1]
I really hope the Fediverse can succeed and thrive, and Mastodon is a big part of that.
[1]: https://runyourown.social