About Me
Silicon Valley lore would let you believe there are only two startup stories – billion-dollar unicorns and bombs.
I’ve survived both those outcomes, but also lived through many other flavours of startup outcome – the good, the bad, and the “depends who you ask” – in several decades of starting up. Beginning as a software engineer writing assembler code for the 8-bit Z80 CPU way back in the days before there was a commercial Internet or a cellphone, and somehow ending up leading sales and data teams, my decidedly patchy startup track record goes something like this:
- Crashed on takeoff
- Flamed out
- NASDAQ IPO
- Acquired for >$1Bn
- Zombie
- White dwarf
- Currently growing at 3.5x YoY
I’ve also survived several generations of IT technology, and for fun I mapped out on a chart all the programming languages I’ve used and other things I can remember feeling were important at the time:
I am building a RPi with motion detecting camera using computer vision techniques. I also have a browser based applet running HTML/ JavaScript on a web hosted account (not on the RPi) that my users login into through the mobile and/ or Wi-Fi device of their choice. I would like for the users to connect to the RPi from within the applet. Then, program a JavaScript listener in the applet triggered by a specific programmed RPi camera motion. Would you be able suggest the best approach? Is this a node.js appropriate thing? Is this a RESTful appropriate thing?
Or perhaps, now that I see it, this more like your NFC example. Would you offer a bit more guidance?
Your options are fundamentally your RPi acting as a) client or b) server for the integration.
in a) your RPi application uploads images and motion events to your hosted account, where your browser-based applet can choose to access and display the images. This is easy to do, but the downside is the unnecessary data traffic when you aren’t viewing or processing the images.
b) your RPi acts as a web server, waiting for incoming requests from a browser. It can serve html when you browse to its IP address, and with a RESTful API, can respond to requests from your web applet for data, e.g. specific images. you will have to open a port in your router firewall to allow this.
the RPi application can also use a socket to indicate an event has occurred, so trigger an application running on your hosted account. perhaps confusingly, the RPi application is acting as a client in the socket communication, and you’ll need a small server application on your hosted account for it to talk to.