I'm split about if that's good or bad though. If they functioned without the cloud then the App would need to determine if it were on the local network or remote before attempting to initiate communication. There would probably also need to be an extra layer of host and client authentication.
The way the Thermostat and Smoke detector appear to work is by polling a remote service periodically for commands. This permits them to go into a sleep and preserve battery.
You could remove the cloud dependence by introducing a local hub that they could talk to instead which would permit the devices to remain unchanged but would introduce the added support complexity of a new device.
Alternatively you could have the devices remain awake listening for incoming client requests in addition to polling the cloud but that would be detrimental to their battery life.
The lease complex and most efficient way route is having the devices connect to the cloud.
I get that the internet is used for controlling the device remotely, but those of us that don’t need that feature still have to pay the price of bandwidth waste and round trip latency. Mind bogglingly bad design.
So you think the primary use case of a dropcam is for local live stream viewing? I would argue that's a boundary case at best.
I think there are pros and cons to both local and remote storage.
Streaming to the cloud is a much simpler solution. The device doesn't need local storage. The device doesn't need to run as a host to serve up streaming video to multiple clients. By removing storage and reducing processor needs and software complexity, you can make a much simpler and more reliable product.
By keeping storage remote, you're better preserving evidence from tampering or destruction.