Introducing the JavaScript-of-Things

Flaki
9 min readMar 13, 2015

Internet-of-things festival, embedded-hardware JavaScript hackery and mobile HTML5 WebAPI magic — a weekend with Mozilla and Jan Jongboom in Budapest.

When Firefox OS didn’t take off in Hungary as many of us hoped— two years after the official launch the open source mobile platform remains an ghost among the consumers — we, mozillians in Hungary tried to find new directions to make an impact on the Open Web, on a local scale. As consumer (and operator) interest faded — to our wonder, developer interest seemed not to falter, but instead kept rising slowly, but steadily.
This should not have been that surprising, as Firefox OS is basically (a supercharged, yes) version of the Web at its core — but that gave us an idea.
Talks have started about an event on Firefox OS hacking as early as last December with Firefox OS evangelist at Telenor Digital, Jan Jongboom. Telenor Digital folks have already joined us in spreading the Firefox OS love on several occasions before — and Jan was eager to come back to Budapest for some time, too. Also, it was Jan who came up with (and put together) one of the most exciting projects in the current Firefox OS landscape: Jan OS.

Jan first presenting the idea of JanOS in his talk at JSConf.EU 2014

Jan OS is a stripped-down, utilitarian version of Firefox OS — with all the API-s and Open Web magic still there, but without the glamorous facade of GAIA to cover up the system’s complexities. A platform made for hacking.

The talks have succeeded, and we got both Mozilla and Jan on board, so we have started planning this whole weekend-worth of Firefox OS-related developer festivity (linked article in Hungarian).

Meetup day — Thursday, February 26.

Jan landed safely in Budapest on the murky Thursday afternoon of 26th February, barely spending two minutes in the hotel dropping off his stuff and hurrying over to the POSSIBLE Budapest head­quarters to give his presentation at the POSSIBLE + Mozilla + Innovation & Interaction “Gadgets and browsers together” meetup.

The meetup went quite well—even in spite of the terrible weather, 50+ participants managed to find the POSSIBLE HQ (with few more people following the online stream). After a short delay while we worked trying to overcome the initial hurdles of hardware setup and hooking up Jan’s Raspberry Pi to a local big-screen, Adrienn Zádori (POSSIBLE Budapest Host and Innovation & Interaction meetup organizer) opened the evening, and the meetup was live!

Jan started the lineup of speakers with a mindbending (or, quoting Adrienn: psychedelic!) presentation on Firefox OS principles and Jan OS basics. Curious meetuppers got a great introduction into the philosophy that brought the Open Web APIs to life, and were presented how to tap into these possibilities — using either Firefox OS, Jan OS or a standard issue (supporting) browser (be it on mobile, desktop or anywhere else).

The tiny microcontroller that supports JanOS (originally a Geeksphone PEAK Firefox OS phone)

He didn’t just talk about these things, but have shown all these too. Pranked by the Demo Gods™ a few times — but eventually managing to connect to a Jan OS-driven Raspberry Pi, we have been presented a sneak peek into how Firefox OS could power future’s (and today’s) microcontrollers and IoT hardware — thus creating the JoT (JavaScript-of-things) in the process.
Connected to the same network and using the Firefox OS developer tools it wasn’t too hard then to access Jan OS remotely and control the hardware and LEDs wired up to the Raspberry Pi with simple JavaScript commands — from across the room.

After Jan put the “fun” back into the “funspace” at POSSIBLE — a more serious talk followed by Ákos Csertán. Ákos is one of the organizers of Innovation & Interaction meetup (and a former POSSIBLE alumn), currently working at BalaBit IT Security — and gave a pretty eye-opening talk on the (in)security of today’s much hyped IoT and wearable devices.

In the break preceding the second part of the talks people were flocking around the presenters (and cleaning up the last crumbs of pizzas) — the magical, Raspberry Pi-and-open-web-tech-driven TV screen has once again attracted a fair bit of enthusiasm.

Jan OS running on the Raspberry Pi put to a test once again during the break

Right after all pizza was reduced to empty cardboard boxes, all questions asked and all LEDs blinked, commenced the second part of the talks with Csaba Csecskedi and Attila Lőrincz of the POSSIBLE fame leading up the pack with a presentation on the ups and downs of developing for Samsung’s Tizen-based wearables/smartwatch platform. They even let us in to the creation process of POSSIBLE’s AKTIF! watchface app developed for the Galaxy Gear smartwatch.

Attila Lőrincz talking about the AKTIF! watchface app

Wrapping up the meetup-evening, the POSSIBLE UID team prepared three entertaining experimental lightning talks from the niches of the bleeding edge of web technology and JavaScript-hardware interactions.

First up, Bálint Lendvai presented his experiences on using the LEAPMotion controller hooked up to a WebAPI library and exercising gesture control. Via a simple, proof-of-concept rock-paper-scissor game, we were introduced to the probably limitless possibilities of accessing simple but powerful APIs from inside JavaScript and web source code.

In the next lightning talk József Szabadszállási started mixing hardware sensor access with high resolution panoramic video graphics. Combining the device orientation extracted from the gyroscope of supporting devices with a special kind of 360° footage and some WebGL magic, what emerged is a window to another dimension — a viewport to a lively, animated three-dimensional world showing through the tablet screen.

Last but not least Péter Schmíz, head of POSSIBLE UID presented his journey around the Kinect 2 sensor data — and experiments in putting that extracted raw sensory data into good use.
The presentation soon turned into a wicked fun of comical hilarity, as POSSIBLE Games’ latest game, Adventures of Poco Eco’s titular character showed up on the projector screen: attendees (and even Jan) has gone nuts and bananas over the quickly hacked-together motion tracking app, as it transplanted their postures in real time onto the tiny Poco-s fooling around on the projected live canvas!

Jan Jongboom and István Makáry frolicking in front of the Kinect 2 sensor rigged to models of Poco Eco by Péter Schmíz

The lightning talks have succeeded in revitalizing the attendees to a point when — despite the late hour — really good conversations popped up and went on well after the talks were over. A few of the folks have even had the energy to continue these conversations at a nearby pub after leaving the POSSIBLE office, and some of them have returned for the Saturday workshop, too. It was a great night!

It’s also worth mentioning that the meetup was followed on the air — thanks to the live YouTube feed — by quite a few curious folks, too, who couldn’t manage to attend in person (due to weather or other constraints). Thanks go out to them, too — thank you for joining us!

More pictures of the meetup evening can be found in this Facebook-album.

All talks were in English and recorded, see slides linked above for each — and recorded videos os talks coming soon, so stay tuned!

Workshop day — Saturday, February 28.

After wrapping up the meetup there was still a great deal of hacking waiting for anyone interested in Firefox OS and Open Web APIs running on tiny hardware: at Saturday’s JanOS Workshop.

Jan arriving to the workshop at EPAM

Thanks to Telenor we had Jan to MC his way through a whole day of Firefox/Jan OS hacking. No less thanks to Mozilla, we had Firefox OS hardware we could give to participants an a few pizzas (and a later dinner) to keep their brains supplied with sufficient amount of nutrients while they hacked their way through the day. Finally — last but not least, thanks to the much welcome help of Budapest Frontend Meetup folks — we had actual participants and a place to take them on Saturday: with EPAM supplying us their awesome hackspace. EPAM turned out to be an excellent host, they prepared the venue for our arrival, marked up the directions for the participants, and — in spite of the occasional wi-fi issues — we are bound to return there for future events.

New home for the Foxmachine — Mozilla Reps swag thanks to the awesome Brian King

The workshop started with the organizers (Mozilla, Frontend Meetup & EPAM folks) gathering in the EPAM tutorspace early in the morning. Kálmán Szalai (KAMI) — returning from the distant Lendava Webmaker workshop in Slovenia — came bearing gifts: thanks to Mozilla and Brian King we were ready to start the day in all-firefoxy-glory!

Anikó Fejes (Budapest Frontend Meetup) prepared her foxiest self for the workshop

After all was set up and the participants started arriving, Jan gave an introductory talk on Firefox OS / JanOS, coupling this with a few quick one-liners coded live and e.g. sending SMS messages from a JanOS-flashed GeeksPhone board as quick demonstration of the power of WebAPIs.

After Jan’s primer, the participants got their own phones to hack on, flashed the latest version of Firefox OS (or JanOS) on them and began hacking. We had a brainstorming session where interested participants could share the idea they were going to work on for the rest of the day so others could get inspiration or join them building it.
Jan and I were helping the workshop folks getting started (also Balázs Úr brought a lot of his students from web development class, and was helping out a lot during the day), while other Mozillians (Kami, Lívia) made sure everything went smoothly during the day.
After dinner, arriving into the final stretch we were helping the most adamant Firefox OS-hackers finishing and presenting their ideas — late in the afternoon we had at least 10 different ideas working (to some extent) and demoed on stage.

Among these ideas were quite a few JanOS-based works (without the claim of completeness): a presenter helper with gyroscope support for laser-pointer replacement (by Bence Golda), a geofencing-based grocery shopping-list (by Kovács Dániel Dávid) or generative music using audio sensor data (by Tibor Szász).

One particular JanOS idea even went viral on Twitter — the accelerometer-based Firefox OS/JanOS weight scale must have stuck a nerve, because it spread like forest fires right after Jan tweeted about it!

There were several other ideas, different implementations for Morse-transceivers and even a bicycle courier dispatch webapp! The authors of the ten most promising/unique/well-executed ideas received a Firefox OS device to elaborate/hack on their ideas further and results are to be followed up on.

JSConf Budapest ticket prize and coupon

Also, as an additional prize — thanks to the great cool folks over at JSConf Budapest — we had the chance to give away one JSConf Budapest ticket for a participant deemed most worthy of the prize for his activity and results at the end of the workshop. After quick discussion, we were proud to announce Bence Golda as the winner of the JSConf ticket prize for his idea and super quick prototyping of the JanOS presenter he dreamed up!

After the troubles and a whole-day of hacking at the workshop, the top hackers were invited to have a dinner with the workshop organizers/Mozillians (thanks to Mozilla!), and to chill and discuss the day’s takeaways next to a glass of lemonade/pint of beer! Some of the most fearless also accompanied us for a tour of Budapest Saturday nightlife with Jan — but well, that’s another story altogether…

Mozillian after-workshop dinner at Kompót Bisztró

All in all, the weekend turned out to be a great success! We never imagined such cool ideas would pop up on the workshop, and this many people would be interested in JanOS/hardware hacking via Open Web tech. The events certainly managed to revitalize the Firefox OS developer community — and hopefully, after following up on the workshop projects, will keep doing so in the coming months, too.

More pictures of both days are uploaded here. Even more pictures of the meetup and the workshop day can be found on Mozilla Hungary Flickr.

--

--

Flaki

JavaScript, Hardware, Games · Skylark · Mozilla · Tessel Project