Posts Tagged with “JavaScript”

The Open Web and JavaScript 2

June 11th, 2007

Recently we’ve been talking about the Open Web as platform, and making the Open Web itself a rich platform. While this is a rather abstract discussion, one very concrete aspect of it is JavaScript, a key ingredient in interactive applications like Google Maps. (JavaScript is also referred to as ECMAScritpt, named after ECMA, the standards body through which the language has been standardized.) And one very concrete step occurred on Friday with the public release of a Reference Implementation for ECMAScript Edition 4. This is more generally known as “JavaScript 2.” The Reference Implementation is an early release, allowing the power of many eyes and many brains to understand and participate in the development of JavaScript 2.

Why does this matter? And why does it matter to the concept of the “web as platform?”

JavaScript is the language of the web. (I don’t mean to say it is the only fine scripting language or is better than other languages for various tasks. There are a number of excellent scripting languages.) Much of the web is written using JavaScript and it’s likely to stay that way for some time. In fact, JavaScript is so widely deployed on the web that the use cases and workloads outstrip the original design of the language. JavaScript is malleable enough that people have devised all sorts of ways to make things work that were not widely foreseen when the language was designed and standardized. But some of these uses and workloads could be much more effective with an updated version of JavaScript. And so, work on defining the next version of JavaScript has been underway for several years. This work is known as the work on “ECMAScript Edition 4.”

JavaScript is intimately tied with Mozilla. JavaScript was created in 1995 by Brendan Eich, who went on to become a co-founder of the Mozilla Organization at the launch of the Mozilla project in 1998. Both Brendan personally and the Mozilla project in general devote an enormous amount of time and focus to JavaScript. Mozilla maintains one of the major JavaScript implementations (known as “SpiderMonkey“) in our source base. We also maintain a version of JavaScript written entirely in Java known as “Rhino.” In addition, in November we launched the Tamarin Project based on Adobe’s contribution to create a virtual machine shared by Mozilla projects, Adobe products and anyone else who is interested.

Mozilla’s implementations of JavaScript are used by a range of organizations and products as well as Mozilla projects.

Mozilla has been deeply involved in improving both the JavaScript language itself as well as the Mozilla implementations. Brendan is the “convener” of the ECMA working group for ECMAScript Edition 4 (the precise name of this group is TC39-TG1 — Dynamic Scripting Language). There are other active participants of course, who have been collaborating under ECMA auspices for years.

The Reference Implementation is under active development, with plans to finish it this summer and then finalize the specification itself. The benefit of a Reference Implementation is having a testable example of what the JavaScript 2 does and doesn’t do. This allows for better evaluation of the updated language. It also allows for better drafting of the specification and ultimately a more precise specification that will foster inter-operation on the Web among browsers.

Making the Reference Implementation public now encourages review, evaluation and comment. This brings the benefits of greater understanding, problem finding and problem solving that we’ve become familiar with in the open source world.

JavaScript is not something the general consumer works with or even understands. Many may not know of it or understand why it matters. But JavaScript is a fundamental element of the web. It’s fundamental in human interaction with the web. Updating JavaScript’s capabilities updates the power of the web itself. Updating the web through open standards and through open source like Mozilla moves the web forward in a way that is accessible to all.

That’s the Open Web. That’s the Mozilla mission. And that’s why Mozilla invests so much in fundamental technologies such as JavaScript.

Welcome Tamarin

November 7th, 2006

Today we welcome the Tamarin project to the Mozilla world. Tamarin is the JavaScript virtual machine created by Adobe for use with the Adobe Flash Player. JavaScript — the language of the web — and the Mozilla project have always been intimately tied. JavaScript was originally created by Brendan Eich in 1995. A few years later Brendan was one of the founders of the Mozilla Organization. The Mozilla project has hosted the development of key JavaScript technologies since its founding in 1998. (Originally known as JavaScript, the technology was given the name ECMAScript when submitted to the ECMA standards body.)

More specifically, the Tamarin project means:

  • Adobe has contributed Tamarin to the Mozilla project
  • The source code is now open source (MPL, with the tri-license option) and available from Mozilla source code repository
  • The Mozilla Foundation now hosts the development of Tamarin as part of the Mozilla project and development process
  • Adobe and Mozilla developers will work together to create a version of Tamarin that will be used both in Adobe’s products and in Mozilla’s products, including Firefox.
  • Mozilla contributors will be able to participate in development of Tamarin as they do in all other aspects of Mozilla open-source development.

This is an exciting development. It represents many years of work, and highlights several important developments.

  1. Convergence on a key technology. We will be sharing resources to build a single community working on a single version. That’s good news. Web developers will be able to focus on a single, more robust technology. That’s great news.
  2. The Mozilla project is about creating a vibrant, open Internet. We are best known for Mozilla Firefox, but our goal is much broader — to promote development of an open, standards-based Internet, with low barriers to participation and useful innovation. Firefox is one tool in this effort. Technologies such as JavaScript are another. JavaScript provides a low barrier to entry, uncountable people and websites use JavaScript quite separately from any focus on Firefox, and improving JavaScript improves the capabilities of the Internet itself.
  3. Vitality of the Mozilla project. The Mozilla project is undoubtedly the correct home for Tamarin. The Mozilla project has demonstrated a long-term ability to host and lead JavaScript development. We have the community, the infrastructure, the will and the experience to welcome a new project like Tamarin, and to help a company like Adobe make a transition into our project. We’ve been around for a good while and we demonstrate both staying power and leadership in innovation.
  4. Resources. The Mozilla Firefox web browser generates revenue. This revenue has allowed the Mozilla Corporation to fund an increasing number of developers. This in turn has allowed us to devote more of time to forward-looking ECMAscript design and development. Brendan is the convenor for the ECMAscript working group on ECMAscript Edition 4, in which Adobe is also playing an active role. Improvements in ECMAscript are a significant part of our Mozilla 2 technology roadmap. Brendan is leading work on both the specification of the language itself and on Mozilla’s future implementation. The ability to do so and simultaneously deliver high quality JavaScript capabilities in Firefox is a demonstration of the degree to which the Mozilla project has been able to scale our efforts.

The Internet is still new. Our Mozilla 2 roadmap lays out areas where we can help improve the overall usefulness of the Internet. It’s a challenging roadmap with a lot of great work to be done. The challenge matches the benefit -– an Internet where user experience is improving, where key technologies are both open standards and open source, and where increasing numbers of people can participate. It’s exciting, it’s fun and it’s worthwhile.

Skip past the sidebar