Of course the reason things are architected this way is so that more people can make money...
1. NAT provides a basic level of security for your network. The same could be achieved with a firewall, but it isnt the norm.
2. Even without nat, there would still have to be _some_ computer that does the processing on the raw data from the IoT device. There is no reason that couldnt be your PC or Phone, but the precedent has been set that these tasks are performed on a managed device in the "cloud".
3. The companies involved will make less money.
A better solution would be to have an IoT gateway device publicly accessible that proxies access to the individual IoT devices. This would create a better security story. If this device were standards based, then each IoT vendor could integrate with it, and router vendors could add the capability to their devices. Of course there is no financial incentive for things to work this way.
I guess I only bring up NAT because it is yet another example of the "server" lie. There is no such thing as a computer that is a "server". Programs act as servers. Computers might be "server-class", but all that means is that they are high quality. Driving a wedge between "servers" and normal PCs just pushes more control out of individual's hands.
2. No argument, does seem odd that it wouldn't be the app though. Figure a door bell wouldn't be all that intensive.
3. Yeah, recurring revenue is pretty much the gold standard.
A device that stands between your device and the public internet, provides security and access control, and is standards based... so a perimeter firewall? But with an API to allow internal devices to punch their own holes. Ehh don't get me wrong I like the spirit, but that would immediately get used by malware.
[1] https://support.ring.com/hc/en-us/articles/213608406-Phone-N...