Category Archives: Projects

Running a web server on the front-end

The introduction of TCP sockets support in Firefox OS made it possible to run a web server from the front-end, and all is written in JavaScript. Think of having something similar to express.js… but running on a browser (because after all, Firefox OS is a superturbocharged browser).

Again, JS server superstar Justin d’Archangelo wrote an implementation of a web server that works on Firefox OS. It’s called fxos-web-server and it includes a few examples you can run.

None of the examples particularly fit my use case–I want to serve static content from a phone to other phones, but the examples were a bit more contrived. So I decided to build a simpler proof-of-concept example: catserver, a web server that served a simple page with full screen Animated GIFs of cats:

Continue reading

install-to-adb with command line tool!

As I said, I abhor repetition, so I added a new nifty feature to the install-to-adb module I made.

Now it also has a command line tool, and you can push and launch apps from the command line without even having to write a custom script that uses the module (of course, you can still use the module code by requiring it).

install-to-adb /path/to/your/firefoxos/app --launch

Continue reading

Superturbocharging Firefox OS app development with node-firefox

Well, that’s funny–I finish writing a few modules for (potentially) node-firefox and then on the same day I discover the recording for my FOSDEM talk on node-firefox is online!

It’s probably not the best recording you’ve ever seen, as it is not recording the output of my laptop, but here are the slides too if you want to see my fabulously curated GIFs (and you know you want to). Here’s also the source of the slides, and the article for Mozilla Hacks that presents node-firefox and which might probably help you more than watching the video with the slides.

If you’re interested in watching the other Mozilla talks at FOSDEM they’re here.

Install to ADB: installing packaged Firefox OS apps to USB connected phones (using ADB)

I abhor repetition, so I’m always looking for opportunities to improve my processes. Spending a bit of time early on can save you so much time on the long run!

If you’re trying to build something that can only run in devices (for example, apps that use WiFi direct), pushing updates gets boring really quickly: with WebIDE you have to select each USB device manually and then initiate the push.

So I decided I would optimise this because I wanted to focus on writing software, not clicking on dropdowns and etc.

And thus after a bit of research I can finally show install-to-adb:

In the video you can see how I’m pushing the same app to two Flame phones, both of them connected with USB to my laptop. The whole process is a node.js script (and a bunch of modules!).
Continue reading

tween.js: what’s next?

tween.js is terribly popular despite being overwhelmingly simple and underpowered compared to other more awesome and batteries-included animation toolkits as CreateJS.

Yet it’s only me being the maintainer… or, let’s face it, the bottleneck, as I’ve been terribly busy with other matters these last months. I feel like I’m doing a disservice to the community by letting it stagnate, and that’s awful.

I’m sorry.

But I also need to be realistic that I just don’t have the time to maintain it.

The fact that it is under my “name” in github (github.com/sole/tween.js) doesn’t make it any more inviting for other people to feel a sense of ownership either, and I always felt bad when people said “tween.js by sole” because there has been a ton more of contributions by very talented people, and I never wanted to take their credit.

So I’ve decided to move tween.js to its own organisation to reflect the fact that it is a community project, not just sole’s project. Starting today, github.com/sole/tween.js is no longer the home of tween.js—it is github.com/tweenjs/tween.js.

It goes without saying that I am looking for people who want to actively contribute to tween.js. Ping me if you’re interested. Fame, glory, and my and the community’s eternal gratitude as perks.

The other good thing of moving to an organisation is that we can now have related projects living under the same roof. For example, a potential ES6-based version of tween.js.

I also found yesterday that for some reason I hadn’t got new issue notifications from github for the last two or three months, so there was a bunch of new issues waiting on me to take action. I am sorry about this too, and will try to reply as fast as I can.

Thanks to everyone who uses tween.js or contributes to it!