Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Turn any device with a browser into a security camera (uview.io)
190 points by geoffchan23 8 days ago | hide | past | web | favorite | 69 comments

We are two developers from Toronto who couldn't find a decent and cheap solution to monitor our kids/pets through the browser. We originally started this project because we thought it would be a great opportunity to learn and build something that could be useful to us. As we dove deeper we realized that perhaps others would find it useful as well, so we turned it into a product.

We decided to take a web first approach rather than a mobile app first approach for a few reasons:

1) We are web developers so it's what we know 2) Web browsers are ubiquitous, meaning users could still access our app on mobile devices via browser or PWA (more on that later) 3) People spend the majority of their time on computers, whether for work, study, or leisure. So it makes sense to us to be able to easily monitor from your computer. 4) We think the web is cool (See reason 1)

Our goals were to: 1) Make it possible for anyone to sign up and create a security camera 2) Not require any hardware purchase 3) Not require any application install 4) Put our old devices to good use rather than end up in land fills!

We wanted to make UView available as a mobile app as well so we converted it into a mobile app by turning it into a PWA (Progressive Web App). You can install it on Android using the install button, however iOS users will have to select the “Add to home screen” button in the browser.

We would appreciate any comments and feedback!

Nice job! Some feedback:

1. Ditch the two pulsing animations. I tried to click on the pulsing animation top-left and nothing happened.

2. The logo is hard to read. Consider simplifying your logo, but keeping the flashing red record icon on home page.

3. Keep content above the field. I didn't know I could scroll.

4. Don't make me sign up to try it. Why can't it show my webcam feed on the home page? At least defer sign up after you've given me a link that will let me broadcast my feed, then I can sign up on my phone.

5. The flashing recording icon is distracting after the initial "I get it," e.g. on the register page.

6. Be more up-front about T&C on your access to the feed.

7. Nowhere on the site does it say, "Why do I need this?" Said what you said in your post here on your website. "Hey, I'm Geoff. I wanted to keep an eye on my kids & my pets, so I made uView to save money on a camera, now you can save too! Here, give it a try: [Request Webcam Permission]"

8. Hard to read the features with the pulsing thing.

9. The weight of multiple call to actions conflict: Register, Login and "Try Free Now" all feel equally heavy.

10. Hard to read centered text on privacy policy: https://www.uview.io/privacy - also, put Privacy as a main nav link.

11. Consider making it free for 5 minutes, then you have to keep clicking to refresh. Or, an ad-driven business model where you show highly-relevant ads overlaid in the feed, since you know the person using it is interested in security.

Good luck!

edit: @dang, pleeease can we get Markdown-style list formatting? :)

> 4. Don't make me sign up to try it. Why can't it show my webcam feed on the home page?

I would actually recommend against that. If the user gets prompted for camera access the moment they reach your webpage, it will turn most people off immediately. They need to click "yes I want to try this" before they get the security prompt, it needs to be asking for permission to do something THEY initiated.

… additionally, you have the burden of proving to the user that you’re worthy of trust before asking for something like this. Otherwise, this could come across as malicious.

I mean, my first thought when I read the headline was "Directly through the browser? Is that even safe?" … so I would expect the website to tread lightly, anticipating that there are a lot of security concerns when it comes to piping personal video around the world and addressing a lot of that up front.

Great feedback, thanks! Appreciate you taking the time to write all of that up :)

> Keep content above the field. I didn't know I could scroll.

Are you on a iOS device? Asking because your statement sounds weird to me

Me: Firefox on a mac, and it took me some time to realise I could scroll.

same "hidden, microscopic scrollbar" problem as their iOs devices, no?

Where does the data travel? That is, I have an IP camera that still works if my internet goes down because I access it over my local network. Would the same be true here?

No, we rely on an internet connection to stream video. Our application uses WebRTC to make a connection from one client (browser) to another. This is a two-way encrypted connection between the clients which allows them to stream video and audio over the internet.

Here's a suggestion for android. Instead of a PWA...make it a TWA.

It's the same code from your end, but it gets packaged as a mobile app.

To see an example , install "Google Maps Go" on play store

First I've heard of TWA... thanks for the suggestion! We'll definitely be exploring this.

I pay about $5 a month for my Google Nest doorbell, which also just happens to be a security camera.

It's kind of cool that I can repurpose an old laptop or tablet as a security camera; but if I'm really serious about a security camera, I'll go out and buy a dedicated camera that's smaller and comes with a mount, and similar priced monthly fee.

I'm going to be perfectly honest, I was much more excited when I thought this was a free framework that connected a browser client to another browser and only used the accounts for authentication. Many of the low cost IP security cameras on sites like Amazon use the cost of the camera to subsidize unlimited streaming. I have to say that business model appeals to me much more than an ongoing expense to use hardware I already own.

$5/month/camera for Nest, vs $5/month for unlimited cameras. But of course Nest has a lot more features, 24/7 video archiving, tagging, etc.

We launched UView with features that we felt would make it competitive with what is currently out there. We also don't plan to stop adding new and cool features.

Unlimited cameras and being able to view multiple cameras on one screen is definitely something that we felt was a big plus and differentiator.

If any browser can be a camera, why do you require me to register to try it out? I'm not ready to give you my personal details. You say below privacy is your primary concern, but you require us to give up our privacy just to try it out.

I guess they could do without the registration part if the demo only involved streaming your own video back to the same device. But the primary use case seems to be streaming from one private device to another (not broadcasting to the world), and for that they need a way to determine which devices are allowed to access which streams.

In most web frameworks, accepting signups and associating sessions with user accounts is the safest and easiest way to achieve this.

Or start the camera on the current device, show a code, enter that code on another viewing device.

Nitpick: grammar error in your features section.

> Get notified when something movement is detected on your video feed.

Since we are nitpicking, the title is also bad. The device I'm using to write this comment has a browser, but you'll never turn it into a security camera, since it doesn't have a camera.

You guys are using webRTC for the communication between clients and server ?

We sure are! We are using WebRTC in order to make it accessible on a large number of devices, but we are not using a public STUN/TURN server in order to keep our platform as secure as possible.

I am very curious about this approach. What kind of hardware/software. How much of a learning curve for the two of you as already-web developers?

I have only played with webrtc before, but what is the problem with public stun and turn?

I was going to say there aren't any, but here is a list: https://gist.github.com/sagivo/3a4b2f2c7ac6e1b5267c2f1f59ac6...

Thanks for posting this :)

There is no real problem with using a public STUN server. We are using our own STUN/TURN server just to ensure reliability and up time.

What kind of a stack are you running WebRTC on?

We're using React for our client app and bridging the connection using websockets.

There's a combination of overselling and vagueness on the site that add up to an appearance of sketchiness that you were probably hoping to avoid. Couple of things that poked me in the eye:

If you have a trial and a real sub, calling the sub 'Pro' sounds silly and unserious, as does saying it has 'priority' support. Priority over what?

There's a lot of talk about privacy being important but the most important question - does the service have access to my video feeds, does it store them, for how long, etc, is not answered straightforwardly anywhere that I saw. Saying things like 'highly encrypted' is a slightly chiller version of the old 'military-grade encryption' and equally uninformative.

The privacy policy is vague and offers no notification of changes while at the same time assuring you your email address can be used for promotion.

I realize a lot of this stuff comes from standard-ish templates but if you're selling something mildly sensitive you probably want to go through the materials with a fine-toothed comb for details and tone.

Sketchiness is definitely something we are trying to avoid :) Not trying to make excuses, but we are developers, so we know that creating content and communication is not our strong suit. Feedback like yours is really valuable to us, so thank you!

This is slick, although I think you might have more luck with a pricing model like https://alfred.camera (turns any smartphone into a security/pet/baby camera), i.e. unlimited free use but a subscription required for HD viewing, recording, and unlimited device count. I was all set to try it out to supplement my current setup (and likely convert to a subscribing customer) but I tend to be turned off by trials.

They actually never write the pricing anywhere, I've even read the FAQ to see how much is for the Pro and the Premium, and it's not there.

Yeah, it's surprisingly well-hidden. There are references in their forum. https://alfred.camera/forum/t/alfred-premium-alfred-plus-unl...

It's $4/mo for "premium" for US customers (https://alfred.camera/forum/t/alfred-premium-alfred-plus-unl...) and some one-time amount for "plus" (which just disables ads).

FWIW, I have no affiliation with Alfred, although I tried their app several years ago (and uninstalled due to the video surveillance being uploaded to random servers in other countries).

The pricing on this is tough. Wyze cameras are $20, whereas this is $5/mo. If I anticipate having an ongoing need, I'll just by a Wyze camera (which also has infrared). Just my 2¢, as a guy who has wondered about whether a service like this existed in the past. Maybe consider offering a lower tier ($10/annually?) for just one camera?

This - I just got a neos smart cam (as they were on offer at work) and for £20 I can use it 'forever' with movement notifications, live stream, basic short recording and no ongoing fee. Up against that, this seems expensive.

I have been considering purchasing one of these, but keep getting put off by the security aspects of cloud based cameras i.e. accidental or otherwise vulnerability that allows others to view the videos.

not only that but if you are hacky enough you can cobble together a cheaper solutions with some cameras, a raspberry pi (or similar small cheap machine), and motion ( https://motion-project.github.io/ )

YAWCAM (yet another webcam software) has always worked for me. https://www.yawcam.com/

That's a different market.

This is actually exactly what I was looking for a couple months ago. Would be great if there was some feature to automatically record movement, didn't see it on the site. Not sure about the security section though

> All of our services are managed in-house bringing you maximum privacy.

Having the services managed in house actually gives me less confidence, since uview has no reputation associated with it. I would be more convinced with some kind of explanation of how the video connection is made secure - what kind of encryption is there, what keeps uview from just spying on my video feed (I suspect not much but don't really know), etc.

We decided not to include video recording in our initial launch. We wanted to put a focus on privacy first. The moment that we record and store video somewhere we are creating a potential disconnect in privacy. This is a weighty responsibility that we are taking very seriously. If/when we provide this feature, we want to implement it in a way that is safest for our customers and the integrity of their privacy.

Thanks for the feedback about privacy. We'll be working on some messaging to communicate how and why UView is secure and private and to provide more transparency into how our platform works.

I wonder if the browser can do continuous recording to disk, I know Mega (mega.nz) does some sort of magic with client-side JS so it's not the browser just writing bytes it's getting from the HTTP connection, it's writing bytes to disk given to it by the JS. If the browser doesn't know how big the HTTP download is, it just writes and writes to disk, I wonder if that's possible with the fancy HTML5 save-to-disk.

This is something we are also investigating. Our goal is to have recording happen on the device, and save directly to the device. We have made some great breakthroughs with this but are still in the R&D phase. This is our ideal solution, though.

Whats the use-case for this then? Without recording using it for security is fairly limited. Do you see it more as a pet/baby monitor?

It is definitely a more specific use case than most security cameras. Currently, we use it as more of a real time monitoring tool. Me and my wife use it as a quick baby monitor for our 1 year old when he is taking naps :)

FYI, noticed a typo in the "Features" section

> Get notified when something movement is detected on your video feed.

Probably want to remove the word "something"

Also, the super light colored "Available on supported Android devices" seems like a recipe for pissed off customers. If it's something I care enough about to prevent me from signing up then it's not like I'll notice it later and say "oh well, what a great service." I'm just going to be mad. Feels very deceptive.

Great catch! We'll also work on communicating the native notification support more transparently. Unfortunately this is a limitation on iOS devices and the Safari browser. Browser based native notification support is still in its infancy for Apple, likely due to the pushback against PWAs as well as to combat potential notification abuse. Thanks for your feedback.

You got a good product with a decent market size, skip the free trail, and start selling, help people set it up if needed. Dont add more features until you have a bunch of customers and know your market. Make it possible for customers to create view links so that your customers will help you get more customers.

Thank you!

I feel like this has the potential to be misused unless it is clear when the device is in camera mode. I haven’t installed this so I’m admittedly unqualified to comment on whether that’s true, but please don’t give people a DIY NSA capability

Do you have any recommendation for minimum sys requirements of hardware to effectively run this full-time? Considering the number of old Android mobiles I have sitting around gathering dust, this is a great idea to tinker with.

BTW your verification email is landing up in spam in Gmail.

We don't have minimum system requirements just yet. I can tell you that we've tested it on iPhone 6 with iOS 12 and a Samsung S4 running the latest OS possible on it. We're still trying to put together a more comprehensive list.

Thanks for the heads up about the verification email!

Only as a note, I tried your site on an (admittedly old, deprecated and what not) XP laptop and couldn't even load your site.

Tried with Opera, Chrome (Iron browser) and QTweb.

I can get to it with Basilisk (which is an experimental, modded and alpha/beta level browser derived from Firefox).

I believe that you should provide:

1) a "simplified" site accessible with any (including old) browsers/OS

2) a list of the browsers/OS's actually tested and working with the service

Right now, it seems to me that most of the (cheap as myself) people interested in re-using old (even very old) hardware they have handy as per your main points are cut out.

Does the video touch your servers? Or does it stream directly from the device with the camera to the person watching it?

Great question! In 85-90% of cases, the two devices are communicating directly through a STUN connection and do not require any middleman. In the other 10-15% (which is normally due to the device being behind NAT), the connection has to be facilitated through a TURN connection. We do not have any internal visibility to these data streams.

I had the same idea, but for human detection with the free Yolo. As most of security is about detecting humans where they shouldn't be. Simple motion detection is nearly useless - any cat or a bird will trigger it, or even branches moving in the wind.

This looks really cool! The notifications for movement detected is a plus but is there any way to customize that in a way that notifications wouldn't get pushed every time the cat decides to jump up on the couch?

Thanks! Yes, you can customize notifications per device so that you aren't bombarded with notifications. We have sensitivity settings in each cameras settings menu, which can help prevent this.

Side note: The motion detection happens directly on your device. We don't process frames or video streams on our servers in order to provide you with the most privacy that we possibly can.

> We don't process frames or video streams on our servers in order to provide you with the most privacy that we possibly can.

A side benefit for you that I imagine you already thought of is that it greatly reduces the amount of processing power you have to pay for to run the service.

It's just the two of us and we're completely bootstrapped :) so yes, this is definitely one of our motives.

I just get a "The camera has failed to load" message, and the link to the "Please see our faq for reasons why" is just a link to the homepage, not any faq.

Sorry about that! The link it should have brought you to is https://uview.io/faq. We'll make sure to fix the link, thanks for catching that! If you are still having problems setting up a camera, please make sure that you have allowed video/audio streaming through your browser. If you have declined this for our site before then you will not be able to use our application.

I would consider using this, but I'd likely only use it for 1 camera, as such $5 a month is untenable. You should consider a lower tier payment option.

Does it feature hiding the green light next to the camera?

Not possible to do on an Apple device built since 2009, unless you consider low tech solutions like black tape.

This is a great idea!


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact