<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Seifi.org &#187; testing</title>
	<atom:link href="http://www.seifi.org/category/testing/feed" rel="self" type="application/rss+xml" />
	<link>http://www.seifi.org</link>
	<description>A Web Development Blog by Joe Seifi - seifi.org</description>
	<lastBuildDate>Thu, 26 Jan 2012 01:08:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>FireFox3 Cache Check Frequency</title>
		<link>http://www.seifi.org/browsers/firefox3-cache-check-frequency.html</link>
		<comments>http://www.seifi.org/browsers/firefox3-cache-check-frequency.html#comments</comments>
		<pubDate>Mon, 07 Jul 2008 01:15:51 +0000</pubDate>
		<dc:creator>Joe Seifi</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.seifi.org/?p=663</guid>
		<description><![CDATA[It seems there is no way to set the frequency of when FireFox3 checks for new files on the server. If you are a web developer and are testing your code, you really want the browser to check for changes &#8220;every time&#8221; you refresh the page. You can always force the clean refresh by holding [...]]]></description>
			<content:encoded><![CDATA[<p>It seems there is no way to set the frequency of when FireFox3 checks for new files on the server. If you are a web developer and are testing your code, you really want the browser to check for changes &#8220;every time&#8221; you refresh the page. You can always force the clean refresh by holding down the Command key (aka Apple key) on Macs or Shift on Windows.</p>
<p>There is a less painful way to do this in the advanced settings of FF3. Just open up <a href="about:config">about:config</a> and look for browser.cache.check_doc_frequency. The value can be:<br />
<code>0    once per session<br />
1    everytime<br />
2    never<br />
3    when out of date (default)</code></p>
<p>I recommend changing this value to 1 if you are developing and testing code.</p>
<p>You will then see lots of 304 not modified messages, and get 200s for your changed files.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.seifi.org/browsers/firefox3-cache-check-frequency.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Whats new in Safari 3.1 Web Inspector and Snippet Editor</title>
		<link>http://www.seifi.org/css/whats-new-in-safari-31-web-inspector-and-sinppet-editor.html</link>
		<comments>http://www.seifi.org/css/whats-new-in-safari-31-web-inspector-and-sinppet-editor.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 23:10:03 +0000</pubDate>
		<dc:creator>Joe Seifi</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.seifi.org/testing/whats-new-in-safari-31-web-inspector-and-sinppet-editor.html</guid>
		<description><![CDATA[Safari 3.1 features improvements to the functionality for the Web Inspector developers tool. In now has an improved console for working with JavaScript and DOM, DOM inspector with CSS support, a nice Network analysis tool and search all built in. It is somewhat comparable to the FireBug plugin for FireFox so I will also make [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.seifi.org/browsers/safari-31-features.html">Safari 3.1 features improvements</a> to the functionality for the Web Inspector developers tool. In now has an improved console for working with JavaScript and DOM, DOM inspector with CSS support, a nice Network analysis tool and search all built in. It is somewhat comparable to the <a href="http://www.seifi.org/firebug/firebug_tips_and_tricks.html">FireBug plugin for FireFox</a> so I will also make some comparisons of their features.<br />
<span id="more-636"></span></p>
<h3>Web Inspector Overview</h3>
<p><img src='http://www.seifi.org/wp-content/uploads/2008/03/web_inspector_nav.gif' alt='Web Inspector Navigation' align="right" hspace="10" /> To get started open Web Inspector by going to Safari 3.1/Develop/Show Web Inspector and you will see the new window open up. The initial window is split up into a top row with navigation buttons and search box. The navigation buttons take you the the next and last actions you make within Web Inspector and come in handy when debugging. The left navigation lets you view and inspect the loaded web resources including Documents, StyleSheets, Images, Scripts, WebFonts, Databases and Other files, as well as buttons to load the Console and Network details. Ajax request and responses show up under the Other file category. If any errors are found, the number of errors are placed on the file name in the navigator. For example here, Safari has found 1 bug in the file diggthis.js The main content area shows you the web source details for viewing. JavaScript errors are marked with an orange pop, while HTML and CSS errors have a red color. If you want to attach Web Inspector to the bottom of your Safari Window click the small box on the bottom left corner of the window. I found this this to be a more usable placement.</p>
<h3>DOM Editing</h3>
<p>Clicking on any HTML Document on the left loads the source on the right. Documents can also be viewed as a DOM resrouce by clicking ont he DOM button on the top nav. (Note you have flip between DOM and Source view for HTML files.)</p>
<p><img src='http://www.seifi.org/wp-content/uploads/2008/03/webinspector_dom_search.gif' alt='DOM Editing' align="right" hspace="10" /> Searching supports DOM and CSS elements and you can nest your DOM element searches to filter out exactly what you&#8217;re looking for. For example #page a returns all anchor tags in the div with the page id. The corresponding display element in Safari is highlighted as you select DOM elements.</p>
<p>The right pane displays Styles, Metrics and Properties for seleted DOM elements. Styles show you both the computed style as well as all the defined style rules for that object. Like FireBug you can edit your CSS rules in real time in the Styles boxes for each CSS rule. To edit any CSS property double click the name or value and an edit box opens allowing you to type in your changes. This is great for testing out new ideas on the fly.</p>
<p>The metrics pane shows you the layout rules including offset, margin, border, padding, width and height for the element. Finally the Properties pane lists all of the DOM object properties that apply to the selected element.</p>
<h3>Downloadable Web Fonts</h3>
<p>If you are using downloadable web fonts the Fonts file group shows you a rendering of all the fonts that are loaded into the user&#8217;s browser.<img src='http://www.seifi.org/wp-content/uploads/2008/03/webfonts.gif' alt='Downloadble Web Fonts' /></p>
<h3>Client Side Databases</h3>
<p>Also if you are using the client side database features of HTML5, the Databases category will let your explore the databases loaded in the client along with the all the tables and rows in each client side database. From here you can also execute SQL queries against the databases.<img src='http://www.seifi.org/wp-content/uploads/2008/03/databases.gif' alt='Client Side Databases' /></p>
<h3>The Console</h3>
<p>The console feature lets you type in JavaScript commands and view JavaScript errors, along with HTML and CSS rule errors. Clicking on any error jumps to the file, but unfortunately doesn&#8217;t go the corresponding line. The console has an input area for testing out JavaScript and DOM commands on the bottom. There is in fact a console object and my tests showed that Safari supports only a few of the <a href="http://www.getfirebug.com/console.html" target="_blank">functions</a> for the console object. Here is a list of the FireBug console methods of which only a few are supported in Safari namely log, info, warn and error.</p>
<blockquote><p>
<strong>Supported methods:</strong><br />
log info warn error<br />
<strong>Unsupported methods:</strong><br />
debug assert dir dirxml trace group groupEnd time timeEnd profile profileEnd count
</p></blockquote>
<p><img src='http://www.seifi.org/wp-content/uploads/2008/03/console.gif' alt='Safari Console' /></p>
<h3>Network</h3>
<p>The network tab is actually quite nicely designed and show you what the transfer time or the transfer size for each resource and in total for the page. The capsule graph is color coded and breaks down the file types by Docs, CSS, Images, Script and Other. You can switch between time or size from the drop down. Web Inspector makes some suggestions as well for improving speed, for example here we see a recommendation to use file compression to save bandwidth. (I don&#8217;t really use this method now since IE6 is buggy with gzip deflation.) Click on any file to see the HTTP request and response header for that file.<br />
<img src='http://www.seifi.org/wp-content/uploads/2008/03/network.gif' alt='Network tool in Safari' /></p>
<h3>Snippet Editor</h3>
<p>The Snippet Editor is a little utility that allows you to enter blocks of HTML and CSS and have it rendered on the fly. It is quite useful for testing out your CSS and Layout in little chunks.<br />
<img src='http://www.seifi.org/wp-content/uploads/2008/03/snippet_editor.png' alt='Snippet Editor' /></p>
<p>Note: While using the Web Inspector and Snippet Editor, I came across numerous little annoying bugs and usability issues here and there. Also lots of features that I would expect are not there. For example you can not click on elements to inspect them, you can not add new style rules if they don&#8217;t exist already, and you can&#8217;t edit rules for CSS files loaded using @import. I would have to say that <a href="http://www.seifi.org/firebug/firebug_tips_and_tricks.html">FireBug</a> is a superior tool at this time for professional debugging, but Safari is about half way there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.seifi.org/css/whats-new-in-safari-31-web-inspector-and-sinppet-editor.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How Google Analytics determines Connection Speeds</title>
		<link>http://www.seifi.org/javascript/how-google-analytics-determines-connection-speeds.html</link>
		<comments>http://www.seifi.org/javascript/how-google-analytics-determines-connection-speeds.html#comments</comments>
		<pubDate>Wed, 12 Mar 2008 18:43:55 +0000</pubDate>
		<dc:creator>Joe Seifi</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.seifi.org/ajax/how-google-analytics-determines-connection-speeds.html</guid>
		<description><![CDATA[Today I was looking for an unobtrusive method of determining a user&#8217;s connection speed using JavaScript. A quick search on Google returned an array of tricks mostly having to do with using Ajax to make a call behind the scenes, and track the payload time for the small file. In most cases people use an [...]]]></description>
			<content:encoded><![CDATA[<p>Today I was looking for an unobtrusive method of determining a user&#8217;s connection speed using JavaScript. A quick <a href="http://www.google.com/search?q=javascript+connection+speed" target="_blank">search</a> on Google returned an array of <a href="http://myspeed.ebiene.de/" target="_blank">tricks</a> mostly having to do with using Ajax to make a call behind the scenes, and track the payload time for the small file. In most cases people use an image with a random variable at the end to avoid caching, like image.jpg?foo=1Rt2X21. This is all good but adds an HTTP connection which could potentially interfere with the user&#8217;s experience, especially if they are already on a slow connection to begin with.<span id="more-627"></span></p>
<p>Then I discovered something interesting in <a href="https://www.google.com/analytics/" target="_blank">Google Analytics</a>.</p>
<p>Google Analytics tracks and stores connection speeds for your visitors as part of the Network Properties category. The data provided includes Connection Speed and this corresponds with Pages per visit, Average time on Site, Percentage of new visits, and the Bounce rate. But how in the world does Google compile this data? It <a href="http://groups.google.com/group/analytics-help-basics/browse_thread/thread/c3c01931dcdcf1d/07a492c88916f80e?lnk=gst&amp;q=speed#07a492c88916f80e" target="_blank">appears</a> that people are <a href="http://informationgift.com/2006/10/analytics_guesses_connection_s.html" target="_blank">guessing</a> that Google uses the visitor&#8217;s IP address or hostname to do a lookup in an IP database or a <a href="http://groups.google.com/group/analytics-help-tracking/browse_thread/thread/9206114c0909379e/078a201bc3e9b566?lnk=gst&amp;q=speed#078a201bc3e9b566" target="_blank">reverse lookup</a>, and then makes a guess based on what ISP that IP address belongs to. But Google also loads a small .gif file with each <a href="http://www.google.com/support/urchin45/bin/answer.py?answer=28307" target="_blank">urchin</a> request. This article explains a little trick for using time stamped image loading and <a href="http://www.die.net/musings/page_load_time/" target="_blank">log analysis</a> which seems related.</p>
<p><img src="http://www.seifi.org/wp-content/uploads/2008/03/analyticsconnectionspeeds.gif" alt="Google Analytics Connection Speeds" /></p>
<p>So if your IP belongs to RoadRunner, then we can assume you are on a cable connection and file you under that category. This can sometimes get somewhat hairy and lead to ambiguity as evidenced by the Unknown category shown in Google Analytics. It is also interesting to note the Unknown category is the single largest category in my case with 36% of the total data collected. What happens if you are on AOL or EarthLink? Will the database contain the accurate information to pinpoint if you are on dial-up or broadband? How often is the database updated with new information? What about edge cases, for example if you work in an office where you have a &#8220;broadband&#8221; connection but share it with a large group of people?</p>
<p>The good news is that with Analytics the work happens without interfering with the user experience and no additional HTTP connections are needed. The bad news is, it is not done in real time. So if you are looking for a real-time test this will not work for you, unless you build your own seriously fast IP database web service that you can use asynchronously. The other option is to use the binary image payload test, but that also makes life hard for your users.</p>
<p>So, If you are looking for general statistics for a webapp over a date range then Google Analytics might be the way to go. Keep in mind you will end up with a chunk of Unknown data. As for making snap decisions, you can sniff user bandwidth while they surf with payload testing. Here is another sample <a href="http://site.aol.com/speed.html" target="_blank">page at AOL</a> where they put up a simple fork page and determine your bandwidth speed using JavaScript image loading and setting a user cookie. I can think of a dozen reasons why this is a bad idea but I won&#8217;t go into that here.</p>
<p><!--Content type: SDKML. Transform: wc2mtps.xslt.-->PS. It is worth mentioning that Internet Explorer supports a built in behavior called clientCaps, which provides information about features supported by Microsoft Internet Explorer, as well as a way for installing browser components on demand. The <a href="http://msdn2.microsoft.com/en-us/library/ms531088(VS.85).aspx" target="_blank">connectionType</a> property of clientCaps returns either <strong>lan</strong>, <strong>modem </strong>or <strong>offline</strong>. Since this only works in IE and doesn&#8217;t offer too much granularity, it might be a good test if you are <em>only trying to test IE users specifically</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.seifi.org/javascript/how-google-analytics-determines-connection-speeds.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone Browser Simulator</title>
		<link>http://www.seifi.org/ui/iphone-browser-simulator.html</link>
		<comments>http://www.seifi.org/ui/iphone-browser-simulator.html#comments</comments>
		<pubDate>Tue, 03 Jul 2007 03:36:23 +0000</pubDate>
		<dc:creator>Joe Seifi</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://www.seifi.org/iphone/iphone-browser-simulator.html</guid>
		<description><![CDATA[I have created a simple Simulator for the iPhone Safari (TestiPhone.com) web browser. You can use this to test you Web Applications and see how they might look in the Safari web browser included with the iPhone. I have tested this using IE7, FireFox2 and Safari 3 within Windows. The beautiful graphics come from the [...]]]></description>
			<content:encoded><![CDATA[<p>I have created a simple Simulator for the iPhone Safari <a href="http://www.testiphone.com/">(TestiPhone.com)</a> web browser. You can use this to test you Web Applications and see how they might look in the Safari web browser included with the iPhone. I have tested this using IE7, FireFox2 and Safari 3 within Windows. The beautiful graphics come from the <a href="http://www.marketcircle.com/iphoney/">iPhoney</a> project which is a wonderful application for testing using your Apple PC. I just wanted to have a quick and dirty browser based version of this tool that I can access from anywhere. Some of the iPhone apps are also listed for easy testing.<br />
<span id="more-581"></span><br />
If you would like your iPhone application listed in the Simulator page add the url below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.seifi.org/ui/iphone-browser-simulator.html/feed</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>Free Screenshot tools for web developers</title>
		<link>http://www.seifi.org/firefox/free-screenshot-tools-for-web-developers.html</link>
		<comments>http://www.seifi.org/firefox/free-screenshot-tools-for-web-developers.html#comments</comments>
		<pubDate>Wed, 27 Jun 2007 07:39:40 +0000</pubDate>
		<dc:creator>Joe Seifi</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.seifi.org/windows/free-screenshot-tools-for-web-developers.html</guid>
		<description><![CDATA[From time to time you need to capture a web site in the form of an image. While you can easily use the Ctrl+Alt+PrtSc for windows or Command+Shift+4 in Mac, you might want to screen a site that is tall and or wide and requires scrolling to fully view in your browser. You also might [...]]]></description>
			<content:encoded><![CDATA[<p>From time to time you need to capture a web site in the form of an image. While you can easily use the Ctrl+Alt+PrtSc for windows or Command+Shift+4 in Mac, you might want to screen a site that is tall and or wide and requires scrolling to fully view in your browser. You also might want to perform multiple screen captures of various pages in various web browsers or only grab sections of a page. Below is a list of Windows, OSX and Linux tools you can use to take browser based screenshots in FireFox, Internet Explorer and Safari.</p>
<p><span id="more-579"></span></p>
<p>While there are paid services such as <a title="http://www.browsercam.com/" href="http://www.browsercam.com/">Browser Cam</a> that do cross-browser screen captures, I tend to prefer using software since I can fine-tune the results to my liking, and I can see the results immediately.</p>
<h3><strong>add-ons via Firefox</strong></h3>
<p><a title="https://addons.mozilla.org/en-US/firefox/addon/1146" href="https://addons.mozilla.org/en-US/firefox/addon/1146">ScreenGrab</a> &#8211; This FireFox extension installs as an icon&nbsp;in the lower right corner of the he status bar.&nbsp; This plugin uses the Gecko <a href="http://developer.mozilla.org/en/docs/HTML:Canvas">canvas</a> for faster processing. IT allows for capturing either a selection, the visible window or the entire page. You can customize the options to save either a PNG or JPG image and add a timestamp to the filename, and captures frames and flash files sections without any problems.</p>
<p><a title="http://pearlcrescent.com/products/pagesaver/" href="http://pearlcrescent.com/products/pagesaver/">PageSaver</a>&nbsp;- This alternate extension from Pearl Crescent installs two new entries in the context menu of FireFox, allowing to save either the visibile portion or the entire page, although it does not allow for saving a selection. It has a&nbsp;slew of options however. For example you can assign a keyboard shortcut which is a great time saver.&nbsp; You can also set your image filename patterns and choose the format of the saved image. PageSaver can capture frames and flash files.</p>
<h3>Windows Software&nbsp;via Internet Explorer</h3>
<p><a href="http://www.websitescreenshots.com/">WebShot</a>&nbsp;- You may want to save the screenshot using IE for testing purposes in which case you need to use WebShot which is a tiny executable written in C by Nathan Moinvaziri. It is available in both a GUI format and a command-line format.&nbsp; WebShot is able to capture any URL and handles frames, and flash files and can also capture java applets. The processing time&nbsp;is somewhat slow for some reason however compared to the other tools. WebShot offers a ton of options when using its command line version.</p>
<h3>OSX Software via Safari</h3>
<p><a title="http://www.paulhammond.org/webkit2png/" href="http://www.paulhammond.org/webkit2png/">webkit2png</a>&nbsp;- is the official command line tool for the Mac which uses python and&nbsp;the <a href="http://webkit.org/">WebKit</a> rendering engine, which is used in Safari.</p>
<p><a title="Paparazzi" href="http://www.derailer.org/paparazzi/">Paparazzi</a>&nbsp;- If you need a simpler GUI try Paparazzi which is a great shell on top of webkit2png, making your life much easier. Paparazzi like PageSaver has many similar options you can set for your captured screenshot images.</p>
<h3>Unix Software</h3>
<p><a title="http://khtml2png.sourceforge.net/" href="http://khtml2png.sourceforge.net/">khtml2png</a> &#8211; is a great command line tool for Unix which uses <a title="http://www.imagemagick.org" href="http://www.imagemagick.org">ImageMagick</a> and libkhtml used in <a title="http://www.konqueror.org/" href="http://www.konqueror.org/">Konqueror</a> to create images from web pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.seifi.org/firefox/free-screenshot-tools-for-web-developers.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

