<?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>Lichtman Consulting&#187; Lichtman Consulting -</title>
	<atom:link href="http://lichtman.ca/feed" rel="self" type="application/rss+xml" />
	<link>http://lichtman.ca</link>
	<description>Your Strategic Development Partner</description>
	<lastBuildDate>Wed, 11 Aug 2010 02:41:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>HP Needs a BHAG (Big Hairy Audacious Goal)</title>
		<link>http://lichtman.ca/uncategorized/hp-needs-a-bhag-big-hairy-audacious-goal</link>
		<comments>http://lichtman.ca/uncategorized/hp-needs-a-bhag-big-hairy-audacious-goal#comments</comments>
		<pubDate>Wed, 11 Aug 2010 02:38:12 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[BHAG]]></category>
		<category><![CDATA[Built to Last]]></category>
		<category><![CDATA[Consumer Electronics]]></category>
		<category><![CDATA[Free Internet]]></category>
		<category><![CDATA[Great Pacific Garbage Patch]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Laptops]]></category>
		<category><![CDATA[Printers]]></category>
		<category><![CDATA[Recycling]]></category>
		<category><![CDATA[Wireless Mesh Network]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=403</guid>
		<description><![CDATA[A number of years ago, I read a book called “Built to Last”, by Jim Collins and Jerry Porras. The book, a classic of the genre, discusses a number of companies that the author feel to be “visionary” in nature. One of those companies is HP. The founders of the company built not just a [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start --><div class="wp-caption alignleft" style="width: 250px"><img src="http://farm5.static.flickr.com/4057/4453455519_0cc3cb024e_m.jpg" alt="" width="240" height="240" /><p class="wp-caption-text">Flickr Creative Commons - Taken by kevindooley</p></div></p>
<p>A number of years ago, I read a book called “<a href="http://en.wikipedia.org/wiki/Built_to_Last:_Successful_Habits_of_Visionary_Companies" target="_blank">Built to Last</a>”, by Jim Collins and Jerry Porras. The book, a classic of the genre, discusses a number of companies that the author feel to be “visionary” in nature. One of those companies is <a href="http://www.hp.com">HP</a>. The founders of the company built not just a company, but also a coherent internal culture, commonly called the “HP Way”. This has lead to the company being greatly admired in business circles.</p>
<p>The last few years have been rough on HP&#8217;s external image, in large part – I believe – unfairly. The past week has seen the second <a href="http://www.cnbc.com/id/38628022" target="_blank">sudden departure of its CEO</a> in only a few years. Both were due to scandal. While profitability has not been hurt (in fact HP is doing better than ever, with much credit to its recently departed CEO!), the stock has lately been <a href="http://www.google.com/finance?q=NYSE:HPQ" target="_blank">pummeled in the markets</a>.</p>
<p>Some of the commentary that I&#8217;ve read describe the most recent tenure as being one of building a solid financial foundation for the company. Which leads me to my point. What HP needs in its new leader is a vision for where the company should be moving technologically. Not just a specific set of goals, but something that is going to put fire in their bellies (and enthral their customers). In short, they need a BHAG – a <a href="http://en.wikipedia.org/wiki/Big_Hairy_Audacious_Goal" target="_blank">Big Hairy Audacious Goal</a>.</p>
<p>One possibility that comes to mind: HP is one of the largest manufacturers of electronics (both consumer and business) in the world. If they made a decision that in 3 to 5 years time, every single device that they manufactured would contain a <a href="http://en.wikipedia.org/wiki/Wireless_mesh_network" target="_blank">wireless mesh device</a>, they could theoretically blanket the entire world with free, decentralized, high speed internet connections. And by implication, free telephony and broadcast media. Yes, there are still big technical issues to address, and wireless mesh networks are still very much the realm of techy enthusiasts (and the US military, and also to some extent Google). But that&#8217;s the point of a BHAG. Yes, the telecom industry would scream (including likely some of <a href="http://h30261.www3.hp.com/phoenix.zhtml?c=71087&amp;p=irol-govboard" target="_blank">HP&#8217;s board members</a> &#8211; hey, I&#8217;m just sayin&#8217;) as their entire business model evaporated. Oh, and Apple might be in trouble as well – they make money on the <em>telecom contracts</em> for iPhones, not on the hardware. But imagine the sales pitch to consumers – buy our printers, our laptops, our telephones, and never pay for internet, telephone or cable TV <em>ever again</em>. Nice, eh?</p>
<p>Here&#8217;s another possibility: HP is already widely known for its environmentally friendly policies, and especially for its experience handling and recycling plastics. Imagine what effect a Fortune 500 company (with $100 billion plus per year in revenue) could have, if it would back a project like WHIM Architecture&#8217;s <a href="http://www.recycledisland.com" target="_blank">Recycled Island</a> project? WHIM are trying to gather all of the <a href="http://en.wikipedia.org/wiki/Great_Pacific_Garbage_Patch" target="_blank">waste plastic floating in the middle of the Pacific Ocean</a>, and turn it into habitable land. I don&#8217;t know with any certainty if their economic projections are feasible, but there&#8217;s a potential for large profits from this type of venture.</p>
<p>There&#8217;s no doubt that there&#8217;s any number of highly talented people that can step into the chief executive role at HP. Let&#8217;s hope that whomever they chose will bring this kind of vision to the table, and that this remarkable company can quickly move beyond this temporary setback.<!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal&amp;title=HP%20Needs%20a%20BHAG%20%28Big%20Hairy%20Audacious%20Goal%29&amp;bodytext=%0D%0A%0D%0AA%20number%20of%20years%20ago%2C%20I%20read%20a%20book%20called%20%E2%80%9CBuilt%20to%20Last%E2%80%9D%2C%20by%20Jim%20Collins%20and%20Jerry%20Porras.%20The%20book%2C%20a%20classic%20of%20the%20genre%2C%20discusses%20a%20number%20of%20companies%20that%20the%20author%20feel%20to%20be%20%E2%80%9Cvisionary%E2%80%9D%20in%20nature.%20One%20of%20those%20companies%20is%20HP" title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal&amp;title=HP%20Needs%20a%20BHAG%20%28Big%20Hairy%20Audacious%20Goal%29&amp;notes=%0D%0A%0D%0AA%20number%20of%20years%20ago%2C%20I%20read%20a%20book%20called%20%E2%80%9CBuilt%20to%20Last%E2%80%9D%2C%20by%20Jim%20Collins%20and%20Jerry%20Porras.%20The%20book%2C%20a%20classic%20of%20the%20genre%2C%20discusses%20a%20number%20of%20companies%20that%20the%20author%20feel%20to%20be%20%E2%80%9Cvisionary%E2%80%9D%20in%20nature.%20One%20of%20those%20companies%20is%20HP" title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal&amp;t=HP%20Needs%20a%20BHAG%20%28Big%20Hairy%20Audacious%20Goal%29" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal&amp;title=HP%20Needs%20a%20BHAG%20%28Big%20Hairy%20Audacious%20Goal%29&amp;annotation=%0D%0A%0D%0AA%20number%20of%20years%20ago%2C%20I%20read%20a%20book%20called%20%E2%80%9CBuilt%20to%20Last%E2%80%9D%2C%20by%20Jim%20Collins%20and%20Jerry%20Porras.%20The%20book%2C%20a%20classic%20of%20the%20genre%2C%20discusses%20a%20number%20of%20companies%20that%20the%20author%20feel%20to%20be%20%E2%80%9Cvisionary%E2%80%9D%20in%20nature.%20One%20of%20those%20companies%20is%20HP" title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal&amp;title=HP%20Needs%20a%20BHAG%20%28Big%20Hairy%20Audacious%20Goal%29&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=%0D%0A%0D%0AA%20number%20of%20years%20ago%2C%20I%20read%20a%20book%20called%20%E2%80%9CBuilt%20to%20Last%E2%80%9D%2C%20by%20Jim%20Collins%20and%20Jerry%20Porras.%20The%20book%2C%20a%20classic%20of%20the%20genre%2C%20discusses%20a%20number%20of%20companies%20that%20the%20author%20feel%20to%20be%20%E2%80%9Cvisionary%E2%80%9D%20in%20nature.%20One%20of%20those%20companies%20is%20HP" title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal&amp;title=HP%20Needs%20a%20BHAG%20%28Big%20Hairy%20Audacious%20Goal%29" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=HP%20Needs%20a%20BHAG%20%28Big%20Hairy%20Audacious%20Goal%29&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal&amp;title=HP%20Needs%20a%20BHAG%20%28Big%20Hairy%20Audacious%20Goal%29" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhp-needs-a-bhag-big-hairy-audacious-goal&amp;t=HP%20Needs%20a%20BHAG%20%28Big%20Hairy%20Audacious%20Goal%29" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/uncategorized/hp-needs-a-bhag-big-hairy-audacious-goal/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HST and shopping carts</title>
		<link>http://lichtman.ca/uncategorized/hst-and-shopping-carts</link>
		<comments>http://lichtman.ca/uncategorized/hst-and-shopping-carts#comments</comments>
		<pubDate>Mon, 19 Jul 2010 02:49:28 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[hst]]></category>
		<category><![CDATA[obercart]]></category>
		<category><![CDATA[os commerce]]></category>
		<category><![CDATA[shopping carts]]></category>
		<category><![CDATA[taxes]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=398</guid>
		<description><![CDATA[If you are using OS Commerce, and require an HST-related update, CO4 Computing (co4.com) have a specific flat rate deal for this service. On the other hand, if you are using Ubercart, we would be happy to help you with this process! If you like this article, please share it with others:]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start -->If you are using OS Commerce, and require an HST-related update, CO4 Computing (co4.com) have a specific flat rate deal for this service. </p>
<p>On the other hand, if you are using Ubercart, we would be happy to help you with this process!<!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts&amp;title=HST%20and%20shopping%20carts&amp;bodytext=If%20you%20are%20using%20OS%20Commerce%2C%20and%20require%20an%20HST-related%20update%2C%20CO4%20Computing%20%28co4.com%29%20have%20a%20specific%20flat%20rate%20deal%20for%20this%20service.%20%0A%0AOn%20the%20other%20hand%2C%20if%20you%20are%20using%20Ubercart%2C%20we%20would%20be%20happy%20to%20help%20you%20with%20this%20process%21" title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts&amp;title=HST%20and%20shopping%20carts&amp;notes=If%20you%20are%20using%20OS%20Commerce%2C%20and%20require%20an%20HST-related%20update%2C%20CO4%20Computing%20%28co4.com%29%20have%20a%20specific%20flat%20rate%20deal%20for%20this%20service.%20%0A%0AOn%20the%20other%20hand%2C%20if%20you%20are%20using%20Ubercart%2C%20we%20would%20be%20happy%20to%20help%20you%20with%20this%20process%21" title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts&amp;t=HST%20and%20shopping%20carts" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts&amp;title=HST%20and%20shopping%20carts&amp;annotation=If%20you%20are%20using%20OS%20Commerce%2C%20and%20require%20an%20HST-related%20update%2C%20CO4%20Computing%20%28co4.com%29%20have%20a%20specific%20flat%20rate%20deal%20for%20this%20service.%20%0A%0AOn%20the%20other%20hand%2C%20if%20you%20are%20using%20Ubercart%2C%20we%20would%20be%20happy%20to%20help%20you%20with%20this%20process%21" title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts&amp;title=HST%20and%20shopping%20carts&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=If%20you%20are%20using%20OS%20Commerce%2C%20and%20require%20an%20HST-related%20update%2C%20CO4%20Computing%20%28co4.com%29%20have%20a%20specific%20flat%20rate%20deal%20for%20this%20service.%20%0A%0AOn%20the%20other%20hand%2C%20if%20you%20are%20using%20Ubercart%2C%20we%20would%20be%20happy%20to%20help%20you%20with%20this%20process%21" title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts&amp;title=HST%20and%20shopping%20carts" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=HST%20and%20shopping%20carts&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts&amp;title=HST%20and%20shopping%20carts" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fhst-and-shopping-carts&amp;t=HST%20and%20shopping%20carts" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/uncategorized/hst-and-shopping-carts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faceted Social Networks</title>
		<link>http://lichtman.ca/social-media/faceted-social-networks</link>
		<comments>http://lichtman.ca/social-media/faceted-social-networks#comments</comments>
		<pubDate>Mon, 12 Jul 2010 21:18:03 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=396</guid>
		<description><![CDATA[I just found an interesting article slideshow via Slashdot, on how real-life social graphs work, and why current social media websites don&#8217;t do a good job of supporting them &#8211; http://www.slideshare.net/padday/the-real-life-social-network-v2. The gist is that people&#8217;s &#8220;real life&#8221; social networks are highly faceted in nature, and the resulting online interactions can be jarring. There&#8217;s some [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start -->I just found an interesting <span style="text-decoration: line-through;">article</span> slideshow via Slashdot, on how real-life social graphs work, and why current social media websites don&#8217;t do a good job of supporting them &#8211; <a title="Real Life Social Networks" href="http://www.slideshare.net/padday/the-real-life-social-network-v2" target="_blank">http://www.slideshare.net/padday/the-real-life-social-network-v2</a>.</p>
<p>The gist is that people&#8217;s &#8220;real life&#8221; social networks are highly faceted in nature, and the resulting online interactions can be jarring. There&#8217;s some food for thought here.<!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks&amp;title=Faceted%20Social%20Networks&amp;bodytext=I%20just%20found%20an%20interesting%20article%20slideshow%20via%20Slashdot%2C%20on%20how%20real-life%20social%20graphs%20work%2C%20and%20why%20current%20social%20media%20websites%20don%27t%20do%20a%20good%20job%20of%20supporting%20them%20-%20http%3A%2F%2Fwww.slideshare.net%2Fpadday%2Fthe-real-life-social-network-v2.%0D%0A%0D%0AThe%20g" title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks&amp;title=Faceted%20Social%20Networks&amp;notes=I%20just%20found%20an%20interesting%20article%20slideshow%20via%20Slashdot%2C%20on%20how%20real-life%20social%20graphs%20work%2C%20and%20why%20current%20social%20media%20websites%20don%27t%20do%20a%20good%20job%20of%20supporting%20them%20-%20http%3A%2F%2Fwww.slideshare.net%2Fpadday%2Fthe-real-life-social-network-v2.%0D%0A%0D%0AThe%20g" title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks&amp;t=Faceted%20Social%20Networks" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks&amp;title=Faceted%20Social%20Networks&amp;annotation=I%20just%20found%20an%20interesting%20article%20slideshow%20via%20Slashdot%2C%20on%20how%20real-life%20social%20graphs%20work%2C%20and%20why%20current%20social%20media%20websites%20don%27t%20do%20a%20good%20job%20of%20supporting%20them%20-%20http%3A%2F%2Fwww.slideshare.net%2Fpadday%2Fthe-real-life-social-network-v2.%0D%0A%0D%0AThe%20g" title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks&amp;title=Faceted%20Social%20Networks&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=I%20just%20found%20an%20interesting%20article%20slideshow%20via%20Slashdot%2C%20on%20how%20real-life%20social%20graphs%20work%2C%20and%20why%20current%20social%20media%20websites%20don%27t%20do%20a%20good%20job%20of%20supporting%20them%20-%20http%3A%2F%2Fwww.slideshare.net%2Fpadday%2Fthe-real-life-social-network-v2.%0D%0A%0D%0AThe%20g" title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks&amp;title=Faceted%20Social%20Networks" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Faceted%20Social%20Networks&amp;url=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks&amp;title=Faceted%20Social%20Networks" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Fsocial-media%2Ffaceted-social-networks&amp;t=Faceted%20Social%20Networks" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/social-media/faceted-social-networks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Effect of HST on Online Business</title>
		<link>http://lichtman.ca/uncategorized/the-effect-of-hst-on-online-business</link>
		<comments>http://lichtman.ca/uncategorized/the-effect-of-hst-on-online-business#comments</comments>
		<pubDate>Fri, 25 Jun 2010 02:13:37 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=389</guid>
		<description><![CDATA[The following is very important for anybody who is selling products or services online, and is based in Ontario. I&#8217;m assuming that a similar situation also applies to companies in British Columbia, but I haven&#8217;t confirmed this. On 1 July 2010, the HST (Harmonized Sales Tax) comes into effect in both provinces, replacing the separate [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start --><em>The following is very important for anybody who is selling products or services online, and is based in Ontario. I&#8217;m assuming that a similar situation also applies to companies in British Columbia, but I haven&#8217;t confirmed this.</em></p>
<p>On 1 July 2010, the HST (Harmonized Sales Tax) comes into effect in both provinces, replacing the separate federal GST and provincial PST sales taxes.</p>
<p>It turns out that the policy for anybody selling online is poorly documented right now, and further that there is still extensive disagreement within Revenue Canada regarding how to apply the HST under certain circumstances that are common online. I&#8217;ll do my best to provide as much detail as possible, based on what I&#8217;ve been able to find out so far.</p>
<p>A customer of mine recently spoke to a number of accountants (more than three) regarding how taxation should work when selling products (or services) online from Ontario. The answers were completely different in each of the responses he received, so he went to the source and spoke directly to Revenue Canada. The following rules apply according to what he learned there:</p>
<ol>
<li>HST applicability is now firmly based on the <strong>ship-to</strong> address of the customer. This was never entirely clear with the GST previously, and we usually recommended charging GST to customers if either the bill-to or ship-to addresses were in Ontario. The HST is based on the destination of where the goods are going to. Check for further details below, because this doesn&#8217;t necessarily simplify anything.</li>
<li>For companies based in Ontario, selling to a customer based in Ontario, the HST must be charged on goods/services (we&#8217;re talking online stuff which in all likelyhood doesn&#8217;t fit into any of the large number of exempted goods) at 13%.</li>
<li><strong>NEW:</strong> (For items being shipped out of province) If the customer is based in other provinces in Canada, the taxes <span style="text-decoration: underline;">as applicable in that province</span> must be billed. Previously, most vendors charged only GST to customers in other provinces. I will include a chart of the specific tax rates as of July 1st below. If the destination province is part of the HST schema, HST at THAT province&#8217;s rate is billed. Otherwise GST at 5% plus whatever provincial tax applies, is billed.</li>
<li>Virtual items sold to customers in other provinces are a problem. The item isn&#8217;t being shipped outside of the province (it doesn&#8217;t actually exist in physical terms), so its likely that full Ontario HST of 13% needs to be charged.</li>
<li>There is still no clear policy on how to address customers outside of Canada. This is a serious problem given the short time frame until the HST goes into effect. One of the multiple opinions we were given is to charge 0% HST (not the same as no tax – charging 0% HST allows you to claim various deductions afterwards apparently) for US-based customers. Another option was that we should be billing full 13% HST for all customers outside of Canada, which would have severe ramifications for Ontario-based online businesses. I will try to get a clarification on this – and will post an update here if possible.</li>
<li>Its not clear if the US is treated differently than other countries, and whether it has to do specifically with tax treaties.</li>
<li>It appears that HST is billed on top of shipping. That means you need to do a subtotal with shipping first, and then charge HST on top of that. I&#8217;ll try to get this clarified as well. I know that some shopping cart systems (i.e. OS Commerce) already allow for a variety of configurations with regards to whether tax is charged on the shipping line item of an order. Other carts may not have this flexibility, so may need to have coding done to support this.</li>
</ol>
<p>As you can see from the above, doing business online from Ontario is about to become much more complex than before.</p>
<p>Given the short time until this takes effect, I&#8217;m perturbed by the lack of good information available on this topic.</p>
<p>The majority of what I&#8217;ve read on the HST was aimed solely at consumers.</p>
<p>What&#8217;s even worse is that it appears that many accountants have no idea at all how the HST works, and particularly with regards to e-commerce.</p>
<p>Compounding the problem is the lack of coherent policy in place with regards to how the HST will work across jurisdictions – this kind of thing may have worked out back in the day when only large businesses sold across borders, but today virtually all businesses with an online presence view the entire world as a potential customer. Not having proper policy in place for the HST is just not acceptable. Its a serious, serious problem for a very large number of companies, small and large, that operate in the modern world. This was poorly thought out, and poorly implemented.</p>
<p>The following is a listing of the tax rates for the different provinces of Canada, as of July 1st 2010. They may change periodically thereafter, so don&#8217;t use this as a definitive list.</p>
<table>
<tbody>
<tr>
<th>Province</th>
<th>Tax Rate (%)</th>
<th>HST?</th>
</tr>
<tr>
<td>Ontario</td>
<td>13%</td>
<td><strong>Yes</strong></td>
</tr>
<tr>
<td>British Columbia</td>
<td>12%</td>
<td><strong>Yes</strong></td>
</tr>
<tr>
<td>Alberta</td>
<td>5%</td>
<td>No</td>
</tr>
<tr>
<td>Saskatchewan</td>
<td>5% GST + 5% PST</td>
<td>No</td>
</tr>
<tr>
<td>Manitoba</td>
<td>5% GST + 7% PST</td>
<td>No</td>
</tr>
<tr>
<td>Quebec</td>
<td>5% GST + 7.5% PST</td>
<td>QST</td>
</tr>
<tr>
<td>New Brunswick</td>
<td>13%</td>
<td><strong>Yes</strong></td>
</tr>
<tr>
<td>Nova Scotia</td>
<td>15%</td>
<td><strong>Yes</strong></td>
</tr>
<tr>
<td>Newfoundland</td>
<td>13%</td>
<td><strong>Yes</strong></td>
</tr>
<tr>
<td>Prince Edward Island</td>
<td>5% GST + 10% PST</td>
<td>No</td>
</tr>
<tr>
<td>Yukon</td>
<td>5% GST</td>
<td>No</td>
</tr>
<tr>
<td>Nunavut</td>
<td>5% GST</td>
<td>No</td>
</tr>
<tr>
<td>North West Territories</td>
<td>5% GST</td>
<td>No</td>
</tr>
</tbody>
</table>
<h2>Update (29 June 2010):</h2>
<p>I&#8217;ve received the following updates to the above info:</p>
<ul>
<li>Billing from Ontario to other provinces &#8211; for non-HST provinces, it is only necessary to bill GST (not that province&#8217;s PST). This appears to include Quebec (i.e. not QST).</li>
<li>Shipping fees must have HST applied to them (i.ecreate your subtotal, add shipping, and then apply tax).</li>
<li>Virtual products must have HST applied to them, if the customer resides in Canada (regardless of where). This is because nothing is physically shipped to the customer.</li>
<li>US and international customers are not charged tax. Or maybe still charged 0% HST. I&#8217;m still not clear on this one.</li>
</ul>
<p><!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business&amp;title=The%20Effect%20of%20HST%20on%20Online%20Business&amp;bodytext=The%20following%20is%20very%20important%20for%20anybody%20who%20is%20selling%20products%20or%20services%20online%2C%20and%20is%20based%20in%20Ontario.%20I%27m%20assuming%20that%20a%20similar%20situation%20also%20applies%20to%20companies%20in%20British%20Columbia%2C%20but%20I%20haven%27t%20confirmed%20this.%0D%0A%0D%0AOn%201%20July%202010%2C%20the" title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business&amp;title=The%20Effect%20of%20HST%20on%20Online%20Business&amp;notes=The%20following%20is%20very%20important%20for%20anybody%20who%20is%20selling%20products%20or%20services%20online%2C%20and%20is%20based%20in%20Ontario.%20I%27m%20assuming%20that%20a%20similar%20situation%20also%20applies%20to%20companies%20in%20British%20Columbia%2C%20but%20I%20haven%27t%20confirmed%20this.%0D%0A%0D%0AOn%201%20July%202010%2C%20the" title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business&amp;t=The%20Effect%20of%20HST%20on%20Online%20Business" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business&amp;title=The%20Effect%20of%20HST%20on%20Online%20Business&amp;annotation=The%20following%20is%20very%20important%20for%20anybody%20who%20is%20selling%20products%20or%20services%20online%2C%20and%20is%20based%20in%20Ontario.%20I%27m%20assuming%20that%20a%20similar%20situation%20also%20applies%20to%20companies%20in%20British%20Columbia%2C%20but%20I%20haven%27t%20confirmed%20this.%0D%0A%0D%0AOn%201%20July%202010%2C%20the" title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business&amp;title=The%20Effect%20of%20HST%20on%20Online%20Business&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=The%20following%20is%20very%20important%20for%20anybody%20who%20is%20selling%20products%20or%20services%20online%2C%20and%20is%20based%20in%20Ontario.%20I%27m%20assuming%20that%20a%20similar%20situation%20also%20applies%20to%20companies%20in%20British%20Columbia%2C%20but%20I%20haven%27t%20confirmed%20this.%0D%0A%0D%0AOn%201%20July%202010%2C%20the" title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business&amp;title=The%20Effect%20of%20HST%20on%20Online%20Business" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=The%20Effect%20of%20HST%20on%20Online%20Business&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business&amp;title=The%20Effect%20of%20HST%20on%20Online%20Business" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fthe-effect-of-hst-on-online-business&amp;t=The%20Effect%20of%20HST%20on%20Online%20Business" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/uncategorized/the-effect-of-hst-on-online-business/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Heavy Traffic &#8211; Lessons Learned</title>
		<link>http://lichtman.ca/uncategorized/heavy-traffic-lessons-learned</link>
		<comments>http://lichtman.ca/uncategorized/heavy-traffic-lessons-learned#comments</comments>
		<pubDate>Tue, 01 Jun 2010 03:26:10 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[auction website]]></category>
		<category><![CDATA[challenges]]></category>
		<category><![CDATA[heavy traffic]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[server load]]></category>
		<category><![CDATA[unique visitors]]></category>
		<category><![CDATA[visitors per day]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=384</guid>
		<description><![CDATA[In the past 15 or 16 years, I&#8217;ve worked on a number of websites that had fairly significant traffic (mostly in the form of unique daily visitors – there&#8217;s many ways to measure traffic). In one specific case, the traffic on a well-known author&#8217;s website spiked significantly (several thousand unique visitors per day) after his [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start -->In the past 15 or 16 years, I&#8217;ve worked on a number of websites that had fairly significant traffic (mostly in the form of unique daily visitors – there&#8217;s many ways to measure traffic). In one specific case, the traffic on a well-known author&#8217;s website spiked significantly (several thousand unique visitors per day) after his appearance on a television talk show. The website, although database driven, primarily consisted of articles, along with a store &#8211; and even on shared hosting, this wasn&#8217;t a problem.</p>
<p>Recently, my company built an online “live auction” website for a customer, a project which posed a number of interesting challenges and learning experiences (the hard way, of course) regarding how to build a site that has heavy traffic. In this case, the nature of the website requires that all users see information that is current and accurate &#8211; resulting in a need for AJAX calls that run repeatedly on a <em>per second</em> basis <em>per user</em>. This project is the first one that I have worked on that required serious optimization work; typically even the heaviest custom development that my team works on is primarily focused on business use cases rather than things like speed or algorithm design; not so here.</p>
<p>The &#8220;coming soon&#8221; page, long before the site was launched, already received several hundred unique visitors per day (based on Google Analytics). The site launched with more than 500 registered users (pre-registration via the coming soon page), and traffic spiked heavily following launch. The initial traffic spike actually forced the site to close for several days, in order for our team to rework code. The re-launch was preceded by several Beta tests that involved registered users. Bear in mind that a registered user on most sites isn&#8217;t individually responsible for much server load. On this particular site, each user is receiving at least one update per second, each of which may involve multiple database calls.</p>
<p>The following is a description of some of the issues we encountered, and how they were addressed or mitigated. In some cases, work is ongoing, in order to adapt to continued growth. In many cases, the challenges that we encountered forced me to revise some assumptions I had held about how to approach traffic. Hopefully the following lessons will save a few people the weeks of sleep deprivation that I went through in order to learn them.</p>
<h2>Project Description:</h2>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Penny_auction">Penny Auction</a> website</li>
<li>Technology: PHP (Zend Framework), 	Javascript</li>
<li>Server: Various VPS packages (so 	far)</li>
<li>Description of traffic: All users 	receive one data update per second; there are additional data 	updates every 3 seconds, and once per minute.</li>
</ul>
<h3>1. Don&#8217;t Rely Too Much On Your Server</h3>
<p>Many web developers build code that simply assumes that the server will work properly. The problem is that under heavy load, it isn&#8217;t at all uncommon for servers to actually not function in the way that might be expected. Examples include things like file resources dropping, database calls dropping &#8211; sometimes without intelligible error codes, and even things like system time being unreliable. The following are a couple of specific examples we encountered:</p>
<p>a) PHP time() &#8211; When developing in PHP, it is very common to rely on function calls such as time() (to obtain system time, in UNIX timestamp form) for algorithms to work properly. Our setup involved a VPS with multiple CPUs dedicated to our use, and the ability to “burst” to more CPUs as needed. As it turned out, whenever our server went into burst mode, the additional CPUs reported different system times than “our” CPUs did. This is probably an issue with the underlying VPS software, but we didn&#8217;t have the luxury of investigating fully. This meant that rows were frequently (as in: about one quarter of the time) saved in the wrong order into the database, which is a serious issue for an auction website! When possible, use a timestamp within SQL code (i.e. MySQL&#8217;s TIMESTAMP() function) instead. Fixing the system time on the other VPS partitions wasn&#8217;t feasible, since they “belonged” to a different customer.</p>
<p>b) Not every database call will work. Under heavy load, it isn&#8217;t at all unusual for a SQL insert or update statement to be dropped. Unless your code is designed to check error statements, and handle retries properly, your site will not work.</p>
<h3>2. Pick Your Hosting Company Wisely</h3>
<p>We launched the project on one of our hosting company&#8217;s smaller VPS packages. We quickly went to one of the middle-range packages, discovered it was also insufficient, and then switched to the largest package that they offer.</p>
<p>In the process, we also entered a number of second tier or higher tickets into their system, including serious operating system level problems.</p>
<p>Luckily, we chose a hosting company that responds quickly to issues, and whose staff are familiar with the types of issues we encountered.</p>
<p>This isn&#8217;t something to take for granted. Not every hosting company has the ability to quickly and seamlessly transition a site through different packages on different servers, nor do they necessarily have tier 3 support staff who can address unusual support requests.</p>
<p>In this case, our conversations with the company seem to indicate that they have never seen a new site with this level of load in the past; they still worked valiantly to assist us in keeping things running.</p>
<h3>3. Shared Hosting, VPS, Dedicated, Cloud Hosting?</h3>
<p>In our previous experience, when a hosting company sells somebody a dedicated server, the notion is that the customer knows what they are doing, and can handle most issues. This occurs even where a SLA (service level agreement) is in place, and can seriously effect response time for trouble tickets.</p>
<p>As a result, our first inclination was to use a VPS service. Our decision was further supported by the level of backup provided by default with VPS packages at our chosen vendor. A similar backup service on a dedicated server of equivalent specifications appeared to be much more expensive.</p>
<p>One of the larger competitors of our customer&#8217;s site currently runs under a cloud hosting system. We are continuing to look at a variety of “grid” and cloud hosting options; the main issue is that it is extremely hard to estimate the monthly costs involved in cloud hosting, without having a good handle on how much traffic a site will receive. It isn&#8217;t unusual for hosting costs to scale in such a way as to make an otherwise profitable site lose money. That said, we will likely have to transition over to a cloud hosting service of some kind at some point in time.</p>
<h3>4. Database Keys Are Your Friend</h3>
<p>At one point, we managed to reduce server load from &gt; 100% load, down to around 20%, by adding three keys into the database. This is easy for many web developers to overlook (yes I know, serious “desktop” application developers are used to thinking of this stuff).</p>
<h3>5. Zend Framework is Good For Business Logic – But It Isn&#8217;t Fast</h3>
<p>We initially built the entire code base using Zend Framework 1.10. Using Zend helped build the site in a lot less time than it would otherwise have taken, and it also allows for an extremely maintainable and robust code base. It isn&#8217;t particularly fast, however, since there&#8217;s significant overhead involved in everything it does.</p>
<p>After some experimentation, we removed any code that supported AJAX calls from Zend, and placed it into a set of “gateway” scripts that were optimized for speed.  By building most of the application in Zend, and moving specific pieces of code that need to run quickly out of it, we found a compromise that appears to work – for now.</p>
<p>The next step appears to be to build some kind of compiled daemon to handle requests that need speed.</p>
<h3>6. Javascript</h3>
<p>Our mandate was to support several of the more common browsers currently in use (mid-2010), including Firefox, IE7-9, Opera, and – if feasible – Safari.</p>
<p>The site is extremely Javascript-intense in nature, although the scripting itself isn&#8217;t particularly complex.</p>
<p>We used Jquery as the basis for much of the coding, and then created custom code on top of this. Using a library – while not a magic solution in itself – makes cross-browser support much, much easier. We&#8217;re not very picky / particular about specific libraries, but have used Jquery on a number of projects in the past couple of years, to generally good results.</p>
<p>Specific issues encountered included IE&#8217;s tendancy to cache AJAX posts, which had to be resolved by tacking a randomized variable onto resources; this, unfortunately, doesn&#8217;t “play nice” with Google Speedtest (see below).</p>
<p>We also had a serious issue with scripts that do animated transitions, which resulted in excessive client-side load (and thus poor perceived responsiveness) in addition to intermittantly causing Javascript errors in IE.</p>
<p>Javascript debugging in IE isn&#8217;t easy at the best of times, and is made more complex by our usage of minify (see below) to compress script size. One tool that occasionally helped was FireBug Lite, which essentially simulates Firefox&#8217;s Firebug plugin in other browsers (but which also sometimes can change the behaviour of the scripts being debugged). The underlying issue is that IE does a poor job of pointing coders to exactly where a script crashed, and the error messages tend to be unhelpful. The debugging method in IE basically boils down to a) downloading a copy of the minified resource in the form that the browser sees it, b) using an editor with good row/column reporting (I often use Notepad++) to track down roughly where the error occurs, and c) put in debug statements randomly to try and isolate the problem. After working with Firebug for a while, this is an unpleasant chore.</p>
<h3>7. Testing Server</h3>
<p>Long before your site launches, set up a separate testing server with as close to a duplicate of the live environment as possible. Keep the code current (we usually try to use SVN along with some batch scripts to allow quick updating), and test EVERY change on the test site before pushing the code over to the live server. Simple, but frequently overlooked (I&#8217;m personally guilty on occasion).</p>
<h3>8. CSS</h3>
<p>Designers and web developers often think of CSS purely in terms of cross-browser compatibility. Building sites that actually work in major browsers goes without saying, and based on personal experience, CSS issues can lead to a lot of customer support calls (“help, the button is missing”) that could be easily avoided. In the case of this specific project, we actually had to remove or partially degrade some CSS-related features, in order to provide for a more uniform experience across browsers. Attempting to simulate CSS3 functionality using Javascript is not a solution for a heavy-traffic, speed-intensive site; we tried this, and in many cases had to remove the code due to poor performance.</p>
<p>An often overlooked CSS issue (which Google and Yahoo have started plugging – see below) has to do with render speed. Browsers view documents essentially like a multi-dimensional array of elements, and specifying elements in an inefficient way can actually have a significant effect on the apparent page load time for users. It is well worth your while to spend some time with Google Speed Tester (or Yahoo&#8217;s competing product) in order to optimize the CSS on your site for speed.</p>
<h3>9. Why Caching Doesn&#8217;t Always Work</h3>
<p>Caching technology can be a very useful way of obtaining additional performance. Unfortunately, it isn&#8217;t a magic bullet, and in some cases (i.e. our project specifically), it can not only hurt performance – but can actually make a site unreliable.</p>
<p>High traffic websites tend to fall into one of two categories:</p>
<p>On the one hand, there are sites such as Facebook, whose business model is largely based on advertising; what this means is that if user data isn&#8217;t completely, totally current and accurate, it is at most an annoyance (“where&#8217;s that photo I just uploaded?”). Facebook famously uses a modified version of memcached to handle much of their data, and this kind of caching is probably the only way they can (profitably) serve half a billion customers.</p>
<p>On the other hand, financial types of websites (think of your bank&#8217;s online portal, or a stock trading site) have business models that pertain directly to the user&#8217;s pocketbook. This means that – no matter how many users are available, or the volume of data – the information shown on the screen has to be both accurate and timely. You would not want to login to your bank&#8217;s site and see an inaccurate account balance, right? In many cases, sites of this nature use a very different type of architecture to “social media” sites. Some banks actually have supercomputers running their websites in order to accomodate this.</p>
<p>Underlying the dichotomy above, is the fundamental notion of what caching is all about &#8211; “write infrequently, view often”. Caches work best in situations where there are far fewer updates to data than views.</p>
<p>The initial version of our code actually implemented memcached, in an attempt to try to reduce the number of (relatively expensive) database calls. The problem is that our underlying data changes so rapidly (many times per second, for a relatively small number of resources, that are actively being viewed and changed by many users), that caching the data was happening extremely frequently. The result in practice was that some users were seeing out of date cached data, at least some of the time. Abandoning caching in our specific case helped resolve these issues.</p>
<h3>10. Speed Optimization</h3>
<p>We used Google Speed Test in order to optimize our project. There is a similar competing product from Yahoo as well. These tools provide a wealth of information about how to make websites load faster – in many cases significantly faster.</p>
<p>Among the many changes that we made to the site, based on the information from the tester, were the following:</p>
<p>a) Use minify to combine and compress Javascript and CSS files. No kidding – this works. Not only that, but if you have a large number of CSS files that are loaded in each page, you can run into odd (and very hard to trace) problems in IE, which appears to only be able to handle approximately 30 external CSS files on a page. Compressing and combining these files using minify and/or yui can save you more than bandwidth.</p>
<p>b) Use sprites to combine images into large files. This does not work well in some cases (i.e. some kinds of buttons), but this technique can save precious seconds of load time. We used a Firefox plugin called Spriteme to automate this task, although we didn&#8217;t follow all of its suggestions.</p>
<p>c) Validate your HTML. Again, another “no brainer”. The load time saved by having valid HTML will actually surprise many readers. The process of validation is a nuisance, particularly if your site serves up dynamic, user-contributed content. Set aside a few hours for this process, and just do it though. It makes a difference.</p>
<h3>11. Don&#8217;t Forget Algorithms 101</h3>
<p>I took several courses on algorithm design at university, and then did nothing with that knowledge for more than a decade. Surprise, surprise – a complex, multi-user site actually needs proper thought in this regard.</p>
<p>One example from our experience – the data that tracks the status of an auction (i.e. whether it is currently running, paused, won etc etc) can be “touched” by 9 different pieces of code in the site, including “gateway” code that responds to users, and background tasks.</p>
<p>It took significant effort to build a reliable algorithm that can determine when an auction has actually ended, and the task was complicated by the fact that some of the code runs relatively slowly, and it is quite possible for another operation to attempt to modify the underlying data while the first task is still operating. Furthermore, “locking” in this case may have negative ramifications for user experience, since we did not want to unduly reject or delay incoming “bids” from users.</p>
<h2>Conclusions</h2>
<ol>
<li>It is very hard to plan ahead of time for growth in a web 	environment. Sometimes steps taken specifically to try and address 	traffic (i.e. caching in our case) can actually be detrimental. The 	process of adapting to growth can actually involve a surprising 	amount of trial and error experimentation.</li>
<li>Using frameworks can be very helpful for writing maintainable 	code. Unfortunately its sometimes necessary to work around them, 	when specific optimization is needed. Proper documentation and 	comments can help – I try to write as if I&#8217;m explaining to 	somebody really dumb, years in the future, what is going on in my 	code – and then I&#8217;m often surprised when I need my own comments 	later on&#8230;</li>
<li>Work with the right people. Not just your internal team, but 	also your hosting company etc. This can make a big difference when 	you are under pressure.</li>
<li>Prepare yourself for periods of high stress. Not much you can 	do about this, unfortunately. In most cases, it will be unlikely 	that you will actually have access to the resources you really need 	to get the job done. Make sure you schedule breaks too. Its hard. 	Burnout is much harder though.</li>
</ol>
<p><!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned&amp;title=Heavy%20Traffic%20-%20Lessons%20Learned&amp;bodytext=In%20the%20past%2015%20or%2016%20years%2C%20I%27ve%20worked%20on%20a%20number%20of%20websites%20that%20had%20fairly%20significant%20traffic%20%28mostly%20in%20the%20form%20of%20unique%20daily%20visitors%20%E2%80%93%20there%27s%20many%20ways%20to%20measure%20traffic%29.%20In%20one%20specific%20case%2C%20the%20traffic%20on%20a%20well-known%20author%27s%20web" title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned&amp;title=Heavy%20Traffic%20-%20Lessons%20Learned&amp;notes=In%20the%20past%2015%20or%2016%20years%2C%20I%27ve%20worked%20on%20a%20number%20of%20websites%20that%20had%20fairly%20significant%20traffic%20%28mostly%20in%20the%20form%20of%20unique%20daily%20visitors%20%E2%80%93%20there%27s%20many%20ways%20to%20measure%20traffic%29.%20In%20one%20specific%20case%2C%20the%20traffic%20on%20a%20well-known%20author%27s%20web" title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned&amp;t=Heavy%20Traffic%20-%20Lessons%20Learned" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned&amp;title=Heavy%20Traffic%20-%20Lessons%20Learned&amp;annotation=In%20the%20past%2015%20or%2016%20years%2C%20I%27ve%20worked%20on%20a%20number%20of%20websites%20that%20had%20fairly%20significant%20traffic%20%28mostly%20in%20the%20form%20of%20unique%20daily%20visitors%20%E2%80%93%20there%27s%20many%20ways%20to%20measure%20traffic%29.%20In%20one%20specific%20case%2C%20the%20traffic%20on%20a%20well-known%20author%27s%20web" title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned&amp;title=Heavy%20Traffic%20-%20Lessons%20Learned&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=In%20the%20past%2015%20or%2016%20years%2C%20I%27ve%20worked%20on%20a%20number%20of%20websites%20that%20had%20fairly%20significant%20traffic%20%28mostly%20in%20the%20form%20of%20unique%20daily%20visitors%20%E2%80%93%20there%27s%20many%20ways%20to%20measure%20traffic%29.%20In%20one%20specific%20case%2C%20the%20traffic%20on%20a%20well-known%20author%27s%20web" title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned&amp;title=Heavy%20Traffic%20-%20Lessons%20Learned" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Heavy%20Traffic%20-%20Lessons%20Learned&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned&amp;title=Heavy%20Traffic%20-%20Lessons%20Learned" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Fheavy-traffic-lessons-learned&amp;t=Heavy%20Traffic%20-%20Lessons%20Learned" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/uncategorized/heavy-traffic-lessons-learned/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Long time&#8230;no update</title>
		<link>http://lichtman.ca/uncategorized/long-time-no-update</link>
		<comments>http://lichtman.ca/uncategorized/long-time-no-update#comments</comments>
		<pubDate>Fri, 26 Mar 2010 02:40:30 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lichtman.ca/uncategorized/long-time-no-update</guid>
		<description><![CDATA[We&#8217;ve recently launched several projects on behalf of customers. The Beta process, as you can imagine, can have a negative impact on the time available to blog! Anyhow, we should soon be resuming regularly scheduled writing. If you like this article, please share it with others:]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start -->We&#8217;ve recently launched several projects on behalf of customers. The Beta process, as you can imagine, can have a negative impact on the time available to blog! Anyhow, we should soon be resuming regularly scheduled writing.<!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update&amp;title=Long%20time...no%20update&amp;bodytext=We%27ve%20recently%20launched%20several%20projects%20on%20behalf%20of%20customers.%20The%20Beta%20process%2C%20as%20you%20can%20imagine%2C%20can%20have%20a%20negative%20impact%20on%20the%20time%20available%20to%20blog%21%20Anyhow%2C%20we%20should%20soon%20be%20resuming%20regularly%20scheduled%20writing." title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update&amp;title=Long%20time...no%20update&amp;notes=We%27ve%20recently%20launched%20several%20projects%20on%20behalf%20of%20customers.%20The%20Beta%20process%2C%20as%20you%20can%20imagine%2C%20can%20have%20a%20negative%20impact%20on%20the%20time%20available%20to%20blog%21%20Anyhow%2C%20we%20should%20soon%20be%20resuming%20regularly%20scheduled%20writing." title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update&amp;t=Long%20time...no%20update" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update&amp;title=Long%20time...no%20update&amp;annotation=We%27ve%20recently%20launched%20several%20projects%20on%20behalf%20of%20customers.%20The%20Beta%20process%2C%20as%20you%20can%20imagine%2C%20can%20have%20a%20negative%20impact%20on%20the%20time%20available%20to%20blog%21%20Anyhow%2C%20we%20should%20soon%20be%20resuming%20regularly%20scheduled%20writing." title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update&amp;title=Long%20time...no%20update&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=We%27ve%20recently%20launched%20several%20projects%20on%20behalf%20of%20customers.%20The%20Beta%20process%2C%20as%20you%20can%20imagine%2C%20can%20have%20a%20negative%20impact%20on%20the%20time%20available%20to%20blog%21%20Anyhow%2C%20we%20should%20soon%20be%20resuming%20regularly%20scheduled%20writing." title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update&amp;title=Long%20time...no%20update" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Long%20time...no%20update&amp;url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update&amp;title=Long%20time...no%20update" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Funcategorized%2Flong-time-no-update&amp;t=Long%20time...no%20update" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/uncategorized/long-time-no-update/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to add a custom login box into your Drupal theme</title>
		<link>http://lichtman.ca/software-development/drupal-software-development/how-to-add-a-custom-login-box-into-your-drupal-theme</link>
		<comments>http://lichtman.ca/software-development/drupal-software-development/how-to-add-a-custom-login-box-into-your-drupal-theme#comments</comments>
		<pubDate>Mon, 08 Feb 2010 22:43:25 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=380</guid>
		<description><![CDATA[This is a guest post by Nathan, our resident Drupal expert. With luck, it will be the first of a series of posts with a more technical nature than we usually write about here. You can read more of Nathan&#8217;s work here: http://bomshteyn.com. We are starting a new series called Drupal hacks and solutions. This [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start --><em>This is a guest post by Nathan, our resident Drupal expert. With luck, it will be the first of a series of posts with a more technical nature than we usually write about here. You can read more of Nathan&#8217;s work here: <a href="http://bomshteyn.com">http://bomshteyn.com</a>.</em></p>
<p>We are starting a new series called Drupal hacks and solutions. This is going to be a useful collection of how-to&#8217;s and code examples, based on our experiences.</p>
<p>I am sure every Drupal developer out there has his own ways of styling Drupal (which as <a href="http://bomshteyn.com/2010/01/03/should-you-use-wordpress-or-drupal/">http://bomshteyn.com/2010/01/03/should-you-use-wordpress-or-drupal/</a> discussed is not always an easy task), we are just going to write up the cases that we encountered and solutions we used.</p>
<p>As always there is an easy way to do something and a proper Drupal way of doing the exact same thing. Whenever possible we try to do it the Drupal way, and would advise you to do the same, but i have to admit thats not always the case, and i would sometimes insert a SQL query into a template instead of properly using a drupal function of some sort.</p>
<p>It&#8217;s almost a year now since I started working on our first Drupal site; over time I have learned, and continue to learn, new &#8220;proper&#8221; ways of programming in Drupal and working &#8220;with it&#8221; versus &#8220;around it&#8221;.</p>
<p>As you work on a project you have a problem and find a solution, but by the time you get around to the next project and encounter a similar or even same problem (the latest project we were working on was approximately 400 of programming hours) you no longer remember how you solved it last time. In theory you could just open the last project&#8217;s code and find the solution, but sometimes its easier said then done, first you have to remember in which project you had this issue and second since an issue in Drupal could be fixed on so many levels (core, theme, modules&#8230;.), where to look becomes an issue by-itself.</p>
<p>So here we are faced with a case of our own that needs a solution.</p>
<p>Our first urge was to create an internal wiki where we would write down this type of stuff for future use &#8211; knowing first hand how hard it is to find an up-to-date solution to some very common problems in theming Drupal. Plus the fact that we always wanted to give back to the open source community of Drupal. We decided to do it as a blog category on our site so that it would be searchable &#8211; not just internally but by the whole ever growing Drupal community. As a starting point we will give you an example post, so that you know what to expect.</p>
<p><strong>How to add a custom login box into your Drupal theme</strong></p>
<p>You will probably want to show this only for non logged in users so here is an example of the code you would use:</p>
<p>&lt;?php<br />
if($logged_in){?&gt;<br />
// put some code here<br />
&lt;?php } else {?&gt;<br />
&lt;?php  global $user; ?&gt;<br />
&lt;form action=&#8221;&lt;?php print $front_page.&#8217;user/login/?&#8217;.drupal_get_destination();?&gt;&#8221; method=&#8221;post&#8221; id=&#8221;user-login&#8221;&gt;<br />
&lt;label for=&#8221;edit-name&#8221;&gt;username&lt;/label&gt;<br />
&lt;input type=&#8221;text&#8221; name=&#8221;name&#8221; id=&#8221;edit-name&#8221; value=&#8221;" tabindex=&#8221;1&#8243;/&gt;<br />
&lt;label for=&#8221;edit-pass&#8221;&gt;password&lt;/label&gt;<br />
&lt;input type=&#8221;password&#8221; name=&#8221;pass&#8221; id=&#8221;edit-pass&#8221; tabindex=&#8221;2&#8243;/&gt;<br />
&lt;input type=&#8221;hidden&#8221; name=&#8221;form_id&#8221; id=&#8221;edit-user-login&#8221; value=&#8221;user_login&#8221; /&gt;<br />
&lt;input type=&#8221;submit&#8221; name=&#8221;op&#8221; id=&#8221;edit-submit&#8221; tabindex=&#8221;3&#8243; value=&#8221;Submit&#8221; alt=&#8221;Submit&#8221; /&gt;<br />
&lt;p&gt;Forgot &lt;a href=&#8221;/user/password&#8221;&gt;password&lt;/a&gt;? &amp;nbsp; Or &lt;a href=&#8221;/user/register&#8221;&gt;Create New Account&lt;/a&gt;&lt;/p&gt;<br />
&lt;/form&gt;<br />
&lt;?php }?&gt;<!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme&amp;title=How%20to%20add%20a%20custom%20login%20box%20into%20your%20Drupal%20theme&amp;bodytext=This%20is%20a%20guest%20post%20by%20Nathan%2C%20our%20resident%20Drupal%20expert.%20With%20luck%2C%20it%20will%20be%20the%20first%20of%20a%20series%20of%20posts%20with%20a%20more%20technical%20nature%20than%20we%20usually%20write%20about%20here.%20You%20can%20read%20more%20of%20Nathan%27s%20work%20here%3A%20http%3A%2F%2Fbomshteyn.com.%0D%0A%0D%0AWe%20are%20s" title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme&amp;title=How%20to%20add%20a%20custom%20login%20box%20into%20your%20Drupal%20theme&amp;notes=This%20is%20a%20guest%20post%20by%20Nathan%2C%20our%20resident%20Drupal%20expert.%20With%20luck%2C%20it%20will%20be%20the%20first%20of%20a%20series%20of%20posts%20with%20a%20more%20technical%20nature%20than%20we%20usually%20write%20about%20here.%20You%20can%20read%20more%20of%20Nathan%27s%20work%20here%3A%20http%3A%2F%2Fbomshteyn.com.%0D%0A%0D%0AWe%20are%20s" title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme&amp;t=How%20to%20add%20a%20custom%20login%20box%20into%20your%20Drupal%20theme" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme&amp;title=How%20to%20add%20a%20custom%20login%20box%20into%20your%20Drupal%20theme&amp;annotation=This%20is%20a%20guest%20post%20by%20Nathan%2C%20our%20resident%20Drupal%20expert.%20With%20luck%2C%20it%20will%20be%20the%20first%20of%20a%20series%20of%20posts%20with%20a%20more%20technical%20nature%20than%20we%20usually%20write%20about%20here.%20You%20can%20read%20more%20of%20Nathan%27s%20work%20here%3A%20http%3A%2F%2Fbomshteyn.com.%0D%0A%0D%0AWe%20are%20s" title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme&amp;title=How%20to%20add%20a%20custom%20login%20box%20into%20your%20Drupal%20theme&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=This%20is%20a%20guest%20post%20by%20Nathan%2C%20our%20resident%20Drupal%20expert.%20With%20luck%2C%20it%20will%20be%20the%20first%20of%20a%20series%20of%20posts%20with%20a%20more%20technical%20nature%20than%20we%20usually%20write%20about%20here.%20You%20can%20read%20more%20of%20Nathan%27s%20work%20here%3A%20http%3A%2F%2Fbomshteyn.com.%0D%0A%0D%0AWe%20are%20s" title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme&amp;title=How%20to%20add%20a%20custom%20login%20box%20into%20your%20Drupal%20theme" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=How%20to%20add%20a%20custom%20login%20box%20into%20your%20Drupal%20theme&amp;url=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme&amp;title=How%20to%20add%20a%20custom%20login%20box%20into%20your%20Drupal%20theme" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Fsoftware-development%2Fdrupal-software-development%2Fhow-to-add-a-custom-login-box-into-your-drupal-theme&amp;t=How%20to%20add%20a%20custom%20login%20box%20into%20your%20Drupal%20theme" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/software-development/drupal-software-development/how-to-add-a-custom-login-box-into-your-drupal-theme/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business Lessons From Farmville &#8211; Part 3</title>
		<link>http://lichtman.ca/articles/business-lessons-from-farmville-part-3</link>
		<comments>http://lichtman.ca/articles/business-lessons-from-farmville-part-3#comments</comments>
		<pubDate>Mon, 18 Jan 2010 20:32:20 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=373</guid>
		<description><![CDATA[Continued from Part 2 &#8211; http://lichtman.ca/articles/business-lessons-from-farmville-%E2%80%93-part-2.  In Part 2 we discussed the publicity and communal aspects of building a successful viral application, with examples from Zynga&#8217;s Farmville game. 3. Manage Scalability Like all rapidly growing applications, Farmville has scalability issues – as of this writing, they are working on a serious issue pertaining to how [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start --><em>Continued from Part 2 &#8211; <a href="http://lichtman.ca/articles/business-lessons-from-farmville-%E2%80%93-part-2">http://lichtman.ca/articles/business-lessons-from-farmville-%E2%80%93-part-2</a>.  In Part 2 we discussed the publicity and communal aspects of building a successful viral application, with examples from Zynga&#8217;s Farmville game.</em></p>
<h2>3. Manage Scalability</h2>
<p>Like all rapidly growing applications, Farmville has scalability issues – as of this writing, they are working on a serious issue pertaining to how the application loads.</p>
<p>Any rapidly growing application has a tendency to run up against physical limits to both the design of the application and also the underlying hardware on which it is running. The result is that at each order of magnitude of growth in traffic, significant work may be required in order to redesign the application. In the meantime, it isn&#8217;t uncommon for these kinds of apps to have outages, extreme slowness, or bizarre and unscripted behaviour.</p>
<p>What Zynga has done is to appropriately deal with user expectations: firstly be explaining what the situation is, and secondly by compensating users (in this case via free game items) for the irritation. It is surprising how many companies will try to either hide or deny outages due to scalability issues.</p>
<h2>4. Make Money</h2>
<p>Making money out of a busy website or application is harder than it may seem.</p>
<p>The “throw something up on the web and put ads on it” model hasn&#8217;t worked well in a number of years (yes, I also know a few people still successfully doing this – just try duplicating it from scratch now).</p>
<p>This means that a company that is successfully making money online is worth analyzing in more detail. I don&#8217;t know how much Zynga is making (they&#8217;re a private company), but from what I&#8217;ve read they&#8217;re profitable.</p>
<p>Say what you want about the morality of selling virtual items via micropayments, the model appears to work well &#8211; at least for the most addictive of online games.</p>
<p>Farmville has two types of internal &#8220;currency&#8221; for purchasing items in the game:</p>
<p>One type of currency is easily earned within the game, and can be used to purchase the most common items.</p>
<p>The &#8220;premium&#8221; currency &#8211; which is usually obtained through a micropayment (although small quantities of it now circulate within the game as well) &#8211; can be used to purchase a variety of premium items that either make game play easier, or convey some form of status.</p>
<p>This model allows people to play the game without having to buy anything, while allowing the most enthusiastic players to essentially subsidize everyone else.</p>
<p>This &#8220;freemium&#8221; business model works at a similar psychological level to the old &#8220;shareware&#8221; software licenses &#8211; people can use it for free, but also feel like there is some level of obligation to pay, based on their own perceived value of the app.</p>
<h2>5. Multiply</h2>
<p>On a fickle internet, success may be fleeting.</p>
<p>If a website attracts significant traffic – and money – they need to immediately start planning the next step.</p>
<p>It appears that Zynga realizes that there may be inherent limits to how big a specific web game can get, and that their approach also includes the notion of continually duplicating their success with new games – particularly using cross-pollination approaches such as using familiar characters.</p>
<p>Duplicating a successful methodology over and over can be a useful means of sustaining viral success – particularly if one is skilled at redirecting existing “customers” to the next big thing. By building all of their games around a standard platform &#8211; in this case Facebook &#8211; the development time to create new apps is reduced. There is also a consistant user interface between the apps, allowing for faster user adoption.</p>
<p>If you play Farmville, you will quickly notice that Zynga has posted advertising at the top of each page for their other games. The objective is to &#8220;cross-pollinate&#8221; the user list from their various games (my understanding is that they are now running a large number of games on Facebook and other platforms).</p>
<p>One trick &#8211; which they don&#8217;t seem to be using right now &#8211; would be to allow users to utilize the same game currency across all of the games on their platform. I&#8217;ve seen this used in practice elsewhere.</p>
<p>Two last things that they appear to be doing well: a)  Zynga developed certain iconic characters for Farmville (i.e. the cartoon animals), and they have used these animals (and similar characters) in other apps that are directly marketed to the users of Farmville. In addition, b) they rapidly create competing products whenever another development team builds a game that could move into their marketspace &#8211; and they make an effort to improve on the original. The second company into a market can do very nicely indeed &#8211; just think of the Beta vs VHS wars.</p>
<p>In the final part of this article, I will wrap things up and provide some other examples from other businesses. To be continued&#8230;<!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%203&amp;bodytext=Continued%20from%20Part%202%20-%20http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25E2%2580%2593-part-2.%C2%A0%20In%20Part%202%20we%20discussed%20the%20publicity%20and%20communal%20aspects%20of%20building%20a%20successful%20viral%20application%2C%20with%20examples%20from%20Zynga%27s%20Farmville%20game.%0D%0A" title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%203&amp;notes=Continued%20from%20Part%202%20-%20http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25E2%2580%2593-part-2.%C2%A0%20In%20Part%202%20we%20discussed%20the%20publicity%20and%20communal%20aspects%20of%20building%20a%20successful%20viral%20application%2C%20with%20examples%20from%20Zynga%27s%20Farmville%20game.%0D%0A" title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3&amp;t=Business%20Lessons%20From%20Farmville%20-%20Part%203" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%203&amp;annotation=Continued%20from%20Part%202%20-%20http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25E2%2580%2593-part-2.%C2%A0%20In%20Part%202%20we%20discussed%20the%20publicity%20and%20communal%20aspects%20of%20building%20a%20successful%20viral%20application%2C%20with%20examples%20from%20Zynga%27s%20Farmville%20game.%0D%0A" title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%203&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=Continued%20from%20Part%202%20-%20http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25E2%2580%2593-part-2.%C2%A0%20In%20Part%202%20we%20discussed%20the%20publicity%20and%20communal%20aspects%20of%20building%20a%20successful%20viral%20application%2C%20with%20examples%20from%20Zynga%27s%20Farmville%20game.%0D%0A" title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%203" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Business%20Lessons%20From%20Farmville%20-%20Part%203&amp;url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%203" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-3&amp;t=Business%20Lessons%20From%20Farmville%20-%20Part%203" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/articles/business-lessons-from-farmville-part-3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business Lessons From Farmville – Part 2</title>
		<link>http://lichtman.ca/articles/business-lessons-from-farmville-%e2%80%93-part-2</link>
		<comments>http://lichtman.ca/articles/business-lessons-from-farmville-%e2%80%93-part-2#comments</comments>
		<pubDate>Fri, 15 Jan 2010 02:10:43 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Farmville]]></category>
		<category><![CDATA[Game]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=371</guid>
		<description><![CDATA[Continued from Part 1 &#8211; http://lichtman.ca/articles/business-lessons-from-farmville-part-1. In Part 1 we discussed the idea that there are business lessons that can be learned from viral games such as Zynga&#8217;s Farmville. 2. Let Everybody Know If you&#8217;re on Facebook, you are familiar with the extent to which Farmville pesters people who aren&#8217;t already playing it. I had [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start --><em>Continued from Part 1 &#8211; <a href="http://lichtman.ca/articles/business-lessons-from-farmville-part-1">http://lichtman.ca/articles/business-lessons-from-farmville-part-1</a>. In Part 1 we discussed the idea that there are business lessons that can be learned from viral games such as Zynga&#8217;s Farmville.</em></p>
<h2>2. Let Everybody Know</h2>
<p>If you&#8217;re on Facebook, you are familiar with the extent to which Farmville pesters people who aren&#8217;t already playing it. I had actually blocked the application at one point, and only logged in after reading about how it had attracted 70 million users on a mainstream press website &#8211; which actually proves the idea that in advertising, repeating your message ad nauseum actually does pay off. Eventually.</p>
<p>What Zynga have done with Farmville is create a system that provides an immense number of opportunities for people who are already using the game to gain by telling other people about it. In addition to bugging people who aren&#8217;t already playing, it also provides &#8211; as mentioned above &#8211; innumerable ways of reminding people who are already playing it about its existence. This can be irritating, but it is clearly an exceedingly effective methodology for growing traffic.</p>
<p>A small number of the methods that they use to spread the news include:</p>
<ul>
<li>Constantly requesting users to post announcements to their &#8220;streams&#8221; &#8211; every time a user achieves a milestone in the game &#8211; no matter how small &#8211; Farmville asks the user if they want to place a post on their stream (the list of updates shared between &#8220;friends&#8221; on Facebook). These announcements are essentially sales referrals &#8211; if somebody not playing the game sees hundreds of such announcements from their friends, possibly it may pique their interest.</li>
<li>Many posts from Farmville contain image &#8220;snapshots&#8221; of what a user&#8217;s farm looks like. These follow the notion of &#8220;show me, don&#8217;t tell me&#8221; &#8211; a picture is worth a whole lot of verbiage.</li>
</ul>
<h2>3. Build a Community</h2>
<p>As mentioned briefly in Part 1, the notion of a community is very powerful in social networking applications. If the people that you are friendly with are all involved in a particular community, not only are you more likely to join, but you&#8217;re also much less likely to leave. Real world examples include religious institutions, multi-level marketing organizations, social clubs, charities etc etc. Many such organizations fulfill a social role in addition to any other role they may play, and for their participants this can be a powerful motivator.</p>
<p>The vast majority of online social applications pay lip service to the communal role &#8211; but in actuality they provide little incentive (or supportive functionality for that matter) for people to actually interact with each other.</p>
<p>One of the key reasons why Farmville has been so successful is that the communal aspect has been so well thought out &#8211; not only are there endless ways for people to interact in the game &#8211; it is difficult to progress without doing so. A few examples (and there are probably dozens of others) follow:</p>
<ul>
<li>Neighbours &#8211; the game plays up the folksy notion of farmers chatting over a picket fence. Members can add other players as virtual neighbours in the game, and thereafter the game visually renders the neighbouring farms next to the player&#8217;s farm. Players are encouraged to visit their neighbour&#8217;s farms, and to participate in building up those farms via simple tasks (fertilizing their crops), for which they score points.</li>
<li>Many items in the game cannot be purchased from the &#8220;market&#8221; directly &#8211; they can only be given as gifts. Players are encouraged to give such gifts to their neighbours, and the receipt of such items triggers a polite request to send something back.</li>
<li>An interesting recent feature &#8211; barn raising. A player wishing to build a &#8220;barn&#8221; with which to store items can pay for the barn directly &#8211; or get it for free if ten of their neighbours are willing to help them. The process involves a large amount of voluntary messaging being posted to streams &#8211; and people&#8217;s in-boxes.</li>
</ul>
<p>[To be continued in Part 3...]<!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2&amp;title=Business%20Lessons%20From%20Farmville%20%E2%80%93%20Part%202&amp;bodytext=Continued%20from%20Part%201%20-%20http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1.%20In%20Part%201%20we%20discussed%20the%20idea%20that%20there%20are%20business%20lessons%20that%20can%20be%20learned%20from%20viral%20games%20such%20as%20Zynga%27s%20Farmville.%0D%0A2.%20Let%20Everybody%20Know%0D%0AIf%20you" title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2&amp;title=Business%20Lessons%20From%20Farmville%20%E2%80%93%20Part%202&amp;notes=Continued%20from%20Part%201%20-%20http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1.%20In%20Part%201%20we%20discussed%20the%20idea%20that%20there%20are%20business%20lessons%20that%20can%20be%20learned%20from%20viral%20games%20such%20as%20Zynga%27s%20Farmville.%0D%0A2.%20Let%20Everybody%20Know%0D%0AIf%20you" title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2&amp;t=Business%20Lessons%20From%20Farmville%20%E2%80%93%20Part%202" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2&amp;title=Business%20Lessons%20From%20Farmville%20%E2%80%93%20Part%202&amp;annotation=Continued%20from%20Part%201%20-%20http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1.%20In%20Part%201%20we%20discussed%20the%20idea%20that%20there%20are%20business%20lessons%20that%20can%20be%20learned%20from%20viral%20games%20such%20as%20Zynga%27s%20Farmville.%0D%0A2.%20Let%20Everybody%20Know%0D%0AIf%20you" title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2&amp;title=Business%20Lessons%20From%20Farmville%20%E2%80%93%20Part%202&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=Continued%20from%20Part%201%20-%20http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1.%20In%20Part%201%20we%20discussed%20the%20idea%20that%20there%20are%20business%20lessons%20that%20can%20be%20learned%20from%20viral%20games%20such%20as%20Zynga%27s%20Farmville.%0D%0A2.%20Let%20Everybody%20Know%0D%0AIf%20you" title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2&amp;title=Business%20Lessons%20From%20Farmville%20%E2%80%93%20Part%202" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Business%20Lessons%20From%20Farmville%20%E2%80%93%20Part%202&amp;url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2&amp;title=Business%20Lessons%20From%20Farmville%20%E2%80%93%20Part%202" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-%25e2%2580%2593-part-2&amp;t=Business%20Lessons%20From%20Farmville%20%E2%80%93%20Part%202" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/articles/business-lessons-from-farmville-%e2%80%93-part-2/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Business Lessons From Farmville &#8211; Part 1</title>
		<link>http://lichtman.ca/articles/business-lessons-from-farmville-part-1</link>
		<comments>http://lichtman.ca/articles/business-lessons-from-farmville-part-1#comments</comments>
		<pubDate>Sun, 10 Jan 2010 20:25:17 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Farmville]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Zynga]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=369</guid>
		<description><![CDATA[Image by anshu_si via Flickr I&#8217;m not generally recommending that you drop everything and play Farmville, but there are some interesting business lessons to be learned from the game. Possibly this blog entry will save you massive amounts of time &#8211; i.e. you can simply read on, rather than playing. If you&#8217;re on Facebook, you&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start -->
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 250px;">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/18639319@N00/4092817962"><img title="Day 312/365 - 8 Nov - FarmVille" src="http://farm3.static.flickr.com/2749/4092817962_ca0218ca17_m.jpg" alt="Day 312/365 - 8 Nov - FarmVille" width="240" height="239" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/18639319@N00/4092817962">anshu_si</a> via Flickr</dd>
</dl>
</div>
</div>
<p><em>I&#8217;m not generally recommending that you drop everything and play Farmville, but there are some interesting business lessons to be learned from the game. Possibly this blog entry will save you massive amounts of time &#8211; i.e. you can simply read on, rather than playing. </em></p>
<p>If you&#8217;re on Facebook, you&#8217;ve probably already been pestered by notifications from a game called Farmville, created by a company called Zynga. Possibly you&#8217;re already playing the game yourself. Over the past few months, the number of people playing the game has exceeded 70 million &#8211; for comparison&#8217;s sake, this is roughly the same as the total number of people using Twitter. Clearly they&#8217;re doing something interesting.</p>
<p>Generally speaking, Farmville falls under the category of &#8220;viral applications&#8221;. A viral app is one that seems to spread uncontrollably &#8211; just like a cold or flu bug does.</p>
<p>The key to “virality” has been documented elsewhere to great effect (just visit your local library or favourite guerrilla  marketing blog):</p>
<ul>
<li>create something that is going to keep people interested (what&#8217;s usually called &#8220;stickiness&#8221;).</li>
<li>make sure that using it will work even better if the user tells their friends about it.</li>
<li>seed the application, website, or whatever with an initial set of users &#8211; probably friends of the owner.</li>
<li>watch it grow.</li>
<li>deal with scalability issues</li>
<li>figure out how to make money (!)</li>
<li>reproduce / duplicate the effect elsewhere</li>
</ul>
<p>Very few applications make it to the final step, and there is definitely at least some element of luck involved &#8211; I&#8217;ve seen some great ideas fall flat for no apparent reason.</p>
<p>What Zynga has done though is a very interesting example of a successful viral application, and there are a number of attributes that can be used elsewhere &#8211; not necessarily for games either.</p>
<h2>1. Keep People Interested</h2>
<p>The notion of keeping people constantly interested in an application is very helpful in building a virally marketed website or game. The longer a person&#8217;s attention is on something, the more opportunities the makers have to get them to tell other people about it, as well as there being more likelihood of selling the user something. Keeping people interested is not conceptually hard, but can be <strong>difficult</strong> to implement in practice; I&#8217;m seen a great many websites fall short in this regard. &#8220;Viral&#8221; without &#8220;sticky&#8221; often equals &#8220;flop&#8221;.</p>
<p>Zynga have done a few interesting things with regards to holding people&#8217;s attention. Some of them are general rules from the game builder&#8217;s playbook, and thus aren&#8217;t transferable to all products or services.</p>
<p>Some of the tactics include constantly changing items, seasonally based differences in the appearance of the game, new functionality as a user progresses in level, randomization (things like animals moving around on their own) – these are all things common to many successful online games. Maintaining a stream of new activity is actually quite difficult to carry out – as I&#8217;ve discovered in the past while working on other games. There&#8217;s a certain level of perseverance involved, along with rallying the developers – most of whom are probably feeling burned out at this point (again, past experience) and keeping the creative juices flowing.</p>
<p>Other interest-enhancing features include their gift exchange system – I&#8217;ll talk more about this in Part 2 – which a) ensures that certain things can only be accomplished with the help of friends, and b) provides a stream of requests to players inboxes to entice them to come back repeatedly.</p>
<p>Two last things of note:</p>
<p>By building a community, where players cooperate in longer term development with each other, Farmville makes it less likely that somebody will drop out. Community formation is a powerful tool to keep people coming back over and over.</p>
<p>Farmville also relies on people&#8217;s nostalgia for “the simple life” &#8211; not that farming is particularly simple in actuality.  The nostalgia factor can be a powerful tool for marketing to particular market segments.</p>
<p>[To Be Continued...]</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/74c6032d-1fbf-4ec9-956c-51167712db6a/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=74c6032d-1fbf-4ec9-956c-51167712db6a" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><!-- google_ad_section_end --></p>



If you like this article, please share it with others:


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%201&amp;bodytext=%0D%0AImage%20by%20anshu_si%20via%20Flickr%0D%0A%0D%0AI%27m%20not%20generally%20recommending%20that%20you%20drop%20everything%20and%20play%20Farmville%2C%20but%20there%20are%20some%20interesting%20business%20lessons%20to%20be%20learned%20from%20the%20game.%20Possibly%20this%20blog%20entry%20will%20save%20you%20massive%20amounts%20of%20time%20" title="Digg"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%201&amp;notes=%0D%0AImage%20by%20anshu_si%20via%20Flickr%0D%0A%0D%0AI%27m%20not%20generally%20recommending%20that%20you%20drop%20everything%20and%20play%20Farmville%2C%20but%20there%20are%20some%20interesting%20business%20lessons%20to%20be%20learned%20from%20the%20game.%20Possibly%20this%20blog%20entry%20will%20save%20you%20massive%20amounts%20of%20time%20" title="del.icio.us"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1&amp;t=Business%20Lessons%20From%20Farmville%20-%20Part%201" title="Facebook"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%201&amp;annotation=%0D%0AImage%20by%20anshu_si%20via%20Flickr%0D%0A%0D%0AI%27m%20not%20generally%20recommending%20that%20you%20drop%20everything%20and%20play%20Farmville%2C%20but%20there%20are%20some%20interesting%20business%20lessons%20to%20be%20learned%20from%20the%20game.%20Possibly%20this%20blog%20entry%20will%20save%20you%20massive%20amounts%20of%20time%20" title="Google Bookmarks"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%201&amp;source=Lichtman+Consulting+Your+Strategic+Development+Partner&amp;summary=%0D%0AImage%20by%20anshu_si%20via%20Flickr%0D%0A%0D%0AI%27m%20not%20generally%20recommending%20that%20you%20drop%20everything%20and%20play%20Farmville%2C%20but%20there%20are%20some%20interesting%20business%20lessons%20to%20be%20learned%20from%20the%20game.%20Possibly%20this%20blog%20entry%20will%20save%20you%20massive%20amounts%20of%20time%20" title="LinkedIn"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%201" title="Reddit"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Business%20Lessons%20From%20Farmville%20-%20Part%201&amp;url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1" title="Slashdot"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1&amp;title=Business%20Lessons%20From%20Farmville%20-%20Part%201" title="StumbleUpon"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1" title="Technorati"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Flichtman.ca%2Farticles%2Fbusiness-lessons-from-farmville-part-1&amp;t=Business%20Lessons%20From%20Farmville%20-%20Part%201" title="MySpace"><img src="http://lichtman.ca/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/articles/business-lessons-from-farmville-part-1/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
