Mozilla JavaScript Blog →
If you like JavaScript (and I imagine you do, if you follow this site), then you’ll likely find interest in this new blog from Mozilla’s JavaScript Engine team.
All the stuff about how JavaScript happens.
If you like JavaScript (and I imagine you do, if you follow this site), then you’ll likely find interest in this new blog from Mozilla’s JavaScript Engine team.
All the stuff about how JavaScript happens.
I’ve been working at Mozilla on the same project for a year and a half now, and it’s time for some change.
I spent that time working on Add-on Builder, taking it from prototype to launched product. With it being largely a single-page app, I refined a lot of my views on organizing and structure large amounts of JavaScript. I formed that new knowledge into Shipyard, and got to work on that and improve it much the first half of this year.
I’m proud of how easy it is to start writing a new add-on for Firefox, test it, and publish it to addons.mozilla.org; all entirely in the browser.
I started thinking I wanted to do more, though. By more, I mean affect more people on the Internet. As various friends would ask me what I do at Mozilla, I would tell them I make a tool for developers to more easily make add-ons, that my friends might use. Except many don’t use add-ons, or even Firefox. I realized I wanted to make something that normal people would use. What is something on the Internet that normal people use, and currently sucks? Logging in.
Mozilla’s Identity team has been working on a new system to greatly improve signing into the Internet. I’ve been watching it since they announced it, and now I get to help create and improve on the new Persona project.
If we do our job right, eventually when my friends ask me what I do, I can say: I helped make it so you no longer need to use passwords everywhere. I helped make your online identity more secure. I helped make signing into the Internet awesomer.
Johnathan Nightingale:
To watch a Mozilla conversation unfold, in newsgroups or in blogs, in bugzilla or in a pub, is an inspiring thing because of how passionately everyone, on every side of an issue, is speaking in terms of the people of the web and how we can do right by them. We are at our most excellent then.
Asa Dotzler:
On ARM chips, Microsoft gives IE access special APIs absolutely necessary for building a modern browser that it won’t give to other browsers so there’s no way another browser can possibly compete with IE in terms of features or performance.
This is huge. It’s not that it’s difficult to make a Metro-style app. It’s that some core underlying APIs that users take for granted aren’t available. An easy one to notice: Firefox on ARM won’t be able to dynamically load and execute generated code; commonly known as JIT compilation. JIT compilation of JavaScript is how all modern browsers are able to make JavaScript run so quickly. Users will certainly notice that Firefox seems slow, and think it’s all Mozilla’s fault.
Then, John Gruber points this out:
In other words, Microsoft is setting policies for Windows for ARM that are a lot like Apple’s policies for iOS. These policies and restrictions make just as much sense for Microsoft as they do for Apple.
I can never understand people who have the mind of “that’s fine, it’s better for the parent company.” It’s also worse for the user. The policy that Apple has for the iOS store is just as bonkers.
I’ve been working on a JavaScript MVC framework for past several months called Shipyard. It’s an incredibly modular framework, with ease of testing, and all that other kool-aid. What’s important now is that this is the first release point for Shipyard. Here’s what it comes packed with:
There are plenty of other modules included, but not all have public docs currently as many of them aren’t needed specifically by app developers, only by the internals of Models and Views.
It’s already powering Mozilla’s Add-on Builder.
You can read more about Shipyard at the docs page, play with the obligatory example to-do app, or the brave can start at the source.
Or, you can grab your require and try it out in jsFiddle right now.
To use it locally, you could check it out with git, but it’s also available on npm, via npm install shipyard.
With this release, work begins on version 0.2, which will bring about Model Relationships, QuerySets, some Controllers, and a configurable logger.
Brendan Eich of Mozilla:
What I do know for certain is this: H.264 is absolutely required right now to compete on mobile. I do not believe that we can reject H.264 content in Firefox on Android or in B2G and survive the shift to mobile.
I can’t say I care too much about the non-openness of H.264, but I’m glad Mozilla does. The only thing allowing movie producers to use H.264 encoding is a “promise” that the owner of the technology won’t charge them. If it ever goes away, and all those people get charged for using H.264, I won’t have to pay directly, but the Internet will suffer as producers scramble to do something about it. That means I will be affected anyways.
Still, everyone else thinks it’s better to just move forward with H.264 because there’s already hardware that supports it.1 Mozilla is the only one that has stood against it, and now, all Firefox users get video through Flash, instead of the native HTML5 video element like the rest of the Internet.
The goal is to allow H.264 to play, but to continue to fight for a better technology as well.
People who say this are playing blind. ↩
This is Mozilla’s way of making the web be a capable platform for the mobile world. Instead of having to write Objective-C, or Java, and then, only being able to distribute through certain walled gardens, Boot to Gecko makes websites first-class citizens.
This means developers only need to make a website, using technology they already know, and their app is freely available (or they can charge, of course) to anyone who’s mobile device implements the modern web.
Specifically, Boot to Gecko has every single part written in HTML and JavaScript, including the home screen, the dialer, the SMS app, all of it. The Verge has a write up and video showing excellent performance, which is great news.
This is big.
A Firefox add-on by Mozilla that helps visualize sites that track you with cookies. As you visit sites, it will build a graph, so you can see which websites are following your path across the internet.
I upgraded my Galaxy S to an Ice Cream Sandwich ROM just to try out Chrome for Android. I had also made some statements about how it must be better than Firefox for Android, before knowing better.
Now, having used it for the past 3 weeks, Chrome for Android is terrible. It’s startup time is unbearable, often taking 15-30 seconds. Even simply the “New Tab” page takes way too long to load. Rendering pages is incredibly slow, and often the “App Not Responding” message shows up. It’s even crashed my phone.
The up side, though, is that Firefox for Android saw some speed improvements with my switch to ICS. It now loads fairly quickly, opening to a new page in ~5 seconds.
The tab card-like interaction on Chrome for Android is still far more fun, though (if you can wait for it to load).
Add-on Builder, the product I’ve been working on for the past year, has just hit 1.0 It’s a web-based IDE that let’s people create add-ons for Firefox using JavaScript and HTML.