The JavaScript blog.


community mozilla

Why You Should Donate to Mozilla

Posted on .

Firefox donations

Recently Firefox prompted me to donate to Mozilla. The ad appeared on the Firefox Start Page, but you might not always see it -- sometimes there's a message that reads "Let the world know you #ChooseIndependent with Firefox." I switch between browsers for testing quite a lot, so I'm not particularly tied to one browser. However, that day I'd been using the latest Firefox and the Firefox Developer Edition, so I was in a good mood about Mozilla and decided to donate a few dollars.

I happen to think that you should donate as well, and here's why. The Mozilla Foundation has been involved with some projects that have been immensely useful and powerful: Firefox, PDF.js (Mozilla Labs), asm.js, and Rust spring to mind. Take a look at the Mozilla Research Projects list for more.

Something that JavaScript developers can't live without is the Mozilla Developer Network documentation. I almost felt like I was donating to support that site alone!

Like you I also use Chrome, and I actually like Google's email indexing and Google Now -- the way it shows delivery information for recent purchases is awesome. So I'm not pro-Firefox due to any privacy issues. And Safari is totally gorgeous on Yosemite. It definitely feels like Firefox's competition is strong, and the mainstream technology press is down on Firefox. The last few releases have felt as fast as Chrome though, and the UI is evolving to something clean and minimalist that I like.

I think Mozilla does a lot for us JavaScript developers. If you'd like to donate, go to sendto.mozilla.org. There's also a FAQ about donations. You can now even donate bitcoin!


libraries ui games webgl mozilla

Metawidget, Mozilla Holiday Gaming Competition

Posted on .


Richard Kennard sent in Metawidget:

Metawidget is a smart widget that populates itself, either statically or at runtime, with UI components to match the properties of your business objects.

I originally replied to him and said that something that talks about "business objects" and Java Struts might not be the type of thing I usually write about on DailyJS. He responded in good spirits with this:

Metawidget is a lightweight UI generator that can turn a JSON object into a UI widget in one line of code: http://blog.kennardconsulting.com/2013/08/how-to-generate-ui-from-json-objects.html

Or three lines if not using AngularJS: http://blog.kennardconsulting.com/2013/03/lightweight-json-to-ui-generator.html http://blog.kennardconsulting.com/2013/07/generate-ui-from-json.html

Also supports JQuery UI and JQuery Mobile: http://blog.kennardconsulting.com/2013/12/jquery-mobile-ui-generator.html

If you come from a C# or Java background, the style of this project might appeal to you. The introductory tutorial explains the idea of transforming data into UI elements based on types (which reminds me of my XSLT days).

Mozilla Holiday Gaming Competition

Kevin Attfield sent in a competition being run by Mozilla and Goo Technologies with $45,000 worth of prizes up for grabs.

To create your games, you will be using the Goo platform consisting of Goo Engine - a 3D JavaScript gaming engine entirely built on WebGL/HTML5 - and Goo Create - a visual editing tool running on top of the engine. For inspiration, check out this video tutorial on how to create an interactive scene in Goo Create.

Kevin works for Goo Technologies, and said they're also looking for developers.


css node modules sass vnc mozilla

Node Roundup: Node-sass, TowTruck, peer-vnc

Posted on .

You can send in your Node projects for review through our contact form.


Node-sass (GitHub: andrew / node-sass, License: MIT, npm: node-sass) by Andrew Nesbitt is a Node binding for libsass. It comes with some pre-compiled binaries, so it should be easy to get it running.

It has both synchronous and asynchronous APIs, and there's an example app built with Connect so you can see how the middleware works: andrew / node-sass-example.

var sass = require('node-sass');  
// Async
sass.render(scss_content, callback [, options]);

// Sync
var css = sass.renderSync(scss_content [, options]);  

The project includes Mocha tests and more usage information in the readme.


C. Scott Ananian sent in TowTruck (GitHub: mozilla / towtruck, License: MPL) from Mozilla, which is an open source web service for collaboration:

Using TowTruck two people can interact on the same page, seeing each other's cursors, edits, and browsing a site together. The TowTruck service is included by the web site owner, and a web site can customize and configure aspects of TowTruck's behavior on the site.

It's not currently distributed as a module on npm, so you'll need to follow the instructions in the readme to install it. There's also a bookmarklet for adding TowTruck to any page, and a Firefox add-on as well.


peer-vnc (GitHub: InstantWebP2P / peer-vnc, License: MIT, npm: peer-vnc) by Tom Zhou is a web VNC client. It uses his other project, iWebPP.io, which is a P2P web service module.

I had trouble installing node-httpp on a Mac, so YMMV, but I like the idea of a P2P noVNC project.