Thank you, Stephen, for your insights. I truly believe that with better integration of your core technology, your products (and your company) would be much more successful.
If I may respond to a few of the points you made:
- Some of the features are computationally expensive, and so there is a limit on what can run locally
Your "video" product already detects people. Have it send a face of the person (or a hashed version) to the cloud, and return an anonymous ID to the "video" product where it is checked against a local database of IDs (or hashes). There is no need to stream the entire video to the cloud, nor is there a need to run computationally expensive processes (like face recognition) locally. Have a business plan - leverage the cloud when needed, and finance the cloud resources with a monthly subscription from your customers who need this service.
- Our users are very concerned about privacy. At the moment none of your home video goes to our Cloud servers, and many users want it to remain that way
Valid point, but give users the control what gets sent to the cloud. Also, as already stated above, there is no need to send the entire video to the cloud.
- Our users are worldwide, and some have limitations on sending content to US-based servers
Yes, but why handicap US-based users? I'm sure it's possible to make your services available based on regional limitations.
- In some of your examples the video stream would need to go to the cloud to get an answer, which could impose upload bandwidth issues
But why limit your technology for users who do have the capability? There are plenty of users/businesses with more upload bandwidth available than what they ever use or know what to do with. Also, again, the entire video stream should not need to be streamed to the cloud.
Here is an idea how this would work:
Your detection of celebrities is already pretty astounding. Using the same technology you already have, create software that does the same thing locally, but using cloud resources for real-time detection.
For example: Have the user store a couple of pictures of family members or employees in the "video" software and let the software compute a hash for each face (as it only needs to be done once, it doesn't have to be real time, or have the cloud do that). Store the hashes in the cloud as part of a subscription. Then, as the "video" software locally detects a person, it immediately sends the face portion to the cloud as a snapshot. The cloud runs the analysis quickly, returns the hash to local user where it's then compared against known user database, and take whatever action is needed (send alert if there is no match, etc.). The cloud can immediately delete actual the snapshot, and since only hashes are stored in the cloud and returned, there should be no privacy issues.