Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Perhaps there is an opportunity to create a way to self-host static websites via people's own smartphones. Bandwidth costs for most sites must be tiny.

The business models of website/page-builder platforms are based on gathering a long tail of small businesses, and then selling the audience attention via ad networks and data mining.

Looking at the ecosystem from a distance, it's creating financial value, but there are technical means to provide the same actual business value in cheaper and more privacy-preserving ways.

(By "actual business value" I mean that a person can view the menu at a local cafe in their area -- a valuable interaction for both parties -- without that lookup being intermediated by a platform and N different third parties where a kind of "shadow market value" is extracted)



Bandwidth costs are tiny, but phones use radios and radios cost lots of energy to handle real TCP connections that must be maintained. It'd drain the battery really fast. Plus it's a very rare telco indeed that gives your phone a real routable ipv4 address. Most are behind carrier network address translation.

But the spirit is right. Just do it on a real computer at home on a landline. A static website is easy, incredibly safe (compared to, say, browsing with JS turned on), and useful.


That's not going to work because having a server on 24/7 is going to kill battery life. Not to mention issues around NAT and hole punching.


You could have peer-to-peer hosting - you give up some space on your device to host, and if your device is offline another device has a copy of it that they serve. Of course, there would need to be some sort of regulation to ensure people weren't using it to distribute illegal material.


We could use second to none middle-out compression and call it Pipernet. [0]

[0] http://www.piedpiper.com/internet-heritage/


You'll almost certainly need some sort of cryptocurrency to adequately compensate your peers. Otherwise it's not fair for you to host someone else's 10GB movies for free while you're only publishing a 1MB static site. But if we get to that point why not just pay someone else to do it, since there will be a competitive marketplace for hosts?


Fairness is overrated. 8TB drives are currently around $150, which prices 10GB of storage under 19 cents. Bandwidth costs would dominate if one peer had to upload the same material thousands of times, but in a P2P system the average peer uploads each thing once, and then we're back to pennies. It's an amount of money smaller than its own collection cost. Do I really care if I'm paying for $0.75/year in local computing resources and only using $0.03/year myself? It's not even worth negotiating over and would generally have still existed and just been idle in the alternative.

Moreover, even if everybody is a scrooge who can't just eat a negligible annual cost without worrying about it, you don't need everybody. You just need a few extra nodes to provide redundancy for you. Which could be your sister and your best friend and your father in law rather than some strangers you have to pay in a way that requires you to file weird tax paperwork.


The fundamental problem is that within a network, resource (storage, bandwidth) is scarce. There might be altruists that are willing to donate resource to the network, but there's a finite amount of them. Using a market to solves two problems: it deters abuse (eg. someone using the network as their personal backup service) and incentivizes non-altruistic people to contribute resources to the network.


I don't know if a peer-to-peer resource trading market and currency are necessary here; the device owner with spare capacity and the business proprietor may be one and the same person, which would simplify the situation a great deal.

You have a cafe/small business owner who already owns a smartphone: that device has a decent chunk of data plan allowance, CPU and memory.

They'd like a small site to promote their business online; so they install the web server app and it allows them to add, edit and publish basic content - a few images, some blog posts, etc.

Self-hosting like this means they don't have to sign up for a monthly subscription, their users aren't subject to any tracking (assuming there's none embedded in the content generated by the app), and service provision scales until they need to upgrade to a dedicated host.

The questions about radio and battery usage are totally valid, so perhaps those need more consideration (user superkuh has some suggestions there).

In short: the resources and capacity already exist and we've already paid for them. The question is whether we can re-use those rather than being sold more of the same.


Using pricing to mitigate abuse is only necessary if you're not doing anything else to mitigate it.

Imagine a collection of independent storage pools managed by various entities that control access, e.g. the IT guy of your family, your employer, some free software collective, some small business association. You join one (or more than one) based on a referral or personal relationship or whatever criteria they want to use. Then you have an account with a quota in excess of what any ordinary person is going to require but which doesn't allow Bob to dump 500TB of garbage into the pool without first negotiating with the administrators.

At which point the altruistic donations, i.e. the idle capacity of the devices of everyone in the pool, are enough to handle everybody's non-abusive workloads.


Battery usage would probably depend on how frequently requests have to be served?

Discoverability and routing is certainly a question too. Something like ngrok could help there, with good network sandboxing on the user's local device.

There'd no doubt be times when the site would become popular enough that a single smartphone wouldn't be suitable and load-balancing the requests could be required.


> Something like ngrok could help there, with good network sandboxing on the user's local device.

ngrok only works because there's a company willing to proxy someone's traffic for free. In that sense "using ngrok" doesn't solve the issue, it only pushes the problem to someone else.


It's not an ideal long-term architecture, sure. It'd be better to have website search, discovery and routing possible without routing tricks.

Sometimes you have to make do with what's available currently while preparing the future possibilities.


Why makes you so sure about that? A suitable web server process uses zero CPU after it is started and opened the right port.


Phones will suspend and kill applications that aren't actively used; with iOS this has always been the case (you can't have ANYTHING running in the background on iOS unless it's navigation, calls, or music, that is you need to request special exemption from it). It might be possible on Android but even there the phone will slumber while in your pocket.

Phones are not servers.


Phones turn off their radio when the screen is off and go into a sleep state (waking up in intervals). Keeping the radio on 24/7 is just going to increase power usage by a lot. It's not the CPU that's the concern.

Even ignoring this issue, it would open your phone up to getting DDoSed by strangers on the internet.


How long delay does this sleep state impact messenger applications? Are we talking seconds or milliseconds?


Smartphones will not work as others have pointed out. Even convincing people to keep something running on their laptop for part of the day won't give good reliability.

The only real solution is selling little boxes for less than 50 dollars that you can plug into your router and make it dead simple to host a website without any technical knowledge.


The problem is ISPs dont provide any options for decent upload speed. I have a 200 Mbit download connection and spectrum throttles upload to 10. There are no symmetric options. Users can never win against a vertically integrated monopoly.


Yes. But that is a problem that you can work around with distributed hosting. Won't be perfect, because I think initial connection will take several seconds for every visitor, but should be faster after that.


Perhaps something like the Beaker Browser P2P website system? https://beakerbrowser.com/

I've run some internal-facing websites on a Raspberry Pi, also a low-cost system, but have never tried publishing them on the wider web.


The amount of unused computing and storage on personal devices is staggering.

Yet HN never misses the opportunity to dogpile on anyone who points this out: data trasfer costs, battery usage, jokes about the Silicon Valley sitcom.

As if most phones weren't connected to wifi and power for 10+ hours a day.


Someone still needs to pay for the data transfer costs ala ngrok.

I don't know of a single US mobile network that provides publicly addressable IP space, v4 or v6, it's all behind more than one layer of NAT.

AT&T doesn't even allow direct internet access, every single connection goes through their horrendously bad transparent proxy that breaks TLS 1.3, breaks ESNI, causes a SSL_RX_RECORD_TOO_LONG connection reset if you negotiate only modern ciphers, and sits in the middle of every connection to prevent things like obfsproxy.


I'm not sure if things like IPFS [0] or SecureScuttleButt [1] would be the solution (or at least partially the solution) for self-hosting websites/web content via a person's smartphones, but i like that concept.

[0] = https://ipfs.io/ [1] = https://scuttlebutt.nz/


Perhaps there is an opportunity to create a way to self-host static websites via people's own smartphones

An interesting notion, but would only work until someone's site became very popular. Then it all goes pear-shaped. And I expect that most people would want their sites to be very popular, or it wouldn't be worth their time.

There's a lot of unused computing power on phones that are charging and doing nothing overnight. If only there was a way to harness that computing power and forward the results once a day or something.


Wasn't that the plot of a season of Silicon Valley?




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: