Show HN: A new decentralized microblogging platform
github.com
github.com
One little suggestion, I can't see anything of your network when I visit the main page. I'm hesitant to sign up for something if I can't see it. Maybe you could add a list of users of the instance / network, public tweets, etc. Or even better, publish a link to a (public) profile, so users can get an idea what it looks like in use.
(If I'd make a federated microblogging / social network site, I would center it around the profile page. I'd make it at first glance less about networking and more about presenting yourself. Like the early Facebook, or MySpace. This way, a user has an incentive to sign up even if no or only few friends are on the network yet. You'd be able to customize your page a lot, leave contact data, write (micro) blog posts, have a wall (guestbook) etc... And almost incidentally you'd be able to use your identity to comment on GNUSocial, use XMPP, OpenID, ....)
I also made a demo video (linked in the README): https://www.youtube.com/watch?v=YO1jQ8_rAMU
I realize that a public timeline would be a good addition.
Same here, but I stopped because it looks like a better version of Twitter. I'd use this interface any day of the week! Now we just need FSF to host it and provide a mobile version that works on free devices... and we need free devices... and my internet needs to be free... and the whole network needs to be free...
Disruption means doing something that your competitors are effectively incapable of doing.
Personally, I live for the struggle.
I think that's a worthy goal, though I'm not convinced it we'll achieve it because of the amount of money the vested interests can throw at preventing it. But it remains a good idea, even if it never becomes mainstream.
OK. But why would they? What is the raison d'etre for such a company to exist? What is the competitive advantage here for those companies to actually do that? How does this not turn into a hilarious race-to-the-bottom that zeroes out any reason for anybody to do it in the first place?
I am profoundly unconvinced that you're going to ever beat a Twitter or a Facebook and it's not because of "vested interests preventing it", it's because the current options meet the needs and desires of the userbase. The size of the group that cares about self-hosting something like this is within epsilon of zero percent. Because nobody cares, there is no network effect to pull other people.
Mind you, Telegram is funded by one wealthy benefactor, and I'd argue its a reasonably large service not attempting to compete for profit against other incumbents.
What're the odds the "winner" of the ensuing fight is the decentralized FOSS platform — that has very real tangible benefits, but ones that are hard to explain to an average user — over the shiny new VC-funded Twitter clone that can throw hundreds of thousands of dollars at user acquisition?
If/when social platforms begin to use more universal/interchangable/inter-communicational standards, the various silos can still compete - including private/self-hosted, community-hosted, for-profit silos, etc. - though the competition won't be on limiting communication, but rather can this silo/site provide better uptime/availability, or can that silo/site develop better mobile/desktop/web clients, or can a silo/site offer better discoverability, or even (for the for-profit silos) can this silo/site offer more relevant ads, etc.
While I definitely believe that would be a fantastic thing for the world if it happened, I'm curious about what the practical path is to get people to actually use decentralized services, when individual platforms don't yet have any incentive to bring down their garden walls.
So lets speak enthusiastically about it then! It costs you nothing and it helps to level the playing field against incumbents like twitter etc.
Personally I find the whole microblogging concept overhyped and really just want open social networks with adjustable privacy (along the lines of google+, just open source or at least multi-vendor) + chat, group chat, channels, bots etc along the lines of Telegram.
Actually that social network could just be an improved version of Wordpress/Blogger etc where I can straightforwardly choose what is visible to anyone, to colleagues, family etc etc.
It costs me my network on Twitter. Where everyone already is.
> Personally I find the whole microblogging concept overhyped
That's great, but that's also irrelevant to what this is.
Those are not the same thing. "Decentralised" implies that the functionality is provided by a bunch of nodes that communicate together. A MediaWiki instance is a single website that doesn't communicate to other MediaWiki instances for its functionality.
Smallest Federated Wiki (https://wardcunningham.github.io/) is closer to what a decentralised wiki software would be.
It was being used to refer to the fact that a company wiki isn't under a central authorities control. This was the common contextual usage of decentralised in this thread (stemming from the fact that all twitter accounts are under a central authorities control).
"decentralised" is such a mess of a term by itself.
The only conceivable reason it would is if individual providers found value data mining it.
Note: Twitter has ~313 million active monthly users. Only 0.0006 percent of those users would need to find interest in this sort of new platform for it to be viable (at the price point I mention above).
Even if we assume that $200m/yr from OSM (which has a much easier job than Twitter, scaling) is reasonable, this new system people are proposing lacks a lot of fundamental discovery features that make Twitter valuable.
And yet again, even if they are addressed then this means many more people would need to pitch in for the initial customer acquisition and community building. I know many people at Twitter who labor to do exactly that sort of thing to this very day.
People buidling these networks think their technology is what's valuable, and there is a threshold of scale you have to meet (which btw, I do not think the projects involved here have demonstrated), but after that it's the community that has the real value.
My experience with Mastodon is a blank screen with a single message from me, "I wonder how I meet people here?"
Even the word "microblogging" captures fundamentally the wrong idea about what drives the core of twitter's community and engagement.
That's the hard part. Why would they be interested? There are tons of microblogging platforms available.
USPs work best when they address an acute problem the person you're pitching it to has to struggle with every day.
Nobody in the general public is looking at Facebook or Twitter and thinking "this would be so much better if it made me pay money and deal with installing software."
It is very common business lingo, but you couldn't be blamed for ignoring such things.
In case anyone mentions, https://twitter.com/facebook is also ridiculous.
I disagree. Should socialists not be allowed to use computers because capitalism made computers and they are betraying their cause by using one? (Simple/contrived example, but it makes the point)
How is anybody going to even hear about this project if it doesn't advertise on social media?
Protecting free speech in the face of ideological pressure is an option.
Granted, that's easier said than done.
however, I do agree... This is not the first Twitter clone on here?
Most people are on Facebook and Twitter. That is our target market. The question isn't, "how do I maintain control of my media?", that's actually not a hard problem. The problem that needs solving is this:
How can we, the people, compete directly with enormously wealthy corporate entities? We have them hooked on free software, that's a huge win, but how do we go from there to user acquisition? How do we do support? Marketing? How do we ensure good UX? Does it cost money? How do we pay for our time? I don't pretend to know the answer, but I think these are things the FOSS community needs to spend some time thinking about.
And that's the tip of the iceberg.
This would allow freedom for indie authors to own their content (in the scenario where one of the big social network silos shuts down, or the big boys for some reason wish to censor an author's content, etc.) and post their content however they wish and from wherever they wish, but still allow them to retain audience (those users who are fine just living on the big social network silos)...This is not unlike email, where i can send a message to pretty much any legitimate email address regardless of the silo (I'm leaving out spam blocks out of discussion of course).
Is that really everything that all the developers in the world could conceive? Is that the definition of "social network"?
There once was a decentralized communication platform that promised to replace email, wikis, forums, article comment services, blogs, microblogs, you name it.
It was technically very advanced: many people could work on the same document at the same time and they would see each other's changes in real time, even if they were working from different federated servers. The history of all changes was accessible as well, in a very user-friendly way (play button and time slider.)
The GUI was not as fast as it could be, but it was cross-platform, user-friendly, and it worked.
I'm talking about Google Wave. It was federated, it was very advanced, and it failed spectacularly. Keep that in mind as you make further predictions.
Firstly, Wave - the protocol - is still around; its an apache project: https://incubator.apache.org/wave/ So technically and actually anyone could create their own (free or for-pay) service/instance. There's nothing stopping a couple of kids (or senior employees disgruntled with their current enterprise employer) from scrapping together a new project/venture to start a new social network based on Wave, etc.
The platform didn't fail so much as Google let it die off (at least retired it from their infrastructure, retired it as a product they supported, etc.). As another person here has noted, google creates some cool tech. And, in this case, google either didn't know what to do with this cool tech., or felt they couldn't make money on it, or felt users couldn't adopt it, etc. Or, who knows, maybe it was a technology too far ahead of its time for google to really understand its potential. I myself thought it was a great idea.
The UI was slow as hell, even practically unusable on something like a netbook at the time.
> I'm talking about Google Wave. It was federated, it was very advanced, and it failed spectacularly. Keep that in mind as you make further predictions.
As far as I remember Google suddenly decided to drop it after a very very short time frame. This combined with the bad experience of a slow UI practically buried it in the ground and the world moved on. What failed there was Google, we do not really know if the general concept of wave is a fail neither if its federated protocol is a fail. Most importantly I don't think wave tells us anything about the prospects of federal social networks in general.
Feedback:
- Strange decision to have several vertical feeds - doesn't seem very convenient. Can there be one stream with several tabs or something like that?
- It would be cool if there would be reddit-like discovery system, so that you could browse tags, and then sort the posts in the tag by hot/new/top.
Questions:
- What are your plans for this platform? Is it just a fun side project? Are you planning to compete with twitter?
- Are you planning to monetize?
And yes, I agree that's a nice suggestion, user/content discovery is definitely a big area in which this can be improved.
Edit: I realized I forgot to answer the last two questions.
Plans for the project: I'm a realist so I don't think that it will be able to compete with Twitter. However I would like this project to become the go-to option for people who are already inclined to prefer decentralized/self-hosted solutions, and simply be better than the other software in that space.
No, I don't plan to monetize. Mastodon is open-source, licensed under AGLPv3. However I do have a Patreon through which interested people could support me while I work on it.
It doesnt have to become mainstream to be extremely valuable. If it could become a high quality niche community of geeks and hackers, like HN, it could be very awesome. Maybe it could be to twitter what HN is to reddit?
My entire family is currently using Path as a small social network and share a lot there. I'd love to move us to something we can control and where the data (esp. photos) aren't locked away in a proprietary system. Does this (or Gnu Social) support protected accounts, where permission must be given for people to see and follow accounts?
As far as mobile clients, my family and I use AndStatus [http://andstatus.org] which works awesomely with gnu social, is an extremely lightweight mobile application, gets updated constantly by the dev. team, and also allows you to post to your twitter account.
Good luck!
Also if you have any questions feel free to ask!
To compare, when I click on aqeel, I get https://social.aqeeliz.com/aqeel which has a subscribe button.
1. Is this supposed to be run by me (an individual?) or run for my by somebody else (some existing community?).
2. Is there any information on what makes this decentralized? How does it "discover" other users?
2. Users belong to a certain instance and can be addressed like username@domain. You can follow any user from any instance and you will receive their posts, you can interact with them just like if they'd be on your own instance (replies, mentions, reblogs, favourites, etc). On the technical side, this is accomplished with OStatus, Atom feeds/ActivityStreams, Salmon, PubSubHubbub and Webfinger. Anything that supports those technologies is part of the network (e.g. GNU social instances)
User discovery in the sense of UX is something I want to work on in the future, like implementing "who to follow" suggestions etc.
The README says it is a Gnu Social implementation (previously known as StatusNet). It uses Jabber/XMPP for Message transport, which is decentralised and federated. See also
OpenMicroBlogging, predecessor of OStatus and the original protocol of laconi.ca/StatusNet/GNU Social, was built on XMPP.
Case in point: pump.io is the successor of OStatus and StatusNet.
I want this to be true.
I think you're on to something. It worked with xkcd/<anything> for me.
example/123 --> http://www.example.com/123
facebook/someusername --> https://www.facebook.com/someusername
I tried on Mobile Safari too but it didn't seem to expand there.
Kudos to the Mastodon team!
Here's a screenshot of some of the settings for restricting access on gnu social: http://imgur.com/a/gXy7y
https://mastodon.social/users/mnx/updates/11273 (no proper breaking of lines)
https://mastodon.social/users/mnx/updates/11268 (might want to add overflow:hidden)
When clicking the follow button with no address typed, I get a 404 notification after a couple seconds.
I also got a 422, but I can't reproduce it now.
The error messages are a bit close to programmatic at the moment, 404 means user hasn't been found, 422 (unprocessable entity) means validation error (like if you submit empty status or over the character limit). So it's all intended, just the error messages could be humanized a lot.
For me federated just puts some ownership outside of the central system, but that is because of my experience with federated identity and auth systems. It's super gross so when I hear federated I cringe.
Decentralized sounds better to me, but I also think of it more as distributed, but that is me reading into it more than I should. Decentralized is more about reducing points of failure that can bring down the whole. Which is cool, but still if I wanted to silence part of the network I could do that. Distributed on the other hand implies replication and sharing. With that model I can take down parts of the network and nothing is lost.
So I think that decentralized and federated are similar, but not the same really. I don't think that either are ideal. I don't really understand the goals of projects like these so I can't say if either path right right.
Do I value a service higher because it's decentralized? (yes, see how much value git, blogs and email have) Do I understand the technical difference? (yes) Do I treat both the same despite understanding that there is a technical difference? (no)
*edit: The question probably should be "Do I value control over my data?" and the answer is that the more capable a person is in the technical sphere the more he values it. Most people aren't and don't want to be capable, so they don't value it at all. That question is the most reasonable interpretation but it doesn't need a poll. You can pretty much ask how much technical skills people have here.
In federated networks user is generally bound to one "server" (in the abstract sense), typically by identity, and that server manages the users resources. In comparison in decentralized networks resources are contributed and consumed in a more of a pooled fashion, and individual users connect to the network instead of their home server.
Alternatively I'd consider federation to be subcategory or implementation method for decentralization. But then I'm not sure what I'd call non-federated decentralized systems. Distributed maybe? That doesn't sound right.
Decentralized: xmpp, email, gnu social
Distributed: bittorrent
Decentralized: Not centralized, not a single server or provider.
Federated and distributed systems are both decentralized systems.
Federated: Several providers or servers, equal among themselves, but users are tied to one of them, possibly with a mechanism to switch providers, but there's always at any given time a "home server".
Distributed: Peer-to-peer. One user, one node, client and server in one, no providers or servers that users connect to, users connect to "the network". Nodes come and go over the day, so data is necessarily replicated.
My dream social network is distributed at its core, but with a federated overlay that allows people to easily join, and to discover the network and its contents by clearnet web search.
https://mastodon.social/users/est/updates/11744
Maybe it can be simplified like twitter's URL
Don't you think, email requirement should be optional, at least in the stage of early development.
requires registration to be able to use it. I still don't get why people are down voting my post.
I don't mean github account at all.
Edit: If you look at the github issues, I have a couple of features queued up for dealing with abuse.
maybe a second threshold value that can only interact with each other(they won't be visible to people who set their threshold to above the value that they own) ie the poor can interact with the poor
only the rich can talk to the rich and the poor can only talk to the poor but the poor are allowed to look at the rich and verify that they themselves are indeed poor. the poor can collaborate with each other or incentivise the rich to "pay" them.
trust flows just like centralised social networks because it's easier to do than play whackamole with low value easily created bots/spammers.any bots who abuse these systems and rise to positions of visibility are considered high value bot networks(since they somehow managed to get enough "value" to exist in the system either by using random meme based content generation or other abusive but entertaining tactics for eg r/subredditsimulator ). these bots could then be easily de-valued by users with very high values( the super rich-the core developers/influencers) if they irritate their audiences too much.
You can make spam expensive by using a proof-of-work system like HashCash ( https://en.wikipedia.org/wiki/Hashcash ), which is the idea that inspired mining. HashCash adds proof-of-work to a message, which is specific to that message. The receiver verifies the proof then discards it. There's no datastructure to maintain, no consensus required, no need to involve anyone other than the sender and receiver, etc.
HashCash didn't catch on for email, since its 'fire and forget' nature prevented senders and receivers from negotiating a non-zero amount of work. Such problems can be avoided in this kind of real-time protocol: just add an extra step to ask the receiver how much work it requires, then do the work, then send the message.
With such a negotiation layer, there's no need for every message to require the same amount of work. You could receive the message without hashcash, and reply with a cost based on how spammy it looks.
Everyone would be free to implement this however they like: give a high cost to everyone; check senders against public blacklists; give a whitelist of 'friends' a lower cost; reduce the cost if we've previously 'liked'/'followed'/etc. the sender; look up the sender in a pagerank/web-of-trust/friend-of-a-friend/etc. database; use a spam filter to score the message content; etc.
E.g. FB is handled by the FB company. You can only choose to enter that system or stay away. You can not choose to host your family photos only at another company and still share them on FB. But in a decentralized system you can use a choice of hosters or host them yourself and still share them with other users.
E.g. in most modern contact book and calendar apps you can export your data in open formats and then import them into another tool. Having more contacts doesn't mean anymore you need to stay with the tool you created them in.
E.g. your email client, whether it's Gmail, Outlook, or Thunderbird, can talk to the other email clients and hosters, since email is an open standard. In fact for most cases you don't really care what email program the other person uses.
The disadvantage of both decentralized and open-standards is that they usually require more effort to use. You need to have more skills yourself and take more responsibility. With Twitter, because they want your data, they will make it as easy as possible for your to give it to them. But in that case you need to rely on trusting the Twitter the company with that data for the rest of your life.