<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Adam Howitt&apos;s Blog - AJAX</title>
			<link>http://www.webdevref.com/blog/index.cfm</link>
			<description>A blog for ColdFusion, iPhone Development and other musings</description>
			<language>en-us</language>
			<pubDate>Wed, 08 Sep 2010 05:28:56 -0400</pubDate>
			<lastBuildDate>Mon, 30 Apr 2007 10:26:23 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>adamhowitt@gmail.com</managingEditor>
			<webMaster>adamhowitt@gmail.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>adamhowitt@gmail.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			<itunes:image href="" />
			<image>
				<url></url>
				<title>Adam Howitt&apos;s Blog</title>
				<link>http://www.webdevref.com/blog/index.cfm</link>
			</image>
			<itunes:explicit>no</itunes:explicit>
			
			
			
			
			
			<item>
				<title>See Howitt Run</title>
				<link>http://www.webdevref.com/blog/index.cfm/2007/4/30/See-Howitt-Run</link>
				<description>
				
				&lt;p&gt;I have 2 weeks left to raise the remainder of my $3,900 goal for Leukemia and Lymphoma and I need your help. I&apos;m in Week 15 of the Team in Training plan to run the San Diego marathon on June 4th.&amp;nbsp; Saturday was an 18 mile run out in Darien, IL and my legs are still tight from the challenge.&amp;nbsp; It&apos;s a distinct change from the flat course along Chicago&apos;s lakefront.&amp;nbsp; We&apos;ve got a 10 mile run this weekend before the next jump to 20 miles the following week.&lt;/p&gt;&lt;p&gt;I was initially running in memory of my Aunty Moreen who passed away in 2004 after a 6 year struggle with bowel cancer.&amp;nbsp; The weekend after I started my training we discovered that my wife&apos;s 3 year old niece Haidyn had been diagnosed with ALL (Acute Lymphoblastic Leukemia).&amp;nbsp; Over the past 12 weeks she has been a tough little girl fighting infections caused by the drugs reducing her immune response and dealing with the loss of hair caused by the chemo.&amp;nbsp; At mile 16 on Saturday as I felt like my legs couldn&apos;t keep going I remembered the pain her and her family have experienced and it pushed me to the end.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If you have ever read one of my posts on SQL, AJAX, ColdFusion or even my most popular post on how to fix a bug on your Motorola DVR, please take time to &lt;a href=&quot;http://www.active.com/donate/tntil/adamhowitt#&quot; target=&quot;_self&quot; title=&quot;Donate to Leukemia and Lymphoma&quot;&gt;donate&lt;/a&gt;.&amp;nbsp; I appreciate anything you can spare.&lt;br /&gt;&lt;/p&gt;
				
				</description>
						
				
				<category>JavaScript</category>				
				
				<category>AJAX</category>				
				
				<category>Sport</category>				
				
				<category>Coldfusion</category>				
				
				<category>SQL</category>				
				
				<pubDate>Mon, 30 Apr 2007 10:26:23 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2007/4/30/See-Howitt-Run</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdFusion Development</title>
				<link>http://www.webdevref.com/blog/index.cfm/2007/2/9/ColdFusion-Development</link>
				<description>
				
				&lt;p&gt;Despite the bottomless pit of information available in Google, I find myself falling back on a core set of sites for the answers to my questions.&amp;nbsp; Through the magic of Google Co-op I have created a &lt;a title=&quot;ColdFusion Development Search Engine&quot; target=&quot;_self&quot; href=&quot;../&quot;&gt;ColdFusion Development Search Engine&lt;/a&gt;.&amp;nbsp; It is a hand made list of sites I trust for answers to my ColdFusion questions.&amp;nbsp; I&apos;ve also included and tagged JavaScript, SQL, Fusebox and AJAX resources with the idea that anything related to CF that I use on a daily basis to do my job is fair game.&lt;/p&gt;&lt;p&gt;If you can&apos;t find what you are looking for, let me know which site provided your answer and I can add it to the list after reviewing it.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;UPDATE: The URL for the search is &lt;a href=&quot;../&quot; target=&quot;_self&quot; title=&quot;Web Development Reference Search Engine&quot;&gt;http://www.webdevref.com&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
				
				</description>
						
				
				<category>JavaScript</category>				
				
				<category>AJAX</category>				
				
				<category>Coldfusion</category>				
				
				<category>SQL</category>				
				
				<pubDate>Fri, 09 Feb 2007 09:42:18 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2007/2/9/ColdFusion-Development</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>WalkJogRun on Fox News</title>
				<link>http://www.webdevref.com/blog/index.cfm/2007/1/5/WalkJogRun-on-Fox-News</link>
				<description>
				
				&lt;p&gt;I&apos;m delighted to report that WalkJogRun was featured on Fox News two days ago for the Cool Websites section after I tipped off Nancy Loo about the site.&amp;nbsp; I was surprised in her coverage when she said she had already featured the site at one point but I missed it I guess.&amp;nbsp; This time I was prepared and have my first &lt;a href=&quot;http://www.youtube.com/watch?v=vwExJQIwceI&quot; target=&quot;_self&quot; title=&quot;WalkJogRun youtube video&quot;&gt;YouTube video&lt;/a&gt; up now.&amp;nbsp; I know, I&apos;m probably the last person in the tech world to do this but this is the first thing I felt was worth it.&lt;/p&gt;

&lt;p&gt;For anyone who hasn&apos;t read anything about WalkJogRun, it&apos;s over 3 years old and is a community for runners, cyclists, walkers and anyone else to create and share routes.&amp;nbsp; It is based on Google Maps and uses custom AJAX, ColdFusion and is built on BlueDragon 6 with MySQL on an Ubuntu server.&amp;nbsp; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
				
				</description>
						
				
				<category>JavaScript</category>				
				
				<category>AJAX</category>				
				
				<category>Ubuntu</category>				
				
				<category>BlueDragon</category>				
				
				<category>Coldfusion</category>				
				
				<category>TV</category>				
				
				<pubDate>Fri, 05 Jan 2007 14:27:19 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2007/1/5/WalkJogRun-on-Fox-News</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Google Analytics trouble</title>
				<link>http://www.webdevref.com/blog/index.cfm/2006/10/23/Google-Analytics-trouble</link>
				<description>
				
				&lt;p&gt;I&apos;ve been helping a client setup Google Analytics, specifically adding the e-commerce tracking.&amp;nbsp; As with most analytics packages, stats are updated as part of a batch every few hours so it&apos;s tricky to troubleshoot the code when things aren&apos;t going well.&lt;/p&gt;&lt;p&gt;I was getting the tracking code to work, even on the SSL encrypted pages but the e-commerce tracking piece wasn&apos;t reporting any revenue.&amp;nbsp; The tracking code is offered in two flavors, either an inline chunk of script to execute or called from the page onload function.&amp;nbsp; To minimize disruption to the dsp_header.cfm in use throughout the site I thought I would add the inline code on the receipt page instead.&amp;nbsp; No dice.&amp;nbsp; Here is the problem: it fails silently on an AJAX call so I was stuck. &lt;a href=&quot;http://livehttpheaders.mozdev.org/&quot; target=&quot;_self&quot; title=&quot;LiveHTTPHeaders&quot;&gt;LiveHTTPHeaders &lt;/a&gt;to the rescue. This neat little Firefox plugin works like Fiddler but is built into your browser.&amp;nbsp; Turn it on and each HTTP request is logged either in the sidebar or a new tab.&amp;nbsp; &lt;/p&gt;&lt;p&gt;With LiveHTTPHeaders turned on it became clear the inline JavaScript fragment didn&apos;t work so I moved my call to the dsp_header.cfm file with a condition based on whether you were viewing a receipt page or not.&amp;nbsp; LiveHTTPHeaders cheerfully reported that I was now sending data to Google.&amp;nbsp; All I need to do now is wait 4 hours to see if the data shows up.&lt;/p&gt;&lt;p&gt;Really loving Google Analytics - has anyone else used it?&amp;nbsp; How does it stack up to other analytics packages you have seen?&amp;nbsp; I love the custom funnel pages to be able to track e-commerce activity and the cross-tabbing of most data points to be able to dig in by city, country etc.&lt;br /&gt;&lt;/p&gt;
				
				</description>
						
				
				<category>JavaScript</category>				
				
				<category>AJAX</category>				
				
				<category>Coldfusion</category>				
				
				<pubDate>Mon, 23 Oct 2006 15:47:53 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2006/10/23/Google-Analytics-trouble</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>How to Design a large AJAX Application</title>
				<link>http://www.webdevref.com/blog/index.cfm/2006/7/7/How-to-Design-a-large-AJAX-Application</link>
				<description>
				
				&lt;p&gt;In the guide which you can download from the link below I&apos;ll cover the process I have developed in the course of implementing two AJAX applications as a developer for &lt;a href=&quot;http://www.duoconsulting.com&quot; target=&quot;_self&quot; title=&quot;Duo Consulting&quot;&gt;Duo Consulting&lt;/a&gt;&amp;nbsp; in Chicago.&amp;nbsp; This approach has made it easier for me to work with the design team, produce estimates for this type of project and communicate what is involved each step of the way to the project managers for scheduling purposes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;presentations/How_to_Design_a_large_AJAX_Application.pdf&quot; target=&quot;_self&quot;&gt;Download the PDF guide&lt;/a&gt; (105kb)&lt;/p&gt;
&lt;p&gt;If this sounds like the type of work you enjoy and you live in Chicago or are willing to move here check out our &lt;a href=&quot;http://www.duoconsulting.com/about/careers.cfm&quot; target=&quot;_self&quot; title=&quot;Duo Consulting hiring&quot;&gt;careers page&lt;/a&gt; as we are looking for talented ColdFusion developers.&lt;br /&gt;
&lt;/p&gt;
				
				</description>
						
				
				<category>JavaScript</category>				
				
				<category>AJAX</category>				
				
				<category>Coldfusion</category>				
				
				<category>ChicagoParkDistrict</category>				
				
				<pubDate>Fri, 07 Jul 2006 12:46:33 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2006/7/7/How-to-Design-a-large-AJAX-Application</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>CFUnited mid-conference roundup</title>
				<link>http://www.webdevref.com/blog/index.cfm/2006/6/29/CFUnited-mid-conference-roundup</link>
				<description>
				
				&lt;p&gt;The sun came out in DC yesterday as the conference began and the city is breathing a sigh of relief. ColdFusion can do that :-) I&apos;ll try and keep it short but you all know how I can ramble on...&lt;/p&gt;&lt;p&gt;CF Roadmap keynote: I agree with my coworker Kelly that the Adobe influence on CF looks ominous. It&apos;s clear that PDF integration for CF jumped the queue at the expense of other key features that were left out. &amp;quot;Scorpio&amp;quot;, the next release of ColdFusion, will include some new PDF form based tags to allow users to fill forms in online. That&apos;s about it from that angle. Flex 2 was launched officially yesterday and Ben Forta gave a demo of a wizard to build a master-detail web application without writing any code. I could see us thinking about this for our CMS &lt;a title=&quot;DuoCMS powers some of the largest legal sites on the web&quot; href=&quot;http://www.duocms.com/&quot; target=&quot;_self&quot;&gt;duoCMS&lt;/a&gt; for the content administration since it offers some saucy looking UI out of the box.&lt;/p&gt;&lt;p&gt;&lt;a title=&quot;Sean&apos;s blog&quot; href=&quot;http://corfield.org/blog/index.cfm?&quot; target=&quot;_self&quot;&gt;Sean Corfield&lt;/a&gt; talked for an hour on factories in the context of &lt;a title=&quot;ColdSpring&quot; href=&quot;http://www.coldspringframework.org/&quot; target=&quot;_self&quot;&gt;ColdSpring&lt;/a&gt;, a framework&amp;nbsp;&lt;a title=&quot;Duo Consulting&quot; href=&quot;http://www.duoconsulting.com/&quot; target=&quot;_self&quot;&gt;Duo Consulting&lt;/a&gt; (my employer)&amp;nbsp;can and should leverage for all of our CMS cfcs. As it stands, the CMS is built in a way that forces us to keep only one version on each server. ColdSpring would allow us to maintain multiple builds of the code so that a client who was built on&amp;nbsp;duoCMS&amp;nbsp;1.1.345 would have identical CMS to another client operating on the same build number. This is HUGE for Duo since we can easily identify a fix for one customer and know that it can be fixed for all clients on that build version. It also allows us to plot upgrade paths for clients based on their build number. I know this isn&apos;t as exciting as my design buddy Jeff&apos;s new addition to the family but it&apos;s a close second :-) The other advantage of the framework is that it allows us to hotswap different databases for an individual client so they are still duoCMS but the connectors for getting and setting information in the database are broken out. &lt;a title=&quot;Fusebox&quot; href=&quot;http://www.fusebox.org/&quot; target=&quot;_self&quot;&gt;Fusebox 5 release candidate 1&lt;/a&gt; was also released on Tuesday but I haven&apos;t had a chance to look at the details yet.&lt;/p&gt;&lt;p&gt;Note: if you are wondering where I have the time for this in the middle of the day, Kelly is attending the &lt;a title=&quot;Microsoft Atlas - AJAX library&quot; href=&quot;http://atlas.asp.net/&quot; target=&quot;_self&quot;&gt;Microsoft Atlas&lt;/a&gt; presentation on their attempt at an AJAX library. The part I saw was too intense about Visual Studio so I skipped out.&lt;/p&gt;&lt;p&gt;Next up was &lt;a title=&quot;Joey Coleman&quot; href=&quot;http://www.designsymphony.com/Welcome.html&quot; target=&quot;_self&quot;&gt;Joey Coleman&lt;/a&gt;, a thoroughly entertaining speaker describing the concept of having turning yourself into an IPO. Not about starting a business but just managing your career as a brand to maximise your earning potential. Things like getting testimonials from your manager about the work you do and taking stock once a year with an annual report. This can make you more productive and help you realize whether you are stagnating and need more training or need to dig in a little more.&lt;/p&gt;&lt;p&gt;Douglas Ward gave an average presentation on Fundamentals of Usability. The issue was that it was another Jakob Nielsen style &amp;quot;Don&apos;t do this, don&apos;t do that&amp;quot; and not enough &amp;quot;You should do this&amp;quot;. Darn negativity drives me crazy. If anyone has any good recommendations on authors or books describing what should be done please let me know. The only good thing I took away&amp;nbsp;was his analogy of your website as a billboard and the notion that an effective billboard is short, sweet and to the point &amp;quot;Good chicken next exit at Bob&apos;s&amp;quot; vs a long winded flowery pile of text which doesn&apos;t help the user get to their end point.&lt;/p&gt;&lt;p&gt;An Adobe presenter, Sarge Sargent gave a disappointing talk on gateways with little substance so it looks like I will need to dig in more myself.&lt;/p&gt;&lt;p&gt;&lt;a title=&quot;John Paul Ashenfelter&apos;s Blog&quot; href=&quot;http://www.ashenfelter.com/&quot; target=&quot;_self&quot;&gt;John Ashenfelter&lt;/a&gt; talked about Agile Programming as a methodology. There was a lot of content and theory but less practical. It would have been better if he had revised his material to focus on the audience: every coder here either builds websites or reports so with that assumption I wanted him to say &amp;quot;a client wants a new website, here is how the process works&amp;quot;. I still have pages scribbled on the topic if anyone wants detail. The nugget here was the use of ANT as a tool for web development. Built into the tools most of our developers use it allows you to automate the deployment of applications and the configuration to setup a project. In our environment this would reduce some of the lead time necessary to set our machines up for maintenance of client websites and grab local copies. He also recommended some great development books he believes every developer you hire should read as part of their job requirements.&lt;/p&gt;&lt;p&gt;This morning, slightly less awake I watched &lt;a title=&quot;Joe Rinehart&apos;s Blog&quot; href=&quot;http://clearsoftware.net/&quot; target=&quot;_self&quot;&gt;Joe Rinehart&lt;/a&gt; introduce &lt;a title=&quot;Model Glue&quot; href=&quot;http://www.model-glue.com/&quot; target=&quot;_self&quot;&gt;Model-glue unity&lt;/a&gt; as a framework for rapidly developing ColdFusion applications with a ruby on rails for ColdFusion feel. In five minutes he built a rudimentary blog from scratch typing every line of code while we watched in awe. The key component is something called reactor which works on most database platforms through JDBC. It understands the database design and then creates the pages with Model-glue to list, edit, add and delete items. &lt;/p&gt;&lt;p&gt;Lastly, I watched a friend from Atlanta present the benefits of running &lt;a title=&quot;New Atlanta makes BlueDragon&quot; href=&quot;http://www.newatlanta.com/&quot; target=&quot;_self&quot;&gt;BlueDragon&lt;/a&gt; on .NET - our company sysadmin and I will need to try a demo of this because the benefits are huge including the ability to leverage application pools allowing you to start and stop one part of a website without bringing down the whole site or any other clients on the server. It also means better monitoring abilities and helps us see which client site is bringing the others down.&lt;/p&gt;&lt;p&gt;Food is being served now so I&apos;ll wrap up. Great conference, great content and a really good crowd.&lt;/p&gt;
				
				</description>
						
				
				<category>JavaScript</category>				
				
				<category>AJAX</category>				
				
				<category>BlueDragon</category>				
				
				<category>Coldfusion</category>				
				
				<pubDate>Thu, 29 Jun 2006 12:48:54 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2006/6/29/CFUnited-mid-conference-roundup</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>British pedometer - WalkJogRun</title>
				<link>http://www.webdevref.com/blog/index.cfm/2006/5/6/British-pedometer---WalkJogRun</link>
				<description>
				
				&lt;p&gt;Okay, WalkJogRun has long been available for the UK but now it has it&apos;s own URL &lt;a href=&quot;http://www.walkjogrun.co.uk&quot; target=&quot;_self&quot; title=&quot;WalkJogRun UK version&quot;&gt;WalkJogRun.co.uk&lt;/a&gt; which starts you on a view of Europe, features better resolution satellite maps, &lt;a href=&quot;http://www.walkjogrun.co.uk/index.cfm?lg=12.463560104370117&amp;lat=41.915754824519965&amp;zmlevel=3&amp;mode=hybrid&quot; target=&quot;_self&quot; title=&quot;Dan Brown eat your heart out&quot;&gt;detailed European maps&lt;/a&gt; and imagery (looks like a Dan Brown movie) and a postcode lookup feature. Oh, and it also &lt;a href=&quot;http://www.walkjogrun.co.uk/index.cfm?lg=136.91162109375&amp;lat=35.99578538642032&amp;zmlevel=11&amp;c=Japan&quot; target=&quot;_self&quot; title=&quot;WalkJogRun running routes for Japan&quot;&gt;includes Japan &lt;/a&gt;but at present those maps are all in Japanese so I&apos;m unable to make head nor tail of the place names.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I have to admit that the imaging improvements are all Google&apos;s idea but it doesn&apos;t come free.&amp;nbsp; Google has an &lt;a href=&quot;http://www.google.com/apis/maps/documentation/upgrade.html&quot; target=&quot;_self&quot; title=&quot;Google Maps API 2 upgrade document&quot;&gt;upgrade document&lt;/a&gt; for it&apos;s mapping API users to help you move your code from v1 to v2.&amp;nbsp; The move took about 3 hours for my site but it wasn&apos;t as easy as the upgrade document made out &amp;quot;&lt;em&gt;The quickest way to upgrade is to update your Maps API &amp;lt;script&amp;gt; URL to refer to &apos;v=2&apos; instead of &apos;v=1.&apos;&lt;/em&gt;&amp;quot; Hmm. No dice.&amp;nbsp; The way I proceeded was to start with the function I call to initialize my map and eliminate any subsequent map based code and gradually add it back in, digging into the APIv2 &lt;a href=&quot;http://www.google.com/apis/maps/documentation/reference.html&quot; target=&quot;_self&quot; title=&quot;Google API v2 Class Reference&quot;&gt;Class reference&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;One of the biggest changes for me was the move from GPoint to GLatLng objects which means little until you realize that the old method of passing points has changed and the order you pass in longitude and latitude coordinates is now opposite.&amp;nbsp; One trick someone suggested was a simple function which takes the old format and returns the flipped values but I figured it was easier just to straighten them out manually.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Another such flip was the zoom scales which used to run 0 to 17 with 17 being the most coarse view and 0 allowing you to see up someone&apos;s nose.&amp;nbsp; GMap2 now goes the opposite direction with 0 being the most distant and 17 the closest you can get at this point; presumably this allows them to get closer yet at some point in the future without having to get into negative numbers.&amp;nbsp; This means most of the code you have will need to be rewritten with the substitution 17-oldnum to get the correct new value.&amp;nbsp; Or just stand on your head. &amp;nbsp;&lt;/p&gt;&lt;p&gt;This all coincides with my move to hosting the site on my own server happily running &lt;a href=&quot;http://www.newatlanta.com/products/bluedragon/product_info/overview.cfm&quot; target=&quot;_self&quot; title=&quot;BlueDragon from NewAtlanta&quot;&gt;BlueDragon 6.2.1&lt;/a&gt; on Linux with MySQL and Apache.&amp;nbsp; I have a nice dev environment to play with now instead of playing chicken with large code changes and an easy way to migrate them between environments.&lt;/p&gt;&lt;p&gt;If you have any Google Map related questions and need a hand working out where something is breaking, I will follow up if you have any questions.&lt;/p&gt;&lt;p&gt;Enjoy the rest of your weekend and maybe even plot out a nice run or bike ride.&amp;nbsp;&lt;/p&gt;
				
				</description>
						
				
				<category>JavaScript</category>				
				
				<category>AJAX</category>				
				
				<category>Sport</category>				
				
				<category>Coldfusion</category>				
				
				<pubDate>Sat, 06 May 2006 20:20:47 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2006/5/6/British-pedometer---WalkJogRun</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>A Time to Post</title>
				<link>http://www.webdevref.com/blog/index.cfm/2006/2/2/A-Time-to-Post</link>
				<description>
				
				&lt;p&gt;Anyone who has been a regular reader may have noticed that I haven&apos;t been positng a great deal lately.&amp;nbsp; The cause for the lag has been a 3 month project to rewrite a web application for my local park district to handle registrations four times a year when traffic surges from 2000 visitors per day to 2000 visitors per minute.&lt;/p&gt;&lt;p&gt;The application launches this afternoon and has brought in several challenging new topics: AJAX (including advanced DOM scripting, browser considerations, state management and interaction modelling), Clustering JRun across multiple instances and multiple servers, Load testing, Project Management and scalable application architecture.&lt;/p&gt;&lt;p&gt;After today there will be a two week delay before the madness begins for the Spring registration on February 20th.&amp;nbsp; During this time I will be posting about each of the topics above to describe what happened, what I learned and what resources I found to help guide the application design.&amp;nbsp; You may also find a guest post from Design Jeff to describe how he tackled the new challenge of designing an application for AJAX.&lt;/p&gt;&lt;p&gt;The first post will point you at the finished application to dig around and see what it looks like.&amp;nbsp; Wish me luck!&lt;br /&gt;&lt;/p&gt;
				
				</description>
						
				
				<category>JavaScript</category>				
				
				<category>AJAX</category>				
				
				<category>CSS</category>				
				
				<category>Coldfusion</category>				
				
				<category>SQL</category>				
				
				<pubDate>Thu, 02 Feb 2006 10:46:27 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2006/2/2/A-Time-to-Post</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Wall Street Journal Traffic Spikes</title>
				<link>http://www.webdevref.com/blog/index.cfm/2005/12/21/Wall-Street-Journal-Traffic-Spikes</link>
				<description>
				
				&lt;p&gt;In a deviation from my usual neurotic email compulsion I managed to avoid Gmail until about 11am on Monday.&amp;nbsp; I checked my messages and noted that the alerts I get when my Google Maps mashup &lt;a href=&quot;http://www.walkjogrun.net&quot; target=&quot;_self&quot;&gt;WalkJogRun.net&lt;/a&gt; had increased showing around 50 new routes since 6am that morning.&amp;nbsp; Weird but not that unusual.&amp;nbsp; Fast forward to 3pm when I got an IM from Jeff (Mr. CSS):&lt;/p&gt;&lt;p&gt;[15:54] jeff: ummm&lt;br /&gt;[15:54] jeff: hey&lt;br /&gt;[15:54] Me: wassup&lt;br /&gt;[15:54] jeff: did you know that walkjogrun was mentioned in the wall street journal today?!?!&lt;/p&gt;&lt;p&gt;Floored.&amp;nbsp; Naturally I snapped up a couple of copies and on page R8 of Monday&apos;s WSJ in the middle of the page as a huge callout is a list of example Google Maps mashups including in pole position &lt;a href=&quot;http://www.walkjogrun.net&quot; target=&quot;_self&quot;&gt;WalkJogRun.net&lt;/a&gt;!&amp;nbsp; Google Analytics took a few hours to reveal the extent of the referrals but it appears that Monday yielded 3,700 unique visitors up from a daily average of 150 and Tuesday brought another 1,700.&lt;/p&gt;&lt;p&gt;The online version of the Wall Street Journal is carrying the article entitled &lt;a href=&quot;http://online.wsj.com/article_email/SB113459528269322615-lMyQjAxMDE1MzI0MTUyOTE1Wj.html&quot; target=&quot;_self&quot;&gt;&amp;quot;Where in the World Is...&amp;quot;&lt;/a&gt; by Jessica E. Vascallaro too and can be found in the Journal Report section.&lt;/p&gt;&lt;p&gt;In a direct response to the extra attention I decided to squeeze in a feature I have been planning for some time to enhance loyalty.&amp;nbsp; You have always been able to create routes as a guest and always will but I added a login/member tool where routes are no longer anonymous.&amp;nbsp; The response has been great with over 200 new members in the last two days.&amp;nbsp; The immediate benefit of membership is that any routes you create are attributed to your username so you can easily locate the routes you use regularly.&amp;nbsp; Future enhancements will leverage this feature further to add training logs to monitor your pace and performance and loads more.&lt;/p&gt;&lt;p&gt;I&apos;ve also added &lt;a href=&quot;http://ray.camdenfamily.com/&quot; target=&quot;_self&quot;&gt;Ray Camden&apos;s&lt;/a&gt; forum software &lt;a href=&quot;http://ray.camdenfamily.com/projects/galleon/&quot; target=&quot;_self&quot;&gt;Galleon&lt;/a&gt; to facilitate discussion about the site and exercise routes in general.&amp;nbsp;&amp;nbsp; I have one forum dedicated to &lt;a href=&quot;http://www.walkjogrun.net/forums/forums.cfm?conferenceid=00B67994-123F-4A96-DF51553CCB9F33FD&quot; target=&quot;_self&quot;&gt;feature requests&lt;/a&gt; in case anyone has some good ideas about how to improve the site but it has yet to gain some momentum.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I&apos;m also excited that snippets of my code for WalkJogRun is also to be included in Rich Gibson and Schuyler Erle&apos;s &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0596101619/thesurgerepor-20&quot; target=&quot;_self&quot;&gt;&amp;quot;Google Maps Hacks&amp;quot;&lt;/a&gt; scheduled for release on January 1st 2006.&lt;br /&gt;&lt;/p&gt;
				
				</description>
						
				
				<category>AJAX</category>				
				
				<category>Books</category>				
				
				<category>Coldfusion</category>				
				
				<pubDate>Wed, 21 Dec 2005 14:04:13 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2005/12/21/Wall-Street-Journal-Traffic-Spikes</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Tweaking Web Applications with Fiddler</title>
				<link>http://www.webdevref.com/blog/index.cfm/2005/11/23/Tweaking-Web-Applications-with-Fiddler</link>
				<description>
				
				Understanding caching, http performance and compression are key to
winning the battle to deliver fast internet applications, especially in
the context of technologies like AJAX where packets are flying in and
out of your browser.&amp;nbsp; Fiddler is a must for any developer trying
to dig down to understand how their web application performs.
&lt;p&gt;There are two great articles on MSN about the software: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a target=&quot;_self&quot; href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/IE_Fiddler2.asp&quot;&gt;Fiddler PowerToy - Part 2: HTTP Performance&lt;/a&gt; &lt;em&gt;&amp;quot;Learn how to build a faster Web site using the Microsoft Fiddler HTTP
Debugger. In this article, we&apos;ll use Fiddler to explore HTTP
performance, caching, and compression.&amp;quot;&lt;/em&gt;&lt;br /&gt;

&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebgen/html/IE_IntroFiddler.asp&quot;&gt;Fiddler Power Toy - Part 1: HTTP Debugging&lt;/a&gt; which is the first article in the series.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yesterday Digital Media Minute reported the &lt;a target=&quot;_self&quot; href=&quot;http://www.digitalmediaminute.com/article/1813/ie-tab-firefox-extension&quot;&gt;launch of IETab&lt;/a&gt;
which is a Firefox extension which enables you to view pages in Firefox
but with the IE engine.&amp;nbsp; I was digging around for an explanation
of how it works and discovered that because this plugin uses the same
HTTP layer - WinInet, you also see the pages requested in Fiddler if
you have it open.&amp;nbsp;
&lt;/p&gt;&lt;p&gt;The reason Fiddler
doesn&apos;t report on Firefox requests out of the box is that it configures
the WinInet proxy alone and Firefox has it&apos;s own configuration.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fiddler monitoring Firefox requests&amp;nbsp;&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;If you want to get
fiddler to listen to Firefox requests too, go to Tools &amp;gt; Options
&amp;gt; Connection &amp;gt; Connection Settings and check &amp;quot;Manual Proxy
Configuration&amp;quot;, &amp;quot;Use the same proxy for all protocols&amp;quot; and enter
127.0.0.1 port 8888 and click OK.&amp;nbsp; Note that this will pose problems if
you close Fiddler as your proxy is gone, to solve the problem change
back to &amp;quot;direct connection to internet&amp;quot;.&lt;br /&gt;

&lt;/p&gt;
				
				</description>
						
				
				<category>AJAX</category>				
				
				<category>Coldfusion</category>				
				
				<pubDate>Wed, 23 Nov 2005 11:40:05 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2005/11/23/Tweaking-Web-Applications-with-Fiddler</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Using Google Analytics to Monitor AJAX Applications</title>
				<link>http://www.webdevref.com/blog/index.cfm/2005/11/22/Using-Google-Analytics-to-Monitor-AJAX-Applications</link>
				<description>
				
				&lt;p&gt;In this post, I&apos;m going to explain how&amp;nbsp; to use Google Analytics
to help you monitor AJAX and DHTML activities on your web applications.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Just over a week ago Google launched &lt;a target=&quot;_self&quot; href=&quot;http://www.google.com/analytics/&quot;&gt;Google Analytics&lt;/a&gt; as a free, tag based web analytics package for one and all to use.&amp;nbsp; The product is based on Urchin which &lt;a target=&quot;_self&quot; href=&quot;http://www.siliconvalleywatcher.com/mt/archives/2005/03/google_purchase.php&quot;&gt;Google purchased for $30 million&lt;/a&gt; at the end of March 2005.&amp;nbsp; &lt;/p&gt;&lt;p&gt;This means you can create a free account, copy the basic snippet of code&lt;/p&gt;&lt;div class=&quot;code&quot;&gt;
&lt;p&gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt; src&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://www.google-analytics.com/urchin.js&amp;quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;/p&gt;


&lt;p&gt;&amp;lt;/&lt;span class=&quot;end-tag&quot;&gt;script&lt;/span&gt;&amp;gt;&lt;br /&gt;
&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt; type&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;
_uacct = &amp;quot;UA-xxxxx-x&amp;quot;;&lt;br /&gt;
urchinTracker();&lt;br /&gt;
&amp;lt;/&lt;span class=&quot;end-tag&quot;&gt;script&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;/div&gt;and within 6-12 hours be looking at some great stats.&amp;nbsp; My
personal favorite is that it is goal centered.&amp;nbsp; It makes you think
about what the goal is for your website (readership, whitepaper
downloads, sales, etc.) and focus on tracking those behaviors.

&lt;p&gt;With traditional log based analytics packages you only get to see
requests for files but with tag based analytics packages, like Google
Analytics, you can monitor each and every JavaScript action, each click
away from your site and tweak your application based on what your
visitors are doing.&amp;nbsp; &lt;/p&gt;&lt;p&gt;I have an AJAX sear&lt;img width=&quot;228&quot; height=&quot;194&quot; border=&quot;0&quot; align=&quot;right&quot; title=&quot;WalkJogRun.net search box&quot; alt=&quot;WalkJogRun.net search box&quot; src=&quot;images/ajax0.gif&quot; /&gt;ch
box on WalkJogRun.net which up until last week I had no idea how it was
used by visitors.&amp;nbsp; I mean, sure, it said search but people should
know what that means, right?&amp;nbsp; Entering a search term dynamically
filters the list of routes in the panel beneath the search box without
refreshing the page.&lt;/p&gt;&lt;p&gt;Based on the results of tracking this for a
week, it now reads &amp;quot;Find a route by name or zip code&amp;quot; because I was
able to see that the most common behavior was to enter a zip code as a
search term which, until I realized this, was a dead end.&amp;nbsp; The
search was only looking for keywords so a zip search would find no
results here.&amp;nbsp; A simple change and now it recognizes zip codes and
handles your request differently.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Okay, but how do you track events?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Once
you have your Google Analtics account and have copied the snippet into
the head of your web page you are one line of code away from the
answer.&amp;nbsp; Any time you want to log an event or activity to Google
Analytics, add a call to the urchinTracker function which expects the
name of a page (or for the purpose of this example, a virtual page
since the search activity isn&apos;t a real page...&amp;nbsp; You can do this
anywhere you can put JavaScript in a page including your own methods
or, say, the onClick property of an href.&amp;nbsp; Since my application is
already calling a JavaScript function to handle the AJAX call, I added
the following line to my
file:&lt;/p&gt;&lt;div class=&quot;code&quot;&gt;urchinTracker(&apos;/search_routes/&apos;+term);&lt;/div&gt; which
logs the event under a virtual directory called /search_routes/ and
then logs the actual search term used under that.&amp;nbsp; To access this
information in the Google Analytics manager when you are looking at
your reports, click on &amp;quot;All Reports&amp;quot; &amp;gt; &amp;quot;Content Optimization&amp;quot; &amp;gt;
&amp;quot;Content Performance&amp;quot; &amp;gt; &amp;quot;Content Drilldown&amp;quot; and you should see a pie
chart and something like this:&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;500&quot; height=&quot;139&quot; border=&quot;0&quot; title=&quot;Google Analytics snapshot of Content Drilldown&quot; alt=&quot;Google Analytics snapshot of Content Drilldown&quot; src=&quot;images/ajax1.gif&quot; /&gt;
You can see the /search_routes folder here and that 119 visitors have
used the search tool 184 times between them.&amp;nbsp; Click on the folder
icon next to the label &amp;quot;search_routes&amp;quot; and you see the next layer down:&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;500&quot; height=&quot;223&quot; border=&quot;0&quot; title=&quot;Google Analytics Drilldown of search terms used&quot; alt=&quot;Google Analytics Drilldown of search terms used&quot; src=&quot;images/ajax2.gif&quot; /&gt;
The % Exit column reflects the damage that was done by providing a
search box with no results when you search by zipcode!&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;What else can it do?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Since
every href can have an onClick event, you can log each click away from
your site under a virtual folder called /outgoing_links/ to monitor
which links your visitors found the most interesting.&lt;br /&gt;
&lt;/p&gt;
				
				</description>
						
				
				<category>JavaScript</category>				
				
				<category>AJAX</category>				
				
				<category>Coldfusion</category>				
				
				<pubDate>Tue, 22 Nov 2005 11:36:15 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2005/11/22/Using-Google-Analytics-to-Monitor-AJAX-Applications</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>AJAX Users Beware</title>
				<link>http://www.webdevref.com/blog/index.cfm/2005/11/18/AJAX-Users-Beware</link>
				<description>
				
				&lt;p&gt;I just noticed an interesting side effect of XmlHttp request objects
while working through a new application.&amp;nbsp; We are writing an AJAX
interface to a registration application used every quarter for Chicago
residents to register for programs in the &lt;a href=&quot;http://www.chicagoparkdistrict.com&quot; target=&quot;_self&quot;&gt;local park district&lt;/a&gt;.&amp;nbsp; The programs available changes each quarter.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;IE and Firefox behave differently in the way they handle
requests which requires some consideration when using this
technique.&amp;nbsp; Through the use of &lt;a href=&quot;http://www.fiddlertool.com/fiddler/&quot; target=&quot;_self&quot;&gt;fiddler&lt;/a&gt;
and monitoring my apache log files, I was able to identify that the
Microsoft ActiveX XmlHttpRequest object will cache requests so a
subsequent request with identical parameters will be served from the
browser cache.&amp;nbsp; Firefox will repeatedly grab the same page from
the server.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;What does this mean?&lt;/strong&gt;&lt;br /&gt;
For my application, this is both a good thing and a bad thing.&amp;nbsp;
The good thing is that the programs browser is fine since the programs
available change once per season. Anyone digging will be able to cache
things they are interested from IE while firefox users still request
the file over and over.&amp;nbsp; The bad thing is that the number of
available slots for a program would be cached.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;How do we fix the bad thing?&lt;/strong&gt;&lt;br /&gt;
By appending a serialized datetimestring (yyyymmddhhmmss) and passing
it on the URL when I request the number of available slots I can
guarantee a new result.&lt;/p&gt;
				
				</description>
						
				
				<category>AJAX</category>				
				
				<pubDate>Fri, 18 Nov 2005 14:23:00 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2005/11/18/AJAX-Users-Beware</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>AJAX - Solving the loss of state</title>
				<link>http://www.webdevref.com/blog/index.cfm/2005/10/28/AJAX---Solving-the-loss-of-state</link>
				<description>
				
				There is a great idea for solving the problem of a client hitting refresh and losing page state in AJAX apps at &lt;a href=&quot;http://www.pascarello.com/rememberHistory.aspx&quot; target=&quot;_self&quot;&gt;pascarello.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Basically, use the Hash {#myanchorname} property of a URL!
				
				</description>
						
				
				<category>AJAX</category>				
				
				<pubDate>Fri, 28 Oct 2005 13:11:56 -0400</pubDate>
				<guid>http://www.webdevref.com/blog/index.cfm/2005/10/28/AJAX---Solving-the-loss-of-state</guid>
				
			</item>
			
		 	
			</channel></rss>