Talk show for the Open Web

featuring Dion Almaer, John Resig, and Alex Russell

Episode 6: Sizzling Open FX

I have moved to Mozilla along with my long time friend cohort and collaborator, Ben Galbraith. He joins us on this podcast, along with Alex, who joins us as a Noogler.

You can download the podcast directly (OGG format too), or subscribe to the series, including via iTunes).

We get back in the saddle as we discuss:

It was interesting to have Alex talk about how the Java plugin itself is far from Open, and what that means, as well as the issue with patents and video, which has a way of depressing me every time I think about it. I don’t want to meet a piranha.

What are your thoughts?

Recent podcasts

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Episode 5: Ryan Stewart of Adobe

Ryan Stewart of Adobe joined us for episode 5 of the Open Web Podcast. We really want to be pragmatic Open Web citizens, so thought it would be good to hear from Ryan and get his point of view on what Adobe, and he, are thinking with respect to the Web as a-whole.

You can download the podcast directly (OGG format too), or subscribe to the series, including via iTunes).

We had a really fun chat, which had us discussing:

It was a real pleasure to have Ryan come into the lions den. He is very honest with what he does and doesn’t know from within, and doesn’t hold back on his own thoughts.

What would you like to ask Adobe?

Recent podcasts

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Episode 4: Allen Wirfs-Brock, and Pratap Lakshman from Microsoft on ECMAScript, IE 8, and more

Allen Wirfs-Brock is the standards guy from Microsoft who sits and works on ECMA. Pratap Lakshman is from the JScript team, and works on the ECMAScript 3.1 committee.

They were gracious enough to joined us on the call to discuss the recent new around ECMAScript Harmony, how Microsoft feels about it, work that is being done in IE 8, performance, and tangents into ideas behind the Open Web.

You can download the podcast directly (OGG format too), or subscribe to the series, including via iTunes).

When a beta of IE 8 comes out, we all download it quickly to find out what was added, what wasn’t, and also making sure that our tricks weren’t taken away!

The guys talked about the Object.defineProperty support added in IE8b2. Allen clarified the implementation details on how this has been added to hosted DOM objects and not JavaScript “native” objects. The team has been working on “end to end performance” issues, and have done a lot of work on the DOM. They also mentioned how we should expect a new set of technology to run JavaScript in the future. It has to happen, they have to join the new performance world with TraceMonkey, V8, and SquirrelFish (Extreme).

The better environments to run JavaScript dovetail nicely with the ability to have JavaScript become more self-hosting, which was discussed in some depth. They also mentioned the goal in IE8 to have JavaScript developers not requiring to do special work for IE, and a bunch of bugs have been fixed around this core issue. What about core DOM event support? John brought up that with the addition of DOM prototypes, that this could be added by libraries, and that this hook could be used for a lot of good.

We were also led into discussing the disconnect between the ECMA standard and the W3C standard, primarily the DOM and JavaScript. Pratap was a little disturbed that the ECMAScript spec only had a few words on DOM, and some banter occurred around the role of JavaScript as being the One True Open Web language, or whether there is a place for the polyglots.

Recent podcasts

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Episode 3: Anne van Kesteren on CSS, XHR, and other Web standards

Anne van Kesteren is an Opera Software employee who is deeply involved in the standards community. Just take a look at his page on the WHATWG site and you will see the many specifications that he is actively working on, such as:

He is also interested in many other specifications such as offline Web apps, the Selectors API, and beyond.

We got to sit down with him (virtually) and discuss both high level issues such as the current state of CSS, down to the brass tacks of particular APIs such as access-control, CSS3 Media Queries and XHR, and even look to the future with technology such as WebSockets.

You can download the podcast directly (OGG format too), or subscribe to the series, including via iTunes).

There are some nuggets that I didn’t know of, such as the agreement with Microsoft to at least use access-control (as XHR level 2 does) for their competing XDR proposal.

Finally, with John Resig from Mozilla Corp, and Anne from Opera, there is some healthy debate on the roll of market share and minority browsers.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Episode 2: Brendan Eich and Arun Ranganathan on ECMAScript Harmony

I have been a little worried about JavaScript, the language that you know…. powers the Web client right now.

Fortunately, it appears that a bunch of the engineers on the ECMAScript standards groups came together in Oslo and actually make a good effort at coming together.

This is huge news, so we asked Brendan Eich and Arun Ranganathan of Mozilla to join their college John Resig, Alex Russell, and myself to talk us through.

You can download the podcast directly (OGG format too), or subscribe to the series, including via iTunes).

What ensued is a lesson on language design, politics and process, a lot of history, and hopefully the path to a positive future.

This podcast is a big boy. It weighs in at an olympic 1 hour 5 minutes and covers a lot.

It kicks in with Brendan taking us through the history of ECMAScript. He talks about handing over the keys to JavaScript, how Macromedia pushed forward with the like of E4X, and more.

He then gets to ES4 and I learnt about features that helped the compact area back in the day.

Then we got to the recent news. What happened in Oslo, and where are we heading?

We discussed the too worlds of 3.1 (wanting to do nothing, or even pair down) and 4 (the big rewrite). The big coming together seemed to happen due to the ES4 group taking out some features (namespaces and packages…. which actually came out awhile ago) and the 3.1 group seeing that they could actually add some features (Object.freeze, Object.defineProperty).

Then the group bought into opt-in versioning as a way to get past the barrier of vendors not wanting changes that break the way they do things. This gave them the on-ramp.

One of the most popular words throughout this section, and the podcast, is “desugaring”. It appears that a lot of time and effort went into seeing if new features like “class” could actually be sugar on top. This desugaring proof was used to show which features could be done, and which couldn’t, in a nice backwards compatible way.

Alex asked if new features could be proposed, and specifically about the new lambda syntax that had been thrown out there: {{}}

Brendan answered saying that he thought the solution to too many function(){}’s was giving people new constructs like class so function(){} isn’t used for everything as it is now. During this answer Brendan also said “… Lambda the Ultimate …” which meant that John, Alex, and I, each had to do a shot of whiskey. You will too if you find that quote.

What about inheritance? Arun threw out a question on where people stand on inheritance. People very much don’t want to mix class based and prototypal, and then we moved on to the idea of zero instead of single inheritance and then the idea of “Likes” and shapes instead of class types.

We also discussed types in the sense of optional typing. Early on I heard a lot of “we need types for performance” and Brendan, again, dispelled this myth. He even added that Adobe has seen programmers make their code slower by adding var foo:int which doesn’t make a machine int as C programmers would expect.

I asked about the versioning side of things, and how onclick="someCode()" would run. Brendan then gave a detailed view of how this all ties together, how there is a “default” scripting language for a page, how you can change it with a HTTP header / meta tag, and how IE actually has onclick="javascript:someCode()".

Finally, we discussed how Adobe/Tamarin is effected by the news, which Mike Chambers of Adobe has discussed too, and the general contention of the group. Brendan tied this all together and we end with a “time to get over it and move forward together” feeling. There is work to be done, but a lot has happened in the last few months.

We are hoping to talk to the Microsoft contingent on the issue (a big question for JavaScripters will be what gets into IE!) in another podcast. Doug Crockford has spoken out too and then we can move on to some non-JavaScript Open Web issues!

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Open Web Podcast Episode 1: HTML 5 news, Web Workers, W3C Selectors, and Dojo happenings

Welcome to the inaugural episode of a new podcast to cover news, happenings, and our opinions on the Open Web (download the Open Web Podcast episode one directly or subscribe to it, including via iTunes). When I say “our” I am talking about the founding podcasters: Alex Russell, John Resig, and myself. It is a pleasure to be able to share air time with two of the real leaders of the Open Web, and specifically the Ajax space thanks to Dojo and jQuery.

What is the state of the Open Web?

That is how we started out the podcast, and we got to see very different opinions. John discusses the decentralization and new openness that we see across the Web. Alex was a little more wary, and talks about how he wants the Open Web to progress faster. He noted that a lot of the good work has been a little away from the client, and instead in the area of identity, transport, and formats.

We then move on to HTML 5, where we discuss items in Mark Pilgrim’s This Week in HTML 5 piece including Web Workers (think: Gears Workers), and the clarification of alt tag usage in the img tag to have you using alt="{diagram}" and the like.

We have a detailed chat about Web Workers, and where we see them being useful. John talks about issues around not being able to talk to the DOM, Alex talks about mashups, and I talk about some tests showing how they can help performance in a few areas. Matthew Russell did a demo using the Dojo 2d code at OSCON, and showed how he doubled the performance by pushing out computation into a Worker. John also talked about a special case for passing DOM fragments or the like to a Worker with special serialization. Of course, security is a concern for all of this.

John brought up the new data- embedding tactic that showed up in the HTML 5 spec. A conversation ensued around how you should separate your data from presentation. Is the DOM there to store data? Isn’t it a good place to keep it? Is “data-” just too long?

It is exciting to think that the W3C Selectors API will soon be implemented in Firefox 3.1, Safari 3, IE 8, and probably Opera 10. That seemed to happen pretty quickly. John and Alex talk about how this is going to mean a lot of chopping code from their frameworks, the increase in performance, and the subtle differences between the spec and how they were doing things.

The discussion leads to a new feature, named scoped CSS, that allows you to say “this CSS only works over here.” This could be huge, especially if you have an application such as a CMS, where people upload their own content that can mess with your application structure itself.

Next, we delve into the world of Firebug. John talks about how Firebug development is being bootstrapped by Mozilla and other contributors, and he discusses the upcoming versions and what you can expect. Stability and performance are top of the list. Don’t forget the Firebug Lite improvements too, which mean that you get more than just console to play with in non-Firefox browsers. I just posted the notes on that meeting, kindly taken by Steve Souders.

We talked about the Open Web Foundation, and Alex discussed what he would like to see come of it. He is optimistic, and thinks that the real test will be if we see the incubation of projects that really push the Web on the client side, as well as the identity side.

Finally, there is news in the Dojo community and Alex spills the beans. After over 4 years of service, Alex is stepping down as the project lead of Dojo, and handing over the reins to Peter Higgins who has shown great chops as both a commiter and an external leader. We wish Pete the best of luck! Alex isn’t sneaking off into the sunset though, as he talks about in his post on the subject, he will see be an active member of the Dojo community for a long time to come.

Finally, thanks again to John and Alex for taking the time to start this up with me. Please let us know what you think, and what you would like us to talk about.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.