(no title)
chestnut-tree | 9 years 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.
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|9 years ago
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|9 years ago
sriku|9 years ago
userbinator|9 years ago
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|9 years ago
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.
icebraining|9 years ago
It's really quite awesome: https://sandstorm.io/
jshen|9 years ago
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
adekok|9 years ago
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.
verbify|9 years ago
This isn't even remotely true.
The most powerful servers from 6 years ago is a xeon x7560, which has a 40% higher passmark score than even the best enthusiast consumer-level cpu on the market today (an i7 6700k), never mind even the most expensive smartphone on the market.
https://cpubenchmark.net/cpu.php?cpu=Intel+Xeon+X7560+%40+2....
https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-6700K...
tajen|9 years ago
And that's only for public cloud, not including Facebook, Google's internal servers, Apple's infrastructure, ISPs, and servers hosted by all companies. So to provide all IT services to citizen of modern economies, we're certainly close to 1 server for 100 inhabitants. Sometimes I wonder what we're doing with so many servers on Earth: I don't spend 24hrs a day sending requests to public servers, and even if I did, the server I'd be pinging could handle a few thousand users at the same time. So where does all this processing power go?
And there's even more computing available if you include everyone's home and work PC, phone and router, but those are not always-on.
> Hmmm... perhaps everyone running their own system is, in fact, doable.
Crunching the numbers, we're already above one system per person ;) So we might as well go full-decentralized, if we could conceive a theoretical model around it.
TaylorAlexander|9 years ago
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/
nojvek|9 years ago
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|9 years ago
Not before we have breakthrough in power cells. Or some other breakthrough. Perhaps computer implanted in our body and powered by our food.
wtbob|9 years ago
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|9 years ago
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|9 years ago
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|9 years ago
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.
erikb|9 years ago
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.
lazyjones|9 years ago
Several NAS vendors already offer that, so you can install such server software on their devices with a single click and easy configuration.
grondilu|9 years ago
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|9 years ago
watchdogtimer|9 years ago
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.
mycall|9 years ago
Some evolution of docker swarm could greatly simplify this.
hkt|9 years ago
lisper|9 years ago
the_common_man|9 years ago