Articles

Viewing Webcam Feeds and Grabbing Still Frames in a Modern Way

2017-01-23 Jean-Philippe Côté

Listing available webcams, identifying supported resolutions, viewing live video and grabbing frames should all be pretty straightforward things, right? Well, it turns out that, even in 2017, they are a little more tricky than one might expect. This article will help you do all those things while avoiding the gotchas that pave the way to webcam control. 

Controlling AC Devices with the NJA Toolchain

2016-10-17 Jean-Philippe Côté

Devices that you plug in a 120VAC wall outlet are not necessarily what you would expect to connect to an Arduino. Most of the beginner-level Arduino projects deal with sensors and small actuators using voltages in the 3.3-5VDC range. But what if you want to use the NJA toolchain (NW.js, Johnny-Five, Arduino) to turn on or off a fan, a smoke machine, a spotlight or anything else that plugs into a regular wall outlet? Is that even [...]

NW.js & Electron Compared (2016 Edition)

2016-03-26 Jean-Philippe Côté

If you wish to create a desktop application from web technologies, the open source world offers two main choices: NW.js (formerly node-webkit) and Electron (formerly atom-shell). Deciding which one to go with is not so obvious. In 2015, I released a first version of this comparison between the two tools. However, the release of version 0.13 of NW.js brought on so many improvements that an update became necessary. Hopefully, the chart and comments in this article will help [...]

NW.js, Johnny-Five & Arduino: A Wicked Trio

2016-02-14 Jean-Philippe Côté

With the availability of version 0.13, it becomes trivially easy to use NW.js with the Johnny-Five robotics library. Combined with a microcontroller such as the Arduino, you get a very powerful end-to-end toolchain for physical computing. In this tutorial, we will show you how easy it has become to control external devices and gather data from sensors in such an environment.

The Gamepad API & Physical Computing

2015-12-13 Jean-Philippe Côté

HTML’s Gamepad API has been created specifically with online games in mind. However, this does not mean it cannot be used in other contexts. For instance, gamepads have been hacked to assist people with physical disabilities, repurposed for artistic goals or altered for the sheer fun of it. Whatever your physical computing project, this article will show you how you can use the Gamepad API within TangibleJS’ preferred deployment platform: NW.js.

Web MIDI: Music and Show Control in the Browser

2015-10-06 Jean-Philippe Côté

Earlier this year, Google released Chrome 43. This release marked the official introduction of an amazing new feature: MIDI in the browser! The magnitude of this news for fans of physical computing cannot be overstated. This means you can a) control external MIDI devices from JavaScript and b) use MIDI devices to control what’s happening in your web browser. I almost cried… And the best part is: it actually works!

NW.js & Electron Compared

2015-08-30 Jean-Philippe Côté

If you wish to create a native desktop application from web technologies, the open source world offers two main choices: NW.js (formerly node-webkit) and Electron (formerly atom-shell). Deciding which one to go with is not so obvious. That is precisely why I created the comparison chart found in this article. Hopefully, it will help you choose the right tool to build your next physical computing project.

Using Phidgets sensors in JavaScript

2015-08-04 Jean-Philippe Côté

In a typical physical computing project, you will need to gather input from the real world. For instance, you may need to sense distance to an object, vibration level, gps position, amount of light, air pressure, force applied, etc. How can you bring that external information in your JavaScript-based physical computing project? One of the easiest way is probably to use a sensor board made by Phidgets Inc. This article will show you precisely how to [...]

Getting started with physical computing in JavaScript

2015-05-15 Jean-Philippe Côté

So, you want to start leveraging your JavaScript skills to interact with the physical world ? You have come to the right place. This article will paint a broad portrait of what can be achieved in the tangible world by using JavaScript. It will also point you in the direction of various tools, libraries, frameworks, devices and tutorials that can help you get started. Here we go!

Create a Native Application with NW.js

Creating a Desktop App with HTML, CSS and JavaScript

2015-03-18 Jean-Philippe Côté

The NW.js project lets you create apps with full native capabilities in HTML, CSS and JavaScript. Even better, it lets you access all Node.js modules directly from the browser environment. This means your web-platform-based application can now retrieve input from sensors or control hardware devices. This is the perfect environment for physical computing projects!