
f3.js stands for Form Follows Function() for JavaScript and is a web-based IDE for IoT applications. If you can write JavaScript, you can simultaneously define every aspect of the applications with the f3.js API - not only programs of microcontrollers and tiny computers but also physical layouts of enclosures of the devices.



The f3.js API is provided as a Node.js module named f3js. You can specify which hardware modules to use (e.g. var Camera = require('jscam'); var c = new Camera()), how they behave (e.g. c.takePicture()), and where they are placed on laser-cut interfaces by code (e.g. var f3js = require('f3js'); f3js.add(c, 75, 35) opening holes for wires and screws to hold the module).
Even if you cannot write programs, you can customize IoT applications written by others through intuitive GUI such as sliders and checkboxes. The f3.js IDE tells you which components to purchase and how to print out the device enclosures, assemble the device, and install the programs. It is as easy as assembling plastic models!

We have also re-started the development of the f3.js project. Stay tuned!

Oral presentation

Demonstration

Used in a university lecture

Oral presentation in a domestic HCI conference

Lightning talk about f3.js in a domestic event

Demonstration in a domestic HCI conference

Demonstration
You can reach more detailed news on Twitter @f3jsorg.
f3.js is currently testing its α version. Thank you for joining us for our journey to ease the process of making stable IoT prototypes with solid enclosures. You can also refer to the old top page for the project overview.
Below is the list of planned features and known bugs. If you notice something else to improve f3.js, please let me (@junkato) know.
extrudeした立体を3D表示できるようにするnpmモジュールがないレイアウト情報も登録できるようになった。その他、細かなバグ修正。これよりも詳細な更新履歴はdocs.f3js.org をご覧ください。