Archive for the 'scripting' Category

Talking with Microsoft about IE.next

Sunday, February 4th, 2007

You may recall that the DOM Scripting and Microsoft task forces, in collaboration with JS Ninjas, had been compiling a list of issues, needs, and wants for IE.next over the last few months (a list many of you contributed to as well, via your feedback). The list was to focus on what we wanted to see happen in terms of JavaScript support (as IE7 didn’t get much of an update in that area), but when it came down to it, there were other areas we really felt needed some love.

The list

Last week, our groups voted for what we each saw as priorities and those votes were tallied to create a final list for me to present in Redmond. Though there is obviously a great deal more we want to see in IE.next, we felt several things were critical and wanted to focus on those as a starting point.

Tied for first place, in order of priority, were some sort of fast, arbitrary node-matching API and better error reporting. In the realm of DOM Scripting, node-matching is key (just look at the number of scripts out there performing node matching based on CSS selectors, etc.), so being able to tap into a native XPath implementation (which we generally favored over the Selectors API) would greatly improve the speed of script execution. As for the error reporting, perhaps Justin Palmer (of JS Ninjas) said it best:

We could possibly find ways to fix all the other problems if we could tell what the hell was breaking and why. Without better error reporting, the remaining stuff on that list is just giving us a bigger gun to shoot ourselves in the foot with.

Next up in our list was a desire for mutable DOM prototypes. This would address the issues that arise from IE’s implementation of DOM objects in JavaScript, where elements of the core DOM are not derived from the standard Object prototype. While not technically a standards-support issue, this request does not conflict with standards and it does provide JavaScript developers with the ability to address some of the issues the IE team may not be able to address themselves in the next release. As Andrew Dupont (another Ninja) remarked, I think it’s reasonable to ask that a DOM implementation in JavaScript behave like it’s part of JavaScript.

Next up was a biggie: bring IE’s event system in line with the W3C event model. This has been an issue for a lot of developers and the code to equalize the two event systems makes up a significant chunk of all of the major JS libraries. Getting IE to implement the W3C event system would be a real boon for standards support and would drop the size of many libraries considerably.

Finally, the last of our top 5 was not a JS issue, but rather a CSS one: implement generated content. I don’t know that I really need to get into the reasons why this would be really nice to have.

Two “honorable mentions” were included in the list as well: fixing the issues with getAttribute() and setAttribute() and starting to implement some of the features of JS 1.7 (such as block-scope variables using let, etc.).

Not willing to let the IE team off that easy, the document presented also highlighted several other issues which really need addressing including (among others)

  • fixing CSS bugs (including collapsing adjoining margins and z-index);
  • various form control fixes (including implementations of the button element, labels, and the disabled attribute);
  • correcting its support for object;
  • adding support for the q element (which should be a breeze once generated content is enabled); and
  • fixing attribute issues (such as alt being used for a tooltip, cite not being supported on q and blockquote, and summary not being supported on tables).

The meeting

In Redmond, I met with Pete LePage, a Product Manager at Microsoft Web Platform and Tools, and several other key members on the IE team. We discussed the list and its implications in great detail for nearly two hours. While I am not at liberty to discuss all of the details of the meeting, I can say for certain that the group I met with was keenly aware of the issues we brought up and are eager to address them. One team member even said that he could have easily guessed our top 5.

The one concern they have—especially with regard to the event model and getAttribute()/setAttribute()—is that any adjustments they make to bring IE in line with the standards not “break the web” for the large number of sites using the proprietary IE event model, etc. We discussed this particular topic at length as it is a valid concern and I’m happy to say that I think we’re close to a solution on that front.

I came away from this meeting with a real sense of hope about where IE is going and am really encouraged by their willingness to engage the standards community (and web developers as a whole) in dialog like this. We did not resolve every issue in our two-hour talk, but I was assured that this was only the first of many steps toward improving IE.next. The IE team wants to continue this conversation and to continue to elicit feedback from the web community as a whole as things progress.

New article, tour dates, and feed changes

Tuesday, September 26th, 2006

Hello, my name is Aaron Gustafson and I’m a delinquent blogger. It’s been over a month since my last confessionpost.

If it makes any difference, I’ll say that I am sorry, I’ve just been a little busy of late. Those of you keeping up with me via my Flickr stream or Plazes will see why: lots of travelling. It doesn’t seem to be ending anytime soon, but I have a bit of downtime today so I thought I’d post some updates.

First off, I have a new article up on Digital Web Magazine that is all about the button. If you spend as much time with web forms as I do, I highly recommend checking it out. For some of you, the techniques may seem like old hat, but there are a lot of people out there who still haven’t realized the real power of the button element. On another publishing note, I’ve gotten a promotion to Technical Editor at A List Apart, which is sweet. Many thanks to Erin, Jeffrey and the rest of the team.

Also, if you haven’t been to this site lately or don’t follow my events feed on Upcoming.org, I will be speaking at The AJAX Experience in Boston late next month and I have also been booked to speak as part of Web Directions North in Vancouver early next year. I will also be co-leading a one-day workshop with Malarkey while I’m there, if you’re up for some serious CSS-meets-DOM scripting magic.

Finally, I’m starting to do some tidying up with regard to my feeds. I’ve had a FeedBurner account for ages, but hadn’t ever really used it until today. I’ve created a new feed for this site which also incorporates my ma.gnolia bookmarks and Flickr photos (which, of late, have seen a lot more attention than this site). For the three of you using the old feed, I’d appreciate it if you could move over to this new one as I may disable the old feed at some point.

Anyway, back into the fray… I’m sorry for not writing more often.

Mea culpa,
Mea culpa,
Mea maxima culpa.

Scroll and Flash

Thursday, April 27th, 2006

At SXSW, I gave a sneak peek at the new bizhub Pro site I built for Konica Minolta and, in particular, the “scroll and flash” usability enhancement I added to the product pages. I have gotten a lot of questions about it and the technique even generated some discussion over on Geoffrey’s site. Well, the site finally launched and you can now see the “scroll and flash” for yourself.

To check it out, go to a product page (the bizhub PRO 920, for instance) and click one of the links on the upper right of the focal image and watch the show (or you can go directly to a bookmark). AJAX is used to refresh the page content (with bookmarkable links) and then the “scroll and flash” takes over. Feel free to take a gander at the JS file to see how it’s done.

I have to give it up to Shaun Inman and Thomas Fuchs as it was their hard work that made this easy for me to do.

Update: It looks like someone has not taken proper care in managing these pages since I left Cronin and Company (where I had built the site), so not all of the links appear to be working (because their anchors have been removed… tsk, tsk). I’ve let Cronin know and hopefully that will be fixed soon.

Now hear this

Thursday, April 20th, 2006

 In case you missed the real thing, you can now listen to the podcast of How to Bluff Your Way in DOM Scripting, the presentation international male model Jeremy Keith and I gave at SXSW this year. And If you want to follow along, you can pick up the slides on DOMScripting.com.

WestHost gets Rails

Friday, April 14th, 2006

I received an email announcement yesterday that WestHost (my host of choice) is going to be offering Ruby on Rails for install through its Site Manager. I guess it means that, sometime this month, my tutorial on the subject will no longer needed. Still, I’m glad it will be a bit easier to set up Rails on WestHost now.