<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
  <channel>
    <title>Software As She's Developed &#187; Podcast</title>
    <link>http://www.odeo.com/channels/4735-Software-As-She-s-Developed-%C2%BB-Podcast</link>
    <itunes:author>M4rkusha</itunes:author>
    <itunes:explicit>no</itunes:explicit>
    <description>Mahemoff's Podcast/Blog - Web, Programming, Usability from the Author of 'Ajax Design Patterns' (AjaxPatterns.org)</description>
    <itunes:summary>Mahemoff's Podcast/Blog - Web, Programming, Usability from the Author of 'Ajax Design Patterns' (AjaxPatterns.org)</itunes:summary>
    <itunes:subtitle>Mahemoff's Podcast/Blog - Web, Programming, Usability from the Author of 'Ajax Design Patterns' (AjaxPatterns.org)</itunes:subtitle>
    <language>en</language>
    <ttl>40</ttl>
    <itunes:image href="http://softwareas.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg"/>
    <image url="http://softwareas.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" link="http://www.odeo.com/channels/4735-Software-As-She-s-Developed-%C2%BB-Podcast" title="Software As She's Developed &#187; Podcast"/>
    <pubDate>Tue, 29 May 2007 18:00:07 -0700</pubDate>
    <lastBuildDate>Tue, 29 May 2007 18:00:07 -0700</lastBuildDate>
    <item>
      <title>Podcast: Metaphors and Analogy in Software</title>
      <link>http://www.odeo.com/episodes/22422847-Podcast-Metaphors-and-Analogy-in-Software</link>
      <description>It started with this Code Craft blog post on the Code Garden - an analogy that sucked less. It got me thinking and ranting about metaphors in software and metaphors of software. Designing your technical architecture with software, the XP &amp;#8220;Metaphor&amp;#8221; practice, metaphors for HCI, metaphors like those used in the Head First series and Ajax Patterns to explain concepts, metaphors to explain what software is to managers. Where do they make sense and where is it plain wrong to try and explain software with a metaphor. 22 minutes. Download Standard Podcast</description>
      <itunes:subtitle>It started with this Code Craft blog post on the Code Garden - an analogy that sucked less. It got me thinking and ranting about metaphors in software and metaphors of software. Designing your technical architecture with software, the XP &amp;#8220;Metaphor&amp;#8221; practice, metaphors for HCI, metaphors like those used in the Head First series and Ajax Patterns to explain concepts, metaphors to explain what software is to managers. Where do they make sense and where is it plain wrong to try and explain software with a metaphor. 22 minutes. Download Standard Podcast</itunes:subtitle>
      <itunes:summary>It started with this Code Craft blog post on the Code Garden - an analogy that sucked less. It got me thinking and ranting about metaphors in software and metaphors of software. Designing your technical architecture with software, the XP &amp;#8220;Metaphor&amp;#8221; practice, metaphors for HCI, metaphors like those used in the Head First series and Ajax Patterns to explain concepts, metaphors to explain what software is to managers. Where do they make sense and where is it plain wrong to try and explain software with a metaphor. 22 minutes. Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2007-05-29,22422847</guid>
      <pubDate>Tue, 29 May 2007 18:00:07 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAnalogiesAndMetaphors.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, HumansAndTech, Software, Metaphors</itunes:keywords>
    </item>
    <item>
      <title>Podcast: Metaphors and Analogy in Software</title>
      <link>http://www.odeo.com/episodes/22009044-Podcast-Metaphors-and-Analogy-in-Software</link>
      <description>Metaphors, Podcast, Software It started with this Code Craft blog post on the Code Garden - an analogy that sucked less. It got me thinking and ranting about metaphors in software and metaphors of software. Designing your technical architecture with software, the XP &amp;#8220;Metaphor&amp;#8221; practice, metaphors for HCI, metaphors like those used in the Head First series and Ajax Patterns to explain concepts, metaphors to explain what software is to managers. Where do they make sense and where is it plain wrong to try and explain software with a metaphor. 22 minutes. Download Metaphors and Software</description>
      <itunes:subtitle>Metaphors, Podcast, Software It started with this Code Craft blog post on the Code Garden - an analogy that sucked less. It got me thinking and ranting about metaphors in software and metaphors of software. Designing your technical architecture with software, the XP &amp;#8220;Metaphor&amp;#8221; practice, metaphors for HCI, metaphors like those used in the Head First series and Ajax Patterns to explain concepts, metaphors to explain what software is to managers. Where do they make sense and where is it plain wrong to try and explain software with a metaphor. 22 minutes. Download Metaphors and Software</itunes:subtitle>
      <itunes:summary>Metaphors, Podcast, Software It started with this Code Craft blog post on the Code Garden - an analogy that sucked less. It got me thinking and ranting about metaphors in software and metaphors of software. Designing your technical architecture with software, the XP &amp;#8220;Metaphor&amp;#8221; practice, metaphors for HCI, metaphors like those used in the Head First series and Ajax Patterns to explain concepts, metaphors to explain what software is to managers. Where do they make sense and where is it plain wrong to try and explain software with a metaphor. 22 minutes. Download Metaphors and Software</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2007-05-29,22009044</guid>
      <pubDate>Tue, 29 May 2007 18:00:07 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDAnalogiesAndMetaphors.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, HumansAndTech</itunes:keywords>
    </item>
    <item>
      <title>Podcast: Thoughts on Patterns</title>
      <link>http://www.odeo.com/episodes/22009091-Podcast-Thoughts-on-Patterns</link>
      <description>Stream-of-consciousness thoughts on patterns - where we&amp;#8217;re at in 2007. Not a tutorial. Definitely not a tutorial. Where did patterns come from? Not GoF, not Alexander. Alexander, patterns, and architecture. Patterns in the organisation - how can a pattern language pervade an organisation and help workers carry out its mission statement and operating principles? Different high level patterns (e.g. &amp;#8220;People first&amp;#8221; for one company, &amp;#8220;Technology first&amp;#8221; for another) mean different lower-level patterns (crude example: staff pattern in people-oriented firm - &amp;#8220;managers come from HR&amp;#8221; versus staff pattern in tech-oriented firm - &amp;#8220;Managers become tech leadership&amp;#8221;) Wikis were literally built for patterns Promoting and deploying patterns Download Standard Podcast</description>
      <itunes:subtitle>Stream-of-consciousness thoughts on patterns - where we&amp;#8217;re at in 2007. Not a tutorial. Definitely not a tutorial. Where did patterns come from? Not GoF, not Alexander. Alexander, patterns, and architecture. Patterns in the organisation - how can a pattern language pervade an organisation and help workers carry out its mission statement and operating principles? Different high level patterns (e.g. &amp;#8220;People first&amp;#8221; for one company, &amp;#8220;Technology first&amp;#8221; for another) mean different lower-level patterns (crude example: staff pattern in people-oriented firm - &amp;#8220;managers come from HR&amp;#8221; versus staff pattern in tech-oriented firm - &amp;#8220;Managers become tech leadership&amp;#8221;) Wikis were literally built for patterns Promoting and deploying patterns Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Stream-of-consciousness thoughts on patterns - where we&amp;#8217;re at in 2007. Not a tutorial. Definitely not a tutorial. Where did patterns come from? Not GoF, not Alexander. Alexander, patterns, and architecture. Patterns in the organisation - how can a pattern language pervade an organisation and help workers carry out its mission statement and operating principles? Different high level patterns (e.g. &amp;#8220;People first&amp;#8221; for one company, &amp;#8220;Technology first&amp;#8221; for another) mean different lower-level patterns (crude example: staff pattern in people-oriented firm - &amp;#8220;managers come from HR&amp;#8221; versus staff pattern in tech-oriented firm - &amp;#8220;Managers become tech leadership&amp;#8221;) Wikis were literally built for patterns Promoting and deploying patterns Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2007-03-08,22009091</guid>
      <pubDate>Thu, 08 Mar 2007 13:39:51 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDThoughtsOnDesignPatterns.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev</itunes:keywords>
    </item>
    <item>
      <title>Podcast: Thoughts on Patterns</title>
      <link>http://www.odeo.com/episodes/22422848-Podcast-Thoughts-on-Patterns</link>
      <description>Stream-of-consciousness thoughts on patterns - where we&amp;#8217;re at in 2007. Not a tutorial. Definitely not a tutorial. Where did patterns come from? Not GoF, not Alexander. Alexander, patterns, and architecture. Patterns in the organisation - how can a pattern language pervade an organisation and help workers carry out its mission statement and operating principles? Different high level patterns (e.g. &amp;#8220;People first&amp;#8221; for one company, &amp;#8220;Technology first&amp;#8221; for another) mean different lower-level patterns (crude example: staff pattern in people-oriented firm - &amp;#8220;managers come from HR&amp;#8221; versus staff pattern in tech-oriented firm - &amp;#8220;Managers become tech leadership&amp;#8221;) Wikis were literally built for patterns Promoting and deploying patterns Download Standard Podcast</description>
      <itunes:subtitle>Stream-of-consciousness thoughts on patterns - where we&amp;#8217;re at in 2007. Not a tutorial. Definitely not a tutorial. Where did patterns come from? Not GoF, not Alexander. Alexander, patterns, and architecture. Patterns in the organisation - how can a pattern language pervade an organisation and help workers carry out its mission statement and operating principles? Different high level patterns (e.g. &amp;#8220;People first&amp;#8221; for one company, &amp;#8220;Technology first&amp;#8221; for another) mean different lower-level patterns (crude example: staff pattern in people-oriented firm - &amp;#8220;managers come from HR&amp;#8221; versus staff pattern in tech-oriented firm - &amp;#8220;Managers become tech leadership&amp;#8221;) Wikis were literally built for patterns Promoting and deploying patterns Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Stream-of-consciousness thoughts on patterns - where we&amp;#8217;re at in 2007. Not a tutorial. Definitely not a tutorial. Where did patterns come from? Not GoF, not Alexander. Alexander, patterns, and architecture. Patterns in the organisation - how can a pattern language pervade an organisation and help workers carry out its mission statement and operating principles? Different high level patterns (e.g. &amp;#8220;People first&amp;#8221; for one company, &amp;#8220;Technology first&amp;#8221; for another) mean different lower-level patterns (crude example: staff pattern in people-oriented firm - &amp;#8220;managers come from HR&amp;#8221; versus staff pattern in tech-oriented firm - &amp;#8220;Managers become tech leadership&amp;#8221;) Wikis were literally built for patterns Promoting and deploying patterns Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2007-03-08,22422848</guid>
      <pubDate>Thu, 08 Mar 2007 13:39:51 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDThoughtsOnDesignPatterns.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, patterns</itunes:keywords>
    </item>
    <item>
      <title>Ajax Diagnosis And Testing Patterns - Podcast</title>
      <link>http://www.odeo.com/episodes/22009140-Ajax-Diagnosis-And-Testing-Patterns-Podcast</link>
      <description>Agile, Ajax, AjaxPatterns, Firebug, Firefox, DHTML, IE, Javascript, TDD, Venkman, Web, Web2.0 Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category - http://www.softwareas.com/category/podcast/ or subscribe to the podcast feed at http://www.softwareas.com/podcast/rss2. Thanks for listening! This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I&amp;#8217;m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of &amp;#8220;Beginning Ajax with ASP.NET&amp;#8221;. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes. Ajax Diagnosis Patterns: Logging Debugging DOM Inspection Traffic Sniffing Ajax Testing Patterns: Simulation Service Browser-Side Test Service Test System Test With the series now complet...</description>
      <itunes:subtitle>Agile, Ajax, AjaxPatterns, Firebug, Firefox, DHTML, IE, Javascript, TDD, Venkman, Web, Web2.0 Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category - http://www.softwareas.com/category/podcast/ or subscribe to the podcast feed at http://www.softwareas.com/podcast/rss2. Thanks for listening! This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I&amp;#8217;m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of &amp;#8220;Beginning Ajax with ASP.NET&amp;#8221;. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes. Ajax Diagnosis Patterns: Logging Debugging DOM Inspection Traffic Sniffing Ajax Testing Patterns: Simulation Service Browser-Side Test Service Test System Test With the series now complete, the podcast will now resume regular Sotware As She&amp;#8217;s Developed topics including but not limited to agile development, Ajax, the web, and usability. Also, more conversations - please drop me a line at michael@mahemoff.com if you&amp;#8217;d like to come drop in for a skype chat. As always, credits on this podcast to My Morning Jacket for the lead-in track, &#8220;One Big Holiday&#8221;. All podcasts in this series licensed under CC. Audio Note: Sorry about the noise at some stages in this recording - I now know a lot more about audio levelling (the problem of keeping both ends at the same level), but at the time this was recording, it turned out I had set Craig&amp;#8217;s end at too low a volume. I used Levelator to level each end, leading to too much noise&amp;#8230;next time I&amp;#8217;ll need to pump up the volume at each end from the start. I&amp;#8217;m also looking forward to resuming use of Bias SoundSoap, but there&amp;#8217;s no easy way to get this running on an Intel Mac for now! Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Agile, Ajax, AjaxPatterns, Firebug, Firefox, DHTML, IE, Javascript, TDD, Venkman, Web, Web2.0 Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category - http://www.softwareas.com/category/podcast/ or subscribe to the podcast feed at http://www.softwareas.com/podcast/rss2. Thanks for listening! This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I&amp;#8217;m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of &amp;#8220;Beginning Ajax with ASP.NET&amp;#8221;. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes. Ajax Diagnosis Patterns: Logging Debugging DOM Inspection Traffic Sniffing Ajax Testing Patterns: Simulation Service Browser-Side Test Service Test System Test With the series now complete, the podcast will now resume regular Sotware As She&amp;#8217;s Developed topics including but not limited to agile development, Ajax, the web, and usability. Also, more conversations - please drop me a line at michael@mahemoff.com if you&amp;#8217;d like to come drop in for a skype chat. As always, credits on this podcast to My Morning Jacket for the lead-in track, &#8220;One Big Holiday&#8221;. All podcasts in this series licensed under CC. Audio Note: Sorry about the noise at some stages in this recording - I now know a lot more about audio levelling (the problem of keeping both ends at the same level), but at the time this was recording, it turned out I had set Craig&amp;#8217;s end at too low a volume. I used Levelator to level each end, leading to too much noise&amp;#8230;next time I&amp;#8217;ll need to pump up the volume at each end from the start. I&amp;#8217;m also looking forward to resuming use of Bias SoundSoap, but there&amp;#8217;s no easy way to get this running on an Intel Mac for now! Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-10-14,22009140</guid>
      <pubDate>Sat, 14 Oct 2006 11:31:14 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDAjaxDebuggingAndTestingPatterns.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Diagnosis And Testing Patterns - Podcast</title>
      <link>http://www.odeo.com/episodes/22422849-Ajax-Diagnosis-And-Testing-Patterns-Podcast</link>
      <description>Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category - http://www.softwareas.com/category/podcast/ or subscribe to the podcast feed at http://www.softwareas.com/podcast/rss2. Thanks for listening! This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I&amp;#8217;m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of &amp;#8220;Beginning Ajax with ASP.NET&amp;#8221;. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes. Ajax Diagnosis Patterns: Logging Debugging DOM Inspection Traffic Sniffing Ajax Testing Patterns: Simulation Service Browser-Side Test Service Test System Test With the series now complete, the podcast will now resume regular Sotware As She&amp;#8217;s Developed topics including but n...</description>
      <itunes:subtitle>Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category - http://www.softwareas.com/category/podcast/ or subscribe to the podcast feed at http://www.softwareas.com/podcast/rss2. Thanks for listening! This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I&amp;#8217;m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of &amp;#8220;Beginning Ajax with ASP.NET&amp;#8221;. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes. Ajax Diagnosis Patterns: Logging Debugging DOM Inspection Traffic Sniffing Ajax Testing Patterns: Simulation Service Browser-Side Test Service Test System Test With the series now complete, the podcast will now resume regular Sotware As She&amp;#8217;s Developed topics including but not limited to agile development, Ajax, the web, and usability. Also, more conversations - please drop me a line at michael@mahemoff.com if you&amp;#8217;d like to come drop in for a skype chat. As always, credits on this podcast to My Morning Jacket for the lead-in track, &#8220;One Big Holiday&#8221;. All podcasts in this series licensed under CC. Audio Note: Sorry about the noise at some stages in this recording - I now know a lot more about audio levelling (the problem of keeping both ends at the same level), but at the time this was recording, it turned out I had set Craig&amp;#8217;s end at too low a volume. I used Levelator to level each end, leading to too much noise&amp;#8230;next time I&amp;#8217;ll need to pump up the volume at each end from the start. I&amp;#8217;m also looking forward to resuming use of Bias SoundSoap, but there&amp;#8217;s no easy way to get this running on an Intel Mac for now! Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category - http://www.softwareas.com/category/podcast/ or subscribe to the podcast feed at http://www.softwareas.com/podcast/rss2. Thanks for listening! This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I&amp;#8217;m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of &amp;#8220;Beginning Ajax with ASP.NET&amp;#8221;. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes. Ajax Diagnosis Patterns: Logging Debugging DOM Inspection Traffic Sniffing Ajax Testing Patterns: Simulation Service Browser-Side Test Service Test System Test With the series now complete, the podcast will now resume regular Sotware As She&amp;#8217;s Developed topics including but not limited to agile development, Ajax, the web, and usability. Also, more conversations - please drop me a line at michael@mahemoff.com if you&amp;#8217;d like to come drop in for a skype chat. As always, credits on this podcast to My Morning Jacket for the lead-in track, &#8220;One Big Holiday&#8221;. All podcasts in this series licensed under CC. Audio Note: Sorry about the noise at some stages in this recording - I now know a lot more about audio levelling (the problem of keeping both ends at the same level), but at the time this was recording, it turned out I had set Craig&amp;#8217;s end at too low a volume. I used Levelator to level each end, leading to too much noise&amp;#8230;next time I&amp;#8217;ll need to pump up the volume at each end from the start. I&amp;#8217;m also looking forward to resuming use of Bias SoundSoap, but there&amp;#8217;s no easy way to get this running on an Intel Mac for now! Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-10-14,22422849</guid>
      <pubDate>Sat, 14 Oct 2006 11:31:14 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxDebuggingAndTestingPatterns.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Web 2.0, web, SoftwareDev, firefox, javascript, firebug, agile, links, ie, TDD, AjaxPatterns, DHTML, Venkman</itunes:keywords>
    </item>
    <item>
      <title>Ajax Diagnosis And Testing Patterns &#8211; Podcast</title>
      <link>http://www.odeo.com/episodes/24911578-Ajax-Diagnosis-And-Testing-Patterns-%E2%80%93-Podcast</link>
      <description>Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category &amp;#8211; http://www.softwareas.com/category/podcast/ or subscribe to the podcast feed at http://www.softwareas.com/podcast/rss2. Thanks for listening! This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I&amp;#8217;m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of &amp;#8220;Beginning Ajax with ASP.NET&amp;#8221;. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes. Ajax Diagnosis Patterns: Logging Debugging DOM Inspection Traffic Sniffing Ajax Testing Patterns: Simulation Service Browser-Side Test Service Test System Test With the series now complete, the podcast will now resume regular Sotware As She&amp;#8217;s Developed topics including...</description>
      <itunes:subtitle>Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category &amp;#8211; http://www.softwareas.com/category/podcast/ or subscribe to the podcast feed at http://www.softwareas.com/podcast/rss2. Thanks for listening! This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I&amp;#8217;m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of &amp;#8220;Beginning Ajax with ASP.NET&amp;#8221;. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes. Ajax Diagnosis Patterns: Logging Debugging DOM Inspection Traffic Sniffing Ajax Testing Patterns: Simulation Service Browser-Side Test Service Test System Test With the series now complete, the podcast will now resume regular Sotware As She&amp;#8217;s Developed topics including but not limited to agile development, Ajax, the web, and usability. Also, more conversations &amp;#8211; please drop me a line at michael@mahemoff.com if you&amp;#8217;d like to come drop in for a skype chat. As always, credits on this podcast to My Morning Jacket for the lead-in track, &#8220;One Big Holiday&#8221;. All podcasts in this series licensed under CC. Audio Note: Sorry about the noise at some stages in this recording &amp;#8211; I now know a lot more about audio levelling (the problem of keeping both ends at the same level), but at the time this was recording, it turned out I had set Craig&amp;#8217;s end at too low a volume. I used Levelator to level each end, leading to too much noise&amp;#8230;next time I&amp;#8217;ll need to pump up the volume at each end from the start. I&amp;#8217;m also looking forward to resuming use of Bias SoundSoap, but there&amp;#8217;s no easy way to get this running on an Intel Mac for now! Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category &amp;#8211; http://www.softwareas.com/category/podcast/ or subscribe to the podcast feed at http://www.softwareas.com/podcast/rss2. Thanks for listening! This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I&amp;#8217;m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of &amp;#8220;Beginning Ajax with ASP.NET&amp;#8221;. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes. Ajax Diagnosis Patterns: Logging Debugging DOM Inspection Traffic Sniffing Ajax Testing Patterns: Simulation Service Browser-Side Test Service Test System Test With the series now complete, the podcast will now resume regular Sotware As She&amp;#8217;s Developed topics including but not limited to agile development, Ajax, the web, and usability. Also, more conversations &amp;#8211; please drop me a line at michael@mahemoff.com if you&amp;#8217;d like to come drop in for a skype chat. As always, credits on this podcast to My Morning Jacket for the lead-in track, &#8220;One Big Holiday&#8221;. All podcasts in this series licensed under CC. Audio Note: Sorry about the noise at some stages in this recording &amp;#8211; I now know a lot more about audio levelling (the problem of keeping both ends at the same level), but at the time this was recording, it turned out I had set Craig&amp;#8217;s end at too low a volume. I used Levelator to level each end, leading to too much noise&amp;#8230;next time I&amp;#8217;ll need to pump up the volume at each end from the start. I&amp;#8217;m also looking forward to resuming use of Bias SoundSoap, but there&amp;#8217;s no easy way to get this running on an Intel Mac for now! Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-10-14,24911578</guid>
      <pubDate>Sat, 14 Oct 2006 11:31:14 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxDebuggingAndTestingPatterns.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Web 2.0, web, SoftwareDev, firefox, javascript, firebug, agile, links, ie, TDD, AjaxPatterns, DHTML, Venkman</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns - Podcast 4 of 4: Functionality Patterns</title>
      <link>http://www.odeo.com/episodes/22009202-Ajax-Functionality-and-Usability-Patterns-Podcast-4-of-4-Functionality-Patterns</link>
      <description>Ajax, AjaxPatterns, DHTML, Encryption, Javascript, Security, Web, Web2.0 This is the fourth and final podcast in the series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). This 54-minute podcast covers seven patterns of Ajax Architecture (Book: Chapter 17, pp 473-530): Lazy Registration Direct Login Host-Proof Hosting Timeout Heartbeat Unique URLs Dynamic Favicons Dedicated to the Nitobians, whose last podcast inspired me to crank another one out again. Recent events suggest it may cost me $5000 to appear on their podcast again, and as Andre points out in this podcast, the same applies for them appearing on my podcast. Thus, my simple proposal would be: Each of us appear on the others&amp;#8217; podcast, at $5000 each. Actually, let&amp;#8217;s make that $50k each. Cancel the debt Now each of us can claim our podcast attracts guests who pay $50k to appear. Enough to cover headsets ($20), bandwidth ($10/month with Libsyn), and assorted beverages (name your price). &amp;#...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, DHTML, Encryption, Javascript, Security, Web, Web2.0 This is the fourth and final podcast in the series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). This 54-minute podcast covers seven patterns of Ajax Architecture (Book: Chapter 17, pp 473-530): Lazy Registration Direct Login Host-Proof Hosting Timeout Heartbeat Unique URLs Dynamic Favicons Dedicated to the Nitobians, whose last podcast inspired me to crank another one out again. Recent events suggest it may cost me $5000 to appear on their podcast again, and as Andre points out in this podcast, the same applies for them appearing on my podcast. Thus, my simple proposal would be: Each of us appear on the others&amp;#8217; podcast, at $5000 each. Actually, let&amp;#8217;s make that $50k each. Cancel the debt Now each of us can claim our podcast attracts guests who pay $50k to appear. Enough to cover headsets ($20), bandwidth ($10/month with Libsyn), and assorted beverages (name your price). &amp;#8230; Profit!!! Soon I&amp;#8217;ll be publishing the final podcast in the overall series, which has already been recorded, and then I&amp;#8217;ll be taking it in a more general direction akin to the topics on this blog - talking about agile, programming (Java/Rails/etc), usability, Web2.0, as well as Ajax and the coming revolution of real-time webapps. If you have a skype account and you&amp;#8217;d like to join me sometime, drop us an email (michael@mahemoff.com). Also feel free to suggest any topics that would be good to cover. Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, DHTML, Encryption, Javascript, Security, Web, Web2.0 This is the fourth and final podcast in the series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). This 54-minute podcast covers seven patterns of Ajax Architecture (Book: Chapter 17, pp 473-530): Lazy Registration Direct Login Host-Proof Hosting Timeout Heartbeat Unique URLs Dynamic Favicons Dedicated to the Nitobians, whose last podcast inspired me to crank another one out again. Recent events suggest it may cost me $5000 to appear on their podcast again, and as Andre points out in this podcast, the same applies for them appearing on my podcast. Thus, my simple proposal would be: Each of us appear on the others&amp;#8217; podcast, at $5000 each. Actually, let&amp;#8217;s make that $50k each. Cancel the debt Now each of us can claim our podcast attracts guests who pay $50k to appear. Enough to cover headsets ($20), bandwidth ($10/month with Libsyn), and assorted beverages (name your price). &amp;#8230; Profit!!! Soon I&amp;#8217;ll be publishing the final podcast in the overall series, which has already been recorded, and then I&amp;#8217;ll be taking it in a more general direction akin to the topics on this blog - talking about agile, programming (Java/Rails/etc), usability, Web2.0, as well as Ajax and the coming revolution of real-time webapps. If you have a skype account and you&amp;#8217;d like to join me sometime, drop us an email (michael@mahemoff.com). Also feel free to suggest any topics that would be good to cover. Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-09-23,22009202</guid>
      <pubDate>Sat, 23 Sep 2006 11:03:26 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDAjaxFunctionalityAndUsabilityPatterns4Of4Functionality.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns - Podcast 3 of 4: Visual Effects</title>
      <link>http://www.odeo.com/episodes/22422850-Ajax-Functionality-and-Usability-Patterns-Podcast-3-of-4-Visual-Effects</link>
      <description>This is the third in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). An audio discussion of visual effects is ideally short and sweet, so this podcast is but 13 minutes long. This 13-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 16, pp 445-472): One-Second Spotlight One-Second Mutation One-Second Motion Highlight Download Standard Podcast</description>
      <itunes:subtitle>This is the third in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). An audio discussion of visual effects is ideally short and sweet, so this podcast is but 13 minutes long. This 13-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 16, pp 445-472): One-Second Spotlight One-Second Mutation One-Second Motion Highlight Download Standard Podcast</itunes:subtitle>
      <itunes:summary>This is the third in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). An audio discussion of visual effects is ideally short and sweet, so this podcast is but 13 minutes long. This 13-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 16, pp 445-472): One-Second Spotlight One-Second Mutation One-Second Motion Highlight Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-30,22422850</guid>
      <pubDate>Sun, 30 Jul 2006 17:32:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxFunctionalityAndUsabilityPatterns3Of4VisualEffects.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Web 2.0, web, tutorial, SoftwareDev, Software, javascript, widgets, links, AjaxPatterns, DHTML, Drag-And-Drop, Portlet</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns - Podcast 3 of 4: Visual Effects</title>
      <link>http://www.odeo.com/episodes/22009245-Ajax-Functionality-and-Usability-Patterns-Podcast-3-of-4-Visual-Effects</link>
      <description>Ajax, AjaxPatterns, DragAndDrop, DHTML, Javascript, Podcast, Portlet, Software, Tutorial, Web, Web2.0, Widgets This is the third in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). An audio discussion of visual effects is ideally short and sweet, so this podcast is but 13 minutes long. This 13-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 16, pp 445-472): One-Second Spotlight One-Second Mutation One-Second Motion Highlight Download Ajax Visual Effects</description>
      <itunes:subtitle>Ajax, AjaxPatterns, DragAndDrop, DHTML, Javascript, Podcast, Portlet, Software, Tutorial, Web, Web2.0, Widgets This is the third in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). An audio discussion of visual effects is ideally short and sweet, so this podcast is but 13 minutes long. This 13-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 16, pp 445-472): One-Second Spotlight One-Second Mutation One-Second Motion Highlight Download Ajax Visual Effects</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, DragAndDrop, DHTML, Javascript, Podcast, Portlet, Software, Tutorial, Web, Web2.0, Widgets This is the third in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). An audio discussion of visual effects is ideally short and sweet, so this podcast is but 13 minutes long. This 13-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 16, pp 445-472): One-Second Spotlight One-Second Mutation One-Second Motion Highlight Download Ajax Visual Effects</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-30,22009245</guid>
      <pubDate>Sun, 30 Jul 2006 17:32:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDAjaxFunctionalityAndUsabilityPatterns3Of4VisualEffects.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns &#8211; Podcast 3 of 4: Visual Effects</title>
      <link>http://www.odeo.com/episodes/24911579-Ajax-Functionality-and-Usability-Patterns-%E2%80%93-Podcast-3-of-4-Visual-Effects</link>
      <description>This is the third in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). An audio discussion of visual effects is ideally short and sweet, so this podcast is but 13 minutes long. This 13-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 16, pp 445-472): One-Second Spotlight One-Second Mutation One-Second Motion Highlight Download Standard Podcast</description>
      <itunes:subtitle>This is the third in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). An audio discussion of visual effects is ideally short and sweet, so this podcast is but 13 minutes long. This 13-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 16, pp 445-472): One-Second Spotlight One-Second Mutation One-Second Motion Highlight Download Standard Podcast</itunes:subtitle>
      <itunes:summary>This is the third in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). An audio discussion of visual effects is ideally short and sweet, so this podcast is but 13 minutes long. This 13-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 16, pp 445-472): One-Second Spotlight One-Second Mutation One-Second Motion Highlight Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-30,24911579</guid>
      <pubDate>Sun, 30 Jul 2006 17:32:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxFunctionalityAndUsabilityPatterns3Of4VisualEffects.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Web 2.0, web, tutorial, SoftwareDev, Software, javascript, widgets, links, AjaxPatterns, DHTML, Drag-And-Drop, Portlet</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns - Podcast 2 of 4: Ajax Page Architecture</title>
      <link>http://www.odeo.com/episodes/22422851-Ajax-Functionality-and-Usability-Patterns-Podcast-2-of-4-Ajax-Page-Architecture</link>
      <description>This is the second in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). The guest for this week is Dave Johnson of Nitobi (the Ajax component developers formerly known as E-Business Applications), widget guru and author of the upcoming Enterprise Ajax book. Dave helps me walk through the patterns and offers plenty of great insights along the way. We mention Dave&amp;#8217;s recent presentation a couple of times; here&amp;#8217;s the PDF. This 54-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 15, pp 389-444): Drag-And-Drop Sprite Popup Malleable Content Microlink Portlet Status Area Update Control Virtual Workspace Download Standard Podcast</description>
      <itunes:subtitle>This is the second in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). The guest for this week is Dave Johnson of Nitobi (the Ajax component developers formerly known as E-Business Applications), widget guru and author of the upcoming Enterprise Ajax book. Dave helps me walk through the patterns and offers plenty of great insights along the way. We mention Dave&amp;#8217;s recent presentation a couple of times; here&amp;#8217;s the PDF. This 54-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 15, pp 389-444): Drag-And-Drop Sprite Popup Malleable Content Microlink Portlet Status Area Update Control Virtual Workspace Download Standard Podcast</itunes:subtitle>
      <itunes:summary>This is the second in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). The guest for this week is Dave Johnson of Nitobi (the Ajax component developers formerly known as E-Business Applications), widget guru and author of the upcoming Enterprise Ajax book. Dave helps me walk through the patterns and offers plenty of great insights along the way. We mention Dave&amp;#8217;s recent presentation a couple of times; here&amp;#8217;s the PDF. This 54-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 15, pp 389-444): Drag-And-Drop Sprite Popup Malleable Content Microlink Portlet Status Area Update Control Virtual Workspace Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-24,22422851</guid>
      <pubDate>Mon, 24 Jul 2006 17:17:48 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://www.softwareas.com/podcast/SASDAjaxFunctionalityAndUsabilityPatterns2Of4PageArchitecture.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, web, tutorial, SoftwareDev, Software, javascript, widgets, web2.0, links, AjaxPatterns, DHTML, Drag-And-Drop, Portlet</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns - Podcast 2 of 4: Ajax Page Architecture</title>
      <link>http://www.odeo.com/episodes/22009253-Ajax-Functionality-and-Usability-Patterns-Podcast-2-of-4-Ajax-Page-Architecture</link>
      <description>Ajax, AjaxPatterns, DragAndDrop, DHTML, Javascript, Podcast, Portlet, Software, Tutorial, Web, Web2.0, Widgets This is the second in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). The guest for this week is Dave Johnson of Nitobi (the Ajax component developers formerly known as E-Business Applications), widget guru and author of the upcoming Enterprise Ajax book. Dave helps me walk through the patterns and offers plenty of great insights along the way. We mention Dave&amp;#8217;s recent presentation a couple of times; here&amp;#8217;s the PDF. This 54-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 15, pp 389-444): Drag-And-Drop Sprite Popup Malleable Content Microlink Portlet Status Area Update Control Virtual Workspace Download Ajax Functionality and Usability Patterns - Podcast 2 of 4: Ajax Page Architecture</description>
      <itunes:subtitle>Ajax, AjaxPatterns, DragAndDrop, DHTML, Javascript, Podcast, Portlet, Software, Tutorial, Web, Web2.0, Widgets This is the second in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). The guest for this week is Dave Johnson of Nitobi (the Ajax component developers formerly known as E-Business Applications), widget guru and author of the upcoming Enterprise Ajax book. Dave helps me walk through the patterns and offers plenty of great insights along the way. We mention Dave&amp;#8217;s recent presentation a couple of times; here&amp;#8217;s the PDF. This 54-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 15, pp 389-444): Drag-And-Drop Sprite Popup Malleable Content Microlink Portlet Status Area Update Control Virtual Workspace Download Ajax Functionality and Usability Patterns - Podcast 2 of 4: Ajax Page Architecture</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, DragAndDrop, DHTML, Javascript, Podcast, Portlet, Software, Tutorial, Web, Web2.0, Widgets This is the second in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). The guest for this week is Dave Johnson of Nitobi (the Ajax component developers formerly known as E-Business Applications), widget guru and author of the upcoming Enterprise Ajax book. Dave helps me walk through the patterns and offers plenty of great insights along the way. We mention Dave&amp;#8217;s recent presentation a couple of times; here&amp;#8217;s the PDF. This 54-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 15, pp 389-444): Drag-And-Drop Sprite Popup Malleable Content Microlink Portlet Status Area Update Control Virtual Workspace Download Ajax Functionality and Usability Patterns - Podcast 2 of 4: Ajax Page Architecture</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-24,22009253</guid>
      <pubDate>Mon, 24 Jul 2006 17:17:48 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDAjaxFunctionalityAndUsabilityPatterns2Of4PageArchitecture.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns &#8211; Podcast 2 of 4: Ajax Page Architecture</title>
      <link>http://www.odeo.com/episodes/24911580-Ajax-Functionality-and-Usability-Patterns-%E2%80%93-Podcast-2-of-4-Ajax-Page-Architecture</link>
      <description>This is the second in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). The guest for this week is Dave Johnson of Nitobi (the Ajax component developers formerly known as E-Business Applications), widget guru and author of the upcoming Enterprise Ajax book. Dave helps me walk through the patterns and offers plenty of great insights along the way. We mention Dave&amp;#8217;s recent presentation a couple of times; here&amp;#8217;s the PDF. This 54-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 15, pp 389-444): Drag-And-Drop Sprite Popup Malleable Content Microlink Portlet Status Area Update Control Virtual Workspace Download Standard Podcast</description>
      <itunes:subtitle>This is the second in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). The guest for this week is Dave Johnson of Nitobi (the Ajax component developers formerly known as E-Business Applications), widget guru and author of the upcoming Enterprise Ajax book. Dave helps me walk through the patterns and offers plenty of great insights along the way. We mention Dave&amp;#8217;s recent presentation a couple of times; here&amp;#8217;s the PDF. This 54-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 15, pp 389-444): Drag-And-Drop Sprite Popup Malleable Content Microlink Portlet Status Area Update Control Virtual Workspace Download Standard Podcast</itunes:subtitle>
      <itunes:summary>This is the second in the four-part series on Ajax functionality and usability patterns (Book: Part 4, pp 327-530). The guest for this week is Dave Johnson of Nitobi (the Ajax component developers formerly known as E-Business Applications), widget guru and author of the upcoming Enterprise Ajax book. Dave helps me walk through the patterns and offers plenty of great insights along the way. We mention Dave&amp;#8217;s recent presentation a couple of times; here&amp;#8217;s the PDF. This 54-minute podcast covers ten patterns of Ajax Architecture (Book: Chapter 15, pp 389-444): Drag-And-Drop Sprite Popup Malleable Content Microlink Portlet Status Area Update Control Virtual Workspace Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-24,24911580</guid>
      <pubDate>Mon, 24 Jul 2006 17:17:48 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://www.softwareas.com/podcast/SASDAjaxFunctionalityAndUsabilityPatterns2Of4PageArchitecture.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, web, tutorial, SoftwareDev, Software, javascript, widgets, web2.0, links, AjaxPatterns, DHTML, Drag-And-Drop, Portlet</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns - Podcast 1 of 4: Widgets of the Web</title>
      <link>http://www.odeo.com/episodes/22422852-Ajax-Functionality-and-Usability-Patterns-Podcast-1-of-4-Widgets-of-the-Web</link>
      <description>And so, a new series begins, based on the Ajax functionality and usability patterns (Book: Part 4, pp 327-530). We&amp;#8217;ve already looked at the technical details, now we&amp;#8217;re looking at what Ajax can do for users and how to implement these features. I&amp;#8217;m asking guests to join me for most of the remaining Ajax Pattern podcasts. Seeing patterns from someone else&amp;#8217;s perspsective will make the discussion richer and hopefully cover more questions you might have as you&amp;#8217;re listening to the podcast. The guest for this week is Andre Charland of E-Business Applications, widget guru and author of the upcoming Enterprise Ajax book. This 83-minute podcast covers nine patterns of Ajax widgets: Slider Progress Indicator Drilldown Data Grid Rich Text Editor Suggestion Live Search Live Command-Line Live Form Download Standard Podcast</description>
      <itunes:subtitle>And so, a new series begins, based on the Ajax functionality and usability patterns (Book: Part 4, pp 327-530). We&amp;#8217;ve already looked at the technical details, now we&amp;#8217;re looking at what Ajax can do for users and how to implement these features. I&amp;#8217;m asking guests to join me for most of the remaining Ajax Pattern podcasts. Seeing patterns from someone else&amp;#8217;s perspsective will make the discussion richer and hopefully cover more questions you might have as you&amp;#8217;re listening to the podcast. The guest for this week is Andre Charland of E-Business Applications, widget guru and author of the upcoming Enterprise Ajax book. This 83-minute podcast covers nine patterns of Ajax widgets: Slider Progress Indicator Drilldown Data Grid Rich Text Editor Suggestion Live Search Live Command-Line Live Form Download Standard Podcast</itunes:subtitle>
      <itunes:summary>And so, a new series begins, based on the Ajax functionality and usability patterns (Book: Part 4, pp 327-530). We&amp;#8217;ve already looked at the technical details, now we&amp;#8217;re looking at what Ajax can do for users and how to implement these features. I&amp;#8217;m asking guests to join me for most of the remaining Ajax Pattern podcasts. Seeing patterns from someone else&amp;#8217;s perspsective will make the discussion richer and hopefully cover more questions you might have as you&amp;#8217;re listening to the podcast. The guest for this week is Andre Charland of E-Business Applications, widget guru and author of the upcoming Enterprise Ajax book. This 83-minute podcast covers nine patterns of Ajax widgets: Slider Progress Indicator Drilldown Data Grid Rich Text Editor Suggestion Live Search Live Command-Line Live Form Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-15,22422852</guid>
      <pubDate>Sat, 15 Jul 2006 05:40:06 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxFunctionalityAndUsabilityPatterns1Of4Widgets.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Web 2.0, web, tutorial, Software, javascript, widgets, search, links, AjaxPatterns, DHTML, Data Grid, Progress Indicator, Suggestion, Slider, Rich Text Editor</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns - Podcast 1 of 4: Widgets of the Web</title>
      <link>http://www.odeo.com/episodes/22009308-Ajax-Functionality-and-Usability-Patterns-Podcast-1-of-4-Widgets-of-the-Web</link>
      <description>Ajax, AjaxPatterns, DataGrid, DHTML, Javascript, Podcast, ProgressIndicator, RichTextEditor, Search, Slider, Software, Suggestion, Tutorial, Web, Web2.0, Widgets And so, a new series begins, based on the Ajax functionality and usability patterns (Book: Part 4, pp 327-530). We&amp;#8217;ve already looked at the technical details, now we&amp;#8217;re looking at what Ajax can do for users and how to implement these features. I&amp;#8217;m asking guests to join me for most of the remaining Ajax Pattern podcasts. Seeing patterns from someone else&amp;#8217;s perspsective will make the discussion richer and hopefully cover more questions you might have as you&amp;#8217;re listening to the podcast. The guest for this week is Andre Charland of E-Business Applications, widget guru and author of the upcoming Enterprise Ajax book. This 83-minute podcast covers nine patterns of Ajax widgets: Slider Progress Indicator Drilldown Data Grid Rich Text Editor Suggestion Live Search Live Command-Line Live Form Download F...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, DataGrid, DHTML, Javascript, Podcast, ProgressIndicator, RichTextEditor, Search, Slider, Software, Suggestion, Tutorial, Web, Web2.0, Widgets And so, a new series begins, based on the Ajax functionality and usability patterns (Book: Part 4, pp 327-530). We&amp;#8217;ve already looked at the technical details, now we&amp;#8217;re looking at what Ajax can do for users and how to implement these features. I&amp;#8217;m asking guests to join me for most of the remaining Ajax Pattern podcasts. Seeing patterns from someone else&amp;#8217;s perspsective will make the discussion richer and hopefully cover more questions you might have as you&amp;#8217;re listening to the podcast. The guest for this week is Andre Charland of E-Business Applications, widget guru and author of the upcoming Enterprise Ajax book. This 83-minute podcast covers nine patterns of Ajax widgets: Slider Progress Indicator Drilldown Data Grid Rich Text Editor Suggestion Live Search Live Command-Line Live Form Download Functionality And Usability Patterns</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, DataGrid, DHTML, Javascript, Podcast, ProgressIndicator, RichTextEditor, Search, Slider, Software, Suggestion, Tutorial, Web, Web2.0, Widgets And so, a new series begins, based on the Ajax functionality and usability patterns (Book: Part 4, pp 327-530). We&amp;#8217;ve already looked at the technical details, now we&amp;#8217;re looking at what Ajax can do for users and how to implement these features. I&amp;#8217;m asking guests to join me for most of the remaining Ajax Pattern podcasts. Seeing patterns from someone else&amp;#8217;s perspsective will make the discussion richer and hopefully cover more questions you might have as you&amp;#8217;re listening to the podcast. The guest for this week is Andre Charland of E-Business Applications, widget guru and author of the upcoming Enterprise Ajax book. This 83-minute podcast covers nine patterns of Ajax widgets: Slider Progress Indicator Drilldown Data Grid Rich Text Editor Suggestion Live Search Live Command-Line Live Form Download Functionality And Usability Patterns</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-15,22009308</guid>
      <pubDate>Sat, 15 Jul 2006 05:40:06 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDAjaxFunctionalityAndUsabilityPatterns1Of4Widgets.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Functionality and Usability Patterns &#8211; Podcast 1 of 4: Widgets of the Web</title>
      <link>http://www.odeo.com/episodes/24911581-Ajax-Functionality-and-Usability-Patterns-%E2%80%93-Podcast-1-of-4-Widgets-of-the-Web</link>
      <description>And so, a new series begins, based on the Ajax functionality and usability patterns (Book: Part 4, pp 327-530). We&amp;#8217;ve already looked at the technical details, now we&amp;#8217;re looking at what Ajax can do for users and how to implement these features. I&amp;#8217;m asking guests to join me for most of the remaining Ajax Pattern podcasts. Seeing patterns from someone else&amp;#8217;s perspsective will make the discussion richer and hopefully cover more questions you might have as you&amp;#8217;re listening to the podcast. The guest for this week is Andre Charland of E-Business Applications, widget guru and author of the upcoming Enterprise Ajax book. This 83-minute podcast covers nine patterns of Ajax widgets: Slider Progress Indicator Drilldown Data Grid Rich Text Editor Suggestion Live Search Live Command-Line Live Form Download Standard Podcast</description>
      <itunes:subtitle>And so, a new series begins, based on the Ajax functionality and usability patterns (Book: Part 4, pp 327-530). We&amp;#8217;ve already looked at the technical details, now we&amp;#8217;re looking at what Ajax can do for users and how to implement these features. I&amp;#8217;m asking guests to join me for most of the remaining Ajax Pattern podcasts. Seeing patterns from someone else&amp;#8217;s perspsective will make the discussion richer and hopefully cover more questions you might have as you&amp;#8217;re listening to the podcast. The guest for this week is Andre Charland of E-Business Applications, widget guru and author of the upcoming Enterprise Ajax book. This 83-minute podcast covers nine patterns of Ajax widgets: Slider Progress Indicator Drilldown Data Grid Rich Text Editor Suggestion Live Search Live Command-Line Live Form Download Standard Podcast</itunes:subtitle>
      <itunes:summary>And so, a new series begins, based on the Ajax functionality and usability patterns (Book: Part 4, pp 327-530). We&amp;#8217;ve already looked at the technical details, now we&amp;#8217;re looking at what Ajax can do for users and how to implement these features. I&amp;#8217;m asking guests to join me for most of the remaining Ajax Pattern podcasts. Seeing patterns from someone else&amp;#8217;s perspsective will make the discussion richer and hopefully cover more questions you might have as you&amp;#8217;re listening to the podcast. The guest for this week is Andre Charland of E-Business Applications, widget guru and author of the upcoming Enterprise Ajax book. This 83-minute podcast covers nine patterns of Ajax widgets: Slider Progress Indicator Drilldown Data Grid Rich Text Editor Suggestion Live Search Live Command-Line Live Form Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-15,24911581</guid>
      <pubDate>Sat, 15 Jul 2006 05:40:06 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxFunctionalityAndUsabilityPatterns1Of4Widgets.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Web 2.0, web, tutorial, Software, javascript, widgets, search, links, AjaxPatterns, DHTML, Data Grid, Progress Indicator, Suggestion, Slider, Rich Text Editor</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns - Podcast 4 of 4: Performance Optimisation Patterns</title>
      <link>http://www.odeo.com/episodes/22422853-Ajax-Programming-Patterns-Podcast-4-of-4-Performance-Optimisation-Patterns</link>
      <description>The fourth and final podcast in this series of Ajax Programming Patterns. As always, the patterns are online at AjaxPatterns.org and covered in the book too, now available at Amazon. This 33-minute podcast covers seven patterns of Performance Optimisation: Browser-Side Cache Maintain a local cache of information. Guesstimate Instead of grabbing real data from the server, make a guesstimate that&amp;#8217;s good enough for most user&amp;#8217;s needs. ITunes Download Counter, GMail Storage Counter. Multi-Stage Download Quickly download the page structure with a standard request, then populate it with further requests. Predictive Fetch Anticipate likely user actions and pre-load the required data. Fat Client Create a rich, browser-based, client by peforming remote calls only when there is no way to achieve the same effect in the browser. Pseudo-Threading Use a timer and a worker queue to process jobs without the blocking application flow. Code Compression Compress code on the server, preferab...</description>
      <itunes:subtitle>The fourth and final podcast in this series of Ajax Programming Patterns. As always, the patterns are online at AjaxPatterns.org and covered in the book too, now available at Amazon. This 33-minute podcast covers seven patterns of Performance Optimisation: Browser-Side Cache Maintain a local cache of information. Guesstimate Instead of grabbing real data from the server, make a guesstimate that&amp;#8217;s good enough for most user&amp;#8217;s needs. ITunes Download Counter, GMail Storage Counter. Multi-Stage Download Quickly download the page structure with a standard request, then populate it with further requests. Predictive Fetch Anticipate likely user actions and pre-load the required data. Fat Client Create a rich, browser-based, client by peforming remote calls only when there is no way to achieve the same effect in the browser. Pseudo-Threading Use a timer and a worker queue to process jobs without the blocking application flow. Code Compression Compress code on the server, preferably not on the fly. (Note that the last two are recent additions to the wiki and just stubs at this stage.) Okay, here endeth the series. I will soon be starting up a new series on the next group of patterns (Part 5 in the book): Functionality and Usability Patterns. There will be a change in the format, one I hope you&amp;#8217;ll enjoy! Download Standard Podcast</itunes:subtitle>
      <itunes:summary>The fourth and final podcast in this series of Ajax Programming Patterns. As always, the patterns are online at AjaxPatterns.org and covered in the book too, now available at Amazon. This 33-minute podcast covers seven patterns of Performance Optimisation: Browser-Side Cache Maintain a local cache of information. Guesstimate Instead of grabbing real data from the server, make a guesstimate that&amp;#8217;s good enough for most user&amp;#8217;s needs. ITunes Download Counter, GMail Storage Counter. Multi-Stage Download Quickly download the page structure with a standard request, then populate it with further requests. Predictive Fetch Anticipate likely user actions and pre-load the required data. Fat Client Create a rich, browser-based, client by peforming remote calls only when there is no way to achieve the same effect in the browser. Pseudo-Threading Use a timer and a worker queue to process jobs without the blocking application flow. Code Compression Compress code on the server, preferably not on the fly. (Note that the last two are recent additions to the wiki and just stubs at this stage.) Okay, here endeth the series. I will soon be starting up a new series on the next group of patterns (Part 5 in the book): Functionality and Usability Patterns. There will be a change in the format, one I hope you&amp;#8217;ll enjoy! Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-08,22422853</guid>
      <pubDate>Sat, 08 Jul 2006 00:40:33 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxProgrammingPatterns4of4PerfOptimisation.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Web 2.0, web, tutorial, SoftwareDev, Software, performance, javascript, links, optimization, AjaxPatterns, DHTML, Optimisation</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns &#8211; Podcast 4 of 4: Performance Optimisation Patterns</title>
      <link>http://www.odeo.com/episodes/24911582-Ajax-Programming-Patterns-%E2%80%93-Podcast-4-of-4-Performance-Optimisation-Patterns</link>
      <description>The fourth and final podcast in this series of Ajax Programming Patterns. As always, the patterns are online at AjaxPatterns.org and covered in the book too, now available at Amazon. This 33-minute podcast covers seven patterns of Performance Optimisation: Browser-Side Cache Maintain a local cache of information. Guesstimate Instead of grabbing real data from the server, make a guesstimate that&amp;#8217;s good enough for most user&amp;#8217;s needs. ITunes Download Counter, GMail Storage Counter. Multi-Stage Download Quickly download the page structure with a standard request, then populate it with further requests. Predictive Fetch Anticipate likely user actions and pre-load the required data. Fat Client Create a rich, browser-based, client by peforming remote calls only when there is no way to achieve the same effect in the browser. Pseudo-Threading Use a timer and a worker queue to process jobs without the blocking application flow. Code Compression Compress code on the server, preferab...</description>
      <itunes:subtitle>The fourth and final podcast in this series of Ajax Programming Patterns. As always, the patterns are online at AjaxPatterns.org and covered in the book too, now available at Amazon. This 33-minute podcast covers seven patterns of Performance Optimisation: Browser-Side Cache Maintain a local cache of information. Guesstimate Instead of grabbing real data from the server, make a guesstimate that&amp;#8217;s good enough for most user&amp;#8217;s needs. ITunes Download Counter, GMail Storage Counter. Multi-Stage Download Quickly download the page structure with a standard request, then populate it with further requests. Predictive Fetch Anticipate likely user actions and pre-load the required data. Fat Client Create a rich, browser-based, client by peforming remote calls only when there is no way to achieve the same effect in the browser. Pseudo-Threading Use a timer and a worker queue to process jobs without the blocking application flow. Code Compression Compress code on the server, preferably not on the fly. (Note that the last two are recent additions to the wiki and just stubs at this stage.) Okay, here endeth the series. I will soon be starting up a new series on the next group of patterns (Part 5 in the book): Functionality and Usability Patterns. There will be a change in the format, one I hope you&amp;#8217;ll enjoy! Download Standard Podcast</itunes:subtitle>
      <itunes:summary>The fourth and final podcast in this series of Ajax Programming Patterns. As always, the patterns are online at AjaxPatterns.org and covered in the book too, now available at Amazon. This 33-minute podcast covers seven patterns of Performance Optimisation: Browser-Side Cache Maintain a local cache of information. Guesstimate Instead of grabbing real data from the server, make a guesstimate that&amp;#8217;s good enough for most user&amp;#8217;s needs. ITunes Download Counter, GMail Storage Counter. Multi-Stage Download Quickly download the page structure with a standard request, then populate it with further requests. Predictive Fetch Anticipate likely user actions and pre-load the required data. Fat Client Create a rich, browser-based, client by peforming remote calls only when there is no way to achieve the same effect in the browser. Pseudo-Threading Use a timer and a worker queue to process jobs without the blocking application flow. Code Compression Compress code on the server, preferably not on the fly. (Note that the last two are recent additions to the wiki and just stubs at this stage.) Okay, here endeth the series. I will soon be starting up a new series on the next group of patterns (Part 5 in the book): Functionality and Usability Patterns. There will be a change in the format, one I hope you&amp;#8217;ll enjoy! Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-08,24911582</guid>
      <pubDate>Sat, 08 Jul 2006 00:40:33 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxProgrammingPatterns4of4PerfOptimisation.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Web 2.0, web, tutorial, SoftwareDev, Software, performance, javascript, links, optimization, AjaxPatterns, DHTML, Optimisation</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns - Podcast 4 of 4: Performance Optimisation Patterns</title>
      <link>http://www.odeo.com/episodes/22009320-Ajax-Programming-Patterns-Podcast-4-of-4-Performance-Optimisation-Patterns</link>
      <description>Ajax, AjaxPatterns, DHTML, Javascript, Optimisation, Optimization, Performance, Podcast, Software, Tutorial, Web, Web2.0 The fourth and final podcast in this series of Ajax Programming Patterns. As always, the patterns are online at AjaxPatterns.org and covered in the book too, now available at Amazon. This 33-minute podcast covers seven patterns of Performance Optimisation: Browser-Side Cache Maintain a local cache of information. Guesstimate Instead of grabbing real data from the server, make a guesstimate that&amp;#8217;s good enough for most user&amp;#8217;s needs. ITunes Download Counter, GMail Storage Counter. Multi-Stage Download Quickly download the page structure with a standard request, then populate it with further requests. Predictive Fetch Anticipate likely user actions and pre-load the required data. Fat Client Create a rich, browser-based, client by peforming remote calls only when there is no way to achieve the same effect in the browser. Pseudo-Threading Use a timer and a w...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, DHTML, Javascript, Optimisation, Optimization, Performance, Podcast, Software, Tutorial, Web, Web2.0 The fourth and final podcast in this series of Ajax Programming Patterns. As always, the patterns are online at AjaxPatterns.org and covered in the book too, now available at Amazon. This 33-minute podcast covers seven patterns of Performance Optimisation: Browser-Side Cache Maintain a local cache of information. Guesstimate Instead of grabbing real data from the server, make a guesstimate that&amp;#8217;s good enough for most user&amp;#8217;s needs. ITunes Download Counter, GMail Storage Counter. Multi-Stage Download Quickly download the page structure with a standard request, then populate it with further requests. Predictive Fetch Anticipate likely user actions and pre-load the required data. Fat Client Create a rich, browser-based, client by peforming remote calls only when there is no way to achieve the same effect in the browser. Pseudo-Threading Use a timer and a worker queue to process jobs without the blocking application flow. Code Compression Compress code on the server, preferably not on the fly. (Note that the last two are recent additions to the wiki and just stubs at this stage.) Okay, here endeth the series. I will soon be starting up a new series on the next group of patterns (Part 5 in the book): Functionality and Usability Patterns. There will be a change in the format, one I hope you&amp;#8217;ll enjoy! Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, DHTML, Javascript, Optimisation, Optimization, Performance, Podcast, Software, Tutorial, Web, Web2.0 The fourth and final podcast in this series of Ajax Programming Patterns. As always, the patterns are online at AjaxPatterns.org and covered in the book too, now available at Amazon. This 33-minute podcast covers seven patterns of Performance Optimisation: Browser-Side Cache Maintain a local cache of information. Guesstimate Instead of grabbing real data from the server, make a guesstimate that&amp;#8217;s good enough for most user&amp;#8217;s needs. ITunes Download Counter, GMail Storage Counter. Multi-Stage Download Quickly download the page structure with a standard request, then populate it with further requests. Predictive Fetch Anticipate likely user actions and pre-load the required data. Fat Client Create a rich, browser-based, client by peforming remote calls only when there is no way to achieve the same effect in the browser. Pseudo-Threading Use a timer and a worker queue to process jobs without the blocking application flow. Code Compression Compress code on the server, preferably not on the fly. (Note that the last two are recent additions to the wiki and just stubs at this stage.) Okay, here endeth the series. I will soon be starting up a new series on the next group of patterns (Part 5 in the book): Functionality and Usability Patterns. There will be a change in the format, one I hope you&amp;#8217;ll enjoy! Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-07-08,22009320</guid>
      <pubDate>Sat, 08 Jul 2006 00:40:33 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDAjaxProgrammingPatterns4of4PerfOptimisation.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns - Podcast 3 of 4: &#8220;DOM Population&#8221; and &#8220;Code Generation and Reuse&#8221; Patterns</title>
      <link>http://www.odeo.com/episodes/22422854-Ajax-Programming-Patterns-Podcast-3-of-4-%E2%80%9CDOM-Population%E2%80%9D-and-%E2%80%9CCode-Generation-and-Reuse%E2%80%9D-Patterns</link>
      <description>The third podcast in this series of Ajax Programming Patterns. The 29-minute podcast covers five patterns. As with the previous podcast, there is reason for concern about the audio quality herein. Firstly, three patterns on DOM population - taking server response data and displaying it or storing it in the DOM: XML Data Island Retain XML responses as &amp;#8220;XML Data Islands&amp;#8221;, nodes within the HTML DOM. Browser-Side XSLT Apply XSLT to convert XML Messages into XHTML. Browser-Side Templating Produce browser-side templates and call on a suitable browser-side framework to render them as HTML. The second group of patterns (representing a different chapter in the Ajax Design Patterns book) are a couple of generic Javascript patterns to make the code more maintainable and portable: Server-Side Code Generation Automatically generate HTML and Javascript from server-side code. Cross-Browser Component Create cross-browser components, allowing programmers to reuse them without regard for ...</description>
      <itunes:subtitle>The third podcast in this series of Ajax Programming Patterns. The 29-minute podcast covers five patterns. As with the previous podcast, there is reason for concern about the audio quality herein. Firstly, three patterns on DOM population - taking server response data and displaying it or storing it in the DOM: XML Data Island Retain XML responses as &amp;#8220;XML Data Islands&amp;#8221;, nodes within the HTML DOM. Browser-Side XSLT Apply XSLT to convert XML Messages into XHTML. Browser-Side Templating Produce browser-side templates and call on a suitable browser-side framework to render them as HTML. The second group of patterns (representing a different chapter in the Ajax Design Patterns book) are a couple of generic Javascript patterns to make the code more maintainable and portable: Server-Side Code Generation Automatically generate HTML and Javascript from server-side code. Cross-Browser Component Create cross-browser components, allowing programmers to reuse them without regard for browser compatibility. Download Standard Podcast</itunes:subtitle>
      <itunes:summary>The third podcast in this series of Ajax Programming Patterns. The 29-minute podcast covers five patterns. As with the previous podcast, there is reason for concern about the audio quality herein. Firstly, three patterns on DOM population - taking server response data and displaying it or storing it in the DOM: XML Data Island Retain XML responses as &amp;#8220;XML Data Islands&amp;#8221;, nodes within the HTML DOM. Browser-Side XSLT Apply XSLT to convert XML Messages into XHTML. Browser-Side Templating Produce browser-side templates and call on a suitable browser-side framework to render them as HTML. The second group of patterns (representing a different chapter in the Ajax Design Patterns book) are a couple of generic Javascript patterns to make the code more maintainable and portable: Server-Side Code Generation Automatically generate HTML and Javascript from server-side code. Cross-Browser Component Create cross-browser components, allowing programmers to reuse them without regard for browser compatibility. Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-06-25,22422854</guid>
      <pubDate>Sun, 25 Jun 2006 10:04:44 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxProgrammingPatterns3of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, web, tutorial, SoftwareDev, Software, javascript, Portable, web2.0, links, xml, dom, AjaxPatterns, DHTML, XSLT, Cross-Browser, Maintainable, Data Island</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns &#8211; Podcast 3 of 4: &#8220;DOM Population&#8221; and &#8220;Code Generation and Reuse&#8221; Patterns</title>
      <link>http://www.odeo.com/episodes/24911583-Ajax-Programming-Patterns-%E2%80%93-Podcast-3-of-4-%E2%80%9CDOM-Population%E2%80%9D-and-%E2%80%9CCode-Generation-and-Reuse%E2%80%9D-Patterns</link>
      <description>The third podcast in this series of Ajax Programming Patterns. The 29-minute podcast covers five patterns. As with the previous podcast, there is reason for concern about the audio quality herein. Firstly, three patterns on DOM population &amp;#8211; taking server response data and displaying it or storing it in the DOM: XML Data Island Retain XML responses as &amp;#8220;XML Data Islands&amp;#8221;, nodes within the HTML DOM. Browser-Side XSLT Apply XSLT to convert XML Messages into XHTML. Browser-Side Templating Produce browser-side templates and call on a suitable browser-side framework to render them as HTML. The second group of patterns (representing a different chapter in the Ajax Design Patterns book) are a couple of generic Javascript patterns to make the code more maintainable and portable: Server-Side Code Generation Automatically generate HTML and Javascript from server-side code. Cross-Browser Component Create cross-browser components, allowing programmers to reuse them without regar...</description>
      <itunes:subtitle>The third podcast in this series of Ajax Programming Patterns. The 29-minute podcast covers five patterns. As with the previous podcast, there is reason for concern about the audio quality herein. Firstly, three patterns on DOM population &amp;#8211; taking server response data and displaying it or storing it in the DOM: XML Data Island Retain XML responses as &amp;#8220;XML Data Islands&amp;#8221;, nodes within the HTML DOM. Browser-Side XSLT Apply XSLT to convert XML Messages into XHTML. Browser-Side Templating Produce browser-side templates and call on a suitable browser-side framework to render them as HTML. The second group of patterns (representing a different chapter in the Ajax Design Patterns book) are a couple of generic Javascript patterns to make the code more maintainable and portable: Server-Side Code Generation Automatically generate HTML and Javascript from server-side code. Cross-Browser Component Create cross-browser components, allowing programmers to reuse them without regard for browser compatibility. Download Standard Podcast</itunes:subtitle>
      <itunes:summary>The third podcast in this series of Ajax Programming Patterns. The 29-minute podcast covers five patterns. As with the previous podcast, there is reason for concern about the audio quality herein. Firstly, three patterns on DOM population &amp;#8211; taking server response data and displaying it or storing it in the DOM: XML Data Island Retain XML responses as &amp;#8220;XML Data Islands&amp;#8221;, nodes within the HTML DOM. Browser-Side XSLT Apply XSLT to convert XML Messages into XHTML. Browser-Side Templating Produce browser-side templates and call on a suitable browser-side framework to render them as HTML. The second group of patterns (representing a different chapter in the Ajax Design Patterns book) are a couple of generic Javascript patterns to make the code more maintainable and portable: Server-Side Code Generation Automatically generate HTML and Javascript from server-side code. Cross-Browser Component Create cross-browser components, allowing programmers to reuse them without regard for browser compatibility. Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-06-25,24911583</guid>
      <pubDate>Sun, 25 Jun 2006 10:04:44 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://softwareas.com/podcast/SASDAjaxProgrammingPatterns3of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, web, tutorial, SoftwareDev, Software, javascript, Portable, web2.0, links, xml, dom, AjaxPatterns, DHTML, XSLT, Cross-Browser, Maintainable, Data Island</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns - Podcast 3 of 4: &#8220;DOM Population&#8221; and &#8220;Code Generation and Reuse&#8221; Patterns</title>
      <link>http://www.odeo.com/episodes/22009334-Ajax-Programming-Patterns-Podcast-3-of-4-%E2%80%9CDOM-Population%E2%80%9D-and-%E2%80%9CCode-Generation-and-Reuse%E2%80%9D-Patterns</link>
      <description>Ajax, AjaxPatterns, Cross-Browser, CrossBrowser, DataIsland, DHTML, DOM, Javascript, Maintainable, Podcast, Portable, Software, Tutorial, Web, Web2.0, XML, XSLT The third podcast in this series of Ajax Programming Patterns. The 29-minute podcast covers five patterns. As with the previous podcast, there is reason for concern about the audio quality herein. Firstly, three patterns on DOM population - taking server response data and displaying it or storing it in the DOM: XML Data Island Retain XML responses as &amp;#8220;XML Data Islands&amp;#8221;, nodes within the HTML DOM. Browser-Side XSLT Apply XSLT to convert XML Messages into XHTML. Browser-Side Templating Produce browser-side templates and call on a suitable browser-side framework to render them as HTML. The second group of patterns (representing a different chapter in the Ajax Design Patterns book) are a couple of generic Javascript patterns to make the code more maintainable and portable: Server-Side Code Generation Automatically ge...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, Cross-Browser, CrossBrowser, DataIsland, DHTML, DOM, Javascript, Maintainable, Podcast, Portable, Software, Tutorial, Web, Web2.0, XML, XSLT The third podcast in this series of Ajax Programming Patterns. The 29-minute podcast covers five patterns. As with the previous podcast, there is reason for concern about the audio quality herein. Firstly, three patterns on DOM population - taking server response data and displaying it or storing it in the DOM: XML Data Island Retain XML responses as &amp;#8220;XML Data Islands&amp;#8221;, nodes within the HTML DOM. Browser-Side XSLT Apply XSLT to convert XML Messages into XHTML. Browser-Side Templating Produce browser-side templates and call on a suitable browser-side framework to render them as HTML. The second group of patterns (representing a different chapter in the Ajax Design Patterns book) are a couple of generic Javascript patterns to make the code more maintainable and portable: Server-Side Code Generation Automatically generate HTML and Javascript from server-side code. Cross-Browser Component Create cross-browser components, allowing programmers to reuse them without regard for browser compatibility. Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, Cross-Browser, CrossBrowser, DataIsland, DHTML, DOM, Javascript, Maintainable, Podcast, Portable, Software, Tutorial, Web, Web2.0, XML, XSLT The third podcast in this series of Ajax Programming Patterns. The 29-minute podcast covers five patterns. As with the previous podcast, there is reason for concern about the audio quality herein. Firstly, three patterns on DOM population - taking server response data and displaying it or storing it in the DOM: XML Data Island Retain XML responses as &amp;#8220;XML Data Islands&amp;#8221;, nodes within the HTML DOM. Browser-Side XSLT Apply XSLT to convert XML Messages into XHTML. Browser-Side Templating Produce browser-side templates and call on a suitable browser-side framework to render them as HTML. The second group of patterns (representing a different chapter in the Ajax Design Patterns book) are a couple of generic Javascript patterns to make the code more maintainable and portable: Server-Side Code Generation Automatically generate HTML and Javascript from server-side code. Cross-Browser Component Create cross-browser components, allowing programmers to reuse them without regard for browser compatibility. Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-06-25,22009334</guid>
      <pubDate>Sun, 25 Jun 2006 10:04:44 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://libsyn.com/media/mahemoff/SASDAjaxProgrammingPatterns3of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns - Podcast 2 of 4: Browser-Server Dialogue Patterns</title>
      <link>http://www.odeo.com/episodes/22009349-Ajax-Programming-Patterns-Podcast-2-of-4-Browser-Server-Dialogue-Patterns</link>
      <description>Ajax, AjaxPatterns, Cross-Domain, CrossDomain, DHTML, Javascript, Polling, Podcast, Proxy, Throttling, Software, Tutorial, Web, Web2.0, XML Continuing from the previous podcast (*cough* 12 weeks ago), more programming patterns. Unfortunately, this recording (and the next one) went pear-shaped. Sorry. I do, however, recommend them to those of you who&amp;#8217;ve been wondering what an Ajax talk would have sounded like in crackly 1930s recording technology, and one in which the speaker has a severe cold. FYI The level was too low and it didn&amp;#8217;t correct very well&amp;#8230;maybe one day, I&amp;#8217;ll re-record, but for now I&amp;#8217;d prefer to just get them out there as they have been sitting in the libsyn archive for many weeks. The 40-minute podcast covers the following patterns: Call Tracking Accommodate busy user behaviour by allocating a new XMLHttpRequest object for each request. See Richard Schwartz&amp;#8217;s blog entry.Note: Pending some rewrite to take into account request-locking et...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, Cross-Domain, CrossDomain, DHTML, Javascript, Polling, Podcast, Proxy, Throttling, Software, Tutorial, Web, Web2.0, XML Continuing from the previous podcast (*cough* 12 weeks ago), more programming patterns. Unfortunately, this recording (and the next one) went pear-shaped. Sorry. I do, however, recommend them to those of you who&amp;#8217;ve been wondering what an Ajax talk would have sounded like in crackly 1930s recording technology, and one in which the speaker has a severe cold. FYI The level was too low and it didn&amp;#8217;t correct very well&amp;#8230;maybe one day, I&amp;#8217;ll re-record, but for now I&amp;#8217;d prefer to just get them out there as they have been sitting in the libsyn archive for many weeks. The 40-minute podcast covers the following patterns: Call Tracking Accommodate busy user behaviour by allocating a new XMLHttpRequest object for each request. See Richard Schwartz&amp;#8217;s blog entry.Note: Pending some rewrite to take into account request-locking etc. Periodic Refresh The browser refreshs volatile information by periodically polling the server. Submission Throttling Instead of submitting upon each Javascript event, retain the data in a local buffer and upload it periodically. Explicit Submission Instead of submitting upon each Javascript event, require the user to explicitly request it, e.g. submit upon clicking a button. Distributed Events Keep objects synchronised with an event mechanism. Cross-Domain Proxy Allow the browser to communicate with other domains by server-based mediation. This podcast covers six patterns on Browser-Server Dialogue: Call Tracking, Periodic Refresh, Submission Throttling, Explicit Submission, Distributed Events, Thanks for your feedback since last time. Good, bad, or ugly, it&amp;#8217;s all welcome - in the comments for this podcast or michael@mahemoff.com. Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, Cross-Domain, CrossDomain, DHTML, Javascript, Polling, Podcast, Proxy, Throttling, Software, Tutorial, Web, Web2.0, XML Continuing from the previous podcast (*cough* 12 weeks ago), more programming patterns. Unfortunately, this recording (and the next one) went pear-shaped. Sorry. I do, however, recommend them to those of you who&amp;#8217;ve been wondering what an Ajax talk would have sounded like in crackly 1930s recording technology, and one in which the speaker has a severe cold. FYI The level was too low and it didn&amp;#8217;t correct very well&amp;#8230;maybe one day, I&amp;#8217;ll re-record, but for now I&amp;#8217;d prefer to just get them out there as they have been sitting in the libsyn archive for many weeks. The 40-minute podcast covers the following patterns: Call Tracking Accommodate busy user behaviour by allocating a new XMLHttpRequest object for each request. See Richard Schwartz&amp;#8217;s blog entry.Note: Pending some rewrite to take into account request-locking etc. Periodic Refresh The browser refreshs volatile information by periodically polling the server. Submission Throttling Instead of submitting upon each Javascript event, retain the data in a local buffer and upload it periodically. Explicit Submission Instead of submitting upon each Javascript event, require the user to explicitly request it, e.g. submit upon clicking a button. Distributed Events Keep objects synchronised with an event mechanism. Cross-Domain Proxy Allow the browser to communicate with other domains by server-based mediation. This podcast covers six patterns on Browser-Server Dialogue: Call Tracking, Periodic Refresh, Submission Throttling, Explicit Submission, Distributed Events, Thanks for your feedback since last time. Good, bad, or ugly, it&amp;#8217;s all welcome - in the comments for this podcast or michael@mahemoff.com. Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-06-20,22009349</guid>
      <pubDate>Tue, 20 Jun 2006 08:52:07 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDAjaxProgrammingPatterns2of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns - Podcast 2 of 4: Browser-Server Dialogue Patterns</title>
      <link>http://www.odeo.com/episodes/22422855-Ajax-Programming-Patterns-Podcast-2-of-4-Browser-Server-Dialogue-Patterns</link>
      <description>Continuing from the previous podcast (*cough* 12 weeks ago), more programming patterns. Unfortunately, this recording (and the next one) went pear-shaped. Sorry. I do, however, recommend them to those of you who&amp;#8217;ve been wondering what an Ajax talk would have sounded like in crackly 1930s recording technology, and one in which the speaker has a severe cold. FYI The level was too low and it didn&amp;#8217;t correct very well&amp;#8230;maybe one day, I&amp;#8217;ll re-record, but for now I&amp;#8217;d prefer to just get them out there as they have been sitting in the libsyn archive for many weeks. The 40-minute podcast covers the following patterns: Call Tracking Accommodate busy user behaviour by allocating a new XMLHttpRequest object for each request. See Richard Schwartz&amp;#8217;s blog entry.Note: Pending some rewrite to take into account request-locking etc. Periodic Refresh The browser refreshs volatile information by periodically polling the server. Submission Throttling Instead of submittin...</description>
      <itunes:subtitle>Continuing from the previous podcast (*cough* 12 weeks ago), more programming patterns. Unfortunately, this recording (and the next one) went pear-shaped. Sorry. I do, however, recommend them to those of you who&amp;#8217;ve been wondering what an Ajax talk would have sounded like in crackly 1930s recording technology, and one in which the speaker has a severe cold. FYI The level was too low and it didn&amp;#8217;t correct very well&amp;#8230;maybe one day, I&amp;#8217;ll re-record, but for now I&amp;#8217;d prefer to just get them out there as they have been sitting in the libsyn archive for many weeks. The 40-minute podcast covers the following patterns: Call Tracking Accommodate busy user behaviour by allocating a new XMLHttpRequest object for each request. See Richard Schwartz&amp;#8217;s blog entry.Note: Pending some rewrite to take into account request-locking etc. Periodic Refresh The browser refreshs volatile information by periodically polling the server. Submission Throttling Instead of submitting upon each Javascript event, retain the data in a local buffer and upload it periodically. Explicit Submission Instead of submitting upon each Javascript event, require the user to explicitly request it, e.g. submit upon clicking a button. Distributed Events Keep objects synchronised with an event mechanism. Cross-Domain Proxy Allow the browser to communicate with other domains by server-based mediation. This podcast covers six patterns on Browser-Server Dialogue: Call Tracking, Periodic Refresh, Submission Throttling, Explicit Submission, Distributed Events, Thanks for your feedback since last time. Good, bad, or ugly, it&amp;#8217;s all welcome - in the comments for this podcast or michael@mahemoff.com. Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Continuing from the previous podcast (*cough* 12 weeks ago), more programming patterns. Unfortunately, this recording (and the next one) went pear-shaped. Sorry. I do, however, recommend them to those of you who&amp;#8217;ve been wondering what an Ajax talk would have sounded like in crackly 1930s recording technology, and one in which the speaker has a severe cold. FYI The level was too low and it didn&amp;#8217;t correct very well&amp;#8230;maybe one day, I&amp;#8217;ll re-record, but for now I&amp;#8217;d prefer to just get them out there as they have been sitting in the libsyn archive for many weeks. The 40-minute podcast covers the following patterns: Call Tracking Accommodate busy user behaviour by allocating a new XMLHttpRequest object for each request. See Richard Schwartz&amp;#8217;s blog entry.Note: Pending some rewrite to take into account request-locking etc. Periodic Refresh The browser refreshs volatile information by periodically polling the server. Submission Throttling Instead of submitting upon each Javascript event, retain the data in a local buffer and upload it periodically. Explicit Submission Instead of submitting upon each Javascript event, require the user to explicitly request it, e.g. submit upon clicking a button. Distributed Events Keep objects synchronised with an event mechanism. Cross-Domain Proxy Allow the browser to communicate with other domains by server-based mediation. This podcast covers six patterns on Browser-Server Dialogue: Call Tracking, Periodic Refresh, Submission Throttling, Explicit Submission, Distributed Events, Thanks for your feedback since last time. Good, bad, or ugly, it&amp;#8217;s all welcome - in the comments for this podcast or michael@mahemoff.com. Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-06-20,22422855</guid>
      <pubDate>Tue, 20 Jun 2006 08:52:07 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://www.softwareas.com/podcast/SASDAjaxProgrammingPatterns2of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, web, tutorial, SoftwareDev, Software, proxy, javascript, web2.0, links, xml, AjaxPatterns, DHTML, Polling, Cross-Domain, Throttling</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns &#8211; Podcast 2 of 4: Browser-Server Dialogue Patterns</title>
      <link>http://www.odeo.com/episodes/24911584-Ajax-Programming-Patterns-%E2%80%93-Podcast-2-of-4-Browser-Server-Dialogue-Patterns</link>
      <description>Continuing from the previous podcast (*cough* 12 weeks ago), more programming patterns. Unfortunately, this recording (and the next one) went pear-shaped. Sorry. I do, however, recommend them to those of you who&amp;#8217;ve been wondering what an Ajax talk would have sounded like in crackly 1930s recording technology, and one in which the speaker has a severe cold. FYI The level was too low and it didn&amp;#8217;t correct very well&amp;#8230;maybe one day, I&amp;#8217;ll re-record, but for now I&amp;#8217;d prefer to just get them out there as they have been sitting in the libsyn archive for many weeks. The 40-minute podcast covers the following patterns: Call Tracking Accommodate busy user behaviour by allocating a new XMLHttpRequest object for each request. See Richard Schwartz&amp;#8217;s blog entry.Note: Pending some rewrite to take into account request-locking etc. Periodic Refresh The browser refreshs volatile information by periodically polling the server. Submission Throttling Instead of submittin...</description>
      <itunes:subtitle>Continuing from the previous podcast (*cough* 12 weeks ago), more programming patterns. Unfortunately, this recording (and the next one) went pear-shaped. Sorry. I do, however, recommend them to those of you who&amp;#8217;ve been wondering what an Ajax talk would have sounded like in crackly 1930s recording technology, and one in which the speaker has a severe cold. FYI The level was too low and it didn&amp;#8217;t correct very well&amp;#8230;maybe one day, I&amp;#8217;ll re-record, but for now I&amp;#8217;d prefer to just get them out there as they have been sitting in the libsyn archive for many weeks. The 40-minute podcast covers the following patterns: Call Tracking Accommodate busy user behaviour by allocating a new XMLHttpRequest object for each request. See Richard Schwartz&amp;#8217;s blog entry.Note: Pending some rewrite to take into account request-locking etc. Periodic Refresh The browser refreshs volatile information by periodically polling the server. Submission Throttling Instead of submitting upon each Javascript event, retain the data in a local buffer and upload it periodically. Explicit Submission Instead of submitting upon each Javascript event, require the user to explicitly request it, e.g. submit upon clicking a button. Distributed Events Keep objects synchronised with an event mechanism. Cross-Domain Proxy Allow the browser to communicate with other domains by server-based mediation. This podcast covers six patterns on Browser-Server Dialogue: Call Tracking, Periodic Refresh, Submission Throttling, Explicit Submission, Distributed Events, Thanks for your feedback since last time. Good, bad, or ugly, it&amp;#8217;s all welcome &amp;#8211; in the comments for this podcast or michael@mahemoff.com. Download Standard Podcast</itunes:subtitle>
      <itunes:summary>Continuing from the previous podcast (*cough* 12 weeks ago), more programming patterns. Unfortunately, this recording (and the next one) went pear-shaped. Sorry. I do, however, recommend them to those of you who&amp;#8217;ve been wondering what an Ajax talk would have sounded like in crackly 1930s recording technology, and one in which the speaker has a severe cold. FYI The level was too low and it didn&amp;#8217;t correct very well&amp;#8230;maybe one day, I&amp;#8217;ll re-record, but for now I&amp;#8217;d prefer to just get them out there as they have been sitting in the libsyn archive for many weeks. The 40-minute podcast covers the following patterns: Call Tracking Accommodate busy user behaviour by allocating a new XMLHttpRequest object for each request. See Richard Schwartz&amp;#8217;s blog entry.Note: Pending some rewrite to take into account request-locking etc. Periodic Refresh The browser refreshs volatile information by periodically polling the server. Submission Throttling Instead of submitting upon each Javascript event, retain the data in a local buffer and upload it periodically. Explicit Submission Instead of submitting upon each Javascript event, require the user to explicitly request it, e.g. submit upon clicking a button. Distributed Events Keep objects synchronised with an event mechanism. Cross-Domain Proxy Allow the browser to communicate with other domains by server-based mediation. This podcast covers six patterns on Browser-Server Dialogue: Call Tracking, Periodic Refresh, Submission Throttling, Explicit Submission, Distributed Events, Thanks for your feedback since last time. Good, bad, or ugly, it&amp;#8217;s all welcome &amp;#8211; in the comments for this podcast or michael@mahemoff.com. Download Standard Podcast</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-06-20,24911584</guid>
      <pubDate>Tue, 20 Jun 2006 08:52:07 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://www.softwareas.com/podcast/SASDAjaxProgrammingPatterns2of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, web, tutorial, SoftwareDev, Software, proxy, javascript, web2.0, links, xml, AjaxPatterns, DHTML, Polling, Cross-Domain, Throttling</itunes:keywords>
    </item>
    <item>
      <title>Ajax Programming Patterns - Podcast 1 of 4: Web Service Patterns</title>
      <link>http://www.odeo.com/episodes/22122526-Ajax-Programming-Patterns-Podcast-1-of-4-Web-Service-Patterns</link>
      <description>Ajax, AjaxPatterns, DHTML, Javascript, JSON, Podcast, REST, RPC, Software, SOAP, Tutorial, Web, WebServices, Web2.0, XML Whereupon a new podcast series begins &amp;#8230; As promised, a new series of Ajax pattern podcasts. This is the first of four podcasts on the Ajax programming patterns. In this 73 minute podcast, we look at the seven patterns of web services as they relate to Ajax clients. RPC Service Expose web services as Remote Procedural Calls (RPCs). (Note: In the book and wiki, REST appears before RPC.) (6:55) RESTful Service Expose web services according to RESTful principles. (13:25 ) HTML Response Have the server generate HTML snippets to be displayed in the browser. (44:45) Semantic Response Have the server respond with abstract, semantic, data. (49:00) Plain-Text Message Pass simple messages between server and browser in plain-text format. (56:05) XML Message Pass messages between server and browser in XML format. (57:20) JSON Message Pass messages between server and brow...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, DHTML, Javascript, JSON, Podcast, REST, RPC, Software, SOAP, Tutorial, Web, WebServices, Web2.0, XML Whereupon a new podcast series begins &amp;#8230; As promised, a new series of Ajax pattern podcasts. This is the first of four podcasts on the Ajax programming patterns. In this 73 minute podcast, we look at the seven patterns of web services as they relate to Ajax clients. RPC Service Expose web services as Remote Procedural Calls (RPCs). (Note: In the book and wiki, REST appears before RPC.) (6:55) RESTful Service Expose web services according to RESTful principles. (13:25 ) HTML Response Have the server generate HTML snippets to be displayed in the browser. (44:45) Semantic Response Have the server respond with abstract, semantic, data. (49:00) Plain-Text Message Pass simple messages between server and browser in plain-text format. (56:05) XML Message Pass messages between server and browser in XML format. (57:20) JSON Message Pass messages between server and browser in Javascript Object Notation (JSON) format. (59:55) Thanks for your feedback since last time. Good, bad, or ugly, it&amp;#8217;s all welcome - in the comments for this podcast or michael@mahemoff.com.</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, DHTML, Javascript, JSON, Podcast, REST, RPC, Software, SOAP, Tutorial, Web, WebServices, Web2.0, XML Whereupon a new podcast series begins &amp;#8230; As promised, a new series of Ajax pattern podcasts. This is the first of four podcasts on the Ajax programming patterns. In this 73 minute podcast, we look at the seven patterns of web services as they relate to Ajax clients. RPC Service Expose web services as Remote Procedural Calls (RPCs). (Note: In the book and wiki, REST appears before RPC.) (6:55) RESTful Service Expose web services according to RESTful principles. (13:25 ) HTML Response Have the server generate HTML snippets to be displayed in the browser. (44:45) Semantic Response Have the server respond with abstract, semantic, data. (49:00) Plain-Text Message Pass simple messages between server and browser in plain-text format. (56:05) XML Message Pass messages between server and browser in XML format. (57:20) JSON Message Pass messages between server and browser in Javascript Object Notation (JSON) format. (59:55) Thanks for your feedback since last time. Good, bad, or ugly, it&amp;#8217;s all welcome - in the comments for this podcast or michael@mahemoff.com.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-03-31,22122526</guid>
      <pubDate>Fri, 31 Mar 2006 10:30:57 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://media.libsyn.com/media/mahemoff/SASDAjaxProgrammingPatterns1of4-WebServices.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Comet: It&#8217;s Ajax for &#8220;Push&#8221; (Podcast)</title>
      <link>http://www.odeo.com/episodes/22122527-Comet-It%E2%80%99s-Ajax-for-%E2%80%9CPush%E2%80%9D-Podcast</link>
      <description>Ajax, AjaxPatterns, Comet, DHTML, HTTP, Javascript, Podcast, Push, Pushlet, Streaming Here&amp;#8217;s a podcast about Comet - exploring the two-way web with Ajax. From my Ajaxian post earlier today: Alex Russell has coined a term for a flavour of Ajax that&amp;#8217;s been getting more attention of late. Comet describes applications where the server keeps pushing - or streaming - data to the client, instead of having the browser keep polling the server for fresh content. Alex identifies several buzzworthy examples: GMail&amp;#8217;s GTalk integration Jot Live Renkoo cgi:irc Meebo This is an important article because it captures a growing trend in Ajax, a trend I had in mind when I said we expect to hear more about &amp;#8220;Push and the Two-Way Web&amp;#8221; in the next twelve months, on the occasion of Ajax&amp;#8217;s birthday. There will, of course, be people saying &amp;#8220;there&amp;#8217;s nothing new here&amp;#8221;, and that&amp;#8217;s presumably all too obvious to Alex himself, who has worked with these ide...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, Comet, DHTML, HTTP, Javascript, Podcast, Push, Pushlet, Streaming Here&amp;#8217;s a podcast about Comet - exploring the two-way web with Ajax. From my Ajaxian post earlier today: Alex Russell has coined a term for a flavour of Ajax that&amp;#8217;s been getting more attention of late. Comet describes applications where the server keeps pushing - or streaming - data to the client, instead of having the browser keep polling the server for fresh content. Alex identifies several buzzworthy examples: GMail&amp;#8217;s GTalk integration Jot Live Renkoo cgi:irc Meebo This is an important article because it captures a growing trend in Ajax, a trend I had in mind when I said we expect to hear more about &amp;#8220;Push and the Two-Way Web&amp;#8221; in the next twelve months, on the occasion of Ajax&amp;#8217;s birthday. There will, of course, be people saying &amp;#8220;there&amp;#8217;s nothing new here&amp;#8221;, and that&amp;#8217;s presumably all too obvious to Alex himself, who has worked with these ideas for a long time. But as with Ajax, it&amp;#8217;s the power of a name. I don&amp;#8217;t think these ideas can adequately be described as Ajax, because Ajax changes a lot about the browser whereas Comet fundamentally changes the nature of browser-server communication. I see Comet as part of the overall Ajax trend, complementary to the UI aspects of Ajax. People may also say there are existing names like &amp;#8220;Push&amp;#8221;. True, but they have baggage - I think it&amp;#8217;s useful to have a name for this architectural pattern in light of the relationship to Ajax. Anyways, I wanted to expand on some of the thoughts in the article and after the recent Basics of Ajax Podcast, I&amp;#8217;m in the mood for more audio rambling. So here&amp;#8217;s a 56-minute discussion about Comet and the general trend of push and streaming within Ajax. Shownotes&amp;#8230; It's the Duplex, Stupid! Push or Pull - it doesn't matter so much. What's critical here is the focus on the two-way web. Applications - Chat - Wiki - News - Current events, sport, financials, etc - Trading and Auctions - Real-time control and logistics - File transfer (combine with local storage) - Any other genre you'd care to name Vanilla Ajax: Await the User Comet Ajax: Keep Pushing Polling Ajax: Keep Pulling Benefits of Comet - Responsive: data pumped out immediately - More stable profile - Less overhead of establishing connections Benefits of Polling - Browser memory - Can run on any standard server; Comet requires suitable server - Can upload at the same time - Can run on - with Comet, XHR and IFrame won't always reflect changes while the connection's open - Being more standard, works with existing infrastructure. Comet is vulnerable to middle-men dropping the connection. - Simpler architecture - only the browser's in control - Easier to test - More familiar architecture - Less programming effort - with Comet, must watch for changes on the stream - More efficient for infrequently accessed data - Leverages caching Maybe Comet causes more pain, but if it keeps the user happy ... Questions and Trends - Which to use. Variables include: frequency of updates, importance of updates, server capabilities, target browsers - Dealing with incoming messages, e.g. Distributed Events pattern, Event bus (browser or server?), etc - Workarounds for throbber, status bar, clicking sound, etc. - How often to drop connections - How browsers can accommodate it Proof-Of-Concept Demos - Wiki using Periodic Refresh/Polling - Wiki using HTTP Streauh, Comet (Actually, this is only a very basi implementation - there&amp;#8217;s no use of events, just custom handling of HTTP. Related Patterns - HTTP Streaming - Periodic Refresh (aka Polling) - Distributed Events As always, feedback is welcome - michael@mahemoff.com</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, Comet, DHTML, HTTP, Javascript, Podcast, Push, Pushlet, Streaming Here&amp;#8217;s a podcast about Comet - exploring the two-way web with Ajax. From my Ajaxian post earlier today: Alex Russell has coined a term for a flavour of Ajax that&amp;#8217;s been getting more attention of late. Comet describes applications where the server keeps pushing - or streaming - data to the client, instead of having the browser keep polling the server for fresh content. Alex identifies several buzzworthy examples: GMail&amp;#8217;s GTalk integration Jot Live Renkoo cgi:irc Meebo This is an important article because it captures a growing trend in Ajax, a trend I had in mind when I said we expect to hear more about &amp;#8220;Push and the Two-Way Web&amp;#8221; in the next twelve months, on the occasion of Ajax&amp;#8217;s birthday. There will, of course, be people saying &amp;#8220;there&amp;#8217;s nothing new here&amp;#8221;, and that&amp;#8217;s presumably all too obvious to Alex himself, who has worked with these ideas for a long time. But as with Ajax, it&amp;#8217;s the power of a name. I don&amp;#8217;t think these ideas can adequately be described as Ajax, because Ajax changes a lot about the browser whereas Comet fundamentally changes the nature of browser-server communication. I see Comet as part of the overall Ajax trend, complementary to the UI aspects of Ajax. People may also say there are existing names like &amp;#8220;Push&amp;#8221;. True, but they have baggage - I think it&amp;#8217;s useful to have a name for this architectural pattern in light of the relationship to Ajax. Anyways, I wanted to expand on some of the thoughts in the article and after the recent Basics of Ajax Podcast, I&amp;#8217;m in the mood for more audio rambling. So here&amp;#8217;s a 56-minute discussion about Comet and the general trend of push and streaming within Ajax. Shownotes&amp;#8230; It's the Duplex, Stupid! Push or Pull - it doesn't matter so much. What's critical here is the focus on the two-way web. Applications - Chat - Wiki - News - Current events, sport, financials, etc - Trading and Auctions - Real-time control and logistics - File transfer (combine with local storage) - Any other genre you'd care to name Vanilla Ajax: Await the User Comet Ajax: Keep Pushing Polling Ajax: Keep Pulling Benefits of Comet - Responsive: data pumped out immediately - More stable profile - Less overhead of establishing connections Benefits of Polling - Browser memory - Can run on any standard server; Comet requires suitable server - Can upload at the same time - Can run on - with Comet, XHR and IFrame won't always reflect changes while the connection's open - Being more standard, works with existing infrastructure. Comet is vulnerable to middle-men dropping the connection. - Simpler architecture - only the browser's in control - Easier to test - More familiar architecture - Less programming effort - with Comet, must watch for changes on the stream - More efficient for infrequently accessed data - Leverages caching Maybe Comet causes more pain, but if it keeps the user happy ... Questions and Trends - Which to use. Variables include: frequency of updates, importance of updates, server capabilities, target browsers - Dealing with incoming messages, e.g. Distributed Events pattern, Event bus (browser or server?), etc - Workarounds for throbber, status bar, clicking sound, etc. - How often to drop connections - How browsers can accommodate it Proof-Of-Concept Demos - Wiki using Periodic Refresh/Polling - Wiki using HTTP Streauh, Comet (Actually, this is only a very basi implementation - there&amp;#8217;s no use of events, just custom handling of HTTP. Related Patterns - HTTP Streaming - Periodic Refresh (aka Polling) - Distributed Events As always, feedback is welcome - michael@mahemoff.com</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-03-05,22122527</guid>
      <pubDate>Sun, 05 Mar 2006 00:04:29 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/SASDCometItsAjaxForPush.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, HumansAndTech, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Basics of Ajax 3 of 3: Events and Much More (Podcast)</title>
      <link>http://www.odeo.com/episodes/22122528-Basics-of-Ajax-3-of-3-Events-and-Much-More-Podcast</link>
      <description>Ajax, AjaxPatterns, CrossDomain, DHTML, Javascript, Podcast, Software, Tutorial, Web, Web2.0 Ajax Basics 3 of 3 This is the final of three podcasts on the basic Ajax patterns. Podcast 1: Display Patterns and the DOM. Podcast 2: Web Remoting - XMLHttpRequest, IFrame Call, HTTP Streaming. Podcast 3: Dynamic Behaviour - User Actions (Events), Timing, Ajax App, Web Service, On-Demand Javascript, Richer Plugin Podcast 3: User Actions (Events), Timing, Ajax App, Web Service, On-Demand Javascript, Richer Plugin This 77 minute podcast covers all the foundational technologies not yet covered in previous podcasts. Due to some reshuffling as the book was being edited, there are now four more patterns here than previously announced: User Action Using the DOM&amp;#8217;s event mechanism to deal with user actions such as mouse clicks (02:05) Scheduling Schedule one-off or continuous events - Javascript code to run in the future (15:55) Ajax_App The root of all Ajax (Note: The wiki version is empty at...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, CrossDomain, DHTML, Javascript, Podcast, Software, Tutorial, Web, Web2.0 Ajax Basics 3 of 3 This is the final of three podcasts on the basic Ajax patterns. Podcast 1: Display Patterns and the DOM. Podcast 2: Web Remoting - XMLHttpRequest, IFrame Call, HTTP Streaming. Podcast 3: Dynamic Behaviour - User Actions (Events), Timing, Ajax App, Web Service, On-Demand Javascript, Richer Plugin Podcast 3: User Actions (Events), Timing, Ajax App, Web Service, On-Demand Javascript, Richer Plugin This 77 minute podcast covers all the foundational technologies not yet covered in previous podcasts. Due to some reshuffling as the book was being edited, there are now four more patterns here than previously announced: User Action Using the DOM&amp;#8217;s event mechanism to deal with user actions such as mouse clicks (02:05) Scheduling Schedule one-off or continuous events - Javascript code to run in the future (15:55) Ajax_App The root of all Ajax (Note: The wiki version is empty at this time). Discussion of Ajax Deluxe versus Ajax Lite. (22:10) Web Service The thing what sits on your server and gets called by the browser &amp;#8216;n&amp;#8217; stuff (Note: The wiki version is empty at this time) (31:30) On-Demand Javascript Remoting via Javascript - allows cross-domain remoting and lazy loading of modules (34:35). Richer Plugin &amp;#8220;Richer Plugin is an acknowledgement that Ajax alone is not always enough&amp;#8221; (This pattern was the subject of the recent &amp;#8220;What Ajax Can&amp;#8217;t Do&amp;#8221; debacle - Quote from Digg user: &amp;#8220;This article is total crap.&amp;#8221;) (48:20) Featuring Ruby music by Why. That completes the Basics series. Once the book is out of the way (Real Soon Now), expect to hear more Ajax pattern podcasts! As always, feedback is welcome - michael@mahemoff.com</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, CrossDomain, DHTML, Javascript, Podcast, Software, Tutorial, Web, Web2.0 Ajax Basics 3 of 3 This is the final of three podcasts on the basic Ajax patterns. Podcast 1: Display Patterns and the DOM. Podcast 2: Web Remoting - XMLHttpRequest, IFrame Call, HTTP Streaming. Podcast 3: Dynamic Behaviour - User Actions (Events), Timing, Ajax App, Web Service, On-Demand Javascript, Richer Plugin Podcast 3: User Actions (Events), Timing, Ajax App, Web Service, On-Demand Javascript, Richer Plugin This 77 minute podcast covers all the foundational technologies not yet covered in previous podcasts. Due to some reshuffling as the book was being edited, there are now four more patterns here than previously announced: User Action Using the DOM&amp;#8217;s event mechanism to deal with user actions such as mouse clicks (02:05) Scheduling Schedule one-off or continuous events - Javascript code to run in the future (15:55) Ajax_App The root of all Ajax (Note: The wiki version is empty at this time). Discussion of Ajax Deluxe versus Ajax Lite. (22:10) Web Service The thing what sits on your server and gets called by the browser &amp;#8216;n&amp;#8217; stuff (Note: The wiki version is empty at this time) (31:30) On-Demand Javascript Remoting via Javascript - allows cross-domain remoting and lazy loading of modules (34:35). Richer Plugin &amp;#8220;Richer Plugin is an acknowledgement that Ajax alone is not always enough&amp;#8221; (This pattern was the subject of the recent &amp;#8220;What Ajax Can&amp;#8217;t Do&amp;#8221; debacle - Quote from Digg user: &amp;#8220;This article is total crap.&amp;#8221;) (48:20) Featuring Ruby music by Why. That completes the Basics series. Once the book is out of the way (Real Soon Now), expect to hear more Ajax pattern podcasts! As always, feedback is welcome - michael@mahemoff.com</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-03-03,22122528</guid>
      <pubDate>Fri, 03 Mar 2006 17:18:59 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/SASDAjaxBasics3of3EventsAndMore.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, HumansAndTech, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Basics of Ajax 2 of 3: Web Remoting (XMLHttpRequest etc) (Podcast)</title>
      <link>http://www.odeo.com/episodes/22122529-Basics-of-Ajax-2-of-3-Web-Remoting-XMLHttpRequest-etc-Podcast</link>
      <description>Ajax, AjaxPatterns, HTTP, IFrame, Javascript, Podcast, Software, Streaming, Tutorial, XMLHttpRequest, RemoteScripting, Remoting, Web, Web2.0 Ajax Basics 2 of 3 This is the second of three podcasts on the basic Ajax patterns. Podcast 1: Display Patterns and the DOM. Podcast 2: Web Remoting - XMLHttpRequest, IFrame Call, HTTP Streaming. Podcast 3: Dynamic Behaviour - Events and Timing. Podcast 2: Web Remoting (XMLHttpRequest, IFrame, HTTP Streaming) This 75 minute podcast covers web remoting concepts and the following specific patterns: XMLHttpRequest Call Use XMLHttpRequest objects for browser-server communication. (05:00) IFrame Call Use IFrames for browser-server communication. (31:45) HTTP Streaming Stream server data in the response of a long-lived HTTP connection. (47:00) Please ignore this bit, I&amp;#8217;m claiming My Odeo Channel (odeo/bdd768d9acefcad9)</description>
      <itunes:subtitle>Ajax, AjaxPatterns, HTTP, IFrame, Javascript, Podcast, Software, Streaming, Tutorial, XMLHttpRequest, RemoteScripting, Remoting, Web, Web2.0 Ajax Basics 2 of 3 This is the second of three podcasts on the basic Ajax patterns. Podcast 1: Display Patterns and the DOM. Podcast 2: Web Remoting - XMLHttpRequest, IFrame Call, HTTP Streaming. Podcast 3: Dynamic Behaviour - Events and Timing. Podcast 2: Web Remoting (XMLHttpRequest, IFrame, HTTP Streaming) This 75 minute podcast covers web remoting concepts and the following specific patterns: XMLHttpRequest Call Use XMLHttpRequest objects for browser-server communication. (05:00) IFrame Call Use IFrames for browser-server communication. (31:45) HTTP Streaming Stream server data in the response of a long-lived HTTP connection. (47:00) Please ignore this bit, I&amp;#8217;m claiming My Odeo Channel (odeo/bdd768d9acefcad9)</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, HTTP, IFrame, Javascript, Podcast, Software, Streaming, Tutorial, XMLHttpRequest, RemoteScripting, Remoting, Web, Web2.0 Ajax Basics 2 of 3 This is the second of three podcasts on the basic Ajax patterns. Podcast 1: Display Patterns and the DOM. Podcast 2: Web Remoting - XMLHttpRequest, IFrame Call, HTTP Streaming. Podcast 3: Dynamic Behaviour - Events and Timing. Podcast 2: Web Remoting (XMLHttpRequest, IFrame, HTTP Streaming) This 75 minute podcast covers web remoting concepts and the following specific patterns: XMLHttpRequest Call Use XMLHttpRequest objects for browser-server communication. (05:00) IFrame Call Use IFrames for browser-server communication. (31:45) HTTP Streaming Stream server data in the response of a long-lived HTTP connection. (47:00) Please ignore this bit, I&amp;#8217;m claiming My Odeo Channel (odeo/bdd768d9acefcad9)</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-11-02,22122529</guid>
      <pubDate>Wed, 02 Nov 2005 04:48:26 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/SASD_AjaxRemotingBasics2Of3.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Podcast Interview with Alexander Kirk (Blummy, Bandnews)</title>
      <link>http://www.odeo.com/episodes/22122530-Podcast-Interview-with-Alexander-Kirk-Blummy-Bandnews</link>
      <description>Ajax, AjaxPatterns, Bandnews, Blummy, Bookmarklet, Podcast, Software, Web, Web2.0 This 47-minute podcast is a discussion with Alexander Kirk , creator of the recently released Blummy (which I mentioned last week) and also Bandnews. A few things we discussed: The design behind Blummy. (Interestingly, I was incorrect to guess it uses XHR - basically, the Blummy is like a Greasemonkey script - it uses DOM manipulation to alter the page you&amp;#8217;re on, building up the container of all the Blummlets, and interacts with other sites using standard HTTP requests.) Plans for Blummy, its use of Lazy Registration, security issues. Developing for cross-browser compatibility. Passing data from another domain with JSON. The design behind Bandnews. Most band websites don&amp;#8217;t bother with RSS, so Bandnews creates its own RSS feed, which is what the browser script reads. Why some Ajax apps are slow and what can be done about it. Libraries mentioned: dojotoolkit, prototype.</description>
      <itunes:subtitle>Ajax, AjaxPatterns, Bandnews, Blummy, Bookmarklet, Podcast, Software, Web, Web2.0 This 47-minute podcast is a discussion with Alexander Kirk , creator of the recently released Blummy (which I mentioned last week) and also Bandnews. A few things we discussed: The design behind Blummy. (Interestingly, I was incorrect to guess it uses XHR - basically, the Blummy is like a Greasemonkey script - it uses DOM manipulation to alter the page you&amp;#8217;re on, building up the container of all the Blummlets, and interacts with other sites using standard HTTP requests.) Plans for Blummy, its use of Lazy Registration, security issues. Developing for cross-browser compatibility. Passing data from another domain with JSON. The design behind Bandnews. Most band websites don&amp;#8217;t bother with RSS, so Bandnews creates its own RSS feed, which is what the browser script reads. Why some Ajax apps are slow and what can be done about it. Libraries mentioned: dojotoolkit, prototype.</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, Bandnews, Blummy, Bookmarklet, Podcast, Software, Web, Web2.0 This 47-minute podcast is a discussion with Alexander Kirk , creator of the recently released Blummy (which I mentioned last week) and also Bandnews. A few things we discussed: The design behind Blummy. (Interestingly, I was incorrect to guess it uses XHR - basically, the Blummy is like a Greasemonkey script - it uses DOM manipulation to alter the page you&amp;#8217;re on, building up the container of all the Blummlets, and interacts with other sites using standard HTTP requests.) Plans for Blummy, its use of Lazy Registration, security issues. Developing for cross-browser compatibility. Passing data from another domain with JSON. The design behind Bandnews. Most band websites don&amp;#8217;t bother with RSS, so Bandnews creates its own RSS feed, which is what the browser script reads. Why some Ajax apps are slow and what can be done about it. Libraries mentioned: dojotoolkit, prototype.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-10-30,22122530</guid>
      <pubDate>Sun, 30 Oct 2005 06:30:53 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/SASD_AlexKirk_AjaxBlummy.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Basics of Ajax 1 of 3: DOM and Display Manipulation (Podcast)</title>
      <link>http://www.odeo.com/episodes/22122531-Basics-of-Ajax-1-of-3-DOM-and-Display-Manipulation-Podcast</link>
      <description>Ajax, AjaxPatterns, DHTML, DOM, Javascript, Podcast, Software, Tutorial, Web, Web2.0 The Basics of Ajax: A 3-Part Podcast Series I&amp;#8217;m beginning to podcast about specific Ajax patterns. To start with, a three-part series on the basics of Ajax development, covering all the Foundational Technologies patterns: Podcast 1: Display Patterns and the DOM. Podcast 2: Web Remoting - XMLHttpRequest, IFrame Call, HTTP Streaming. Podcast 3: Dynamic Behaviour - Events and Timing. These will be useful if your familiar with basic forms and CGI-type web development, and wanting an overview on Ajax development techniques. If you do know enough Ajax to at least write the obligatory Ajax chat application, there&amp;#8217;s probably not much new info here. The most interesting pattern will be HTTP Streaming, covered in the next podcast. Note that the pattern names and structure are subject to change, but the basic ideas will remain valid. Podcast 1: Display Patterns and the DOM This 42 minute podcast co...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, DHTML, DOM, Javascript, Podcast, Software, Tutorial, Web, Web2.0 The Basics of Ajax: A 3-Part Podcast Series I&amp;#8217;m beginning to podcast about specific Ajax patterns. To start with, a three-part series on the basics of Ajax development, covering all the Foundational Technologies patterns: Podcast 1: Display Patterns and the DOM. Podcast 2: Web Remoting - XMLHttpRequest, IFrame Call, HTTP Streaming. Podcast 3: Dynamic Behaviour - Events and Timing. These will be useful if your familiar with basic forms and CGI-type web development, and wanting an overview on Ajax development techniques. If you do know enough Ajax to at least write the obligatory Ajax chat application, there&amp;#8217;s probably not much new info here. The most interesting pattern will be HTTP Streaming, covered in the next podcast. Note that the pattern names and structure are subject to change, but the basic ideas will remain valid. Podcast 1: Display Patterns and the DOM This 42 minute podcast covers the DOM and the following patterns: Display Morphing: Morph display elements by altering styles and values in the DOM, such as text and colour properties. Page Rearrangement: Add, remove, move, and overlay elements by manipulating the DOM. Credits and Production Notes The podcast concludes with the world&amp;#8217;s first HCI Rap, &amp;#8220;We Got It&amp;#8221;, from the multi-talented team at OK-Cancel (the website with the funniest usability cartoons around). The theme, My Morning Jacket&amp;#8217;s &amp;#8220;One Big Holiday&amp;#8221;, is back too. For the podcasters among you, the podcast was produced on a Powerbook running the excellent Audio Hijack Pro, with Bias SoundSoap and Apple&amp;#8217;s new AUAudioFilePlayer plugin to cue audio. For the podcasters among you, this is a nice, easy, setup: allows recording directly to MP3, real-time noise reduction, ability to cue up sound clips, tag the MP, run a script at the end (which could FTP the file somewhere). In theory, you could have a podcast up a few minutes after you&amp;#8217;ve clicked the stop button. Rogue Amoeba, creators of Audio Hijack Pro, know how to make software that&amp;#8217;s intuitive and seriously useful. There&amp;#8217;s detailed instructions for podcasters in the manual and also a blog entry on podcasting with Audio Hijack Pro.</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, DHTML, DOM, Javascript, Podcast, Software, Tutorial, Web, Web2.0 The Basics of Ajax: A 3-Part Podcast Series I&amp;#8217;m beginning to podcast about specific Ajax patterns. To start with, a three-part series on the basics of Ajax development, covering all the Foundational Technologies patterns: Podcast 1: Display Patterns and the DOM. Podcast 2: Web Remoting - XMLHttpRequest, IFrame Call, HTTP Streaming. Podcast 3: Dynamic Behaviour - Events and Timing. These will be useful if your familiar with basic forms and CGI-type web development, and wanting an overview on Ajax development techniques. If you do know enough Ajax to at least write the obligatory Ajax chat application, there&amp;#8217;s probably not much new info here. The most interesting pattern will be HTTP Streaming, covered in the next podcast. Note that the pattern names and structure are subject to change, but the basic ideas will remain valid. Podcast 1: Display Patterns and the DOM This 42 minute podcast covers the DOM and the following patterns: Display Morphing: Morph display elements by altering styles and values in the DOM, such as text and colour properties. Page Rearrangement: Add, remove, move, and overlay elements by manipulating the DOM. Credits and Production Notes The podcast concludes with the world&amp;#8217;s first HCI Rap, &amp;#8220;We Got It&amp;#8221;, from the multi-talented team at OK-Cancel (the website with the funniest usability cartoons around). The theme, My Morning Jacket&amp;#8217;s &amp;#8220;One Big Holiday&amp;#8221;, is back too. For the podcasters among you, the podcast was produced on a Powerbook running the excellent Audio Hijack Pro, with Bias SoundSoap and Apple&amp;#8217;s new AUAudioFilePlayer plugin to cue audio. For the podcasters among you, this is a nice, easy, setup: allows recording directly to MP3, real-time noise reduction, ability to cue up sound clips, tag the MP, run a script at the end (which could FTP the file somewhere). In theory, you could have a podcast up a few minutes after you&amp;#8217;ve clicked the stop button. Rogue Amoeba, creators of Audio Hijack Pro, know how to make software that&amp;#8217;s intuitive and seriously useful. There&amp;#8217;s detailed instructions for podcasters in the manual and also a blog entry on podcasting with Audio Hijack Pro.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-10-30,22122531</guid>
      <pubDate>Sun, 30 Oct 2005 06:04:15 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/SASD_AjaxDisplay_Basics1Of3.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Myths (Podcast and Text)</title>
      <link>http://www.odeo.com/episodes/22122532-Ajax-Myths-Podcast-and-Text</link>
      <description>Ajax, AjaxPatterns, DHTML, Javascript, Podcast, Software, Web, Web2.0 It&amp;#8217;s that time in a technology&amp;#8217;s lifecycle when myths abound and someone wheels out a collection of &amp;#8220;myths&amp;#8221; and retorts. Here&amp;#8217;s my contribution to that time-honoured genre. Nine myths in 37 minutes. Myth: &amp;#8220;AJAX&amp;#8221; Reality: Ajax Myth: Ajax is rocket science Reality: It&amp;#8217;s an incremental progression Myth: Javascript sucks Reality: It doesn&amp;#8217;t Myth: The URL&amp;#8217;s always the same Reality: Unique URLs are possible Myth: Ajax==XMLHttpRequest Reality: There are other remoting technologies, and some Ajax apps don&amp;#8217;t need any at all Myth: The server must output XML Reality: Server can output plain-text or specialised formats like JSON Myth: Ajax lets websites spy on users. Reality: The same &amp;#8220;spying&amp;#8221; techniques have already been possible using images and form submissions. Myth: Ajax will crush Flash. Reality: Flash can augment Ajax. Myth: Ajax will rule th...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, DHTML, Javascript, Podcast, Software, Web, Web2.0 It&amp;#8217;s that time in a technology&amp;#8217;s lifecycle when myths abound and someone wheels out a collection of &amp;#8220;myths&amp;#8221; and retorts. Here&amp;#8217;s my contribution to that time-honoured genre. Nine myths in 37 minutes. Myth: &amp;#8220;AJAX&amp;#8221; Reality: Ajax Myth: Ajax is rocket science Reality: It&amp;#8217;s an incremental progression Myth: Javascript sucks Reality: It doesn&amp;#8217;t Myth: The URL&amp;#8217;s always the same Reality: Unique URLs are possible Myth: Ajax==XMLHttpRequest Reality: There are other remoting technologies, and some Ajax apps don&amp;#8217;t need any at all Myth: The server must output XML Reality: Server can output plain-text or specialised formats like JSON Myth: Ajax lets websites spy on users. Reality: The same &amp;#8220;spying&amp;#8221; techniques have already been possible using images and form submissions. Myth: Ajax will crush Flash. Reality: Flash can augment Ajax. Myth: Ajax will rule the world! Reality: Ajax still has many challenges ahead: usability, accessibility, portability, scaleabiity &amp;#8230;</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, DHTML, Javascript, Podcast, Software, Web, Web2.0 It&amp;#8217;s that time in a technology&amp;#8217;s lifecycle when myths abound and someone wheels out a collection of &amp;#8220;myths&amp;#8221; and retorts. Here&amp;#8217;s my contribution to that time-honoured genre. Nine myths in 37 minutes. Myth: &amp;#8220;AJAX&amp;#8221; Reality: Ajax Myth: Ajax is rocket science Reality: It&amp;#8217;s an incremental progression Myth: Javascript sucks Reality: It doesn&amp;#8217;t Myth: The URL&amp;#8217;s always the same Reality: Unique URLs are possible Myth: Ajax==XMLHttpRequest Reality: There are other remoting technologies, and some Ajax apps don&amp;#8217;t need any at all Myth: The server must output XML Reality: Server can output plain-text or specialised formats like JSON Myth: Ajax lets websites spy on users. Reality: The same &amp;#8220;spying&amp;#8221; techniques have already been possible using images and form submissions. Myth: Ajax will crush Flash. Reality: Flash can augment Ajax. Myth: Ajax will rule the world! Reality: Ajax still has many challenges ahead: usability, accessibility, portability, scaleabiity &amp;#8230;</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-10-19,22122532</guid>
      <pubDate>Wed, 19 Oct 2005 19:28:03 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/AjaxMyths.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Ajax Design Patterns Book</title>
      <link>http://www.odeo.com/episodes/22122533-Ajax-Design-Patterns-Book</link>
      <description>Ajax, AjaxPatterns, Book, DHTML, Javascript, OReilly, Patterns, Podcast, Podcasting, Software, Web I&amp;#8217;m pleased to announce the in-progress patterns at ajaxpatterns.org will be completed and published as an O&amp;#8217;Reilly book: &amp;#8220;Ajax Design Patterns&amp;#8221;. The accompanying podcast explains the details, here&amp;#8217;s a summary: I&amp;#8217;ll be completing full-text descriptions for all the listed patterns, give or take some restructuring. ajaxpatterns.org will remain online, with full content - before, during and after the book&amp;#8217;s release. I&amp;#8217;ll continue building up the text on there. O&amp;#8217;Reilly&amp;#8217;s fully on board with this. A Creative Commons license will apply throughout, with the non-commercial restriction possibly lifted after the book&amp;#8217;s published. Contrary to John Dvorak&amp;#8217;s recent rant, the CC license cannot, should not, and does not, preclude others from reusing the content commercially under fair use. Some pages on the wiki are already open...</description>
      <itunes:subtitle>Ajax, AjaxPatterns, Book, DHTML, Javascript, OReilly, Patterns, Podcast, Podcasting, Software, Web I&amp;#8217;m pleased to announce the in-progress patterns at ajaxpatterns.org will be completed and published as an O&amp;#8217;Reilly book: &amp;#8220;Ajax Design Patterns&amp;#8221;. The accompanying podcast explains the details, here&amp;#8217;s a summary: I&amp;#8217;ll be completing full-text descriptions for all the listed patterns, give or take some restructuring. ajaxpatterns.org will remain online, with full content - before, during and after the book&amp;#8217;s release. I&amp;#8217;ll continue building up the text on there. O&amp;#8217;Reilly&amp;#8217;s fully on board with this. A Creative Commons license will apply throughout, with the non-commercial restriction possibly lifted after the book&amp;#8217;s published. Contrary to John Dvorak&amp;#8217;s recent rant, the CC license cannot, should not, and does not, preclude others from reusing the content commercially under fair use. Some pages on the wiki are already open The main pattern pages will remain me-only until full-text is there, at which time I am hoping to take a branch, refine some things offline (mediawiki is painful for batch changes), and open everything up for editing. The editor is Brett Mclaughlin and he too will be able to make edits. You might have seen that I&amp;#8217;m highlighting patterns with full text on the main page. Brett will highlight them in a different colour once edited, hopefully leading to something resembling a &amp;#8220;progress heatmap&amp;#8221; and not a pile of visual mess. I&amp;#8217;ll continue to post updates about the patterns here, using the tags &amp;#8220;Ajax&amp;#8221;, &amp;#8220;Patterns&amp;#8221;, and, I&amp;#8217;ve decided, &amp;#8220;AjaxPatterns&amp;#8221;. I intend to podcast about the patterns and the corresponding examples at Ajaxify. I&amp;#8217;m looking forward to being able to supplement the text with audio commentaries. Some prefer audio, some prefer text, but I think the best learning style is a multimodal combo deal. Writing this in public will allow ample opportunity for feedback - as Dan Gillmor says, my readers are smarter than me. I know lots of you are using Ajax in different ways and for different tasks, so please tell me what sucks about the patterns. Comment in the Discussion tab for a given pattern (which I&amp;#8217;ll pick up via RSS), leave a comment on my blog, or mail to michael@mahemoff.com. Do you have any comments or suggestions about this writing strategy? Please leave them here or mail michael@mahemoff.com.. This entry has a Podcast attached- an embedded MP3 link. On Internet Explorer, Click on the Podcast icon to listen, or click the right mouse button and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/podcast/rss2&amp;#8243;. Or search for &amp;#8220;software&amp;#8221; under the ITunes Podcast Directory. More info in the Podcast FAQ .</itunes:subtitle>
      <itunes:summary>Ajax, AjaxPatterns, Book, DHTML, Javascript, OReilly, Patterns, Podcast, Podcasting, Software, Web I&amp;#8217;m pleased to announce the in-progress patterns at ajaxpatterns.org will be completed and published as an O&amp;#8217;Reilly book: &amp;#8220;Ajax Design Patterns&amp;#8221;. The accompanying podcast explains the details, here&amp;#8217;s a summary: I&amp;#8217;ll be completing full-text descriptions for all the listed patterns, give or take some restructuring. ajaxpatterns.org will remain online, with full content - before, during and after the book&amp;#8217;s release. I&amp;#8217;ll continue building up the text on there. O&amp;#8217;Reilly&amp;#8217;s fully on board with this. A Creative Commons license will apply throughout, with the non-commercial restriction possibly lifted after the book&amp;#8217;s published. Contrary to John Dvorak&amp;#8217;s recent rant, the CC license cannot, should not, and does not, preclude others from reusing the content commercially under fair use. Some pages on the wiki are already open The main pattern pages will remain me-only until full-text is there, at which time I am hoping to take a branch, refine some things offline (mediawiki is painful for batch changes), and open everything up for editing. The editor is Brett Mclaughlin and he too will be able to make edits. You might have seen that I&amp;#8217;m highlighting patterns with full text on the main page. Brett will highlight them in a different colour once edited, hopefully leading to something resembling a &amp;#8220;progress heatmap&amp;#8221; and not a pile of visual mess. I&amp;#8217;ll continue to post updates about the patterns here, using the tags &amp;#8220;Ajax&amp;#8221;, &amp;#8220;Patterns&amp;#8221;, and, I&amp;#8217;ve decided, &amp;#8220;AjaxPatterns&amp;#8221;. I intend to podcast about the patterns and the corresponding examples at Ajaxify. I&amp;#8217;m looking forward to being able to supplement the text with audio commentaries. Some prefer audio, some prefer text, but I think the best learning style is a multimodal combo deal. Writing this in public will allow ample opportunity for feedback - as Dan Gillmor says, my readers are smarter than me. I know lots of you are using Ajax in different ways and for different tasks, so please tell me what sucks about the patterns. Comment in the Discussion tab for a given pattern (which I&amp;#8217;ll pick up via RSS), leave a comment on my blog, or mail to michael@mahemoff.com. Do you have any comments or suggestions about this writing strategy? Please leave them here or mail michael@mahemoff.com.. This entry has a Podcast attached- an embedded MP3 link. On Internet Explorer, Click on the Podcast icon to listen, or click the right mouse button and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/podcast/rss2&amp;#8243;. Or search for &amp;#8220;software&amp;#8221; under the ITunes Podcast Directory. More info in the Podcast FAQ .</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-08-26,22122533</guid>
      <pubDate>Fri, 26 Aug 2005 09:17:41 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://libsyn.com/media/mahemoff/SASD20050811AjaxBook.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, HumansAndTech</itunes:keywords>
    </item>
    <item>
      <title>Podcast: Mock Objects and Unit Testing</title>
      <link>http://www.odeo.com/episodes/22122534-Podcast-Mock-Objects-and-Unit-Testing</link>
      <description>Testing and designing with mock objects Welcome to the second half of this unit testing podcast series. Last week&amp;#8217;s podcast covered some unit-testing tips and JUnit patterns. This week covers mock objects - the how and why, Behaviour based testing versus state-based testing (I call it behaviour here, Fowler calls it interaction.) Mock objects and example. EasyMock, JMock. Test-driven development, designing with mock objects. Wiring up mock objects: Abstract Factory, Dependency Injection. Announcements: Techpodcasts, Clark Boyd&amp;#8217;s World Technology Podcast, Feedback please This is a Podcast - a blog entry with an embedded MP3 link. On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://w...</description>
      <itunes:subtitle>Testing and designing with mock objects Welcome to the second half of this unit testing podcast series. Last week&amp;#8217;s podcast covered some unit-testing tips and JUnit patterns. This week covers mock objects - the how and why, Behaviour based testing versus state-based testing (I call it behaviour here, Fowler calls it interaction.) Mock objects and example. EasyMock, JMock. Test-driven development, designing with mock objects. Wiring up mock objects: Abstract Factory, Dependency Injection. Announcements: Techpodcasts, Clark Boyd&amp;#8217;s World Technology Podcast, Feedback please This is a Podcast - a blog entry with an embedded MP3 link. On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/podcast/rss2&amp;#8243;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - from official BBC documentaries to business personalities like Sun COO Jonathan Schwartz to scores of amateur publishers speaking about their own interests. They will download straight to your PC as soon as they&amp;#8217;re published. You can listen to them on your PC or any portable MP3 player. If you have an IPod, programs like IPodder will push the downloaded MP3s straight into ITunes, so you can leave home each day with new content loaded on to your IPod. More info in the Podcast FAQ .</itunes:subtitle>
      <itunes:summary>Testing and designing with mock objects Welcome to the second half of this unit testing podcast series. Last week&amp;#8217;s podcast covered some unit-testing tips and JUnit patterns. This week covers mock objects - the how and why, Behaviour based testing versus state-based testing (I call it behaviour here, Fowler calls it interaction.) Mock objects and example. EasyMock, JMock. Test-driven development, designing with mock objects. Wiring up mock objects: Abstract Factory, Dependency Injection. Announcements: Techpodcasts, Clark Boyd&amp;#8217;s World Technology Podcast, Feedback please This is a Podcast - a blog entry with an embedded MP3 link. On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/podcast/rss2&amp;#8243;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - from official BBC documentaries to business personalities like Sun COO Jonathan Schwartz to scores of amateur publishers speaking about their own interests. They will download straight to your PC as soon as they&amp;#8217;re published. You can listen to them on your PC or any portable MP3 player. If you have an IPod, programs like IPodder will push the downloaded MP3s straight into ITunes, so you can leave home each day with new content loaded on to your IPod. More info in the Podcast FAQ .</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-07-15,22122534</guid>
      <pubDate>Fri, 15 Jul 2005 08:14:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://libsyn.com/media/mahemoff/SASD20050714MockObjects.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev</itunes:keywords>
    </item>
    <item>
      <title>Podcast: Testing and JUnit</title>
      <link>http://www.odeo.com/episodes/1036049-Podcast-Testing-and-JUnit</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-07-04,1036049</guid>
      <pubDate>Mon, 04 Jul 2005 13:13:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://libsyn.com/media/mahemoff/SASD20050702-TestingAndJUnit.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
    </item>
    <item>
      <title>Podcast: Testing and JUnit</title>
      <link>http://www.odeo.com/episodes/1072959-Podcast-Testing-and-JUnit</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-07-04,1072959</guid>
      <pubDate>Mon, 04 Jul 2005 13:13:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://libsyn.com/media/mahemoff/SASD20050702-TestingAndJUnit.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
    </item>
    <item>
      <title>Podcast: Testing and JUnit</title>
      <link>http://www.odeo.com/episodes/22122535-Podcast-Testing-and-JUnit</link>
      <description>From the cashing-in-on-ITunes-4.9-hype department, the first podcast in ages. This time, first of two parts on testing and JUnit. Random apologetic waffle and some announcements at the beginning, main content begins 8 minutes in. Main thing is, much much less processing and upfront planning so as to just get more of these things out. So if it sounds a bit, err, &amp;#8220;spontaneous&amp;#8221;, do not adjust your ipod. Testing and JUnit Lightning-fast overview of JUnit (if lightning took long winding tangents). A shared universe of test objects - related to test fixtures, ObjectMother, Domain-Driven Design, personae. Testing subclasses - Liskov Substitutability Principle, super.setup() problem Test suites and time for running all tests Announcements Polymorphic Podcast Might Seek Techpodcasts Network This is a Podcast - a blog entry with an embedded MP3 link. On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to do...</description>
      <itunes:subtitle>From the cashing-in-on-ITunes-4.9-hype department, the first podcast in ages. This time, first of two parts on testing and JUnit. Random apologetic waffle and some announcements at the beginning, main content begins 8 minutes in. Main thing is, much much less processing and upfront planning so as to just get more of these things out. So if it sounds a bit, err, &amp;#8220;spontaneous&amp;#8221;, do not adjust your ipod. Testing and JUnit Lightning-fast overview of JUnit (if lightning took long winding tangents). A shared universe of test objects - related to test fixtures, ObjectMother, Domain-Driven Design, personae. Testing subclasses - Liskov Substitutability Principle, super.setup() problem Test suites and time for running all tests Announcements Polymorphic Podcast Might Seek Techpodcasts Network This is a Podcast - a blog entry with an embedded MP3 link. On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/podcast/rss2&amp;#8243;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - from official BBC documentaries to business personalities like Sun COO Jonathan Schwartz to scores of amateur publishers speaking about their own interests. They will download straight to your PC as soon as they&amp;#8217;re published. You can listen to them on your PC or any portable MP3 player. If you have an IPod, programs like IPodder will push the downloaded MP3s straight into ITunes, so you can leave home each day with new content loaded on to your IPod. More info in the Podcast FAQ .</itunes:subtitle>
      <itunes:summary>From the cashing-in-on-ITunes-4.9-hype department, the first podcast in ages. This time, first of two parts on testing and JUnit. Random apologetic waffle and some announcements at the beginning, main content begins 8 minutes in. Main thing is, much much less processing and upfront planning so as to just get more of these things out. So if it sounds a bit, err, &amp;#8220;spontaneous&amp;#8221;, do not adjust your ipod. Testing and JUnit Lightning-fast overview of JUnit (if lightning took long winding tangents). A shared universe of test objects - related to test fixtures, ObjectMother, Domain-Driven Design, personae. Testing subclasses - Liskov Substitutability Principle, super.setup() problem Test suites and time for running all tests Announcements Polymorphic Podcast Might Seek Techpodcasts Network This is a Podcast - a blog entry with an embedded MP3 link. On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/podcast/rss2&amp;#8243;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - from official BBC documentaries to business personalities like Sun COO Jonathan Schwartz to scores of amateur publishers speaking about their own interests. They will download straight to your PC as soon as they&amp;#8217;re published. You can listen to them on your PC or any portable MP3 player. If you have an IPod, programs like IPodder will push the downloaded MP3s straight into ITunes, so you can leave home each day with new content loaded on to your IPod. More info in the Podcast FAQ .</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-07-04,22122535</guid>
      <pubDate>Mon, 04 Jul 2005 06:13:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://libsyn.com/media/mahemoff/SASD20050702-TestingAndJUnit.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev</itunes:keywords>
    </item>
    <item>
      <title>Podcast: Testing and JUnit</title>
      <link>http://www.odeo.com/episodes/350847-Podcast-Testing-and-JUnit</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-07-04,350847</guid>
      <pubDate>Mon, 04 Jul 2005 06:13:50 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://libsyn.com/media/mahemoff/SASD20050702-TestingAndJUnit.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
    </item>
    <item>
      <title>Podcast+Text: The AJAX Web Architecture</title>
      <link>http://www.odeo.com/episodes/22122536-Podcast-Text-The-AJAX-Web-Architecture</link>
      <description>This podcast discusses AJAX, an architectural style for web applications that has become popular in recent months. This is a Podcast - a blog entry with an embedded MP3 link. On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/podcast/rss2&amp;#8243;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - from official BBC documentaries to business personalities like Sun COO Jonathan Schwartz to scores of amateur publishers speaking about their own interests. They will download straight to your PC as soon as they&amp;#8217;re published. You can listen to them on your PC or any portable MP3 player. If you have an IPod, programs like IPodder will push th...</description>
      <itunes:subtitle>This podcast discusses AJAX, an architectural style for web applications that has become popular in recent months. This is a Podcast - a blog entry with an embedded MP3 link. On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/podcast/rss2&amp;#8243;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - from official BBC documentaries to business personalities like Sun COO Jonathan Schwartz to scores of amateur publishers speaking about their own interests. They will download straight to your PC as soon as they&amp;#8217;re published. You can listen to them on your PC or any portable MP3 player. If you have an IPod, programs like IPodder will push the downloaded MP3s straight into ITunes, so you can leave home each day with new content loaded on to your IPod. More info in the Podcast FAQ . Quick Overview Traditional webapps continue to send pages in their entirety, upon each user request. Consider a wiki such as Wikipedia: User changes some text Browser submits the new text Server saves the text and sends the entire page again, updated this time Browser clears previous page and draws all of new page AJAX apps don&amp;#8217;t redraw the whole page. Instead, they send a little request, receive a result, and adjust the page accordingly. The wiki of the future will look like this: User changes some text Browser submits the change Server saves the change and sends a confirmation and maybe the latest timestamp. Browser adjusts any information, e.g. shows the new timestamp. For a glimpse of wikis to come, check out this Instant Edit webapp. Fire it up in two different browsers and see how the changes persist without reloading the page. Most famously, Google has a few AJAX applications: Google Maps, GMail, Google Suggest. YARC! Yet Another Rich Client! AJAX, and the underlying XMLHttpRequest object, is the latest approach in the tradition of enriching the web platform. To put it into perspective, here are a few other attempts at rich applications over the years: In the early 1990s, the Mosaic browser made the web clickable. It was the first window-based browser. Images, then animations and sounds, were later added. ASCII art soon faded as quickly as silent film. Java allowed for client-side applets. Javascript (no relation) allowed for embedded programming inside HTML and led to a dramatic rise in cross-browser compatibility tables. Flash was introduced, and with Flash MX, became more programmer-friendly. Client-side GUI applications increasingly connected to the internet. e.g. Multiplayer games, Desktop search tools, ITunes Music Store, Auto-updating virus protection, Dreaded &amp;#8220;free&amp;#8221; spyware. Frames, and even better, invisible IFrames allowed for invisible request submission and manipulation of the current web page. Each browser continues to offer its own proprietary extensions (with some possible clicking of checkboxes or downloading of extra components): MS offers .NET support, Mozilla and Firefox offer a powerful plugin architecture, Opera offers a presentation package. The Heart of AJAX: XMLHttpRequest AJAX is a new name (Feb 2005) for a design style that has been possible, and in fact used sparingly, for the past couple of years. The underlying technology is XMLHttpRequest, a Javascript object that supports web requests. Every big modern language has a class like this: it takes a URL, fetches the content, and provides query support. XMLHttpRequest supports standard text as well as XML documents. That means a web page can wait for Javascript events, submit info to a web server, catch the resulting output, and play around with the current page. One more thing about the technology: the request-response cycle is asynchronous. The XMLHttpRequest object is registered with a response handling Javascript function, and fires off to the server. Some time later, the server probably comes back, and the registered function catches the result. And that&amp;#8217;s what AJAX stands for: Asynchronous Javascript + XML. Let&amp;#8217;s look at an example: This chat application is based on AJAX. You can see the Javascript here. (The entire thing has a Creative Commons license.) When the user says something, the function sendComment() is called. It grabs the user&amp;#8217;s message from the input field and passes it to httpSendChat, an XMLHtppRequest object. httpSendChat posts it to the server. httpSendChat.open("POST", SendChaturl, true); httpSendChat.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); httpSendChat.onreadystatechange = handlehHttpSendChat; httpSendChat.send(param); The emphasised line is the registration: it says that the response will come back to the handlehHttpSendChat function. That function will discard any partial responses, and upon receiving a full response (state=4), it will redraw the chat (which involves another trip to the server): function handlehHttpSendChat() { if (httpSendChat.readyState == 4) { receiveChatText(); //refreshes the chat after a new comment has been added (this makes it more responsive) } } receiveChatText() calls the server to send the recent discussion history, and ensures the response goes to handleHttpReceiveChat(). That function rearranges the chat text according to the recent message: function handlehHttpReceiveChat() { if (httpReceiveChat.readyState == 4) { results = httpReceiveChat.responseText.split(&amp;#8217;&amp;#8212;&amp;#8217;); //the fields are separated by &amp;#8212; if (results.length 2) { for(i=0;i &amp;#60; (results.length-1);i=i+3) { //goes through the result one message at a time insertNewContent(results[i+1],results[i+2]); //inserts the new content into the page } lastID = results[results.length-4]; } &amp;#8230;. } Great, it works if I say something. But it&amp;#8217;s a chat program. What if someone else says something? The application simply polls the server, ensuring that &amp;#8220;receiveChatText&amp;#8221; is called every four seconds. All About Usability The chief beneficiary of AJAX is the user. Web applications feel much more responsive, and the user won&amp;#8217;t hesitate to perform actions for fear of slow response times, or outright timeouts. Furthermore, form data need not be lost due to browser crashes: using a timer, it can be sent to the server every few minutes, just like auto-backup. For standard form-based applications, that&amp;#8217;s a nice benefit, but hardly a killer app. Where AJAX will shine is in truely rich applications. In particular, on intranets, where many corporations have already migrated traditional GUI applications. This migration process has usually been led by technologists concerned with the infrastructural overheads of administering and upgrading standalone applications. It&amp;#8217;s much easier to have all the applications sitting on the server and the clients running a standard web browser. These web migrations may have improved administrability, but they have often cause users pain. Ironically, they&amp;#8217;re often left longing for applications written a decade before the web apps. It doesn&amp;#8217;t help that most projects are clueless with regard to usability, but even if usability is considered, the web platform is inherently unusable. The control components are simplistic and server synchronisation is confusing and time-consuming. AJAX doesn&amp;#8217;t do anything for the controls, but at least it brings the server and client closer together. Problems with AJAX Some objections are taken from the resources below, especially AJAX: Promise or Hype. It&amp;#8217;s Hard to Code Any Javascript usually makes life more difficult, and early discussions indicate AJAX is no different. At present, coding for AJAX may well be more difficult, although if you look at the code examples around, you&amp;#8217;ll see that you&amp;#8217;re not exactly facing a Turing Test either. In any event, it&amp;#8217;s inevitable that design patterns and supportive frameworks will emerge. A few frameworks already facilitate this mode of development: the always-controversial, uber-funky Ruby On Rails, JSON-RPC-Java, Dynamic Web Remoting. SAJAX, Echo 2. Fortunately for evolution, a wide variety of approaches is being taken. Cross-fertilisation will undoubtedly follow. In particular, the best frameworks will probably generate as much Javascript as possible, so developers don&amp;#8217;t need to co-ordinate between Javascript and server-side controllers. Testability May Suffer It&amp;#8217;s nice to be able to perform system tests with a robot like httpUnit. Any use of Javascript makes that more difficult. At the same time, because AJAX promotes a more component-based architecture, unit testing may actually be improved. With a good design, it should be quite feasible to test the scripts that are accessed by the XMLHttpRequest object. Accessibility May Suffer Any form of interactivity is often anathema to many different types of specialised needs. Nevertheless, this should not stop the technology from progressing, and providing rich interaction to those who can use it. As always, accessibility must be maintained, and multiple mechanisms might be required. Furthermore, new technologies can improve accessibility too. It&amp;#8217;s easy to imagine, for example, how an AJAX-enabled site could let users quickly resize and move around certain screen elements to meet their individual needs. AJAX Will Collapse the Network AJAX does represent a potential challenge to networking infrastructure. Traditional web applications can feel like earlier client-server applications. Submit your offerings, then receive a response and meditate on it for a while. AJAX makes the term &amp;#8220;web application&amp;#8221; a lot more honest. The server really is involved, possibly even after each keystroke. Interestingly, bandwidth requirements may go down because usually only small changes need to be sent each way. However, latency is another question: using an AJAX application might feel like typing against a slow telnet connection. Stuff&amp;#8230; hap&amp;#8230;pens&amp;#8230;much&amp;#8230;sl..ower&amp;#8230;than you&amp;#8230;can&amp;#8230;think&amp;#8230; . This will probably not be a major concern on intranets, where there are relatively few users and usually good connectivity to the server (especially as it&amp;#8217;s often nearby). However, it&amp;#8217;s still an open question how AJAX will be used on the public web. Certainly, it can be used to incrementally improve just about any form-based application. And it can surely go beyond that, as Google demonstrates. But can it scale to the requirements of a major site, offering a fully-scaleable wiki or genuinely playable gaming? It&amp;#8217;s Just a Name, the Tech&amp;#8217;s Not New At All XMLHttpObject has been around for a few years, but it would be hard to believe anything called &amp;#8220;XMLHttpObject&amp;#8221; could trigger a revolution on the PCs of the world. Frames and IFrames supported this sort of interaction even earlier. History and logic would suggest that a standard name and community, combined with some flagship applications, are powerful tools indeed. And the timing is right: users have lived with static web applications long enough, broadband is now mainstream, and the economy hungers for innovation. The raw technology may have been around, and even used in doses. But all signs indicate that the new name, given the increased need and the prominent offerings by Google offerings, constitutes a tipping point . Bill Won&amp;#8217;t Like It Let&amp;#8217;s be clear. This could have happened a lot earlier. There&amp;#8217;s a lot of unfounded nonsense about MS on the web, but there is indeed broad agreement that MS does not benefit from adoption of rich web applications. And for pretty obvious reasons. They worked hard to innovate with IE in the mid-90s, attaining the dominant position. Consequently, they managed to crush Netscape&amp;#8217;s dreams of replacing the Office Suite and Sun&amp;#8217;s dreams of Java on every desktop. It&amp;#8217;s hard to see MS doing anything about XMLHttpRequest within IE though; the interaction it provides is rich, but quite frankly, not that rich. Flash Can Do All This, and More Flash is a bit of a mystery, since it&amp;#8217;s extremely cross-platform, having excellent support on all the major browsers and platforms. And yet, it&amp;#8217;s never taken off for serious application work. In fact, it&amp;#8217;s really been used for not much more than ads and fancy presentations. It&amp;#8217;s certainly capable of doing much more serious applications, and maybe Flash MX will still shine. It took a long time for Macromedia to target serious development. Perhaps this was a strategic mistake, or perhaps it was an intentional means of gaining wide browser share. Examples Working AJAX Examples Google Maps. Analysis: [http://jgwebber.blogspot.com/2005/02/mapping-google.html] Instant Editor Further Resources Ajax: A New Approach to Web Applications is the Feb-18-2005 article which introduced the &amp;#8220;AJAX&amp;#8221; name. AJAX: Promise or Hype examines the community fallout from the original article. Ajaxian is a new blog by Dion Altmar and Ben Galbraith. AJAX discussion on TheServerSide.net</itunes:subtitle>
      <itunes:summary>This podcast discusses AJAX, an architectural style for web applications that has become popular in recent months. This is a Podcast - a blog entry with an embedded MP3 link. On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/podcast/rss2&amp;#8243;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - from official BBC documentaries to business personalities like Sun COO Jonathan Schwartz to scores of amateur publishers speaking about their own interests. They will download straight to your PC as soon as they&amp;#8217;re published. You can listen to them on your PC or any portable MP3 player. If you have an IPod, programs like IPodder will push the downloaded MP3s straight into ITunes, so you can leave home each day with new content loaded on to your IPod. More info in the Podcast FAQ . Quick Overview Traditional webapps continue to send pages in their entirety, upon each user request. Consider a wiki such as Wikipedia: User changes some text Browser submits the new text Server saves the text and sends the entire page again, updated this time Browser clears previous page and draws all of new page AJAX apps don&amp;#8217;t redraw the whole page. Instead, they send a little request, receive a result, and adjust the page accordingly. The wiki of the future will look like this: User changes some text Browser submits the change Server saves the change and sends a confirmation and maybe the latest timestamp. Browser adjusts any information, e.g. shows the new timestamp. For a glimpse of wikis to come, check out this Instant Edit webapp. Fire it up in two different browsers and see how the changes persist without reloading the page. Most famously, Google has a few AJAX applications: Google Maps, GMail, Google Suggest. YARC! Yet Another Rich Client! AJAX, and the underlying XMLHttpRequest object, is the latest approach in the tradition of enriching the web platform. To put it into perspective, here are a few other attempts at rich applications over the years: In the early 1990s, the Mosaic browser made the web clickable. It was the first window-based browser. Images, then animations and sounds, were later added. ASCII art soon faded as quickly as silent film. Java allowed for client-side applets. Javascript (no relation) allowed for embedded programming inside HTML and led to a dramatic rise in cross-browser compatibility tables. Flash was introduced, and with Flash MX, became more programmer-friendly. Client-side GUI applications increasingly connected to the internet. e.g. Multiplayer games, Desktop search tools, ITunes Music Store, Auto-updating virus protection, Dreaded &amp;#8220;free&amp;#8221; spyware. Frames, and even better, invisible IFrames allowed for invisible request submission and manipulation of the current web page. Each browser continues to offer its own proprietary extensions (with some possible clicking of checkboxes or downloading of extra components): MS offers .NET support, Mozilla and Firefox offer a powerful plugin architecture, Opera offers a presentation package. The Heart of AJAX: XMLHttpRequest AJAX is a new name (Feb 2005) for a design style that has been possible, and in fact used sparingly, for the past couple of years. The underlying technology is XMLHttpRequest, a Javascript object that supports web requests. Every big modern language has a class like this: it takes a URL, fetches the content, and provides query support. XMLHttpRequest supports standard text as well as XML documents. That means a web page can wait for Javascript events, submit info to a web server, catch the resulting output, and play around with the current page. One more thing about the technology: the request-response cycle is asynchronous. The XMLHttpRequest object is registered with a response handling Javascript function, and fires off to the server. Some time later, the server probably comes back, and the registered function catches the result. And that&amp;#8217;s what AJAX stands for: Asynchronous Javascript + XML. Let&amp;#8217;s look at an example: This chat application is based on AJAX. You can see the Javascript here. (The entire thing has a Creative Commons license.) When the user says something, the function sendComment() is called. It grabs the user&amp;#8217;s message from the input field and passes it to httpSendChat, an XMLHtppRequest object. httpSendChat posts it to the server. httpSendChat.open("POST", SendChaturl, true); httpSendChat.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); httpSendChat.onreadystatechange = handlehHttpSendChat; httpSendChat.send(param); The emphasised line is the registration: it says that the response will come back to the handlehHttpSendChat function. That function will discard any partial responses, and upon receiving a full response (state=4), it will redraw the chat (which involves another trip to the server): function handlehHttpSendChat() { if (httpSendChat.readyState == 4) { receiveChatText(); //refreshes the chat after a new comment has been added (this makes it more responsive) } } receiveChatText() calls the server to send the recent discussion history, and ensures the response goes to handleHttpReceiveChat(). That function rearranges the chat text according to the recent message: function handlehHttpReceiveChat() { if (httpReceiveChat.readyState == 4) { results = httpReceiveChat.responseText.split(&amp;#8217;&amp;#8212;&amp;#8217;); //the fields are separated by &amp;#8212; if (results.length 2) { for(i=0;i &amp;#60; (results.length-1);i=i+3) { //goes through the result one message at a time insertNewContent(results[i+1],results[i+2]); //inserts the new content into the page } lastID = results[results.length-4]; } &amp;#8230;. } Great, it works if I say something. But it&amp;#8217;s a chat program. What if someone else says something? The application simply polls the server, ensuring that &amp;#8220;receiveChatText&amp;#8221; is called every four seconds. All About Usability The chief beneficiary of AJAX is the user. Web applications feel much more responsive, and the user won&amp;#8217;t hesitate to perform actions for fear of slow response times, or outright timeouts. Furthermore, form data need not be lost due to browser crashes: using a timer, it can be sent to the server every few minutes, just like auto-backup. For standard form-based applications, that&amp;#8217;s a nice benefit, but hardly a killer app. Where AJAX will shine is in truely rich applications. In particular, on intranets, where many corporations have already migrated traditional GUI applications. This migration process has usually been led by technologists concerned with the infrastructural overheads of administering and upgrading standalone applications. It&amp;#8217;s much easier to have all the applications sitting on the server and the clients running a standard web browser. These web migrations may have improved administrability, but they have often cause users pain. Ironically, they&amp;#8217;re often left longing for applications written a decade before the web apps. It doesn&amp;#8217;t help that most projects are clueless with regard to usability, but even if usability is considered, the web platform is inherently unusable. The control components are simplistic and server synchronisation is confusing and time-consuming. AJAX doesn&amp;#8217;t do anything for the controls, but at least it brings the server and client closer together. Problems with AJAX Some objections are taken from the resources below, especially AJAX: Promise or Hype. It&amp;#8217;s Hard to Code Any Javascript usually makes life more difficult, and early discussions indicate AJAX is no different. At present, coding for AJAX may well be more difficult, although if you look at the code examples around, you&amp;#8217;ll see that you&amp;#8217;re not exactly facing a Turing Test either. In any event, it&amp;#8217;s inevitable that design patterns and supportive frameworks will emerge. A few frameworks already facilitate this mode of development: the always-controversial, uber-funky Ruby On Rails, JSON-RPC-Java, Dynamic Web Remoting. SAJAX, Echo 2. Fortunately for evolution, a wide variety of approaches is being taken. Cross-fertilisation will undoubtedly follow. In particular, the best frameworks will probably generate as much Javascript as possible, so developers don&amp;#8217;t need to co-ordinate between Javascript and server-side controllers. Testability May Suffer It&amp;#8217;s nice to be able to perform system tests with a robot like httpUnit. Any use of Javascript makes that more difficult. At the same time, because AJAX promotes a more component-based architecture, unit testing may actually be improved. With a good design, it should be quite feasible to test the scripts that are accessed by the XMLHttpRequest object. Accessibility May Suffer Any form of interactivity is often anathema to many different types of specialised needs. Nevertheless, this should not stop the technology from progressing, and providing rich interaction to those who can use it. As always, accessibility must be maintained, and multiple mechanisms might be required. Furthermore, new technologies can improve accessibility too. It&amp;#8217;s easy to imagine, for example, how an AJAX-enabled site could let users quickly resize and move around certain screen elements to meet their individual needs. AJAX Will Collapse the Network AJAX does represent a potential challenge to networking infrastructure. Traditional web applications can feel like earlier client-server applications. Submit your offerings, then receive a response and meditate on it for a while. AJAX makes the term &amp;#8220;web application&amp;#8221; a lot more honest. The server really is involved, possibly even after each keystroke. Interestingly, bandwidth requirements may go down because usually only small changes need to be sent each way. However, latency is another question: using an AJAX application might feel like typing against a slow telnet connection. Stuff&amp;#8230; hap&amp;#8230;pens&amp;#8230;much&amp;#8230;sl..ower&amp;#8230;than you&amp;#8230;can&amp;#8230;think&amp;#8230; . This will probably not be a major concern on intranets, where there are relatively few users and usually good connectivity to the server (especially as it&amp;#8217;s often nearby). However, it&amp;#8217;s still an open question how AJAX will be used on the public web. Certainly, it can be used to incrementally improve just about any form-based application. And it can surely go beyond that, as Google demonstrates. But can it scale to the requirements of a major site, offering a fully-scaleable wiki or genuinely playable gaming? It&amp;#8217;s Just a Name, the Tech&amp;#8217;s Not New At All XMLHttpObject has been around for a few years, but it would be hard to believe anything called &amp;#8220;XMLHttpObject&amp;#8221; could trigger a revolution on the PCs of the world. Frames and IFrames supported this sort of interaction even earlier. History and logic would suggest that a standard name and community, combined with some flagship applications, are powerful tools indeed. And the timing is right: users have lived with static web applications long enough, broadband is now mainstream, and the economy hungers for innovation. The raw technology may have been around, and even used in doses. But all signs indicate that the new name, given the increased need and the prominent offerings by Google offerings, constitutes a tipping point . Bill Won&amp;#8217;t Like It Let&amp;#8217;s be clear. This could have happened a lot earlier. There&amp;#8217;s a lot of unfounded nonsense about MS on the web, but there is indeed broad agreement that MS does not benefit from adoption of rich web applications. And for pretty obvious reasons. They worked hard to innovate with IE in the mid-90s, attaining the dominant position. Consequently, they managed to crush Netscape&amp;#8217;s dreams of replacing the Office Suite and Sun&amp;#8217;s dreams of Java on every desktop. It&amp;#8217;s hard to see MS doing anything about XMLHttpRequest within IE though; the interaction it provides is rich, but quite frankly, not that rich. Flash Can Do All This, and More Flash is a bit of a mystery, since it&amp;#8217;s extremely cross-platform, having excellent support on all the major browsers and platforms. And yet, it&amp;#8217;s never taken off for serious application work. In fact, it&amp;#8217;s really been used for not much more than ads and fancy presentations. It&amp;#8217;s certainly capable of doing much more serious applications, and maybe Flash MX will still shine. It took a long time for Macromedia to target serious development. Perhaps this was a strategic mistake, or perhaps it was an intentional means of gaining wide browser share. Examples Working AJAX Examples Google Maps. Analysis: [http://jgwebber.blogspot.com/2005/02/mapping-google.html] Instant Editor Further Resources Ajax: A New Approach to Web Applications is the Feb-18-2005 article which introduced the &amp;#8220;AJAX&amp;#8221; name. AJAX: Promise or Hype examines the community fallout from the original article. Ajaxian is a new blog by Dion Altmar and Ben Galbraith. AJAX discussion on TheServerSide.net</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-04-17,22122536</guid>
      <pubDate>Sun, 17 Apr 2005 15:50:45 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/AJAXWebArchitecture.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev, HumansAndTech, Ajax</itunes:keywords>
    </item>
    <item>
      <title>Agile Software Riffcast 4 of 4: The Dark Side of Agile</title>
      <link>http://www.odeo.com/episodes/22122537-Agile-Software-Riffcast-4-of-4-The-Dark-Side-of-Agile</link>
      <description>Here&amp;#8217;s the final of four podcasts on agile software development. If the first three got you buzzed about cutting code the agile way, and you&amp;#8217;re pumped up to do it, and you&amp;#8217;re just bursting to get out the gate &amp;#8230; this one will make you think twice. It&amp;#8217;s not all roses you know! In the spirit of pragmatism, it&amp;#8217;s important to be aware of the strengths and weaknesses of many different approaches. So this podcast looks at the flaws and challenges for agile software development. This is a Podcast . On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/wp-rss2.php&amp;#8221;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - ...</description>
      <itunes:subtitle>Here&amp;#8217;s the final of four podcasts on agile software development. If the first three got you buzzed about cutting code the agile way, and you&amp;#8217;re pumped up to do it, and you&amp;#8217;re just bursting to get out the gate &amp;#8230; this one will make you think twice. It&amp;#8217;s not all roses you know! In the spirit of pragmatism, it&amp;#8217;s important to be aware of the strengths and weaknesses of many different approaches. So this podcast looks at the flaws and challenges for agile software development. This is a Podcast . On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/wp-rss2.php&amp;#8221;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - straight to your PC as soon as they&amp;#8217;re published. And also your IPod if you have one, or you can listen on any other portable player. More info in the Podcast FAQ . Show notes for this podcast: Methodologies: Pragmatic good, dogmatic bad. Sources: Personal and others&amp;#8217; views and anecdotes. McBreen&amp;#8217;s Questioning Extreme Programming Stephens and Rosenberg&amp;#8217;s [Extreme Programming Refactored] Polite commentary and outright flame wars on forums such as Usenet. Non-starter problems: (traditional complaints where agile has reasonable comebacks) How can we keep quality high if the software keeps changing? What if staff leave? Open problems: (further complaints which I feel still need to be answered): Limited project size and criticality Continuously changing non-functional areas Gathering requirements without business analysts Can be more demanding: more social interaction. (see Kathy Sierra&amp;#8217; blog entry on pair programming and loner personality types). Might work for developers, but does it fit with external stakeholders (managers, clients, auditors, users)? Billing model: time-and-materials versus fixed-contract. Flatter structure: how about less talented or motivated staff? Can be used as an excuse for hacking (not a criticism of agile per se, but where&amp;#8217;s the boundary?) XP-specific problems: Fragile: Can&amp;#8217;t always apply all practices, and leaving one or two out can cause project to collapse Why always pair? Some tasks benefit more than others. Collective ownership: who&amp;#8217;s responsible? Discussion: (With apologies to Churchill) For many typical projects, agile may be the worse methodology &amp;#8230; except all the others. Moreover, avoid direct comparisons and be pragmatic: Treat methodologies as a palette of tools and techniques. Know them well, and take on whatever fits your current needs. Agile Series Wrap-Up.</itunes:subtitle>
      <itunes:summary>Here&amp;#8217;s the final of four podcasts on agile software development. If the first three got you buzzed about cutting code the agile way, and you&amp;#8217;re pumped up to do it, and you&amp;#8217;re just bursting to get out the gate &amp;#8230; this one will make you think twice. It&amp;#8217;s not all roses you know! In the spirit of pragmatism, it&amp;#8217;s important to be aware of the strengths and weaknesses of many different approaches. So this podcast looks at the flaws and challenges for agile software development. This is a Podcast . On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. Better yet, you can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: &amp;#8220;http://www.softwareas.com/wp-rss2.php&amp;#8221;. Too easy! 15 minutes and you can be subscribed to receive thousands of MP3 podcasts - straight to your PC as soon as they&amp;#8217;re published. And also your IPod if you have one, or you can listen on any other portable player. More info in the Podcast FAQ . Show notes for this podcast: Methodologies: Pragmatic good, dogmatic bad. Sources: Personal and others&amp;#8217; views and anecdotes. McBreen&amp;#8217;s Questioning Extreme Programming Stephens and Rosenberg&amp;#8217;s [Extreme Programming Refactored] Polite commentary and outright flame wars on forums such as Usenet. Non-starter problems: (traditional complaints where agile has reasonable comebacks) How can we keep quality high if the software keeps changing? What if staff leave? Open problems: (further complaints which I feel still need to be answered): Limited project size and criticality Continuously changing non-functional areas Gathering requirements without business analysts Can be more demanding: more social interaction. (see Kathy Sierra&amp;#8217; blog entry on pair programming and loner personality types). Might work for developers, but does it fit with external stakeholders (managers, clients, auditors, users)? Billing model: time-and-materials versus fixed-contract. Flatter structure: how about less talented or motivated staff? Can be used as an excuse for hacking (not a criticism of agile per se, but where&amp;#8217;s the boundary?) XP-specific problems: Fragile: Can&amp;#8217;t always apply all practices, and leaving one or two out can cause project to collapse Why always pair? Some tasks benefit more than others. Collective ownership: who&amp;#8217;s responsible? Discussion: (With apologies to Churchill) For many typical projects, agile may be the worse methodology &amp;#8230; except all the others. Moreover, avoid direct comparisons and be pragmatic: Treat methodologies as a palette of tools and techniques. Know them well, and take on whatever fits your current needs. Agile Series Wrap-Up.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-01-19,22122537</guid>
      <pubDate>Wed, 19 Jan 2005 07:07:25 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/AgileSoftwareRiffcast4of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev</itunes:keywords>
    </item>
    <item>
      <title>Agile Software Riffcast 3 of 4: Extreme Programming</title>
      <link>http://www.odeo.com/episodes/22122538-Agile-Software-Riffcast-3-of-4-Extreme-Programming</link>
      <description>On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. You can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy and free. Refer to the podcasting FAQ at http://podca.st. Here&amp;#8217;s the third of four podcasts on agile software development. The first - an overview on agile - is available here and the second - a survey of methodologies - is here. This 37-minute podcast focuses on the best known - and most controversial - of the methodologies: Extreme Programming. Show Notes: About embracing change, a rapid departure from plan-and-build. So don&amp;#8217;t just tweak traditional processes &amp;#8230; reinvent them. Four core values: Feedback Communication Simplicity Courage Twelve practices: The Planning Process. Elicitation by negotiation and ongoing discussion; specification by index cards rather than exhaustive documents. Small Releases. 1-4 week iterations. Simple Design. Minimalist a...</description>
      <itunes:subtitle>On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. You can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy and free. Refer to the podcasting FAQ at http://podca.st. Here&amp;#8217;s the third of four podcasts on agile software development. The first - an overview on agile - is available here and the second - a survey of methodologies - is here. This 37-minute podcast focuses on the best known - and most controversial - of the methodologies: Extreme Programming. Show Notes: About embracing change, a rapid departure from plan-and-build. So don&amp;#8217;t just tweak traditional processes &amp;#8230; reinvent them. Four core values: Feedback Communication Simplicity Courage Twelve practices: The Planning Process. Elicitation by negotiation and ongoing discussion; specification by index cards rather than exhaustive documents. Small Releases. 1-4 week iterations. Simple Design. Minimalist approach. Simple, not stupid. Once and once only. &amp;#34;You Ain&amp;#8217;t Gonna Need It&amp;#34;. Metaphor. Cohesive design. Testing. JUnit. Refactoring. &amp;#34;Refactor mercilessly.&amp;#34; Pair Programming. Constant review improves design and testing, enables collective ownership. Collective Ownership. Keeps tacit knowledge spread across team, supports refactoring and ongoing design improvement, acts as contingency against staff departure. Continuous Integration. Ensures code can change quickly, keeps developers&amp;#8217; attention on adding business value rather than micro-managing infrastructure. On-Site Customer. Allows tacit requirements. Coding Standard. Supports collective ownership. **40-hour Week. ** &amp;#34;Sustainable Pace&amp;#34; Origins: C3 project Smalltalk and unit testing Design patterns Stayed tuned for the next podcast, the final in this Agile Software Riffcast series: The Dark Side of Agile. Thanks again to My Morning Jacket for the sample used in the lead-in track.</itunes:subtitle>
      <itunes:summary>On Internet Explorer, Click the left mouse button to listen, or click the right mouse buttton and &amp;#8220;Save As&amp;#8230;&amp;#8221; to download. You can subscribe for updates straight into your PC or ipod - it&amp;#8217;s easy and free. Refer to the podcasting FAQ at http://podca.st. Here&amp;#8217;s the third of four podcasts on agile software development. The first - an overview on agile - is available here and the second - a survey of methodologies - is here. This 37-minute podcast focuses on the best known - and most controversial - of the methodologies: Extreme Programming. Show Notes: About embracing change, a rapid departure from plan-and-build. So don&amp;#8217;t just tweak traditional processes &amp;#8230; reinvent them. Four core values: Feedback Communication Simplicity Courage Twelve practices: The Planning Process. Elicitation by negotiation and ongoing discussion; specification by index cards rather than exhaustive documents. Small Releases. 1-4 week iterations. Simple Design. Minimalist approach. Simple, not stupid. Once and once only. &amp;#34;You Ain&amp;#8217;t Gonna Need It&amp;#34;. Metaphor. Cohesive design. Testing. JUnit. Refactoring. &amp;#34;Refactor mercilessly.&amp;#34; Pair Programming. Constant review improves design and testing, enables collective ownership. Collective Ownership. Keeps tacit knowledge spread across team, supports refactoring and ongoing design improvement, acts as contingency against staff departure. Continuous Integration. Ensures code can change quickly, keeps developers&amp;#8217; attention on adding business value rather than micro-managing infrastructure. On-Site Customer. Allows tacit requirements. Coding Standard. Supports collective ownership. **40-hour Week. ** &amp;#34;Sustainable Pace&amp;#34; Origins: C3 project Smalltalk and unit testing Design patterns Stayed tuned for the next podcast, the final in this Agile Software Riffcast series: The Dark Side of Agile. Thanks again to My Morning Jacket for the sample used in the lead-in track.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-01-06,22122538</guid>
      <pubDate>Thu, 06 Jan 2005 17:06:49 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/AgileSoftwareRiffcast3of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev</itunes:keywords>
    </item>
    <item>
      <title>Agile Software Riffcast 2 of 4: The Methodologies</title>
      <link>http://www.odeo.com/episodes/22122539-Agile-Software-Riffcast-2-of-4-The-Methodologies</link>
      <description>Here&amp;#8217;s the second of four podcasts on agile software development. The first is available here. This 42 minute podcast is a survey of six methodologies and the men (yes, they are) behind them. The methodologies discussed are (with creators or prominent proponents parenthesised). Scrum (Ken Schwaber) Crystal. (Alistair Cockburn) And here&amp;#8217;s a link to Alistair Cockburn&amp;#8217;s thesis that I mention. Pragmatic Programming (Andy Hunt and Dave Thomas) DSDM (DSDM Consortium) Lean Manufacturing(Poppendieck and Poppendieck) Extreme Programming (Beck) Thanks to Tim Madden (via forret.com) for the icon. And thanks again to My Morning Jacket for making the lead-in track. (Oh and all the best for 2005.)</description>
      <itunes:subtitle>Here&amp;#8217;s the second of four podcasts on agile software development. The first is available here. This 42 minute podcast is a survey of six methodologies and the men (yes, they are) behind them. The methodologies discussed are (with creators or prominent proponents parenthesised). Scrum (Ken Schwaber) Crystal. (Alistair Cockburn) And here&amp;#8217;s a link to Alistair Cockburn&amp;#8217;s thesis that I mention. Pragmatic Programming (Andy Hunt and Dave Thomas) DSDM (DSDM Consortium) Lean Manufacturing(Poppendieck and Poppendieck) Extreme Programming (Beck) Thanks to Tim Madden (via forret.com) for the icon. And thanks again to My Morning Jacket for making the lead-in track. (Oh and all the best for 2005.)</itunes:subtitle>
      <itunes:summary>Here&amp;#8217;s the second of four podcasts on agile software development. The first is available here. This 42 minute podcast is a survey of six methodologies and the men (yes, they are) behind them. The methodologies discussed are (with creators or prominent proponents parenthesised). Scrum (Ken Schwaber) Crystal. (Alistair Cockburn) And here&amp;#8217;s a link to Alistair Cockburn&amp;#8217;s thesis that I mention. Pragmatic Programming (Andy Hunt and Dave Thomas) DSDM (DSDM Consortium) Lean Manufacturing(Poppendieck and Poppendieck) Extreme Programming (Beck) Thanks to Tim Madden (via forret.com) for the icon. And thanks again to My Morning Jacket for making the lead-in track. (Oh and all the best for 2005.)</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-12-31,22122539</guid>
      <pubDate>Fri, 31 Dec 2004 10:57:08 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://javapodcast.com/media/mahemoff/AgileSoftwareRiffcast2of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev</itunes:keywords>
    </item>
    <item>
      <title>Podcast: Interfaces As Services</title>
      <link>http://www.odeo.com/episodes/22122540-Podcast-Interfaces-As-Services</link>
      <description>Enclosed is a podcast on interfaces as services. Agile Business Coach, Chris Matts, blogged a couple of times this week about how interfaces should emerge by looking at the objects that use them. I agree, and wanted to give my own thoughts. Important concept, as it&amp;#8217;s driving many trends in architecture: dependency injection, Spring/Pico, mock objects. Click here to download or listen: InterfacesAsServices.mp3. BUT (and I&amp;#8217;m going to keep saying this), if you haven&amp;#8217;t yet got into podcasting, get yourself over to ipodder.org. You don&amp;#8217;t need an IPod &amp;#8230; a computer or any other mp3 playing device will do. You&amp;#8217;ll be able to subscribe to a feed of all updates of this show and any others you&amp;#8217;re interested in. All open and free. More info at Podca.st. Once again, this podcast includes a sample from My Morning Jacket&#8217;s &#8220;One Big Holiday&amp;#8221;. Feedback always welcome - mail me an MP3 or text.</description>
      <itunes:subtitle>Enclosed is a podcast on interfaces as services. Agile Business Coach, Chris Matts, blogged a couple of times this week about how interfaces should emerge by looking at the objects that use them. I agree, and wanted to give my own thoughts. Important concept, as it&amp;#8217;s driving many trends in architecture: dependency injection, Spring/Pico, mock objects. Click here to download or listen: InterfacesAsServices.mp3. BUT (and I&amp;#8217;m going to keep saying this), if you haven&amp;#8217;t yet got into podcasting, get yourself over to ipodder.org. You don&amp;#8217;t need an IPod &amp;#8230; a computer or any other mp3 playing device will do. You&amp;#8217;ll be able to subscribe to a feed of all updates of this show and any others you&amp;#8217;re interested in. All open and free. More info at Podca.st. Once again, this podcast includes a sample from My Morning Jacket&#8217;s &#8220;One Big Holiday&amp;#8221;. Feedback always welcome - mail me an MP3 or text.</itunes:subtitle>
      <itunes:summary>Enclosed is a podcast on interfaces as services. Agile Business Coach, Chris Matts, blogged a couple of times this week about how interfaces should emerge by looking at the objects that use them. I agree, and wanted to give my own thoughts. Important concept, as it&amp;#8217;s driving many trends in architecture: dependency injection, Spring/Pico, mock objects. Click here to download or listen: InterfacesAsServices.mp3. BUT (and I&amp;#8217;m going to keep saying this), if you haven&amp;#8217;t yet got into podcasting, get yourself over to ipodder.org. You don&amp;#8217;t need an IPod &amp;#8230; a computer or any other mp3 playing device will do. You&amp;#8217;ll be able to subscribe to a feed of all updates of this show and any others you&amp;#8217;re interested in. All open and free. More info at Podca.st. Once again, this podcast includes a sample from My Morning Jacket&#8217;s &#8220;One Big Holiday&amp;#8221;. Feedback always welcome - mail me an MP3 or text.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-12-10,22122540</guid>
      <pubDate>Fri, 10 Dec 2004 00:45:36 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="/media/mahemoff/InterfacesAsServices.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev</itunes:keywords>
    </item>
    <item>
      <title>Agile Software RiffCast</title>
      <link>http://www.odeo.com/episodes/22122541-Agile-Software-RiffCast</link>
      <description>Agile Software Riffcast Here&amp;#8217;s my first podcast. In my podcasts, I&amp;#8217;ll mostly be covering software development topics such as architecture, usability, design patterns. This is the first of four &amp;#8220;Riffcasts&amp;#8221; where I&amp;#8217;m riffing on the topic of agile software development. The series will contain: Agile software development overview. Embracing change and the Agile Manifesto. (The podcast enclosure on this entry.)** Survey of agile methodologies and perspectives. Including Scrum, Pragmatic Programming, Crystal, DSDM, Lean Manufacturing, Extreme Programming. Extreme Programming. More detailed look at the most famous (or notorious, depending ) Agile Methodology, Extreme Programming. The Dark Side of Agile. Problems with agile approaches, situations where it does and doesn&amp;#8217;t work, open questions. My plan is to publish these roughly once per week, but the beauty of podcasts (as with blogs) is that I can upload them when I like, and subscribers will have them ...</description>
      <itunes:subtitle>Agile Software Riffcast Here&amp;#8217;s my first podcast. In my podcasts, I&amp;#8217;ll mostly be covering software development topics such as architecture, usability, design patterns. This is the first of four &amp;#8220;Riffcasts&amp;#8221; where I&amp;#8217;m riffing on the topic of agile software development. The series will contain: Agile software development overview. Embracing change and the Agile Manifesto. (The podcast enclosure on this entry.)** Survey of agile methodologies and perspectives. Including Scrum, Pragmatic Programming, Crystal, DSDM, Lean Manufacturing, Extreme Programming. Extreme Programming. More detailed look at the most famous (or notorious, depending ) Agile Methodology, Extreme Programming. The Dark Side of Agile. Problems with agile approaches, situations where it does and doesn&amp;#8217;t work, open questions. My plan is to publish these roughly once per week, but the beauty of podcasts (as with blogs) is that I can upload them when I like, and subscribers will have them soon after. Unlike traditional radio, they don&amp;#8217;t need to be sitting there at the time I &amp;#8220;broadcast&amp;#8221; it. So I&amp;#8217;m going to see how things pan out. I&amp;#8217;m going to do stuff in parallel with these &amp;#8220;Riffcasts&amp;#8221;, all on the same &amp;#8220;Software As She&amp;#8217;s Developed&amp;#8221; stream. Such as more &amp;#8220;Blogcasts&amp;#8221; of a more general nature. Really, really, keen for your feedback, especially ingratiating syruppy praise! michael@mahemoff.com The MP3 File You can hear the podcast by clicking here. But long term, there&amp;#8217;s a much better way &amp;#8230; Subscribing to this Podcast How can you subscribe to this stream, so you can have this and all my future podcasts automatically downloaded (as well as hundreds of other shows)? Easy - download ipodder (or any other podcasting client) and simply add this feed: http://www.softwareas.com/podcast/rss2/ ipodder and the hundreds of podcast programs are all free, BTW. Credits and Copyright Bits This podcast is licensed under the same Creative Commons license you find attached to softwareas.com. Basically, this means you can do whatever you like with it as long as you say how awesome I am. (I think that&amp;#8217;s the gist of it, but the full details are here). The lead-in track is a sample of My Morning Jacket&amp;#8217;s &amp;#8220;One Big Holiday&amp;#8221;, who were among the enlightened artists who contributed to the Wired CD. Thanks to the band, Creative Commons, and Wired for making it possible. They dreamed of a brave new world of sharing and liberty. I superimposed a quality track onto a stream of geeky rambling.</itunes:subtitle>
      <itunes:summary>Agile Software Riffcast Here&amp;#8217;s my first podcast. In my podcasts, I&amp;#8217;ll mostly be covering software development topics such as architecture, usability, design patterns. This is the first of four &amp;#8220;Riffcasts&amp;#8221; where I&amp;#8217;m riffing on the topic of agile software development. The series will contain: Agile software development overview. Embracing change and the Agile Manifesto. (The podcast enclosure on this entry.)** Survey of agile methodologies and perspectives. Including Scrum, Pragmatic Programming, Crystal, DSDM, Lean Manufacturing, Extreme Programming. Extreme Programming. More detailed look at the most famous (or notorious, depending ) Agile Methodology, Extreme Programming. The Dark Side of Agile. Problems with agile approaches, situations where it does and doesn&amp;#8217;t work, open questions. My plan is to publish these roughly once per week, but the beauty of podcasts (as with blogs) is that I can upload them when I like, and subscribers will have them soon after. Unlike traditional radio, they don&amp;#8217;t need to be sitting there at the time I &amp;#8220;broadcast&amp;#8221; it. So I&amp;#8217;m going to see how things pan out. I&amp;#8217;m going to do stuff in parallel with these &amp;#8220;Riffcasts&amp;#8221;, all on the same &amp;#8220;Software As She&amp;#8217;s Developed&amp;#8221; stream. Such as more &amp;#8220;Blogcasts&amp;#8221; of a more general nature. Really, really, keen for your feedback, especially ingratiating syruppy praise! michael@mahemoff.com The MP3 File You can hear the podcast by clicking here. But long term, there&amp;#8217;s a much better way &amp;#8230; Subscribing to this Podcast How can you subscribe to this stream, so you can have this and all my future podcasts automatically downloaded (as well as hundreds of other shows)? Easy - download ipodder (or any other podcasting client) and simply add this feed: http://www.softwareas.com/podcast/rss2/ ipodder and the hundreds of podcast programs are all free, BTW. Credits and Copyright Bits This podcast is licensed under the same Creative Commons license you find attached to softwareas.com. Basically, this means you can do whatever you like with it as long as you say how awesome I am. (I think that&amp;#8217;s the gist of it, but the full details are here). The lead-in track is a sample of My Morning Jacket&amp;#8217;s &amp;#8220;One Big Holiday&amp;#8221;, who were among the enlightened artists who contributed to the Wired CD. Thanks to the band, Creative Commons, and Wired for making it possible. They dreamed of a brave new world of sharing and liberty. I superimposed a quality track onto a stream of geeky rambling.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-12-07,22122541</guid>
      <pubDate>Tue, 07 Dec 2004 17:11:23 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="javapodcast.com/media/mahemoff/AgileSoftwareRiffcast1Of4.mp3"/>
      <itunes:author>Software As She's Developed &#187; Podcast</itunes:author>
      <itunes:keywords>podcast, SoftwareDev</itunes:keywords>
    </item>
  </channel>
</rss>
