<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>InfoSauce</title>
  <id>tag:blog.infosauce.com,2005:Typo</id>
  <generator uri="http://www.typosphere.org" version="4.0">Typo</generator>
  <link href="http://blog.infosauce.com/xml/atom/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="http://blog.infosauce.com" rel="alternate" type="text/html"/>
  <updated>2006-10-26T21:35:52-07:00</updated>
  <entry>
    <author>
      <name>Tim</name>
    </author>
    <id>urn:uuid:52071a15-fe73-479e-bb36-4c55e7caa7cd</id>
    <published>2006-10-20T09:49:00-07:00</published>
    <updated>2006-10-26T21:35:52-07:00</updated>
    <title type="html">No longer updating</title>
    <link href="http://blog.infosauce.com/articles/2006/10/20/no-longer-updating" rel="alternate" type="text/html"/>
    <category term="general" scheme="http://blog.infosauce.com/articles/category/general" label="General"/>
    <summary type="html">&lt;p&gt;This blog is no longer being updated.&lt;/p&gt;


	&lt;p&gt;Read up on our founders&amp;#8217; pursuits at &lt;a href="http://www.revelinrails.com/"&gt;Revel in Rails&lt;/a&gt; and &lt;a href="http://www.timocracy.com"&gt;timocracy&lt;/a&gt;.
            You can also see any open source work (such as Rails plugins) at &lt;a href="http://code.google.com/u/qeantk/"&gt;Google Code&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;a href="mailto:fromweb@infosauce.com"&gt;Email us&lt;/a&gt;.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;This blog is no longer being updated.&lt;/p&gt;


	&lt;p&gt;Read up on our founders&amp;#8217; pursuits at &lt;a href="http://www.revelinrails.com/"&gt;Revel in Rails&lt;/a&gt; and &lt;a href="http://www.timocracy.com"&gt;timocracy&lt;/a&gt;.
            You can also see any open source work (such as Rails plugins) at &lt;a href="http://code.google.com/u/qeantk/"&gt;Google Code&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;a href="mailto:fromweb@infosauce.com"&gt;Email us&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <author>
      <name>Tim</name>
    </author>
    <id>urn:uuid:335e30c4-7181-4f93-a547-63b6ff75825f</id>
    <published>2006-02-08T08:08:00-08:00</published>
    <updated>2006-10-26T21:36:37-07:00</updated>
    <title type="html">OMG WTF SWEET! An IDE for automated in-browser testing with Selenium</title>
    <link href="http://blog.infosauce.com/articles/2006/02/08/omg-wtf-sweet-an-ide-for-automated-in-browser-testing-with-selenium" rel="alternate" type="text/html"/>
    <category term="general" scheme="http://blog.infosauce.com/articles/category/general" label="General"/>
    <summary type="html">&lt;p&gt;I had been meaning to try out &lt;a href="http://www.openqa.org/selenium/"&gt;Selenium&lt;/a&gt; already as a way of automating that final, hardest step to do so to in the testing process, the actual in-browser client use.  It sounds like it might finally be what I’ve been looking for, but I didn’t know if I’d ever get around to it.&lt;/p&gt;

    &lt;p&gt;Now, there is an &lt;a href="http://www.openqa.org/selenium-ide/"&gt;&lt;span class="caps"&gt;&lt;span class="caps"&gt;IDE&lt;/span&gt;&lt;/span&gt; to automate Selenium testing&lt;/a&gt;.  This could be the coolest thing for web development since sliced bread or tabbed browsing.&lt;/p&gt;

    &lt;p&gt;From: &lt;a href="http://ajaxian.com/archives/selenium-ide-07-released"&gt;http://ajaxian.com/archives/selenium-ide-07-released&lt;/a&gt;&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;I had been meaning to try out &lt;a href="http://www.openqa.org/selenium/"&gt;Selenium&lt;/a&gt; already as a way of automating that final, hardest step to do so to in the testing process, the actual in-browser client use.  It sounds like it might finally be what I’ve been looking for, but I didn’t know if I’d ever get around to it.&lt;/p&gt;

    &lt;p&gt;Now, there is an &lt;a href="http://www.openqa.org/selenium-ide/"&gt;&lt;span class="caps"&gt;&lt;span class="caps"&gt;IDE&lt;/span&gt;&lt;/span&gt; to automate Selenium testing&lt;/a&gt;.  This could be the coolest thing for web development since sliced bread or tabbed browsing.&lt;/p&gt;

    &lt;p&gt;From: &lt;a href="http://ajaxian.com/archives/selenium-ide-07-released"&gt;http://ajaxian.com/archives/selenium-ide-07-released&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <author>
      <name>Tim</name>
    </author>
    <id>urn:uuid:2dea2f9a-51fd-4fe3-bd66-3373727aef7c</id>
    <published>2006-02-08T07:51:00-08:00</published>
    <updated>2006-10-26T21:36:44-07:00</updated>
    <title type="html">Difficulties updating Typo - migration 21</title>
    <link href="http://blog.infosauce.com/articles/2006/02/08/difficulties-updating-typo-migration-21" rel="alternate" type="text/html"/>
    <category term="general" scheme="http://blog.infosauce.com/articles/category/general" label="General"/>
    <summary type="html">&lt;p&gt;First off, a quick reminder kids, always back-up your DB before updating.&lt;/p&gt;


	&lt;p&gt;I somehow seemed to run amuck of &amp;#8220;this bug&amp;#8221;http://www.typosphere.org/trac/ticket/454, when updating typo, to see if I could get Movable Type &lt;span class="caps"&gt;API&lt;/span&gt; working again, to use &lt;a href="http://www.wbloggar.com/index.php?itemid=129"&gt;w.bloggar&lt;/a&gt; to make my next post, to have some control over the trackback ping to the article, since I don’t know the current status of trackbacks in Typo. Well maybe it would have been quicker to check on that…. Of course, then I’d still be stuck updating.&lt;/p&gt;


	&lt;p&gt;Anyways, somehow I got a wedged update, and for a while it looked like all comments were going to be down the drain. As I’m busy working on actual paying projects, I had to leave our blog in limbo for a bit. Thankfully, a post to the existing ticket got a reply that made it quick in easy to fix. The answer was obvious – go comment out the parts of the migration that are failing (the problem was trying to re-add a column that already had been).&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;First off, a quick reminder kids, always back-up your DB before updating.&lt;/p&gt;


	&lt;p&gt;I somehow seemed to run amuck of &amp;#8220;this bug&amp;#8221;http://www.typosphere.org/trac/ticket/454, when updating typo, to see if I could get Movable Type &lt;span class="caps"&gt;API&lt;/span&gt; working again, to use &lt;a href="http://www.wbloggar.com/index.php?itemid=129"&gt;w.bloggar&lt;/a&gt; to make my next post, to have some control over the trackback ping to the article, since I don’t know the current status of trackbacks in Typo. Well maybe it would have been quicker to check on that…. Of course, then I’d still be stuck updating.&lt;/p&gt;


	&lt;p&gt;Anyways, somehow I got a wedged update, and for a while it looked like all comments were going to be down the drain. As I’m busy working on actual paying projects, I had to leave our blog in limbo for a bit. Thankfully, a post to the existing ticket got a reply that made it quick in easy to fix. The answer was obvious – go comment out the parts of the migration that are failing (the problem was trying to re-add a column that already had been).&lt;/p&gt;
</content>
  </entry>
  <entry>
    <author>
      <name>Tieg Zaharia</name>
    </author>
    <id>urn:uuid:16244861-2b0a-48d0-97a9-2aae95529195</id>
    <published>2006-02-01T23:49:00-08:00</published>
    <updated>2006-10-26T21:41:16-07:00</updated>
    <title type="html">Ruby Conveniences</title>
    <link href="http://blog.infosauce.com/articles/2006/02/01/ruby-conveniences" rel="alternate" type="text/html"/>
    <category term="ruby" scheme="http://blog.infosauce.com/articles/category/ruby" label="Ruby"/>
    <summary type="html">&lt;p&gt;Unbeknownst to me, there�s a quick way of doing a match &amp;amp; replace on a string in Ruby using just the brackets: (page 588 in the Ruby Book)&lt;/p&gt;

&lt;code style="font-size: 12px;"&gt;a = "bla bla bla"&lt;/code&gt;&lt;br&gt;
&lt;code style="font-size: 12px;"&gt;a[/a/i]="A"&lt;/code&gt;&lt;br&gt;
&lt;code style="font-size: 12px;"&gt;a =&amp;amp;gt; "blA bla bla"&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
Unfortunately it only does one replace instead of a global replace, but I don�t know enough about RegExp�s now to know if there�s a way to do a global replace with this?</summary>
    <content type="html">&lt;p&gt;Unbeknownst to me, there�s a quick way of doing a match &amp;amp; replace on a string in Ruby using just the brackets: (page 588 in the Ruby Book)&lt;/p&gt;

&lt;code style="font-size: 12px;"&gt;a = "bla bla bla"&lt;/code&gt;&lt;br&gt;
&lt;code style="font-size: 12px;"&gt;a[/a/i]="A"&lt;/code&gt;&lt;br&gt;
&lt;code style="font-size: 12px;"&gt;a =&amp;amp;gt; "blA bla bla"&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
Unfortunately it only does one replace instead of a global replace, but I don�t know enough about RegExp�s now to know if there�s a way to do a global replace with this?
</content>
  </entry>
  <entry>
    <author>
      <name>Tim</name>
    </author>
    <id>urn:uuid:3e9bd75b-7c18-438a-8296-eabbab69edf9</id>
    <published>2005-09-28T06:59:00-07:00</published>
    <updated>2006-10-26T21:43:31-07:00</updated>
    <title type="html">Multiple file upload and the abuse of buzzwords</title>
    <link href="http://blog.infosauce.com/articles/2005/09/28/multiple-file-upload-and-the-abuse-of-buzzwords" rel="alternate" type="text/html"/>
    <category term="general" scheme="http://blog.infosauce.com/articles/category/general" label="General"/>
    <category term="css-dom-standards" scheme="http://blog.infosauce.com/articles/category/css-dom-standards" label="CSS-DOM-standards"/>
    <summary type="html">&lt;p&gt;&lt;a href="http://the-stickman.com/"&gt;Stickman&lt;/a&gt; has posted a &lt;a href="http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/"&gt;cool &lt;span class="caps"&gt;DOM&lt;/span&gt;-scripted multiple form upload&lt;/a&gt; and, of course, through no fault of his, commentors are assumming it must be &lt;span class="caps"&gt;AJAX&lt;/span&gt;, since it&amp;#8217;s on the web and it&amp;#8217;s new and cool.  &lt;a href="http://www.quirksmode.org/blog/archives/2005/06/you_shouldve_be_1.html"&gt;PPK has talked about this issue before&lt;/a&gt; but it looks like calling everything &amp;#8220;AJAX&amp;#8221; really is spreading to even geek bloggers watching web development (it&amp;#8217;s only in the talkbacks, so far) who you would hope would be Marketing-ese proof.&lt;/p&gt;


	&lt;p&gt;Now, we&amp;#8217;ve got nothing against &lt;span class="caps"&gt;AJAX&lt;/span&gt;, it&amp;#8217;s a great technique that we like using, as appropriate, but this is &lt;span class="caps"&gt;DOM&lt;/span&gt;-scripting pure and simple.  &lt;span class="caps"&gt;AJAX&lt;/span&gt;-like technologies have to do with how you handle the round trip to the server without reloading the page and, in this context, would look more like &lt;a href="http://ktk.xs4all.nl/stuff/html/simultaneous-uploading-using-iframes/"&gt;this&lt;/a&gt;  (thanks to one of the other posters for the link). &lt;span class="caps"&gt;AJAX&lt;/span&gt; could be added onto Stickman&amp;#8217;s work to just refresh the part of the page handling the upload, and something similar is used by Basecamp, already, to get around the multiple file upload another way.&lt;/p&gt;


	&lt;p&gt;Personally, I think what Stickman is doing is far cooler than &lt;span class="caps"&gt;AJAX&lt;/span&gt;, as he&amp;#8217;s getting around a more fundamental browser limitation.  What you can do with the &lt;span class="caps"&gt;HTML&lt;/span&gt; form upload control is severely restricted in browsers, largely for security reasons.  For too long  it&amp;#8217;s been a basic assumption in web development that you might as well not try to do anything fancy with the form upload widget, since it&amp;#8217;s fairly locked down.  In fact, it&amp;#8217;s still possible for the browser implementors to decide that hiding the widget is a potential security risk, and then this technique goes out the window.  Until then, though, it&amp;#8217;s useful to have in the toolbox, and even if it gets locked-out by some browsers in the future, it still gets us thinking about how to work around those limitations again.&lt;/p&gt;


	&lt;p&gt;Generally, I think the Basecamp approach of actually doing it through &lt;span class="caps"&gt;AJAX &lt;/span&gt;(similar to the &amp;#8220;this&amp;#8221; link above) would often be a better choice, as it allows more granular feedback and control.  For instance they confirm each upload and then allow you to re-label it prior to sending a message off.  This also avoids having to wait for one massive upload at the end, which might kill your whole message, instead of just the individual upload. Regardless, Stickman&amp;#8217;s approach is still cool.&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;&lt;a href="http://the-stickman.com/"&gt;Stickman&lt;/a&gt; has posted a &lt;a href="http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/"&gt;cool &lt;span class="caps"&gt;DOM&lt;/span&gt;-scripted multiple form upload&lt;/a&gt; and, of course, through no fault of his, commentors are assumming it must be &lt;span class="caps"&gt;AJAX&lt;/span&gt;, since it&amp;#8217;s on the web and it&amp;#8217;s new and cool.  &lt;a href="http://www.quirksmode.org/blog/archives/2005/06/you_shouldve_be_1.html"&gt;PPK has talked about this issue before&lt;/a&gt; but it looks like calling everything &amp;#8220;AJAX&amp;#8221; really is spreading to even geek bloggers watching web development (it&amp;#8217;s only in the talkbacks, so far) who you would hope would be Marketing-ese proof.&lt;/p&gt;


	&lt;p&gt;Now, we&amp;#8217;ve got nothing against &lt;span class="caps"&gt;AJAX&lt;/span&gt;, it&amp;#8217;s a great technique that we like using, as appropriate, but this is &lt;span class="caps"&gt;DOM&lt;/span&gt;-scripting pure and simple.  &lt;span class="caps"&gt;AJAX&lt;/span&gt;-like technologies have to do with how you handle the round trip to the server without reloading the page and, in this context, would look more like &lt;a href="http://ktk.xs4all.nl/stuff/html/simultaneous-uploading-using-iframes/"&gt;this&lt;/a&gt;  (thanks to one of the other posters for the link). &lt;span class="caps"&gt;AJAX&lt;/span&gt; could be added onto Stickman&amp;#8217;s work to just refresh the part of the page handling the upload, and something similar is used by Basecamp, already, to get around the multiple file upload another way.&lt;/p&gt;


	&lt;p&gt;Personally, I think what Stickman is doing is far cooler than &lt;span class="caps"&gt;AJAX&lt;/span&gt;, as he&amp;#8217;s getting around a more fundamental browser limitation.  What you can do with the &lt;span class="caps"&gt;HTML&lt;/span&gt; form upload control is severely restricted in browsers, largely for security reasons.  For too long  it&amp;#8217;s been a basic assumption in web development that you might as well not try to do anything fancy with the form upload widget, since it&amp;#8217;s fairly locked down.  In fact, it&amp;#8217;s still possible for the browser implementors to decide that hiding the widget is a potential security risk, and then this technique goes out the window.  Until then, though, it&amp;#8217;s useful to have in the toolbox, and even if it gets locked-out by some browsers in the future, it still gets us thinking about how to work around those limitations again.&lt;/p&gt;


	&lt;p&gt;Generally, I think the Basecamp approach of actually doing it through &lt;span class="caps"&gt;AJAX &lt;/span&gt;(similar to the &amp;#8220;this&amp;#8221; link above) would often be a better choice, as it allows more granular feedback and control.  For instance they confirm each upload and then allow you to re-label it prior to sending a message off.  This also avoids having to wait for one massive upload at the end, which might kill your whole message, instead of just the individual upload. Regardless, Stickman&amp;#8217;s approach is still cool.&lt;/p&gt;

</content>
  </entry>
  <entry>
    <author>
      <name>Erin Moore</name>
    </author>
    <id>urn:uuid:70ed00ea-95c2-4a32-9dfb-b0b25e055cf4</id>
    <published>2005-09-27T16:53:00-07:00</published>
    <updated>2006-10-26T21:43:37-07:00</updated>
    <title type="html">Sketchy Design Choices: A+ Moments</title>
    <link href="http://blog.infosauce.com/articles/2005/09/27/a-moments-design" rel="alternate" type="text/html"/>
    <category term="general" scheme="http://blog.infosauce.com/articles/category/general" label="General"/>
    <summary type="html">&lt;p&gt;Have you ever visited A+ Moments? It’s a blog devoted to web development and life in Serbia. We link to it in our sidebar. &lt;a href="http://www.aplus.co.yu/"&gt;Take a look&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;The guy who writes this blog seems to be a very nice and very smart young man.&lt;/p&gt;

    &lt;p&gt;But really, does he need to have a supine woman plastered all over the site? Every time I visit, I feel like I’m visiting a cheap phone dating service.&lt;/p&gt;

    &lt;p&gt;It bugs me that we link to this; if it makes me uncomfortable, then I’m sure it makes other people feel the same way. But the guy has a lot of great things to say, so the link stands.&lt;/p&gt;

    &lt;p&gt;What do you think?&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;Have you ever visited A+ Moments? It’s a blog devoted to web development and life in Serbia. We link to it in our sidebar. &lt;a href="http://www.aplus.co.yu/"&gt;Take a look&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;The guy who writes this blog seems to be a very nice and very smart young man.&lt;/p&gt;

    &lt;p&gt;But really, does he need to have a supine woman plastered all over the site? Every time I visit, I feel like I’m visiting a cheap phone dating service.&lt;/p&gt;

    &lt;p&gt;It bugs me that we link to this; if it makes me uncomfortable, then I’m sure it makes other people feel the same way. But the guy has a lot of great things to say, so the link stands.&lt;/p&gt;

    &lt;p&gt;What do you think?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <author>
      <name>Erin Moore</name>
    </author>
    <id>urn:uuid:32ad61f8-e998-4f84-afc7-a28d5ca5f3c4</id>
    <published>2005-09-26T22:08:00-07:00</published>
    <updated>2006-10-26T21:43:43-07:00</updated>
    <title type="html">Save Now?</title>
    <link href="http://blog.infosauce.com/articles/2005/09/26/save-now" rel="alternate" type="text/html"/>
    <category term="usability" scheme="http://blog.infosauce.com/articles/category/usability" label="Usability"/>
    <summary type="html">&lt;p&gt;When I want to save a draft in Gmail – which I rarely do – I have to hunt all over the page for the “Save” button, even though it’s plainly nestled between “Send” and “Discard.” Why is it so hard for me to find? Because Gmail uses the words “Save Now.” Not “Save.”&lt;/p&gt;


	&lt;p&gt;Why is this a big deal? Because people don’t read buttons. They read shapes. I’m looking for the shape of the word “save,” not the word itself. So when “Save” is followed by “Now,” (and really, why would I save it later?), it changes the button’s appearance enough that I skim over it.&lt;/p&gt;


	&lt;p&gt;Try it and see. Then read “Don’t Make Me Think” by Steve Krug and cut half the words out of your site.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;When I want to save a draft in Gmail – which I rarely do – I have to hunt all over the page for the “Save” button, even though it’s plainly nestled between “Send” and “Discard.” Why is it so hard for me to find? Because Gmail uses the words “Save Now.” Not “Save.”&lt;/p&gt;


	&lt;p&gt;Why is this a big deal? Because people don’t read buttons. They read shapes. I’m looking for the shape of the word “save,” not the word itself. So when “Save” is followed by “Now,” (and really, why would I save it later?), it changes the button’s appearance enough that I skim over it.&lt;/p&gt;


	&lt;p&gt;Try it and see. Then read “Don’t Make Me Think” by Steve Krug and cut half the words out of your site.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <author>
      <name>Tim</name>
    </author>
    <id>urn:uuid:bb7d5bda-d6f5-4fc1-a515-125d431ba6f6</id>
    <published>2005-09-25T16:05:00-07:00</published>
    <updated>2006-10-26T21:43:48-07:00</updated>
    <title type="html">Spaces in typo categories cause problems</title>
    <link href="http://blog.infosauce.com/articles/2005/09/25/spaces-in-typo-categories-cause-problems" rel="alternate" type="text/html"/>
    <category term="general" scheme="http://blog.infosauce.com/articles/category/general" label="General"/>
    <summary type="html">&lt;p&gt;For those others of you using typo, beware: &lt;a href="http://typo.leetsoft.com/trac/ticket/249"&gt;http://typo.leetsoft.com/trac/ticket/249&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;I noticed that our side-bar category links were working fine, but that links at the bottom of the article weren’t, so I went digging and found that in Typo’s ticketing system. It sounds like a fix was applied, then reverted. So until it’s finally resolved, I guess it’s either leave the links in at the bottom of the article broken, or don’t use spaces (neither of which appeals).&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;For those others of you using typo, beware: &lt;a href="http://typo.leetsoft.com/trac/ticket/249"&gt;http://typo.leetsoft.com/trac/ticket/249&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;I noticed that our side-bar category links were working fine, but that links at the bottom of the article weren’t, so I went digging and found that in Typo’s ticketing system. It sounds like a fix was applied, then reverted. So until it’s finally resolved, I guess it’s either leave the links in at the bottom of the article broken, or don’t use spaces (neither of which appeals).&lt;/p&gt;
</content>
  </entry>
  <entry>
    <author>
      <name>Tim</name>
    </author>
    <id>urn:uuid:9906d8eb-7281-42e7-9f58-a523e8114fc6</id>
    <published>2005-09-25T15:51:00-07:00</published>
    <updated>2006-10-26T21:41:48-07:00</updated>
    <title type="html">High-class web development</title>
    <link href="http://blog.infosauce.com/articles/2005/09/25/high-class-web-development" rel="alternate" type="text/html"/>
    <category term="puns-and-wordplay" scheme="http://blog.infosauce.com/articles/category/puns-and-wordplay" label="Puns-and-wordplay"/>
    <summary type="html">&lt;p&gt;&lt;strong&gt;Tim&lt;/strong&gt;: “Are you using inline styles for that?”&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Tieg&lt;/strong&gt;: “Ya, it seemed easier at the time.”&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Tim&lt;/strong&gt;: “Come-on, you have more class than that.”&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Tim&lt;/strong&gt;: “Are you using inline styles for that?”&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Tieg&lt;/strong&gt;: “Ya, it seemed easier at the time.”&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Tim&lt;/strong&gt;: “Come-on, you have more class than that.”&lt;/p&gt;
</content>
  </entry>
  <entry>
    <author>
      <name>Tim</name>
    </author>
    <id>urn:uuid:dacf94ae-5012-42e9-a8aa-00f5fa2c1fcb</id>
    <published>2005-09-24T16:08:00-07:00</published>
    <updated>2006-10-26T21:43:54-07:00</updated>
    <title type="html">Cross-browser onDOMContentLoaded</title>
    <link href="http://blog.infosauce.com/articles/2005/09/24/cross-browser-ondomcontentloaded" rel="alternate" type="text/html"/>
    <category term="css-dom-standards" scheme="http://blog.infosauce.com/articles/category/css-dom-standards" label="CSS-DOM-standards"/>
    <summary type="html">&lt;p&gt;&lt;a href="http://dean.edwards.name/weblog/2005/09/busted/"&gt;An elegant solution to the window.onload problem in Mozilla and IE.&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Client-side developers have long been frustrated by the shortcomings of window.onload, namely that it takes too long before firing if you want to attach scripts to rework the &lt;span class="caps"&gt;&lt;span class="caps"&gt;DOM&lt;/span&gt;&lt;/span&gt;, yet you have to wait before the &lt;span class="caps"&gt;&lt;span class="caps"&gt;DOM&lt;/span&gt;&lt;/span&gt; is parsed before manipulating it.&lt;/p&gt;

    &lt;p&gt;The &lt;a href="http://greasemonkey.mozdev.org/"&gt;Greasemonkey&lt;/a&gt; chaps solved the problem in Mozilla Firefox by uncovering the proprietary &lt;span class="caps"&gt;&lt;span class="caps"&gt;DOM&lt;/span&gt;&lt;/span&gt;ContentLoaded event.  Now not solving the problem in all browsers would be acceptable, since the other browsers could fall-back to the late firing window.onload, but it’s unrealistic to consider a solution for general web use that doesn’t at least take care of 90% of the market (Windows IE).&lt;/p&gt;

    &lt;p&gt;Ever since the &lt;a href="http://www.quirksmode.org/"&gt;&lt;span class="caps"&gt;PPK&lt;/span&gt;&lt;/a&gt; mentioned something in his blog about a way to solve it in IE and Mozilla(maybe Safari) in the &lt;a href="http://www.quirksmode.org/blog/archives/2005/06/you_shouldve_be_1.html"&gt;@media event entries&lt;/a&gt; a number of us have been very excited.  We’ve been &lt;a href="http://dean.edwards.name/weblog/2005/02/order-of-events/#comment2370"&gt;contemplating the best way to use this knowledge&lt;/a&gt;  involving complicated schemes requiring behaviors in &lt;span class="caps"&gt;IE &lt;/span&gt;(.htc files) and waiting for the mysterious “more details to come”&lt;/p&gt;

    &lt;p&gt;Well, the details have arrived, and it seems to make most of the scripts to handle an early firing domloaded event moot. Dean Edwards has delivered an &lt;a href="http://dean.edwards.name/weblog/2005/09/busted/"&gt;elegant solution to the window.onload problem in Mozilla and IE.&lt;/a&gt; If Safari/kthml, Opera, or any of the other browsers not covered by this are an important enough factor at your site, you might have to still think about an alternative like &lt;a href="http://www.brothercake.com/site/resources/scripts/domready/"&gt;brothercake’s domFunction.&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;We’re going to just stick with Dean Edwards solution for now and call it good, though.  Especially since, according to work done on the sIFR image replacement technique, &lt;a href="http://web-graphics.com/mtarchive/001635.php"&gt;Safari won’t layout the page properly until the images are loaded&lt;/a&gt; (read the 3rd comment).  This means having Safari wait for the window.onload is actually a feature.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;&lt;a href="http://dean.edwards.name/weblog/2005/09/busted/"&gt;An elegant solution to the window.onload problem in Mozilla and IE.&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Client-side developers have long been frustrated by the shortcomings of window.onload, namely that it takes too long before firing if you want to attach scripts to rework the &lt;span class="caps"&gt;&lt;span class="caps"&gt;DOM&lt;/span&gt;&lt;/span&gt;, yet you have to wait before the &lt;span class="caps"&gt;&lt;span class="caps"&gt;DOM&lt;/span&gt;&lt;/span&gt; is parsed before manipulating it.&lt;/p&gt;

    &lt;p&gt;The &lt;a href="http://greasemonkey.mozdev.org/"&gt;Greasemonkey&lt;/a&gt; chaps solved the problem in Mozilla Firefox by uncovering the proprietary &lt;span class="caps"&gt;&lt;span class="caps"&gt;DOM&lt;/span&gt;&lt;/span&gt;ContentLoaded event.  Now not solving the problem in all browsers would be acceptable, since the other browsers could fall-back to the late firing window.onload, but it’s unrealistic to consider a solution for general web use that doesn’t at least take care of 90% of the market (Windows IE).&lt;/p&gt;

    &lt;p&gt;Ever since the &lt;a href="http://www.quirksmode.org/"&gt;&lt;span class="caps"&gt;PPK&lt;/span&gt;&lt;/a&gt; mentioned something in his blog about a way to solve it in IE and Mozilla(maybe Safari) in the &lt;a href="http://www.quirksmode.org/blog/archives/2005/06/you_shouldve_be_1.html"&gt;@media event entries&lt;/a&gt; a number of us have been very excited.  We’ve been &lt;a href="http://dean.edwards.name/weblog/2005/02/order-of-events/#comment2370"&gt;contemplating the best way to use this knowledge&lt;/a&gt;  involving complicated schemes requiring behaviors in &lt;span class="caps"&gt;IE &lt;/span&gt;(.htc files) and waiting for the mysterious “more details to come”&lt;/p&gt;

    &lt;p&gt;Well, the details have arrived, and it seems to make most of the scripts to handle an early firing domloaded event moot. Dean Edwards has delivered an &lt;a href="http://dean.edwards.name/weblog/2005/09/busted/"&gt;elegant solution to the window.onload problem in Mozilla and IE.&lt;/a&gt; If Safari/kthml, Opera, or any of the other browsers not covered by this are an important enough factor at your site, you might have to still think about an alternative like &lt;a href="http://www.brothercake.com/site/resources/scripts/domready/"&gt;brothercake’s domFunction.&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;We’re going to just stick with Dean Edwards solution for now and call it good, though.  Especially since, according to work done on the sIFR image replacement technique, &lt;a href="http://web-graphics.com/mtarchive/001635.php"&gt;Safari won’t layout the page properly until the images are loaded&lt;/a&gt; (read the 3rd comment).  This means having Safari wait for the window.onload is actually a feature.&lt;/p&gt;
</content>
  </entry>
</feed>
