rohanrd

Every Phone Should Be Able to Run Personal Website

Back in 2009, anynone with a Nokia could have a personal website running on their own phone. You could host your own blog or share photos directly from your camera roll. People could message you or even send you sms over HTTP. There was other functionality but you get the gist. Sadly this amazing piece of tech was never widely adopted. Today's phones are far more powerful than those Nokias both in performance and battery backup and still we don't see anyone running a server on their phone. Why?

I think this is because doing something like this that would make web more open was never a priority for large corporations. Think about it there's no incentive for them to work on something like this. In fact, it might be something they want to actively avoid in order for their walled gardens to flourish. Then there are some tech aspects too that need to be worked on. A large number of population is behind CG-NAT and hence can't use mobile server like this. Although this is changing with IPv6. Then there's Android's case of not allowing any application to bind below 1000 port. This prevents running web server on traditional 80 or 443 port.

Today's phone can definitely handle a small personal static website that has similar functionality like that of original Nokia web server. The reason I think this is needed is because a large percent of Internet users cannot afford hosting personal websites or have no idea how to. If we made setting up a website as easy as few clicks a lot of people would want to create their own websites.

Early Internet users had the privilege of self hosting from home, at that time there was no CG-NAT. Today's users never got to experience that possibility. Most of current population joined Internet when their devices were already behind CG-NAT. Maybe the next billion websites can come from average phone users but someone has to provide the software to do it easily. All we need is to package a server like caddy for Android/iOS and provide IPv6 connectivity.