7 ms·
A real barrier to a decentralised web is the difficulty of installing software on a server. I know that sounds really mundane and inconsequential in the broader
by chestnut-tree 10y ago
A real barrier to a decentralised web is the difficulty of installing software on a server. I know that sounds really mundane and inconsequential in the broader debate about a decentralised web, but consider the following...
Imagine if installing a server-side chat app, message board, project management app, or CMS were as easy as installing a desktop app. In a desktop app, it's usually one click to start the install and then, if necessary, you're guided through a few screens to complete the install. Want to uninstall? The OS (operating system) will provide a feature to manage that.
Now consider how complicated installing on a server is in contrast. Upload you files to a folder or directory, enable permissions, set configurations not just for your server but also the language the program is written in - the list goes on. No wonder SaaS (Software as a Service) is thriving like never before. Who, other than technical folks, could possibly have the time, interest or inclination to set up a self-hosted solution when the barrier is so high? Perhaps some in the tech field would like to keep it that way? Would Saas be less attractive if installing a self-hosted solution was simple, easy, quick and secure?
Surely an essential part of a decentralised web is that companies, organisations and individuals choose to run their own software using open protocols and data formats. But until the ease, security and simplicity of installation improves for web software, it simply won't happen on a large scale.
- reitanqild 10y agoLiving billboard arrives to announce, drumroll please : sandstorm.io The auto updating server that you can self-host or use as a hosted service, allowing you to install and uninstall lots of applications, both free and proprietary, just by clicking the button. (No, not paid to tell this unless you count the stickers I got. And no, not perfect but still a refreshing change.)
- CalRobert 10y agoSandstorm is awesome. Of course, it would help if ISP's weren't so keen to make sure nobody actually uses the internet to make computers talk to each other, instead of just having Amazon, FB, and Google's computers talk at you.
- api 10y agoISPs don't do that. That's your NAT/firewall. Has anyone ever actually seen an ISP network that filters local traffic to other ISP endpoints? I'm not even sure why they would do that. DDOS almost always targets big things in the cloud so it would not help there. Here (SoCal) traceroute to a host in the same local neighborhood is three hops.
- ocdtrekkie 10y agoThere is a highlight point that many internet services are indeed asymmetrical. My Comcast service is 180/20 Mbps, down/up respectively. Even if you get Comcast's new gigabit service, you get 940 down, and 40 up. And many home ISPs prohibit you from serving a website at home, according to their terms of service.
- jtl999 10y agoComcast has symmetrical 2gbps fiber. The 940/40 is DOCSIS 3.1 The situation with uploads on home connections is better than it was a few years ago though.
- 0xcde4c3db 10y agoIt's pretty common to have outbound traffic to port 25 blocked as an anti-spambot measure. Sometimes you can call them and get them to remove the block, other times it's non-negotiable.
- api 10y agoMost cloud servers do this too. Spam has basically destroyed smtp as an open federated protocol anyway. Network reachability is the least of the issues you'll face trying to run your own mail. Lesson: any distributed or federated protocol that is not robust against abuse is doomed.
- jacquesm 10y ago> DDOS almost always targets big things in the cloud That isn't true. Those are the ones that you'll hear about in the media but there are plenty of DDOS attacks on smaller sites both for extortion purposes and to force them offline.
- sriku 10y agoWow! Not heard of sandstorm before and seriously impressed!
- icebraining 10y agoHave you looked into Sandstorm? Their whole goal is to make installing server apps as easy as in mobile platforms, while securing them from the outside and each other, and allowing the user to switch providers bringing their apps and data along. It's really quite awesome: https://sandstorm.io/ https://sandstorm.io/
- jshen 10y agoHere's something from the first part of the install which is not something a normal person would ever do: Configure the EC2 security groups (firewall) to let you reach Sandstorm By default, Amazon EC2 protects your virtual machine from being reached over the Internet. In the above tutorial, we allow the virtual machine to be reached on port 80. By default, Sandstorm uses port 6080, so look through the above tutorial and add another security groups rule allowing port 6080. SSH in, and run the Sandstorm install script
- powera 10y agoUh, if you can't figure that out from the directions, maybe you shouldn't run your own server? It's ludicrous to suggest that everyone should run their own server. It's like saying they should all build their own cars.
- pessimizer 10y agoIt's more like suggesting that they should drive their own cars, pump their own gas, or change their own tires in an emergency. Nobody is suggesting that people should be able to program a webserver.
- jshen 10y agoI agree, but people aren't going to pay someone to run a server for them when Facebook, twitter, snapchat, etc are free. It's also hard to argue that it's fundamentally different if you don't run it yourself.
- icebraining 10y ago
- adekok 10y ago> A real barrier to a decentralised web is the difficulty of installing software on a server. Also, economies of scale. If people used a decentralized service called "UnFaceBook", the total cost of servers, administration, etc. would dwarf the cost of Facebook running their data centres. From a business perspective, it's just not feasible. Hmm... perhaps everyone running their own systems is, in fact, doable. Most people have smart phones which are much more powerful than servers from 6 years ago. Why not just use that? Have the content at the edge, and controlled at the edge. Scalability can come from lots of caching at the core. Not a startup I'd want to do, but it's technically feasible.
- TaylorAlexander 10y agoI like the idea of smartphones as servers feeding content to a CDN... Combined with IPFS [1] that should work well. I was going to make a different comment though. You suggest that, because it would have higher infrastructure costs, a decentralized network is "not feasible" from a business perspective. I'm wondering a) whether infrastructure costs are currently a limiting factor in the growth of social networks, and b) if a decentralized social network needs to be a business at all. But more to point a, what if it cost 10x more, but the current costs were $0.10 per user per year. Do you think a service with a cost of $1 per user per year would be too expensive to operate? [1] https://ipfs.io/ https://ipfs.io/
- nojvek 10y agoI was exactly just thinking about this. If phone is offline we need CDN's. But then again phone's have to watch out for their precious battery life. With decentralized, you also have a huge issue of protocol. Facebook can upgrade millions of people instantly to new version. Decentralized could be a major pain.
- ComodoHacker 10y ago>Most people have smart phones which are much more powerful than servers from 6 years ago. Why not just use that? Not before we have breakthrough in power cells. Or some other breakthrough. Perhaps computer implanted in our body and powered by our food.
- 10y ago
- mycall 10y ago> Who, other than technical folks, could possibly have the time, interest or inclination to set up a self-hosted solution when the barrier is so high? Some evolution of docker swarm could greatly simplify this.
- hkt 10y agoOr an organisation people could freely join without being forced to learn system administration concepts and practices. Imagine WhatsApp, but owned and sustained by (a subset of) its users on a non-commercial basis.
- erikb 10y agoIt is as easy as installing a desktop app. Sometimes even easier (you can not just write "apt-get install Word<Enter>" and it will be just there). The problem is that you don't just want a CMS, you want it to look a special way, do special things with it, don't want other people to access it without you allowing it, etc.
- lisper 10y agoI dunno, there are an awful lot of server apps that I can install by simply running apt-get install. Achieving nirvana might be a simple matter of packaging.
- grondilu 10y agoA web server is not that hard to set up. I personally have one on my local network. I'm sure many people do. It seems to me that a more difficult part is to make this server public, that is with a fixed IP or domain name. I've never quite went this far.
- ZenoArrow 10y agoThat should be fixed with IPv6, no need for NAT at that point, and home routers could perform simple DNS functions.
- the_common_man 10y agoSee cloudron.io. they make it easy to self-host.
- userbinator 10y agoP2P filesharing is part of the "decentralised web", and people seem to have no trouble installing the software for those. Now consider how complicated installing on a server is in contrast. Upload you files to a folder or directory, enable permissions, set configurations not just for your server but also the language the program is written in - the list goes on. I think a lot of the difficulty is artificial, created by software that is far more complex than it needs to be, to cover far more use cases than most users actually need. In the "enterprise" space, a lot of this complexity probably also drives auxillary revenue in the form of training, consultancy, etc. In other words, it could be a deliberate barrier to entry. Building big, complex, immensely flexible, yet difficult-to-configure systems with plenty of dependencies just seems to be the norm. Perhaps some in the tech field would like to keep it that way? Would Saas be less attractive if installing a self-hosted solution was simple, easy, quick and secure? Indeed, the whole category of "enterprise software" often fits this business model. But me and many others have written HTTP and FTP servers which do not require any installation at all --- they're just a single (often very tiny compared to most other software) binary, sometimes with an optional configuration file. If you're doing something like hosting static pages, this fits the use-case perfectly well. Finally, a huge part of making the web truly decentralised is to abandon the notion of dedicated servers/clients altogether --- and thus also the notion that you must need a dedicated or "server" computer to host anything, or for that matter a dedicated Internet connection. Of course some machines will have more resources to serve, and a typical residential connection may be more limited, but the key idea as exemplified by P2P is that any machine can serve.
- ComodoHacker 10y ago>P2P filesharing is part of the "decentralised web", and people seem to have no trouble installing the software for those. We can't really call P2P filesharing today decentralized. It depends on trackers. And it's trackers who help users (often out of commercial interest) overcome all the troubles with software.
- ryukafalz 10y agoSome torrents depend on trackers, yes. Others use magnet links, which aren't dependent on trackers at all. The data typically served by a tracker is instead stored in the DHT: https://en.wikipedia.org/wiki/Mainline_DHT https://en.wikipedia.org/wiki/Mainline_DHT
- watchdogtimer 10y ago> Imagine if installing a server-side chat app, message board, project management app, or CMS were as easy as installing a desktop app. In a desktop app, it's usually one click to start the install and then, if necessary, you're guided through a few screens to complete the install. Want to uninstall? The OS (operating system) will provide a feature to manage that. It's this way already. Virtually every shared hosting provider (Hostgator, Bluehost, etc.) provides a Cpanel admin panel with Softaculous software installer. All kinds of apps (blogs, CMSs, project management apps, etc.) are a single-click install and removal.
- wtbob 10y ago> A real barrier to a decentralised web is the difficulty of installing software on a server … Imagine if installing a server-side chat app, message board, project management app, or CMS were as easy as installing a desktop app. If you have a desktop, you can install any server software you want. And if you have a desktop, you can leave it running as long as you want. You don't need to purchase a host somewhere; you can just use the computer you own. Heck, you own a computer which is on 24/7 already: your cell phone. And software written well could run on that phone to serve whatever you want, at a minimal cost in CPU & hence battery.
- jpetso 10y agoSoftware written well can work that way on Android, but not on iOS which force-suspends your process and sockets all the time. The only exceptions are granted unilaterally by Apple and the chance of them allowing server-like behavior on iPhones is infinitesimally small. That's why it's important to hold on to people owning general-purpose computers, open standards and community governance: because once you move away to centrally-controlled appliances, there won't be a platform from which to bootstrap the next, better system.
- antocv 10y ago> A real barrier to a decentralised web is the difficulty of installing software on a server. LOL. Decentralised would mean the user installs software on his/her desktop/phone and it works as you think a server works. Thats all there is to it. If you make "installing on a server" - somebody else computer easier, its not gonna be detentralised. Youll have shareing of peoples "apps" on a single server, and eventually Cloud is going to be invented. Look then how easy it is to run apps and install shit on other peoples computers. Running "a server" is not any more difficult than running any other app, on Android or on Linux, the difference is pacman -S kwrite or pacman -S lighttpd, or picking "primitive ftpd" app and running it. I think the real problem is that people think servers are some kind of magical computers, different from any other general purpose computers people are already using as clients.
- simonh 10y ago> Running "a server" is not any more difficult than running any other app, on Android or on Linux, the difference is pacman -S kwrite or pacman -S lighttpd, or picking "primitive ftpd" app and running it. Which directory does the ftpd app store it's data in, and on which partition? How do I get alerted if I'm running low on space and what do I do if I am? Is the data backed up and what is my disaster recovery process? What port is it running on and how do I connect to it? BTW, insta-fail because we should be using secure ftp. Is it using encrypted communications and how do I install a certificate and share public keys? What about configuring access through the firewall? etc, etc.
- lazyjones 10y ago> Imagine if installing a server-side chat app, message board, project management app, or CMS were as easy as installing a desktop app. Several NAS vendors already offer that, so you can install such server software on their devices with a single click and easy configuration.