top | item 12671285

(no title)

chestnut-tree | 9 years 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.

discuss

order

reitanqild|9 years ago

Living 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|9 years ago

Sandstorm 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.

sriku|9 years ago

Wow! Not heard of sandstorm before and seriously impressed!

userbinator|9 years ago

P2P 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|9 years 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.

icebraining|9 years ago

Have 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/

jshen|9 years ago

Here'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

adekok|9 years 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.

verbify|9 years ago

> Most people have smart phones which are much more powerful than servers from 6 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

Economics and scale can be a strange beast. The sum of Amazon EC2 + Google Cloud + Digital Ocean + Rackspace +... is about 10,000,000 servers, which makes... 1 server per 7,000 inhabitants on Earth. Have you ever looked at it this way?

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 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/

nojvek|9 years ago

I 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|9 years 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.

wtbob|9 years 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|9 years ago

Software 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|9 years 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|9 years 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.

erikb|9 years ago

It 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.

lazyjones|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.

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

A 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|9 years ago

That should be fixed with IPv6, no need for NAT at that point, and home routers could perform simple DNS functions.

watchdogtimer|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.

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

> 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|9 years ago

Or 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.

lisper|9 years ago

I 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.

the_common_man|9 years ago

See cloudron.io. they make it easy to self-host.