Friday, May 12th, 2006
With key people present from Mozilla and the IE team present, today’s Ajax Experience panel is focused mostly on browser issues. A rare opportunity for Ajax developers to talk directly with the people who define our day-to-day constraints. As I write this, it’s thirty minutes after the panel finished and there’s still a decent crowd in the front talking to the speakers.
- Alex Russell – Dojo Toolkit
- Stuart Halloway – Ajax/Java/Rails Consultant
- Brendan Eich – Firefox Lead
- Laurel Reitman – Microsoft IE Lead Program Manager
- Douglas Crockford – Yahoo!, creator of JSON, general JS evangelist
Here are some notes from the panel…
Why no byte code?
Various reasons. Compiler is a hassle. Can send malformed bytecode and make it take a long time. Was experimental in 1995.
SVG Integration in IE7?
Laurel: No, won’t make it, but we’re looking at it.
Ben: What would you like to see?
Brendan: DOM ?standardised. Local storage – offline in first-class, cross-browser, way.
Laurel: SVG and canvas – heard a lot around the conference. Also heard a lot about offline storage, important too. CSS spec. Accessibility space – Mozilla has done some great work there.
Stuart: Would be really cool to have a test suite that verified the browser does what it’s meant to be doing. Some browsers have done better than others in adopting agile/testing practices – formally having those things would help show which browsers are doing well at standards compliance, etc.
Laurel: Not just standards compliance, also what the community’s asking for.
Brendan: Sure, there’s a difference between real-world standards and those written by W3C etc. It’s not going to be downloaded with yout browser, but something we’d like to collaborate on.
Alex: Safe JSON (de)serialisation. Increasing 2-connection limit would make a lot of things possible. Next version of Windows: when a system builder, or someone bundling windows, has to ship the latest version of IE. Also fast DOM queries.
Laurel: Key word – Security. (wrt JSON)
Brendan: On the map for JS 2 – Safe (de)serialisation with JSON.
What have you given up hope on – impractical or will take 10 years?
Alex: If you’ve been coding JS for a long time, (you feel like anything’s possible) :-).
Laurel: Good to be here at the conference, hear what people want.
Brendan: It’s difficult to have security and power. We need better security models, not just a dialog model that says “Do you trust XYZ.com” becausse most users ignore it.
Robustness of applications
Douglas: Run Yahoo! Mail Beta all day in FF, doesn’t fall over. But others fall over quite readily.
Laurel: Hard to answer, depends on the implementation.
Brendan: Have to test long-running scenarios as well.
Laurel: Agrees. We do stress testing, monitoring of bug reports from end-users, etc.
Stuart: AFAIC if you don’t have a test, it doesn’t exist. As developers, we have a responsibility to meet browser manufacturers at least halfway, produce automated tests … Obviously it’s extremely hard to get coverage (if test takes hours to run). We do have tools like Selenium etc that will help us make it more obvious by way of automated tests where the problem lies.
Brendan: We’re using JSUnit, want to look at test strategy. Moz also looks at bug DB etc., please contribute.
Alex: Nice to grep source of Firefox.
Stuart: MS has a ton of v smart people and a long history of watching industry grope towards something and then jump in. Suggests MS will become a huge open-source provider. Other possibility is that they’ll fail.
What about accessibility and which toolkit should you use? (Prefaced with “I have two questions no-one has asked yet” as everyone keeps asking these at this conference)
Douglas: I’d like to see better affordances in the browsers indicating what its acessible attributes are.
Laurel: Great work done by IBM and Mozilla, we’re seriously looking at it.
Legal or corporate battles on continuing to work together more
Laurel: Patents are one of the biggest problems.
Douglas: Time to close the US patent office (Applause).
In the future, much higher expectations about what websites can do – will mom and pop be able to do it?
Laurel: Toolkits helping to deal with X-browser incompats, making it easy to do
FF lots of bug fixing at the same time as new stuff. Innovation in IE?
Laurel: Can safely say it’s not going to be five years before the next big improvement in the browser. Expect to see a lot of good work…
Alexa tracks popularity by page clicks, but that doesn’t happen much with Ajax.
Douglas: We now have a lot of info about what was going on in the page. But don’t have an accounting system for everyone, what needs to happen.
Brendan: (From another question) FF 3 – Q1 2007.
Brendan: Looking at advanced optimisation techniques. ?Hard JITting is hard without type info, which isn’t there now but will be there in the future. Garbage collection difficult – everyone has to watch out for, ongoing area of R&D.
Anyone looking for a complete replacement of HTML, JS, etc. Flash?
Alex: Lots of people are trying, I wish them luck.
Brendan: Flash is a plugin, plugins are second class, that won’t change. If Flash were open or open-source, would be merged in ways that would be wonderful, but don’t think it’s going to happen. W3C people trying to standardise in that area – MS for XAML, FF for XUL, etc. Different languages, different runtimes, IP considerations and compatibility constraints.
Laurel: Even with web today, can use notepad/vi and create some compelling things.
Exposing hooks for IE to build any GUI with it?
Laurel: Can already do it, e.g. AOLExplorer.
Brendan: Sure, a lot of hooks in IE. With Gecko, can write your own ?app.
Is anything we, the users of your tools, aren’t doing which you wish we
would take advantage of?
Stuart: Would be great to see people picking toolkits. Taking advantage of JS as a language, prototype-oriented etc.
Brendan: Functional programming is trickling down – it’s a better style for a lot of JS. I’m not up with the latest JSAN.org
IE7: Fix for Select box, overlapping
Laurel: Select control, can now see over it now. And transparent PNGs. Native XHR.
Ben: Issues about dealing with IE7?
Alex: At one point, NS was wearing the crown, now it’s IE6. From the perspective of a scripter, IE7 is not significantly different. In the same way the CSS community made the point that IE6 wasn’t good for CSS, we said the same about IE7 for JS.
Panel comments about talking to vendors, it’s important to give feedback, etc.
Laurel: Biggest challenge is secure cross-domain.
Douglas: Next thing will be third-party widgets running on the same page, the model doesn’t partition these things.
Brendan: Still under research, pushing towards it over the next couple of years. We don’t sandbox enough right now.
Stuart: Even developers don’t understand the security model within the browser, how much authority you give it. Let alone general users.
Stuart: Don’t want to end up where everyone using WebWork must use Dojo, everyone using Rails must use Scriptaculous etc. Should be able to pick things on features, mix and match. It’s not actually hard to combine these things together. Would be 10 minutes of work to fit Scriptaculous and Prototype with Dojo packaging, maybe let’s at least agree on using Dojo packaging.
Brendan: DOM isn’t transparent
Toolkits – Seems like could incrementally keep raising the bar, agree on a common subset of syntax, etc.
Alex: Rate of change issue. e.g. DWR’s use of $() (Joe Walker later clarified this at the panel – not DWR’s issue, just the overall problem about ordering of scripts, overriding issues etc). Even if we decide on something, end up with serious versioning issue. If something’s really really important, maybe should standardise on ecmascript or DOM bindings.
Brendan: XHR is being standardised. Took C a long time to get through various API wars etc. Kind of early.
Stuart: Hard to standardise. e.g. Many people haven’t been exposed to functional programming, others have been but don’t like it. So how do you standardise when people don’t agree on the basic matters of programming style?
Competition is good. Ajax benchmarking initiative?
Brendan: Benchmarking is tricky. The browsers always game it (specific benchmark). I’d like to see a developer-driven effort.
Laurel: Need a broad set of examples, things people are really doing.
MS has an incentive not to innovate to much with IE
Laurel: Can’t speak for executives, but my role on the team is to make IE good, etc. I think both can peacefully coexist. BTW We’re hiring. Investments on Windows Live etc show MS is committed to the platform.
Brendan: If I were Adobe, I’d be pretty nervous. (Might expect action too if web apps take off.)
Posted by Michael Mahemoff at 8:34 pm