<?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>17 of 26 &#187; eHow</title>
	<atom:link href="http://17of26.com/tag/ehow/feed/" rel="self" type="application/rss+xml" />
	<link>http://17of26.com</link>
	<description>the world of programming and technology</description>
	<lastBuildDate>Fri, 11 Dec 2009 01:29:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>eHow Earnings Tracker Version 1.1.0 Available</title>
		<link>http://17of26.com/2009/11/ehow-earnings-tracker-version-1-1-0-available/</link>
		<comments>http://17of26.com/2009/11/ehow-earnings-tracker-version-1-1-0-available/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 20:11:16 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=407</guid>
		<description><![CDATA[Version 1.1.0 of the eHow Earnings Tracker is available on the downloads page.  Changes are as follows:
* Changed error message &#8220;This is not an eHow Earnings page!&#8221; to &#8220;The eHow Earnings Tracker must be run from your Article Library (the &#8216;Articles&#8217; tab under &#8216;My Profile&#8217;)&#8221;
* Added &#8220;Update Earnings using Yesterday&#8217;s Date&#8221; menu option.  This is [...]]]></description>
			<content:encoded><![CDATA[<p>Version 1.1.0 of the eHow Earnings Tracker is available on the <a href="../downloads/">downloads</a> page.  Changes are as follows:</p>
<p>* Changed error message &#8220;This is not an eHow Earnings page!&#8221; to &#8220;The eHow Earnings Tracker must be run from your Article Library (the &#8216;Articles&#8217; tab under &#8216;My Profile&#8217;)&#8221;<br />
* Added &#8220;Update Earnings using Yesterday&#8217;s Date&#8221; menu option.  This is useful if you didn&#8217;t get a chance to run the Tracker yesterday but you know that the earnings haven&#8217;t yet updated today.<br />
* Added &#8220;Average of X per day&#8221; for both earnings and views.  Note that this average is over the selected date range.</p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/11/ehow-earnings-tracker-version-1-1-0-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eHow Earnings Tracker Version 1.0.2 Available</title>
		<link>http://17of26.com/2009/10/ehow-earnings-tracker-version-1-0-2-available/</link>
		<comments>http://17of26.com/2009/10/ehow-earnings-tracker-version-1-0-2-available/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 03:10:19 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=400</guid>
		<description><![CDATA[Version 1.0.2 of the eHow Earnings Tracker is available on the downloads page.  There&#8217;s only one change in this version:
* &#8220;Change from previous day&#8221; values now take deleted articles into account so there are no longer negative changes.
]]></description>
			<content:encoded><![CDATA[<p>Version 1.0.2 of the eHow Earnings Tracker is available on the <a href="http://17of26.com/downloads/">downloads</a> page.  There&#8217;s only one change in this version:</p>
<p>* &#8220;Change from previous day&#8221; values now take deleted articles into account so there are no longer negative changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/10/ehow-earnings-tracker-version-1-0-2-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing and Running the eHow Earnings Tracker</title>
		<link>http://17of26.com/2009/08/installing-and-running-the-ehow-earnings-tracker/</link>
		<comments>http://17of26.com/2009/08/installing-and-running-the-ehow-earnings-tracker/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 00:47:51 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=326</guid>
		<description><![CDATA[To install the eHow Earnings Tracker, click on this link.  That will take you to the following page:

Because the add-on hasn&#8217;t yet gone through the approval process to make it public, you need to check the box next to &#8220;Let me install this experimental add-on&#8221;.  That will enable the &#8220;Add to Firefox&#8221; button:

Click on &#8220;Add [...]]]></description>
			<content:encoded><![CDATA[<p>To install the eHow Earnings Tracker, click on <a href="https://addons.mozilla.org/en-US/firefox/addon/12941">this link</a>.  That will take you to the following page:</p>
<p><img class="aligncenter size-large wp-image-327" title="install1" src="http://17of26.com/wp-content/uploads/2009/08/install1-1024x786.png" alt="install1" width="1024" height="786" /></p>
<p>Because the add-on hasn&#8217;t yet gone through the approval process to make it public, you need to check the box next to &#8220;Let me install this experimental add-on&#8221;.  That will enable the &#8220;Add to Firefox&#8221; button:</p>
<p><img class="aligncenter size-full wp-image-328" title="let me install" src="http://17of26.com/wp-content/uploads/2009/08/let-me-install.png" alt="let me install" width="310" height="93" /></p>
<p>Click on &#8220;Add to Firefox&#8221; and you will be taken to the &#8220;please donate&#8221; page:</p>
<p><img class="aligncenter size-large wp-image-329" title="roadblock" src="http://17of26.com/wp-content/uploads/2009/08/roadblock-1024x659.png" alt="roadblock" width="1024" height="659" /></p>
<p>Once again, click on the checkbox and then &#8220;Add to Firefox&#8221;.  That will take you to the end user license agreement:</p>
<p><img class="aligncenter size-full wp-image-330" title="license agreement" src="http://17of26.com/wp-content/uploads/2009/08/license-agreement.png" alt="license agreement" width="743" height="641" /></p>
<p>Click on &#8220;Accept and Install&#8221; and you will get the Software Installation dialog:</p>
<p><img class="aligncenter size-full wp-image-331" title="install dialog" src="http://17of26.com/wp-content/uploads/2009/08/install-dialog.png" alt="install dialog" width="557" height="377" /></p>
<p>Click on &#8220;Install Now&#8221; and the tracker will be installed.  After installation, you will be prompted to restart Firefox:</p>
<p><img class="aligncenter size-full wp-image-332" title="restart" src="http://17of26.com/wp-content/uploads/2009/08/restart.png" alt="restart" width="520" height="380" /></p>
<p>Click on &#8220;Restart Firefox&#8221;.  After Firefox restarts, you should see a dialog box telling you that the tracker was installed:</p>
<p><img class="aligncenter size-full wp-image-333" title="add on has been installed" src="http://17of26.com/wp-content/uploads/2009/08/add-on-has-been-installed.png" alt="add on has been installed" width="520" height="380" /></p>
<p>The eHow Earnings Tracker has now been installed, so close the dialog box show above and log onto your eHow account.  Go to &#8220;My Profile&#8221; and then click on the &#8220;Articles&#8221; tab:</p>
<p><img class="aligncenter size-full wp-image-334" title="ehow page" src="http://17of26.com/wp-content/uploads/2009/08/ehow-page.png" alt="ehow page" width="892" height="727" /></p>
<p>Now you can run the tracker by going to Tools &#8211; eHow Earnings Tracker &#8211; Update Earnings or by right-clicking somewhere on the page:</p>
<p><img class="aligncenter size-full wp-image-335" title="tracker menu" src="http://17of26.com/wp-content/uploads/2009/08/tracker-menu.png" alt="tracker menu" width="887" height="456" /></p>
<p>You should see the screen flash a few times as the tracker navigates through your article library.  When the tracker is finished, it will open a new window with your earnings data in it:</p>
<p><img class="aligncenter size-full wp-image-336" title="tracker run" src="http://17of26.com/wp-content/uploads/2009/08/tracker-run.png" alt="tracker run" width="956" height="858" /></p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/08/installing-and-running-the-ehow-earnings-tracker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eHow Earnings Tracker Version 1.0.1 Available</title>
		<link>http://17of26.com/2009/08/ehow-earnings-tracker-version-1-0-1-available/</link>
		<comments>http://17of26.com/2009/08/ehow-earnings-tracker-version-1-0-1-available/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 02:32:16 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=322</guid>
		<description><![CDATA[Version 1.0.1 of the eHow Earnings Tracker is available on the downloads page.  This version has all of the major functionality that I had planned.
Changes since 0.4.0:
*==&#62; Version 1.0.1 (August 5, 2009)
* Fixed bug with Tracker not working if the Windows user name had an apostrophe in it
*==&#62; Version 1.0.0 (August 3, 2009)
* Added ability [...]]]></description>
			<content:encoded><![CDATA[<p>Version 1.0.1 of the eHow Earnings Tracker is available on the <a href="http://17of26.com/downloads/">downloads</a> page.  This version has all of the major functionality that I had planned.</p>
<p>Changes since 0.4.0:</p>
<p>*==&gt; Version 1.0.1 (August 5, 2009)</p>
<p>* Fixed bug with Tracker not working if the Windows user name had an apostrophe in it</p>
<p>*==&gt; Version 1.0.0 (August 3, 2009)</p>
<p>* Added ability to toggle table display between earnings and views</p>
<p>*==&gt; Version 0.6.0 (August 2, 2009)</p>
<p>* Added column sorting<br />
* View table still gone, will be coming back soon!</p>
<p>*==&gt; Version 0.5.0 (July 30, 2009)</p>
<p>* Added ability to select a date range<br />
* Views table is gone, will return next version</p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/08/ehow-earnings-tracker-version-1-0-1-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eHow Earnings Tracker Version 0.4.0 Available</title>
		<link>http://17of26.com/2009/07/ehow-earnings-tracker-version-0-4-0-available/</link>
		<comments>http://17of26.com/2009/07/ehow-earnings-tracker-version-0-4-0-available/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 13:47:28 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=286</guid>
		<description><![CDATA[Yet another version of the eHow Earnings Tracker  has been uploaded to to the Firefox Addons site.  Head over to the downloads page to get it.
Changes since 0.3.0: 
*==> Version 0.4.0 (July 13, 2009)
* Added &#8220;Totals&#8221; and &#8220;Change from previous day&#8221; rows for earnings and views
*==> Version 0.3.1 (July 13, 2009)
   [...]]]></description>
			<content:encoded><![CDATA[<p>Yet another version of the eHow Earnings Tracker  has been uploaded to to the Firefox Addons site.  Head over to the <a href="http://17of26.com/downloads/">downloads</a> page to get it.</p>
<p>Changes since 0.3.0: </p>
<p>*==> Version 0.4.0 (July 13, 2009)</p>
<p>* Added &#8220;Totals&#8221; and &#8220;Change from previous day&#8221; rows for earnings and views</p>
<p>*==> Version 0.3.1 (July 13, 2009)</p>
<p>    * Fixed problem with URL parsing when users had dashes(-) in their name.</p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/07/ehow-earnings-tracker-version-0-4-0-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eHow Earnings Tracker Version 0.3.0 Available</title>
		<link>http://17of26.com/2009/07/ehow-earnings-tracker-version-0-3-0-available/</link>
		<comments>http://17of26.com/2009/07/ehow-earnings-tracker-version-0-3-0-available/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 13:31:12 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=280</guid>
		<description><![CDATA[Another version of the eHow Earnings Tracker  has been uploaded to to the Firefox Addons site.  Head over to the downloads page to get it.
Changes since Version 0.2.0:
*==&#62; Version 0.3.0 (July 13, 2009)
* Added &#8220;Copy Earnings Data to Desktop&#8221; menu option
* Added Views to HTML report
*==&#62; Version 0.2.3 (July 12, 2009)
* Additional logging
* [...]]]></description>
			<content:encoded><![CDATA[<p>Another version of the eHow Earnings Tracker  has been uploaded to to the Firefox Addons site.  Head over to the <a href="http://17of26.com/downloads/">downloads</a> page to get it.</p>
<p>Changes since Version 0.2.0:</p>
<p>*==&gt; Version 0.3.0 (July 13, 2009)</p>
<p>* Added &#8220;Copy Earnings Data to Desktop&#8221; menu option<br />
* Added Views to HTML report</p>
<p>*==&gt; Version 0.2.3 (July 12, 2009)</p>
<p>* Additional logging<br />
* Fixed issue with invalid XML characters getting stored as part of titles<br />
* Added &#8220;Delete Earnings Data&#8221; menu option</p>
<p>*==&gt; Version 0.2.2 (July 12, 2009)</p>
<p>* Fixed bug related to addition/removal of articles from the article library</p>
<p>*==&gt; Version 0.2.1 (July 12, 2009)</p>
<p>* Added more error logging<br />
* A backup earnings.xml file is now created on a successful update</p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/07/ehow-earnings-tracker-version-0-3-0-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eHow Earnings Tracker Version 0.2.0 Available</title>
		<link>http://17of26.com/2009/07/ehow-earnings-tracker-version-0-2-0-available/</link>
		<comments>http://17of26.com/2009/07/ehow-earnings-tracker-version-0-2-0-available/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 05:09:35 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=276</guid>
		<description><![CDATA[I just uploaded the latest version of the eHow Earnings Tracker to the Firefox Addons site.  Head over to the downloads page to get it.
Changes since 0.1.1:
*==&#62; Version 0.2.0 (July 12, 2009)
* eHow earnings report now opens in its own tab
* Added styling to $0.00 value fields so that they are italics with gray [...]]]></description>
			<content:encoded><![CDATA[<p>I just uploaded the latest version of the eHow Earnings Tracker to the Firefox Addons site.  Head over to the <a href="http://17of26.com/downloads/">downloads</a> page to get it.</p>
<p>Changes since 0.1.1:</p>
<p>*==&gt; Version 0.2.0 (July 12, 2009)</p>
<p>* eHow earnings report now opens in its own tab<br />
* Added styling to $0.00 value fields so that they are italics with gray font<br />
* Added eHow graphics &amp; color scheme<br />
* Added &#8220;View Last Update&#8221; which views the last HTML stats page rather than regenerating it from eHow article earnings pages<br />
* Added error logging and menu item to copy log file to desktop</p>
<p>*==&gt; Version 0.1.2 (July 9, 2009)</p>
<p>* Added CSS styling to HTML report</p>
<p>Once development work settles down I&#8217;ll write some more posts about the tracker and how to write Firefox Addons.</p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/07/ehow-earnings-tracker-version-0-2-0-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eHow Earnings Tracker : Initial Release (Version 0.1.1)</title>
		<link>http://17of26.com/2009/07/ehow-earnings-tracker-initial-release-version-0-1-1/</link>
		<comments>http://17of26.com/2009/07/ehow-earnings-tracker-initial-release-version-0-1-1/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 03:39:53 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=248</guid>
		<description><![CDATA[So, it&#8217;s done &#8211; the initial release of the eHow Earnings Tracker is available from the Mozilla Addons site.  Head on over to my downloads page for more details on obtaining the addon.  The tracker is currently classified as &#8220;experimental&#8221; which is just Mozilla&#8217;s way of saying that they haven&#8217;t reviewed it and placed their [...]]]></description>
			<content:encoded><![CDATA[<p>So, it&#8217;s done &#8211; the initial release of the eHow Earnings Tracker is available from the Mozilla Addons site.  Head on over to my <a href="http://17of26.com/downloads/">downloads</a> page for more details on obtaining the addon.  The tracker is currently classified as &#8220;experimental&#8221; which is just Mozilla&#8217;s way of saying that they haven&#8217;t reviewed it and placed their stamp of approval on it.  Apparently there are over 400 addons in the review queue so that won&#8217;t be happening any time soon <img src='http://17of26.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>I must say that overall, it was a very smooth process to get my addon hosted by Mozilla.  I just had to create an account, fill out a few fields, and upload the addon.  The hardest part was deciding which software license I wanted to release my code  under.  The legalese was overwhelming and I just picked the simplified <a href="https://addons.mozilla.org/en-US/firefox/versions/license/72913">BSD license</a>.  I have no idea if it was the right choice or not.</p>
<p>The tracker is currently pretty barebones, but it is functional from the limited testing I did with it.  A few fellow eHow writers (<a href="http://www.ehow.com/members/dragonlilly.html">Carol McKenzie</a>, <a href="http://www.ehow.com/members/dlcass.html">Dianne Cass</a>, and <a href="http://www.ehow.com/members/knyc.html">knyc</a>) were kind enough to volunteer their services in testing it out for a few days before I start broadcasting its availability to the eHow community.</p>
<h2>What it Does</h2>
<p>As I <a href="http://17of26.com/2009/06/development-project-ehow-earnings-tracke/">originally mentioned</a>, eHow gives writers very limited earnings data.  Currently there is no way to writers to figure out which articles get income on a day to day basis without doing a whole lot of manual work.  The tracker collects data each time that it is run and keeps a history so that writers can see earnings increase over time on a per article basis.  Since earnings updates only occur at most once per day, the tracker keeps data on a per day basis.  This means that if the tracker is run multiple times during a single day, it only keeps the last set of data for that day.</p>
<p>Using the tracker is very easy.  Upon installation, it adds submenus to both the main Tools menu and the context menu.  The user simply needs to navigate to one of their article earnings pages and select the menu option &#8220;Update Earnings&#8221;.  The tracker will then read all of the earnings pages and generate an HTML report.  The HTML report is currently very barebones and ugly but the plan is to fix that up.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-253" title="tracker context menu" src="http://17of26.com/wp-content/uploads/2009/07/tracker-context-menu1.png" alt="tracker context menu" width="654" height="473" />eHow Earnings Tracker context menu</p>
<h2>How it Works</h2>
<p>The tracker works by first examining the URL of the web page that&#8217;s currently in the browser.  eHow has very specific URL formats for the earnings pages so the tracker can figure out whether or not it can be run.</p>
<p>Once it is run, the tracker examines the HTML of the page and extracts data based on HTML elements and CSS class names.  It can also figure out how to navigate to the other earnings pages by using the &#8220;Next&#8221; anchor link at the bottom of the page and gathers information off each page as it loads.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-254" title="ehow earnings html structure" src="http://17of26.com/wp-content/uploads/2009/07/ehow-earnings-html-structure.png" alt="ehow earnings html structure" width="762" height="606" />HTML structure of the eHow article earnings pages</p>
<p style="text-align: left;">The tracker stores its data in an XML file in the Firefox profiles directory.  If you&#8217;re curious, you can track it down by looking in the same directory as the URL that appears in the HTML report after the tracker is run.  The file is called eHowEarningsTracker_17of26_earnings_[ehow user name].xml.</p>
<h2>Caveats</h2>
<p>The tracker requires Firefox 3.5 because I needed to use some functionality that only became available in 3.5.</p>
<p>The tracker can only collect data when it is explicitly run.  Since it can only read what&#8217;s in the rendered HTML pages, it can&#8217;t know anything that the user doesn&#8217;t see.  This means that if the tracker will never have data for days that it wasn&#8217;t run.</p>
<p>This tool is completely tied to eHow&#8217;s HTML code.  If eHow does anything to change the HTML layout of their earnings pages then the tracker will not be able to successfully read any more data until I update it to handle the new HTML layout.  However, all of the past collected data would still be there.</p>
<p>I have no idea how this thing is going to handle large amounts of data.  Some people have hundreds of articles and tracking earnings data over weeks and months is going to get big.</p>
<h2>Upcoming Changes</h2>
<p>There&#8217;s really only two things I need to work on at this point.  The first one is to do some serious work on the HTML report.  It needs some nice styling and I really want to add some functionality to it (such as being able to sort by column).</p>
<p>The other thing that I want to do is to provide a way to export/backup the data in CSV or XML format.</p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/07/ehow-earnings-tracker-initial-release-version-0-1-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>eHow Earnings Tracker : A New Direction</title>
		<link>http://17of26.com/2009/07/ehow-earnings-tracker-a-new-direction/</link>
		<comments>http://17of26.com/2009/07/ehow-earnings-tracker-a-new-direction/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 02:06:25 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=243</guid>
		<description><![CDATA[One of the major challenges with doing software development is that you need to be constantly evaluating the direction that you&#8217;re heading in with both the code and the end product.  You can&#8217;t just decide to do something and then put your head down and do it.  The landscape changes as you develop a product [...]]]></description>
			<content:encoded><![CDATA[<p>One of the major challenges with doing software development is that you need to be constantly evaluating the direction that you&#8217;re heading in with both the code and the end product.  You can&#8217;t just decide to do something and then put your head down and do it.  The landscape changes as you develop a product &#8211; you learn better ways to do things, roadblocks come up, and your vision of the end product (and code) becomes more refined and  clear.  If you don&#8217;t pay attention to these things as you go along then inevitably you&#8217;ll wind up miles away from where you should be in the end.</p>
<p>On the other hand, you can&#8217;t be changing direction with the wind either.  This is a trap that many programmers fall into.  If you don&#8217;t have a solid starting vision for the product or you constantly change the requirements for the product or how it is implemented then you&#8217;ll wind up with a big mess or, even worse, the product will never get finished.</p>
<p>The balancing act of changing things that need to be changed and not changing things too often is one of the things that makes software development as much like an art or craft as an engineering or science.  Complicating things further is the fact that what&#8217;s best to do for the product often conflicts with what&#8217;s easiest to do in the code.</p>
<p>I was working on the eHow Earnings Tracker last night when I had one of those &#8220;aha!&#8221; moments where I knew that I needed to change the direction I was heading in.</p>
<p>My original vision for the tracker was that it would automatically detect eHow earnings pages as the user browsed the web.  When an earnings page was detected, the tracker would read the current page of earnings, save them to a file, and compare them to the previous update.  The user would be able to see which articles had increases in earnings from update to update and they would have a history of earnings that could be exported.  This  seemed like it would be fairly straightforward to implement and would be a low friction solution for the user.</p>
<p>As I worked on the code, a number of implementation difficulties arose and it became apparent that there would be some usability issues with the end product.</p>
<p>Implementation difficulties (code):</p>
<ol>
<li>Firefox can have multiple tabs open at once which means that, in theory, multiple earnings pages could be loading at the same time.  Writing code to handle this sort of scenario is very difficult in a Javascript based environment.</li>
<li>Due to the fact that the code is only parsing one page of articles at a time and the article order is not guaranteed, the code can&#8217;t just blindly read &amp; write the entire contents of the current earnings file stored on disk.  Each time an earnings page is viewed, the file needs to be read in and then its data needs to be compared to the current page of earnings to see whether article entries need to be added or modified.</li>
<li>The code would be executing every time an earnings page was viewed, even if it didn&#8217;t have to.</li>
</ol>
<p>Usability issues:</p>
<ol>
<li>The user would have to manually click through each page of articles (which can get tedious since articles are only displayed 10 at a time).</li>
<li>Since the code was only seeing one page of articles at a time, it would have no way to inform the users of any articles that were added or removed since the last update.</li>
</ol>
<p>My &#8220;aha!&#8221; moment was in realizing that the better way to do this would be give the user an &#8220;Update Earnings&#8221; button that could be activated whenever they were on their earnings page.  That button will trigger the tool to automatically navigate through all of the users&#8217; earnings pages collecting information.  At the end of the process, an HTML page can be displayed showing a summary of all the earnings data.  This fixes all of the implementation and usability issues in one shot.  It&#8217;s a rare case where I can simplify the code and improve the product at the same time.</p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/07/ehow-earnings-tracker-a-new-direction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Track eHow</title>
		<link>http://17of26.com/2009/07/how-to-track-ehow/</link>
		<comments>http://17of26.com/2009/07/how-to-track-ehow/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 04:40:08 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[Firefox Addon]]></category>
		<category><![CDATA[eHow Earnings Tracker]]></category>
		<category><![CDATA[eHow]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://17of26.com/?p=237</guid>
		<description><![CDATA[
Since I now have a Firefox plugin that will properly update the browser&#8217;s status bar with the URL of the web page being viewed, it&#8217;s time to write code that will specifically detect an eHow earnings page.  For those of you following along at home, take the code from the previous post and add the [...]]]></description>
			<content:encoded><![CDATA[<pre></pre>
<p>Since I now have a Firefox plugin that will properly update the browser&#8217;s status bar with the URL of the web page being viewed, it&#8217;s time to write code that will specifically detect an eHow earnings page.  For those of you following along at home, take the code from the <a href="http://17of26.com/2009/07/a-wrench-in-the-works-multiple-tabs-in-firefox/&quot;">previous post</a> and add the following function just after the updateStatusBar function :</p>
<pre class="syntax-highlight:javascript">var update = function()
{
    var host = Application.activeWindow.activeTab.uri.host;
    var path = Application.activeWindow.activeTab.uri.path;

    m_eHowMsg = &quot;&quot;

    if(host.search(/www.ehow.com/i) == 0)     
    {         
        // eHow earnings URLs are in the form &quot;http://www.ehow.com/members/user-p#-articles.html&quot; or  &quot;http://www.ehow.com/members/user-articles.html&quot;         
        var userAndPageNumPattern = new RegExp(&quot;\/members\/\(.+)-(.+)-articles.html&quot;);         
        var userAndPageNumResult = userAndPageNumPattern.exec(path);          
        var userPattern = new RegExp(&quot;\/members\/\(.+)-articles.html&quot;);         
        var userResult = userPattern.exec(path);          

        if(userAndPageNumResult &amp;&amp; (userAndPageNumResult.length &lt; 1))         
        {             
            m_eHowMsg = userAndPageNumResult[1];         
        }
        else if(userResult &amp;&amp; (userResult.length &amp;lt; 1))         
        {             
            m_eHowMsg = userResult[1];         
        }     
    }      
    updateStatusBar(m_eHowMsg);
}</pre>
<p>This function looks for URLs that match eHow earnings pages and then updates the status bar with the eHow user name that it finds.  To hook this function up, just replace the calls to updateStatusBar in onTabSelect() and onTabLoad() with calls to update().</p>
<p>Now when we navigate to a URL that contains eHow article earnings data we see the username in the status bar (the status bar will be blank for other URLs):</p>
<p><img class="aligncenter size-full wp-image-240" title="ehow username in statusbar" src="http://17of26.com/wp-content/uploads/2009/07/ehow-username-in-statusbar1.png" alt="ehow username in statusbar" width="752" height="667" /></p>
]]></content:encoded>
			<wfw:commentRss>http://17of26.com/2009/07/how-to-track-ehow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
