Very directly, I would say, by making the barrier to running your own low-traffic website too high. Modern social media is all about hosting content - microblogs, photos, etc. Geocities was an early workaround to an inability to host things, and it's worth remembering that MySpace was originally positioned as a kind of evolution of that with the social aspects bolted on - it (notoriously) allowed arbitrary HTML, so that you could make your own "homepage" on the internet. Facebook further evolved this, offering a much more restricted experience. Were it not for NAT, I would have expected an explosion in tiny self-hosted personal sites around the time that dialup was replaced by always-on cable connections, and before long we would probably have had various wordpress-like frameworks to do the social aspects. Which is not to say we wouldn't have eventually had a Facebook-like entity, but it would have faced much stiffer competition than it did, and people would perhaps have been less forgiving of its restrictions if they'd had an easily-accessible wild-west to compare it to.
NAT has (almost) nothing to do with that.
The real reasons are twofold.
1. As others mentioned, the work of maintaining a self-hosted service. Nowadays you can add two extra related problems: people expect reliability (which is difficult and costly to provide, for a hobbyist or a lambda), and Internet has become an hostile territory you must defend against all time (it's "cavemen meet Wild West" level of civility, all day long, no rest).
2. The main problem with self-hosting, is that the throughput is often asymmetric, and rightfully so. From 75/1200 bps modems to ADSL, we have always needed more download than upload so systems were designed that way. When we write one message, we read hundreds of messages from hundreds of people, when we upload one picture, we watch a thousand of them, and so on. When you self-host, you reverse the roles, and your access is very quickly saturated, it gets unsuitable as soon as you have a few connexions.
Just enable the port-forwarding feature of your Internet Box, and you can host what you wish on your server(s); it takes 2 minutes in its web interface and NAT 'problem' is solved. But the other two remain.
> Were it not for NAT, I would have expected an explosion in tiny self-hosted personal sites around the time that dialup was replaced by always-on cable connections
NAT never stopped you from port forwarding 80 to your local server and many people (myself included) do this/have done this with even e.g. DynDNS to have a decent looking host address. At the end of the day managing your own server hardware/software is a far bigger barrier than NAT.
Also, port forwarding is _hard_. It might not seem like it to us more experienced people, but it's a problem that's not very googlable because there's a billion different admin interfaces for routers, and they all do it differently enough that you have to understand what you're doing, not just follow a guide, to port forward.
In contrast, if it was possible to make some simple software which regular people could install on their personal PC, and then they got a WYSIWYG website editor, and that software handled all hosting gave the user a link (ip address) to their website which they could send to friends, I imagine a lot more people would experiment with web publishing. Obviously, in order to run a site 24/7 on a dedicated server with its own domain would still be prohibitively hard for many people, but people would've at least been able to experiment and play with hosting their own simple website which they can share with friends.
Consider this: the application protocols that arose in the early days of the Internet were decentralized/federated systems such as NNTP, SMTP, IRC. But application-level protocols that are developed with a P2P or federated architecture today are niche rather than mainstream (like BitTorrent), or dead because a major company killed their adoption (like XMPP).
The canary was the loss of old-school active-mode FTP, broken by middleboxes impeding connections. Plenty of people saw this coming.
If anything, fifteen years ago (when VPSs where prohibitively expensive) we had a much more open internet than now.
[1]. For security reasons (if someone breaks into your wordpress blog they won't get access to your main computer) and uptime reasons (do you want to keep your computer on all the time? Does your home ISP have an SLA?)
[2]. If you're fine with a static blog, a few cents for AWS/Google/Azure plus CloudFlare should be enough.
Because it made peer-to-peer no longer an option. Keep in mind that NAT is a poor man's firewall and once NAT'd systems were common peer-to-peer firewall transition became a real problem.
https://www.fourmilab.ch/documents/digital-imprimatur/ (2003, still as relevant today as when it was written)
p/s: it's more than relevant, it's eerily accurate in predicting our current situation
It just might, but Cisco, Juniper and other vendors are already implementing NAT on IPv6.
https://www.juniper.net/documentation/en_US/junos/topics/con...
https://www.cisco.com/c/en/us/support/docs/ip/network-addres...
So what you'll see is IPv6 on the web with the LAN stuck on IPv4 because too many dumb devices don't do IPv6 and IPv4 is enough for local traffic.
That alleviates the need for more addresses on the net while keeping things roughly the same locally.
When it comes to search engines, two things shake the centralized assumption: (1) you can crawl DHTs like https://github.com/boramalper/magnetico does for BitTorrent, and this can be done self-hosted, (2) too often we assume that searches must be global, but in many cases you are implicitly constraining your search space to regional boundaries or interest boundaries. E.g. as a westerner you are probably not interested in content from Vietnam or Pakistan. Also, when searching the Web, rarely do people browse through multiple Google search result pages. As a consequence, things like `awesome-*` lists ( https://github.com/bayandin/awesome-awesomeness ) are a good starting point for a decentralized curated catalogue that could cover that use case. So you could imagine a curated catalogue of programming websites compiled as a few hundred megabyte file, it could pretty much cover your interest boundaries, and as a file this can be shared over Dat today very easily. Want to search another 'interest boundary'? Run the same search software but on a different catalogue file. These things are possible.
In other words, centralization is overestimated. Maybe there are a couple of genuine centralized-middleman use cases but most of use cases can be very well covered by decentralization.
The distributed network is the middleman in fact. The entire thing doesn't function without that middleman. To get to the end result, you have to go through that network. It fits perfectly as a middleman concept.
The notion that crypto-currencies can exist without middlemen, couldn't be further from the truth. They're entirely built on and dependent upon middlemen. The distributed ledger is one of the greatest middleman technologies ever devised.
The current method of aggregation is to empower fewer and fewer companies to control the rules, what you see, how to sell, what percentage they will allow a sale to generator for the seller, how products are shippped, and how returns work.
This works great for buyers, it always works great for buyers, but behind the scenes what is this doing to our economy and distribution of wealth. It also tends to have a major effect on the country of origin of products - everything is globabalized, so when we purchase something from Amazon we are purchasing something made also increasingly from a single country. Yes other countries will need to address that (as a separate issue too) but still the effect of letting fewer and fewer companies control the market, its no longer a free market.
Is there a way to regain independence? Can Cryptocurrency help? What other peer to peer technologies need to work in concert for us to break our dependency on Amazon, Google, Facebook?
Another way to ask the question: How do we make the online like the offline used to be (we drive down the street and go into a shop - except without the Walmart) but still make this fast-trustable and simple for the buyers.
There is a reason we moved from newsgroups, to HTML and browsers to search engines. Each step became a better, more powerful tool to find content faster, more efficiently.
These days so many of the tools we're using are so entrenched, even with some of the changes the author talks about, it would still be a monumental task for people to change.
I mean, look at how bad FB is (on several levels) and look at all the alternatives which allow you to keep your information private and share what you want like Diaspora or Freenet. I tried (repeatedly) to get friends and family to join my Diaspora pod and tried to convey all the advantages of it being private. Nope, nada, no way. None of them ever joined and many just said FB has such deep roots into their lives, giving it up would have a huge effect on their lives, it was crazy.
This is analogous to function pointers (or vtables or dynamic dispatch) in programming. It’s a really tight analog actually, almost literal. It’s slower (more expensive) to go through a cranks. You only do it for external reasons, but you should always try to eliminate them. I hope people around here saying these companies add value aren’t forgetting that we want to destroy them because in an ideal world things are more direct than they are already. We SHOULD want that too, that is the right direction to move in.
Facebook is a shit middleman that doesn't provide enough value to me, so they're not included in this.
Also, let's say we're looking at one of the times when the middleman is less efficient. Even if a customer wants to take on those inefficiencies on purpose, we can't judge that person as being "wrong" because they might have other reasons. It's more complicated, is all I was really trying to say.
Then our task is to persuade them that the huge effect would be positive!
This reads like an episode of Black Mirror, only scarier because it's not science fiction: https://coolguy.website/writing/the-future-will-be-technical...
How so? What makes Facebook so appealing is the fact that pretty much everybody is on there, just like a telephone book. As such an alternative, with a huge positive effect, has to deliver at least this "centralization" to fulfill the same needs Facebook has been serving until now.
This is a pretty common theme around IT savvy communities: People complain about Facebook and how there are so much better alternatives and how you supposedly don't even need Facebook. But the reality for over 2 billion people (among them many friends and family members of said tech-savvy folk) out there looks quite different, they use Facebook because it's what everybody uses, it wouldn't even work without that, which is what most Facebook competition comes to realize sooner or later.
I just don't see any good solution to any of this that doesn't involve some paradigm shift how we handle private information as societies and as businesses.
What if our secret advantage is that not everyone is on it?
Facebook might have started out that way, but don't think that angle is gonna help you build a new, even bigger, Facebook.
How long did Facebook actually stick to its "Only students" rule? Imho that was more marketing than anything else.
Partly this is view-filtering, but also your user agent only requests and stores data if it might be relevant to you, i.e. friends of friends and replies to their messages.
It's not really one network, but a group of potentially-overlapping networks.
That might hold true for the technical implementation, but it doesn't hold true for the actual user experience.
If you are from the US and looking to befriend somebody from France, then you don't have to join "Facebook.fr" to make that connection, it all works through Facebook.com.
Not too long ago the same process looked pretty much like this:
"Are you on AIM?"
"No, are you on ICQ?"
"Nah, but I'm on MSM!"
"Sorry I'm not on MSM, but I'm on Linkedin!"
"No good for me I don't like Linkedin!"
"Guess I'm gonna make an MSM account -_-"
For that very same reason I ended up creating my first Facebook account on Facebook.de, which was a scam site back then. But decades of compartmentalization of users into "regions" convinced me that if I want to get any use out of Facebook I better sign up with their German version of the site, as most of my friends/family are German, that's how alien this whole "aggregate all your social contacts in one place" idea was back then.
> That might hold true for the technical implementation, but it doesn't hold true for the actual user experience.
Talking about Scuttlebutt here, it's actually the other way round. It's one protocol and any two people on it could connect, but in practice you won't see everyone, because you only have a social connection to certain people.
No, the task is to first create alternatives which are just as accessible and user-friendly as Facebook, and then sell them to the mainstream on terms they actually care about. Why would my 60-odd year old mother who uses Facebook to talk to her COPD support group even care about Diaspora? I don't know what the answer is, but I do know the answer has nothing to do with open source, anonymity or censorship-resistance.
That's exactly my point! A term they might care about is: this is so much nicer to use than Facebook; I feel happier using this to keep in touch.
> I do know the answer has nothing to do with open source, anonymity or censorship-resistance.
Scuttlebutt is neither anonymous nor censorship-resistant. It's free of adverts and sponsored content experiences. It's a friendly, co-operative culture (hence the software is open source, but your mom only has to care about those details if she wants to help build the software).
Here's the problem though - it's not really nicer to use than Facebook for someone who is already familiar with Facebook and who doesn't mind using it. The UX of these platforms tends to be rough in ways that would annoy many non-technical users, which is understandable given their newness, and the fact that technical users are early adopters, but still makes mainstream adoption difficult.
The Scuttlebutt client I downloaded has a search form at the top that will not behave as mainstream users will expect - they will wonder where their "newsfeed" is, try to search for a topic of interest and it will fail out of the box. Making an intellectual or emotional argument for why an alternative to existing social media clients is preferable won't work as long as the physical experience of using the alternatives is more complicated.
>but your mom only has to care about those details if she wants to help build the software.
But those are the details that dominate the frontpages of these platforms. She either has to care or else care enough to wade through it to find what she needs. That's a real problem.
The user experience of using the app, and of discovering the app (i.e. its web presence), needs to be friendly and relevant to the user.
I don't think we want to imitate Facebook too directly, because we don't want it to be Facebook, but it needs to make sense as you use it :)
(By the way, I'm a mere end-user here, and this is just my opinion!)
I forget who pointed it out, but I like the point that to disrupt a big incumbent you need to be not just 10% better, you need to be 50% better. You can get started by doing something that nobody else does which is useful. What FB did better than anyone else was provide a clean interface to social network curation that made it far more useful to the initial population than the alternatives that existed at the time.
Sure, but why should we rely on a single middleman who at some point could abuse his power? Something like Google search could possibly work in a decentralized fashion.
How? Let's suppose I trust Google to crawl the Web and present a plausibly-accurate result to my query. This works because I communicate with Google using TLS (so I trust that Google is in fact Google), Google is the one performing the crawl, and I put my faith (for purposes of this exercise) in Google's editorial discretion and good judgement.
How does a distributed search work? What does my query look like? Where do I send it? How can I gauge how much I trust the response?
The search index could be build using blockchain technolgy. Each transaction is an entry of the search index. For efficiency, such an index could then be mirrored by many different institutions. For example, universities. Each snapshot of the search index could have something like a sha256 sum. If the server you use per default returns a hash that differs from other institutions you rate trustworthy then you should be skeptical.
As for search queries, since the index should be standardized in some way there could be many open source apps that require their own syntax for queries so that they suit different purposes and preferences.
It would be a technical stretch to expand this to replace Google, but if you did you'd have many competing "search engines" built upon an open decentralized database.
I don't think I've expressed this idea well, but you should get the gist.
Instead, i think the author rightly points out that it is possible to do it a different way.
With regards to the second passage, I suggest you address the literal wording instead of putting your own (strange?) spin on it. The author is pointing out that the value in the facebook post is from the user, your friend, aka a human. The fact that Berliners renting rooms out to a visiting Parisian will be using an AirBNB middleman versus the model a Craigslist entails, being essentially free classified ads. One can discuss WHY things are the way they are, but do try to get the basic gist of what the author is trying to communicate.
I don't see any handwaving in the word "prefigure" at all. The first middle men were arguably dial up ISPs. They literally brokered your connection to the internet. You got an IP from a dial up pool. Besides having a transit connection these companies had the pool of IP addresses you needed to be a node on the internet.
And so in some way that was the first "computer in front of your computer" business model. I think the author is drawing a through line from there and the business of brokering internet traffic. I don't believe they not saying that NAT enabled FB.
I wish we were. Newsgroups were great, but they fell apart under commercial pressure; internally from spam, externally from the pretty graphics that were possible in a web browser. I really wish there were a clear successor to NNTP and a simpler, clearer markup standard - the popularity of FB and Wikipedia shows that people value simple, uncluttered interfaces almost to a fault.
I agree with Wikipedia, but FB has a horrible interface.