To expand, maybe it's a problem in that people don't know what a good solution looks like.
I have a wired Swann camera system in the office, with a dedicated DVR unit. The software for it is buggy and remarkably hard to keep working over a tunnel... but functionally (when it's working) it's really good.
Features I consider extremely useful with Swann's system:
- continuous recording, with simple calendar/timeline bar navigation for viewing.
- motion recording done right... events display as highlights on the normal timeline navigation bar.. with sensible "prev" "next" buttons to navigate across events... SEAMLESS with the playback UI (jump to an event, back up 30 seconds if you want... etc)
- you can select regions of the screen to search for localized motion events AFTER THE FACT, and it's pretty quick in marking new sets of events on the day's navigation bar
Things that suck:
- the first camera has some odd trouble with "timeouts" 100% of the time when searching for motion events using the remote software (not locally on the DVR), which happens to be our front door camera
- trying to run the remote software over a tunnel or VPN of any sort will cause "timeouts" fairly often requiring restarts of the remote software or at least enable/disables of the camera views. (Must require a minimum latency, pretty boneheaded... usually okay if you stick with viewing cameras one at a time)
- the system for locating recordings and marking some to be saved (instead of the normal rolling oldest-first deletion mechanism) is pretty crappy... resulting in a long list of autonamed files to look through... there should be an easy timeline bar-based export function from the playback UI.
Writing something on my own is tempting (twenty years ago I surely would have), but at this point the "todo" list grows at least as fast as I work through it... and I'm always choosing tasks that improve my products and contribute to my business over hobby-style tasks.