Controlling Neopixels in an NW.js App

October 13, 2017 Jean-Philippe Côté

This article will show you how to control WS2812b-based LEDs – better known as Neopixels – from an NW.js application. To do so, we will be using an Arduino Uno as the interface together with the johnny-five and node-pixel modules. It’s time to shine some light on the subject!

Read article

Tracking Color Blobs in Webcam Feed Using Tracking.js

September 25, 2017 Jean-Philippe Côté

This article will show you how you can pick a color from a live webcam feed and track its movement in real-time. To do that, we will be using the tracking.js library and a bit of custom code.

Read article

Using the new Phidget22 JavaScript API with NW.js

September 8, 2017 Jean-Philippe Côté

During the summer, Phidgets inc. performed a complete overhaul of their API. This new version of the API (22) is, unfortunately, not backwards compatible. This means that our previous article on using Phidgets with NW.js is not applicable to the new API. The time has come for an updated article. So, here it is.

Read article

Viewing Webcam Feeds and Grabbing Still Frames in a Modern Way

January 23, 2017 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. 

Read article

Controlling AC Devices with the NJA Toolchain

October 17, 2016 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 possible? Of course it is! To do that, you will simply need four things: a 120VAC device, an Arduino, a relay and this article.

Read article

NW.js & Electron Compared (2016 Edition)

March 26, 2016 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 you choose the right tool to build your next project.

Read article

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

February 14, 2016 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.

Read article

The Gamepad API & Physical Computing

December 13, 2015 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.

Read article

Web MIDI: Music and Show Control in the Browser

October 6, 2015 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!

Read article

NW.js & Electron Compared

August 30, 2015 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.

Read article

luma.gl

luma.gl provides efficient and easy-to-use WebGL2-based building blocks enabling high-performance GPU-based data visualizations and computations on your browser.

Go to project page

D3.js

D3.js is a library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. It combines powerful visualization components and a data-driven approach to DOM manipulation.

Go to project page

Deck.gl

Deck.gl is a WebGL-powered framework for visual exploratory data analysis of large datasets. It provides tested, highly performant layers for data visualization, such as scatterplots, arcs, geometries defined in GeoJSON, etc…

Go to project page