<?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; Articles</title>
	<atom:link href="http://lichtman.ca/category/articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://lichtman.ca</link>
	<description>Consider. Then Build It.</description>
	<lastBuildDate>Mon, 07 May 2012 01:58:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Heavy Traffic &#8211; Lessons Learned</title>
		<link>http://lichtman.ca/heavy-traffic-lessons-learned/</link>
		<comments>http://lichtman.ca/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 &#8230; <a href="http://lichtman.ca/heavy-traffic-lessons-learned/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/heavy-traffic-lessons-learned/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Business Lessons From Farmville &#8211; Part 3</title>
		<link>http://lichtman.ca/business-lessons-from-farmville-part-3/</link>
		<comments>http://lichtman.ca/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 &#8230; <a href="http://lichtman.ca/business-lessons-from-farmville-part-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><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;</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/business-lessons-from-farmville-part-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Business Lessons From Farmville – Part 2</title>
		<link>http://lichtman.ca/business-lessons-from-farmville-%e2%80%93-part-2/</link>
		<comments>http://lichtman.ca/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 &#8230; <a href="http://lichtman.ca/business-lessons-from-farmville-%e2%80%93-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><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...]</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/business-lessons-from-farmville-%e2%80%93-part-2/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Business Lessons From Farmville &#8211; Part 1</title>
		<link>http://lichtman.ca/business-lessons-from-farmville-part-1/</link>
		<comments>http://lichtman.ca/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 &#8230; <a href="http://lichtman.ca/business-lessons-from-farmville-part-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<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>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/business-lessons-from-farmville-part-1/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>My first experiences with BuddyPress (open source social platform)</title>
		<link>http://lichtman.ca/my-first-experiences-with-buddypress-open-source-social-platform/</link>
		<comments>http://lichtman.ca/my-first-experiences-with-buddypress-open-source-social-platform/#comments</comments>
		<pubDate>Thu, 07 May 2009 13:33:55 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[wordpress-mu]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=203</guid>
		<description><![CDATA[Nathan Bomshteyn discusses his experiences installing and configuring BuddyPress, a social media platform that installs on top of WordPress MU. <a href="http://lichtman.ca/my-first-experiences-with-buddypress-open-source-social-platform/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Editor&#8217;s Note: The author of this blog entry, Nathan Bomshteyn, is an SEO and internet marketing expert, who works for Lichtman Consulting. Please welcome his first article with a round of applause!</em></p>
<p>If you use WordPress then you might of heard about their sister project BuddyPress. BuddyPress is the open source social platform that promises to be the WordPress of social platforms. To be scalable and the same time light, to have a variety of features and be user friendly&#8230; Just as WordPress made it possible for anyone to have a nice professional looking blog without even touching the code, now you could have your own social network too with very minimal interaction with code.</p>
<p>Now that the version 1.0 is officially out I decided to test. So I downloaded the file only to find out that its not a program by itself but a plug-in for WordPress.</p>
<p>I installed WordPress on my Linux machine on localhost. When tried installing BuddyPress I was notified by the program that I have to run WordPress-mu (multi user version) to be able to install BuddyPress. I tried installing the mu version, but guess what, WordPress-mu can&#8217;t be installed on localhost.</p>
<p>At that point I just decided to buy a domain name and get a proper hosting for it. I installed WordPress-mu, activated the BuddyPress plugin that I inserted into plugin folder. Hooray! Looks like its working, I found few nice web 2.0 themes installed them, it looked really nice, until my friend who uses Internet Explorer tried to signup and for some &#8220;unknown reason&#8221; got a 404 error, page doesn&#8217;t exist. I have got a new challenge why does it show this error when I know that the page is there&#8230;</p>
<p>One day later the problem is solved: you can&#8217;t use a regular WordPress theme for the main blog, what you need is two themes one specially designed for BuddyPress &#8220;home&#8221; and the second one for the  BuddyPress &#8220;member&#8221; page. So I put them in the appropriate folders and I have finally got it working.</p>
<p>Or did I?</p>
<p>Wait! What about the forums capability? Why don&#8217;t I see it?</p>
<p>Oh! In order to have forums you have to install BBpress which is a stand alone application but has the built-in options for WordPress integration.</p>
<p>So I download the latest stable version, install it, integrate the user info with WordPress, but for some &#8220;strange&#8221; reason even with the key master account I can&#8217;t start a new forum&#8230;</p>
<p>I almost gave up for now on forum capability, when I by mere coincidence found a folder in the BuddyPress installation that had the BBpress integration files; there I saw a readme document with detailed instruction of how to integrate them. I found what I did wrong &#8211; the latest stable release is too old, what I need is the latest Alpha release. So I uninstalled the stable release and installed the unstable one. Got through the installation by following every line in the readme. And guess what &#8211; its finally working.</p>
<p><strong>Moral of the story:</strong> I am part of generation that doesn&#8217;t like reading the manuals and readme files, but sometimes reading them could save you a lot of time.<em><br />
</em></p>
<p><strong>Some resources:</strong></p>
<p>WordPress MU &#8211; http://mu.wordpress.org<br />
BuddyPress &#8211; http://buddypress.org<br />
BBpress &#8211; http://bbpress.org<br />
Working Example: http://postnonstop.com</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/my-first-experiences-with-buddypress-open-source-social-platform/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How Not To Get Hacked</title>
		<link>http://lichtman.ca/how-not-to-get-hacked/</link>
		<comments>http://lichtman.ca/how-not-to-get-hacked/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 02:53:38 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[World Wide Web]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=177</guid>
		<description><![CDATA[I just spent a chunk of this afternoon fixing up a friend&#8217;s website which was hacked. The hacker appears to have gained access through a decade old shopping cart (not in use, just sitting in a folder on the site), &#8230; <a href="http://lichtman.ca/how-not-to-get-hacked/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_178" class="wp-caption alignleft" style="width: 160px"><img class="size-thumbnail wp-image-178" title="840814248_f87f9dfdb2" src="http://lichtman.ca/wp-content/uploads/2009/04/840814248_f87f9dfdb2-150x150.jpg" alt="Image courtesy of &quot;gutter&quot; on Flickr. Creative Commons." width="150" height="150" /><p class="wp-caption-text">Image courtesy of &quot;gutter&quot; on Flickr. Creative Commons.</p></div></p>
<p>I just spent a chunk of this afternoon fixing up a friend&#8217;s website which was hacked. The hacker appears to have gained access through a decade old shopping cart (not in use, just sitting in a folder on the site), and then proceeded to insert obfuscated javascript code into every page on the site (several hundred pages, with the code slighly different on each page).</p>
<p>This is the fifth or sixth site I&#8217;ve had to clean up in the past year or so, and its always a painful job &#8211; I&#8217;m pretty good at spotting code that shouldn&#8217;t be in a page, but with a large website it can be hard to be certain that it has been completely fixed. And there&#8217;s no guarantee that the original loophole that was exploited has been removed. Even under the best of circumstances, cleaning up this sort of mess is a painstaking process.</p>
<p>The following is intended for web designers who aren&#8217;t coders &#8211; but who use scripts that they have located on the web. Some intro level programmers might benefit. Experienced web programmers should go directly to the following link and do some review: <a title="Dangerous Bugs List" href="http://cwe.mitre.org/top25/" target="_blank">http://cwe.mitre.org/top25/</a></p>
<p>1. Be very careful about downloading &#8220;free&#8221; scripts off the web. Do yourself a favour and scan the code before using it. If it has been obfuscated, or it looks odd, you probably want to avoid using it. You don&#8217;t need to be a programmer to get a feel for nefarious code.</p>
<p>2. When putting together a website that has any kind of dynamic functionality &#8211; be it javascript, a php script on the back end, or something else &#8211; bear in mind Jeremy&#8217;s Addendum to Murphy&#8217;s Law: Whatever can be hacked, will be hacked. There are a lot of common loopholes that hackers exploit that could be easily avoided by looking at code with a cynical eye and trying to figure out how it can hurt you.</p>
<p>3. Periodically review old websites that you&#8217;ve done. Code that used to be fine may no longer be so safe. Also, as you learn from mistakes, you may notice all kinds of things that are dangerous in your code.</p>
<p>4. Its also really worthwhile to look at the Top 25 Dangerous Bugs list, linked above. A periodic review is in order. Speaking of which, I&#8217;m adding that to my to do list.</p>
<p>5. Verify <span style="text-decoration: underline;"><strong>ALL</strong></span> inputs to a script. If you think you have verified them, get somebody with a cynical bent to test it. If something is up on the web, it is guaranteed that somebody will try some oddball and highly unexpected inputs just to see if they use your script for their own purposes.</p>
<p>6. Remember at the end of the day that there&#8217;s absolutely no such thing as a hacker-proof piece of software or hardware. Make regular backups. Assume you&#8217;re going to need them.</p>
<p>I just want to finish with an anecdote.</p>
<p>I used to operate a small hosting company along with some of my other duties at my former company.</p>
<p>One day, one of our servers started broadcasting vast volumes of spam email, to the point that we had to shut down the outgoing email service.</p>
<p>I spent a few hours reading log files, trying to pinpoint what exactly was happening. I finally narrowed it down to a script that had been uploaded a few days prior on one of the client&#8217;s accounts.</p>
<p>The script was basically a feeble attempt to try and implement a CMS (content management system). Basically the way it worked was that any GET input to the main script was assumed to be the name of an html fragment file, and was included into the script with no verification whatsoever.</p>
<p>If this means nothing to you, you&#8217;ve probably seen websites that have URLs something along these lines: index.php?id=123. The &#8220;id=123&#8243; part can be parsed out by the script as an input. In this case the links looked like this: index.php?page=contact.html.</p>
<p>The script just assumed that contact.html was a piece of HTML code, and included it in.</p>
<p>It didn&#8217;t take long before half the hackers in the world were sending the script stuff like this: index.php?page=path_to_malware_or_spam_script. And our server was running those bits of malware as if they were located locally.</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/how-not-to-get-hacked/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Page: Free Downloads</title>
		<link>http://lichtman.ca/new-page-free-downloads/</link>
		<comments>http://lichtman.ca/new-page-free-downloads/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 18:40:25 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[free]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=170</guid>
		<description><![CDATA[I&#8217;ve just posted up a new page on this site for free downloads. Right now the only thing up is a document I wrote recently on how companies can properly budget for SEO (or general internet marketing) campaigns. I&#8217;m hoping &#8230; <a href="http://lichtman.ca/new-page-free-downloads/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just posted up a new page on this site for free downloads. Right now the only thing up is a document I wrote recently on how companies can properly budget for SEO (or general internet marketing) campaigns. I&#8217;m hoping to be able to release other material &#8211; both ebooks and software &#8211; on this website, on some kind of public distribution license.</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/new-page-free-downloads/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Manufacturing: The Implications of a Factory in Every Living Room</title>
		<link>http://lichtman.ca/open-source-manufacturing-the-implications-of-a-factory-in-every-living-room/</link>
		<comments>http://lichtman.ca/open-source-manufacturing-the-implications-of-a-factory-in-every-living-room/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 17:45:50 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[what's next?]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=153</guid>
		<description><![CDATA[The following is the second chapter in the free eBook I am working on. I&#8217;m indebted to a number of people who commented on this text; the changes that resulted will appear in the final product. What appears below is &#8230; <a href="http://lichtman.ca/open-source-manufacturing-the-implications-of-a-factory-in-every-living-room/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The following is the second chapter in the free eBook I am working on. I&#8217;m indebted to a number of people who commented on this text; the changes that resulted will appear in the final product. What appears below is somewhat more crude than I&#8217;d hoped, as I haven&#8217;t had as much time to edit it as with some of the previous items posted here.</p>
<p><em>We&#8217;re already well along the path that leads to devices like Star Trek&#8217;s replicators being freely available everywhere. This is likely to lead to some interesting societal changes, but more importantly (for the purposes of this article anyhow!) it implies a series of interesting and potentially quite profitable business models.How do we make a living when “stuff” is free? Devices like the RepRap are becoming mainstream, so we&#8217;d better start thinking about it.<br />
</em><br />
When you think of the word “manufacturing”, the image that may come to mind is a gigantic tin-roofed building, acres of land area occupied by thousands of workers wielding pneumatic tools.</p>
<p>If you&#8217;re more familiar with “light” manufacturing, you may picture instead the niche tool and die shop, its steel lathes turning out custom parts that feed more complex industrial production elsewhere.</p>
<p>The hobby enthusiast may envision instead their workshop, the garage or basement converted to the art of creating &#8211; furniture perhaps, or model railroads.</p>
<p>The act of manufacturing something, anything brings to mind first and foremost an act of human labour; taking raw materials and transforming them by sweat of brow into something else.</p>
<p>Its been clear for some time though, that the process of manufacturing is slowly moving downstream.</p>
<p>What once was the work of thousands, becomes &#8211; in time &#8211; the work of hundreds, assisted by ever more  efficient machinery.</p>
<p>The inevitable result has already been written about and speculated about endlessly. If you&#8217;ve ever watched Star Trek, you understand at least some of the societal changes implicit in “Tea. Earl Grey. Hot.”. As the enameled cup appears in the hand of the thirsty tea drinker, we already get it.</p>
<p>The manufacturing sector is already well along the path of democratization &#8211; digital presses and home workshops are asymptotically approaching a world in which anyone can make anything in an instant of time, for essentially no cost.</p>
<p>The world of Neal Stephenson&#8217;s “Diamond Age” is near upon us. Its a world in which “things” have absolutely no value, because they can be created and produced in any quantity without effort or cost.</p>
<p>Need a car? You can “print” a disposable one at home. When you&#8217;re done with it, toss it in the recycling bin.</p>
<p>The only items of value in such a world become those things created by craftspeople &#8211; one-off efforts created through manual labour on behalf of a wealthy customer.</p>
<p>Or ideas themselves.</p>
<p>Have you stepped inside of a dollar store recently? There&#8217;s an amazing one near my house. For now, everything is actually one dollar (I&#8217;ve noticed some dollar stores now sell certain more expensive items), and the number of different kinds of items for sale is amazing.</p>
<p>What really blows my mind though, is that the store isn&#8217;t even going to bother selling something unless they make good margins on it &#8211; that means some of those things only cost them a few cents each. Maybe even less.</p>
<p>The quality has also come a long way from my earliest experiences in such stores. Back then dollar stores sold cheap plastic implements &#8211; things that you used once or twice and then threw away.</p>
<p>These days you can buy relatively high quality tools, stationery, kitchen implements &#8211; identical to those in department stores that sell “name brands”.</p>
<h2>The Western World Got Hit First</h2>
<p>If you pay any attention at all to the manufacturing sector &#8211; maybe you work for a manufacturing company, or you know somebody in a union &#8211; you also know that manufacturing companies in North America have been going through a rough time over the past decade, and the situation is getting worse, rather than better.</p>
<p>For better or worse, the manufacturing process has largely gone overseas, primarily because companies can reduce one of their largest costs (labour) that way. Salaries are simply lower in many parts of the world.</p>
<p>This is obviously a great simplification of what is going on: for one thing, heavy or complex objects tend to have their parts manufactured in many, many places around the world. The components are then shipped to some place close to where the final product is going to be sold, and then assembled there. That is roughly how the automobile business works.</p>
<p>People love to blame China for this process, but the truth is that in many cases Chinese companies have moved their plants off-shore to still cheaper places as well.</p>
<p>At the end of the day, the cost associated with building anything from scratch is three-fold: the raw materials required, the cost of designing it, and the labour involved in actually making it.</p>
<p>Clearly a highly mechanized plant has some obvious advantages over one in which there are many humans working. This approach has never been able to gain much ground in North America, partially due to the high initial cost of robots, and partially due to strenuous resistance from unions.</p>
<p>Keep this idea in mind though: there already exists a way to manufacture items, such that the cost of the item basically is reduced to the cost of raw materials, plus some factor for externalities: electricity, transporting the goods afterwards, marketing.</p>
<h2>Computer Aided Design / Computer Aided Manufacturing (CAD / CAM)</h2>
<p>Somebody I know has a room full of Computer Aided Manufacturing (CAM) devices that he uses to build  gadgets with.</p>
<p>A CAM system is basically a small machine shop in a box, connected up to a computer. It allows you to take a three dimensional drawing and turn it into an actual object.</p>
<p>CAM has been around for decades, but the equipment is typically expensive, bulky and messy to operate. Usually such systems are used to build prototypes or one-off items out of metal or wood or various kinds of plastics.</p>
<p>Basically a CAM system is the kind of tool that any red-blooded, tool obsessed male would love to get their hands on &#8211; if only they could afford it.</p>
<p>Enter a little gizmo that is going to change the shape of manufacturing for good &#8211; one of these days.</p>
<p>A few years ago, one of my staff tapped me on the shoulder and said “you have to see this”.</p>
<p>“This” turned out to be the website for a gadget called the RepRap (www.reprap.org).</p>
<p><strong>What&#8217;s a RepRap? </strong></p>
<p>Basically its a CAM device, only it can build copies of itself, and it costs only a few hundred bucks.</p>
<p>Your friend has one and you have gadget envy? You can get him to “print” you a copy on the spot.</p>
<p>Let&#8217;s clarify a bit: the RepRap is still very much an early prototype. It can only make objects out of one type of plastic, and it is still very limited in terms of the shapes and sizes of object it can build. When it “duplicates” itself, it currently can make a portion of the parts required &#8211; it can&#8217;t do any of the electronics, and it can&#8217;t assemble the parts once they have been printed.</p>
<p>What exists right now is still extremely impressive. If &#8211; no, when &#8211; the technology becomes more mature, it will change the manufacturing process like nothing before.</p>
<p>There are some nice photos on their website of things that people have made at home with their RepRaps. One person made his children some nifty sandals. Others have made replacement parts for all kinds of items that have broken.</p>
<p>We&#8217;ve already been through a similar downstreaming process with industries such as publishing (between the home laser printer, small digital presses, and Amazon&#8217;s “fat tail” &#8211; everybody is suddenly an author), the movies (think YouTube), as well as others (ask any experienced doctor about the implications of Wikipedia; ask a software developer about OpenSource).</p>
<p>The home workshop / factory / replicator is going to do the same with pretty much every tangible object that you can hold in your hands. Instead of going to the dollar store to buy kitchen implements, you will be able to make them yourself, with minimal effort.</p>
<p>The computer drawings required are being created in freely available format, so that people will be able to easily share designs.</p>
<p>There is already a community of enthusiasts working on the technology from basements and garages, and the occasional university laboratory.</p>
<p>One of the most exciting parts of the idea, is that the systems are designed to be upgradable &#8211; as each new advance in the technology occurs, the new designs are spread around over the internet, and the parts required are built on the existing platform.</p>
<p>We&#8217;re still some way away from “replicators” as depicted in StarTrek, but its hard to say that the concept is really science fiction any more. It has become more a matter of decreasing the costs involved by a few orders of magnitude, simplifying the process so that you don&#8217;t need to be an electronics or software wizard to make it happen, and then allowing the concept to spread around.</p>
<p>The RepRap and similar tiny manufacturing devices are really only the beginning. There has been a lot written on the topic of nanotechnology and how it will reshape our world (See: http://www.crnano.org/bootstrap.htm), but in essence a “nanofactory” is really just a smaller, more effective RepRap. The concept is that anybody will be able to make pretty much anything, at virtually no cost (beyond raw materials, and possibly the design).</p>
<h2>What is the implication for business then?</h2>
<p>I think it would be all too easy to focus on how a factury in every living room is going to permanently damage the manufacturing industry and lead to the doom of civilization as we know it. Inevitably a change like this is going to result in both economic and sociological changes, but I find myself focusing on the immense opportunities that present themselves.</p>
<h3>1. The Design is Often More Important than the Object</h3>
<p>Companies like Nike discovered a long time ago that the real money isn&#8217;t in the actual manufacturing of shoes. Instead they focus on design and marketing. All of their manufacturing processes are outsourced or franchised away to other companies.</p>
<p>Provided that copyright and intellectual property laws keep pace with technologicaly change (not something we can take for granted, I realize), I suspect that we&#8217;ll see a further shift towards companies that create the underlying notion of a product and produce specifications that can be used to build them.</p>
<p>Not all objects will follow this process &#8211; there are always going to be things that are more effective to mass produce than to create in small numbers (think blank DVD disks), but there&#8217;s a good chance that in years to come people will download a design for an item &#8211; let&#8217;s say a spaghetti twirler &#8211; and then produce the item themselves, rather than running to the dollar store.</p>
<p>The following business models come to mind:</p>
<ul>
<li>Online shopping malls that sell designs from many companies</li>
<li>Search engines for finding free designs</li>
<li>Producing free designs that incorporate advertising (imagine a company logo embossed into your spatula!)</li>
<li>Custom design services (much like you would hire a graphic designer to make a website today)</li>
</ul>
<h3>2. Things that can&#8217;t be Reproduced</h3>
<p>In the book “The Diamond Age”, much value is given to items that exist only in small numbers, or that cannot be easily reproduced (by law or because they are unique).</p>
<p>a) The status of the artisan or artist, who creates unique items, may rise.</p>
<p>In addition to art, there are other things that will be hard or just plain more expensive to manufacture through CAM or nanotech.</p>
<p>b) Items such as quality furniture are frequently made out of wood, because it is both attractive and extremely durable.</p>
<p>While there are synthetic amalgams that come close to wood, it could very well be cheaper and more effective to continue to manufacture certain large, durable items in the traditional ways.</p>
<p>c) In addution, home-based manufacturing is likely to struggle with building anything bigger than a few tens of centimeters in each dimension. This could lead to some interesting new businesses:</p>
<p>There are already machine shops that specialize in building one-off items for people (usually prototypes of items that will later be mass produced). These shops aren&#8217;t likely to go anywhere in years to come.<br />
Small scale mass-producing facilities that are highly flexible &#8211; picture a room full of larger RepRaps, connected together by assembly lines &#8211; may be a good opportunity for companies already in the manufacturing sector. One of the nice things about this would be that the plant could build parts of itself. If demand picks up, just build a few more assembly lines. These types of plants will probably focus on building larger items that people won&#8217;t easily be able to make at home.</p>
<h3>3. Raw Materials</h3>
<p>Without a steady source of “something” to use in the manufacturing process, our home DIY factories aren&#8217;t going to be able to make anything. This means that the mining industry probably isn&#8217;t going to fade away in the near future (I&#8217;m planning on writing about the effect of space-based resources in a future article), but there&#8217;s more to it than just digging lumps of iron out of the ground.</p>
<p>Think of your laser printer &#8211; it takes two inputs (ignore electricity for now): paper, and toner. Both printer paper and toner cartridges have been designed and packaged in a particular way that makes them easy to deal with.</p>
<p>Similarly, I think that there is a magnificent opportunity for companies to work on ways to package raw materials in a way that makes it easy for a tiny manufacturing device to use them.</p>
<p>The RepRap, for instance, currently uses a hopper (basically a big funnel) filled with pellets of plastic that are heated to melting point and then squirted through a nozzle.</p>
<p>Larger CAM devices often have the ability to make objects using metal that has been ground into a powder (like printer toner). The company or companies that can find ways to package new materials for this purpose may be able to leverage that into an advantageous position.</p>
<p>Yes, its a commodity market, but so is printer toner.</p>
<p>Items made out of rare materials may also present an opportunity; although the definition of rarity may change.</p>
<p>Expect things like diamonds to decrease in value as the processes to make artificial ones improve. Good conductors and high quality semiconductor materials likely will not.</p>
<h2>In Conclusion</h2>
<p>I don&#8217;t claim to have an understanding of the kinds of changes that are going to happen to our society in the next twenty years as a result of “open source manufacturing”.</p>
<p>Maybe Neal Stephenson or Eric Drexler have a inkling of part of it, but the future doesn&#8217;t really lend itself to accurate prognostication.</p>
<p>I hope though that we can create a world in which there is room for regular people to lead regular lives.</p>
<p>The doom and gloom tends to grab the headlines: everyone&#8217;s industry / livelyhood / job is going down the drain.</p>
<p>The truth is hopefully going to be somewhat different. Technological change will result in as many new industries as it will destroy.</p>
<p>People will innovate new ways to make a living, even if the underlying things that we value disappear.</p>
<p>There are always dangers implicit in change, but also great opportunities, and all in all, I&#8217;d rather focus on those.</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/open-source-manufacturing-the-implications-of-a-factory-in-every-living-room/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Addressability &#8211; and why it matters to you</title>
		<link>http://lichtman.ca/addressability-and-why-it-matters-to-you/</link>
		<comments>http://lichtman.ca/addressability-and-why-it-matters-to-you/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 04:59:48 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[addressability]]></category>
		<category><![CDATA[AR]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[rfid]]></category>
		<category><![CDATA[traffic]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=140</guid>
		<description><![CDATA[The following is going to be part of a mini downloadable booklet that I&#8217;m planning on releasing on this site &#8211; as soon as I can finish it. I have a few chapters written already, and a rough outline of &#8230; <a href="http://lichtman.ca/addressability-and-why-it-matters-to-you/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>The following is going to be part of a mini downloadable booklet that I&#8217;m planning on releasing on this site &#8211; as soon as I can finish it. I have a few chapters written already, and a rough outline of the rest. Stay tuned here over the next few months for more sample chapters. Comments will be very useful for me as I revise this.</em></p>
<p><strong>Addressability &#8211; and why it matters to you</strong></p>
<p>Imagine you are living in the early 1700s. You&#8217;re living at Fort York, in Upper Canada (later to become Toronto, Ontario). You need (I know its a contrived example, but bear with me) to get somebody living in China to move a precious porcelain vase 6 inches to the right on the pedestal on which it is standing. In turn, they need to you take off that ridiculous beaver-skin hat, and hang it up by the door.</p>
<blockquote><p><strong>So how would you go about doing this? </strong></p></blockquote>
<p>I assume that &#8211; even in the pre-mass communication age, something akin to the concept of six degrees of separation must apply. The number is likely higher though.</p>
<p>So you pass the message along to your friend, who knows a ship&#8217;s captain who is travelling to China, who in turn knows a merchant in the port area of Hong Kong &#8211; you get the picture. Eventually, probably several years later, the message is handed to the person you had in mind, who moves the vase. Two or three years after that, you receive the message back about your hat.</p>
<p>The idea that I&#8217;m trying to convey, is that most of the objects in the world have a defined way in which you &#8211; no matter where you are &#8211; can reach out and touch them. This concept is called addressability, and it isn&#8217;t new.</p>
<p>A large part of the history of technology over the past few hundred years essentially boils down to finding better ways to send a &#8220;message&#8221; to somebody or something &#8211; to have ways in which there is a defined address for the information that you are sending.</p>
<p><strong>Some examples: </strong></p>
<p>1. When the Royal Mail started operating in the UK in the 1800s, people typically didn&#8217;t have well defined mailing addresses. Yes, you could probably get a letter to them based on their name, the city in which they lived, and possibly their neighbourhood. Beyond that, a courier potentially had some guesswork to do in order to hand a letter to its intended recipient. The assignment of street names and numbers, along with the invention of postal (or ZIP) codes, are all ways of attempting to formalize how to reach somebody.</p>
<p>2. The telegraph, and later the telephone, are both methods by which information (either a written note or a verbal conversation) can be delivered directly to a person. Hence telephone numbers, area codes, international dialing codes and the like.</p>
<p>3. The internet relies heavily on a concept called an IP Address, which assigns a unique number either to a computer, or to a part of the network in the close neighbourhood of the computer. This allows traffic &#8211; such as email &#8211; to get to its intended destination.</p>
<blockquote><p><strong>Why Does All This Matter?</strong></p></blockquote>
<p>You&#8217;re probably already thinking something along the lines of &#8220;this is all very interesting, but how does it matter to me?&#8221;.</p>
<p>My best guess is that the process of making everything and everyone in the world addressable is going to accelerate in the near future, with some interesting effects. There will be a number of business opportunities that open up as a result, along with privacy and security issues (which can also be business opportunities for some people!).</p>
<p><strong>There are two areas in which this is going to happen: </strong></p>
<p>a) Firstly, addresses are going to become more &#8220;fine grained&#8221;. This means that instead of (for example) a computer having an IP Address, each part in the computer may have an IP Address. Your clothing may have IP Addresses (if you purchase something with a RFID tag, it may already have one!), your car will have an IP Address &#8211; not just that, but every part in your car may have its own IP Address.</p>
<p>b) Secondly, there will be an increasing effort to solidify and catalogue all of the massive amounts of information that result from everything having an address. This means finding ways to reach somebody or something without having to know too much information about.</p>
<p>The result of all of the above, is that there are dozens of categories of businesses that are going to become feasible in the next ten years. I&#8217;ll list a number of them below. Some of these businesses already exist to a certain extent, but they&#8217;re going to become actual specializations and business plans, rather than occasional services that are offered.</p>
<blockquote><p><strong>Opportunity Knocks!</strong></p></blockquote>
<p>The following categories of businesses are likely to become viable in the near future:</p>
<p><strong>1. Help, I&#8217;m out of addresses!</strong></p>
<p>Currently, most of the world operates on an internet addressing system called IPv4. You&#8217;ve probably seen IP Addresses in this format; they look something like 192.168.0.1. Four digits, ranging in size from zero up to 255, separated by a period. The big problem is that even with the relatively small number of objects (usually computers or computing equipment these days), we&#8217;re already running out of addresses in this format. This is why there is an effort underway to switch the entire world over to a new addressing system called IPv6, which has a truly gigantic number of potential addresses. This process is proving to be extremely difficult to complete, leading some industry specialists to conclude that the world is going to run out of existing addresses first; only after the inevitable emergency will everybody switch.</p>
<p>The business opportunity? Start a company that specializes in finding places where equipment isn&#8217;t IPv6 compatible, and consulting with companies on the appropriate way to make the switch. There are already networking specialists who do consulting in this area. Look for this to become an actual business by itself &#8211; at least until the whole world switches. Its an opportunity similar to the Y2K bug, where a little bit of FUD and some technical know-how lead to many people making big money.</p>
<p><strong>2. Help, I need an address!</strong></p>
<p>The process of assigning addresses to physical objects that aren&#8217;t computers or networking equipment, is already well under way. The biggest push has been by companies like Walmart to have all of the items that they sell tagged with an RFID tag, which allows them to track what they sell with great precision. RFID tags allow each item to have a unique ID number associated with it, which &#8211; combined with a database of the items &#8211; allows somebody with a scanner to discover information such as price or inventory levels about the item.</p>
<p>What RFID does not do &#8211; yet &#8211; is allow each of those items to be directly connected into the internet. The concept that your fridge or toaster will be network accessible has been promised by futurists for years, but hasn&#8217;t really progressed much outside of the lab. Yes, you can purchase a coffee machine with a network jack off the web right now, but most people don&#8217;t. Yet.</p>
<p>When you factor in the growing adoption of technologies like wireless internet, along with a gradual reduction in the amount of power required to actually run all the “fancy stuff” needed to connect, eventually not just appliances but also things like clothing, or auto parts are each going to be able to connect to the internet.</p>
<p>This raises a number of privacy and security issues, along with business opportunties such as creating the addressed items in the first place.</p>
<p><strong>Some possible business models that result:</strong></p>
<p>a) Manufacturing new kinds of RFID tags that can be incorporated into objects, which provide not just an ID number, but also an internet connection. A further business model: create the platform and standards by which all manufacturers of these tags operate. That means the underlying software, how the hardware interfaces with the part that it is embedded in, etc.<br />
b) Inventing underlying technologies to reduce the size and power requirements of the above tags.<br />
c) Creating ways for parts to let the manufacturer know when they are broken; this model already is underway with printers &#8211; many new printers will email the manufacturer and the servicing agent to let them know when the toner is getting low, or when there is something the matter.<br />
d) Brokerages and middleman services for part c) &#8211; imagine a website that printer servicing people can be members of, which will automatically list all of the printers in their area that are low on toner, and then allow them to bid on the job.<br />
e) Security and privacy services: locating and removing tags from sensitive equipment; “firewalls” for objects &#8211; for example a way to allow you to access anything in your house, but prevent anyone else from doing so. Its an interesting world we live in when we need Object Firewalls, not just network ones.<br />
f) Quality control &#8211; during the manufacturing process, each and every part can be separately quality controlled, and a record attached; then, during assembly, an automatic record for the entire complex object (i.e. a car) can be created on the fly. There&#8217;s room for software and equipment manufacturers to build systems that assembly lines can use to do this.</p>
<p><strong>3. Help, I can&#8217;t find something! (Or I can and I don&#8217;t want to!)</strong></p>
<p>If all of the quadrillions of objects in the world have a unique address, and a way to reach them via the internet, we&#8217;re going to have to find new ways to sort through that data. There are a great many business opportunities that arise from this, including:</p>
<p>a) A new kind of catalogue &#8211; grouping items (your car, your shirt, your cell phone) based on who owns them, who is allowed to use them, who can see that they exist. This would be a golden opportunity for an existing search engine company to get a leg up on their competition. I suspect that there&#8217;s only room for one viable business in this sector. If you were to login and authenticate yourself, you would be able to see all of the items that you have permission to access from a single control panel &#8211; you can turn on your oven and send an SMS to your wife that dinner is cooking at the same time.<br />
b)  Some items should be publically accessible &#8211; for instance things like traffic cameras etc. Cataloguing such items &#8211; along with more detailed security functions such as who can view, who can modify settings &#8211; will also be a big part of item a).<br />
c) I can forsee a business opportunity where a consultant helps people find things &#8211; either a specific item, or a category of item &#8211; based on such catalogues. This is like an Object Librarian job,  combined with that of a Private Detective. Instead of sorting and cataloging books, they would do the same thing with objects.<br />
d) Single point of access. Currently, I can be reached via about half a dozen email addresses, three or four phone numbers, two Instant Messaging addresses, and about fifty to one hundred social networking website profiles. If somebody can figure out a single way that I can be reached &#8211; anywhere in the world &#8211; through a single device, it would greatly simplify my life. We&#8217;re already seeing some convergence in this area. My cell phone also can access email, in addition to being an SMS device. What I&#8217;m getting at though would be a device (probably combined with a proliferation of standards and platforms) where all messages &#8211; voice, text, video &#8211; are transparently routed to me, no matter where in the world I am. We&#8217;re getting there, but there are still opportunities for software developers and hardware manufacturers.<br />
e) Reputation management &#8211; to some extent, this already exists as a service that some Search Engine Optimization specialists offer to customers. The specific case in mind is one where negative information about a person or company has found its way onto search engine results, or internet archives. It doesn&#8217;t necessarily have to be negative: for instance some States in the US have been digitizing property records without removing sensitive information such as Social Insurance Numbers. The process of removing information from the internet once it exists is extremely tricky; not only are there many places that can cross-reference information, but there are also many places that tend to cache information long after it is gone from the original sources. The process of removing information actually usually involves creating vast amounts of counter-information or meaningless nonsense that makes it difficult to actually obtain useful results from a search. Expect this to become a viable business model in coming years.</p>
<p><strong>Conclusions</strong></p>
<p>In the article above, I listed about a dozen possible business models that somebody could make money from based on the notion that more and more objects in the world are going to be directly linked to the internet. Yes, there are all kinds of security and privacy issues, in addition to which there are probably entire industries that are going to vanish as a result of this happening. There are also a great many opportunities for new industries to arise though.</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/addressability-and-why-it-matters-to-you/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to Compete With Free</title>
		<link>http://lichtman.ca/how-to-compete-with-free/</link>
		<comments>http://lichtman.ca/how-to-compete-with-free/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 18:32:50 +0000</pubDate>
		<dc:creator>Jeremy Lichtman</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[World Wide Web]]></category>

		<guid isPermaLink="false">http://lichtman.ca/?p=137</guid>
		<description><![CDATA[The Wall Street Journal issued an interesting article today on a topic that I&#8217;ve been pontificating about (here and on Yahoo Answers) for a while now: how are businesses going to switch from mindlessly burning up investors money to actually &#8230; <a href="http://lichtman.ca/how-to-compete-with-free/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Wall Street Journal issued an interesting <a href="http://online.wsj.com/article/SB123335678420235003.html#articleTabs%3Darticle" target="_blank">article</a> today on a topic that I&#8217;ve been pontificating about (<a href="http://lichtman.ca/business/how-to-make-money-online" target="_self">here</a> and on Yahoo Answers) for a while now: how are businesses going to switch from mindlessly burning up investors money to actually making money?</p>
<p>Last week I wrote about the 4 categories of business model that exist online. I&#8217;d like to take a quick look at a few of the successful (and not yet successful) examples (some from the WSJ&#8217;s article and its comments), and see if I can come up with a few specific ways in which websites can compete with &#8220;free&#8221;.</p>
<p>The issue at hand is fairly simple to describe: in each niche market online, there are many, many competitors. Most of them are giving away their services entirely for free. Some of them charge for specific premium services, but users are often willing to shop around to find some set of useful (to them) services that don&#8217;t cost them anything at all. This tends to result in a race to the bottom, where the only way (and it is indeed a dubious way) to make money for a website is through advertising.</p>
<p>Let&#8217;s look at a few of the most successful online businesses and see if we can learn anything from them:</p>
<p><strong>Google</strong></p>
<p>Google&#8217;s success is based on being able to deliver the largest number of ads, to the largest number of placements, at (in general) the lowest price. This business model depends entirely on having extremely high traffic, a highly viral method for spreading their system around, and excellent system for placing the right ad on the right website (it ain&#8217;t perfect, but it is good enough), and constantly doing interesting (but usually non-profitable) things to attract even more attention. At this point in time, it would be virtually impossible for anybody to launch a competing bid for that ad space &#8211; in order to do so, they would need to be able to charge advertisers less, while paying website owners more, which would likely make their margins uncompetitive. Google&#8217;s model &#8211; essentially a middleman model &#8211; has a large &#8220;moat&#8221; to use Warren Buffett&#8217;s terminology. Yes, they&#8217;re going to take a hit with cost per click going down a bit, but they have enough critical mass to ride out the storm and fend off competitors at the same time.</p>
<p><strong>Craigslist</strong></p>
<p>Craigslist is also a high traffic-dependant model. Basically it is a twist on the &#8220;freemium&#8221; business model &#8211; almost everything is free, except for a few types of ads in specific markets. As far as I can tell, they were the first ones to cotton onto the idea of giving away virtually everything, making yourself completely indispensible, and then charging for a few specific features that are very worthwhile for a small set of people to pay for. There are a great many competing websites &#8211; some who actually have quite a bit of traffic &#8211; that are giving away for free the specific set of things that Craigslist charges people for. However, they have sufficient traffic to make it worthwhile for advertisers to pay for things that need to attract attention. Basically their model boils down to being sufficiently indispensible that people will pay.</p>
<p><strong>Meetup.com</strong></p>
<p>A former employee of mine first alerted me to this website. When they started out, they offered a completely free service for people to organize groups to &#8220;meetup&#8221;. Their traffic grew exponentially until several years after launching, they switched to a fee-based model. Users of the site get in free. Owners of groups pay a monthly fee. When they switched, they lost about 80% of their groups. The ones that remained provided enough revenue to keep things profitable. Their methodology: lock-in. One people have a successful group with a large member-base, moving it somewhere else &#8211; even though feasible &#8211; is a pain in the neck. The amount that they charge isn&#8217;t high enough to drive away their customer base, although I have my doubts as to whether they&#8217;ll be able to grow much further. Basically they&#8217;re now a cash cow.</p>
<p><strong>Salesforce.com</strong></p>
<p>Salesforce.com gets away with charging a fee for an essentially simple system (there are lots of CRM packages around, some of them free) by providing a high-end feature set, in addition to a lower startup cost. Its easy to get going with Salesforce &#8211; you pay per seat, so the initial cost isn&#8217;t all that high, it is more convenient than installing and maintaining a system on your own, and then you are locked into a system as you grow to have more seats (which is where they really make their money). With a paid userbase that is apparently around 50,000 customers, they&#8217;ve probably grown to as large as their market will bear. Their key strategy: provide lots of features that aren&#8217;t available in the free/cheaper competitors; make the initial costs so low that they are painless; tie users in so that it is hard to leave; gradually ramp up the fees. This is essentially a &#8220;utility&#8221; model. Anyone hoping to compete with them is going to have to provide more features at a lower cost (and hence lower margins).</p>
<p><strong>Wikipedia</strong></p>
<p>Wikipedia has a much lower operating cost than a traditional encyclopedia: their content is basically free, they have things set up to run on a surprisingly small number of servers,  the crowd-sourcing model of producing quality (mostly) lends itself to a large amount of useful and accurate content, and people are willing to donate to keep something so useful alive. Like many of the other examples above, this is a business model that relies on being the highest trafficked website in its niche &#8211; and it is viral in the sense that the more content it has, the more useful it becomes. By keeping costs down, and basically guilt-tripping a subset of users into donating money, they can make a profit and keep things free. I&#8217;m not quite certain how Brittanica hopes to compete with them &#8211; yes, Wiki often has high-publicity editing faux-paux, but for the most part they are good enough. I&#8217;m not sure that providing a higher quality service (but charging for it) will be sufficient reason for people to switch to a different service.</p>
<p>I think that by now we can see a few specific trends:</p>
<ul>
<li>Be the first one in your niche</li>
<li>Have the largest amount of traffic</li>
<li>Provide a service that is good enough</li>
<li>Make it difficult to switch</li>
<li>Make it expensive to start a competing business</li>
<li>Be willing to start charging and lose some traffic as a result</li>
<li>Charge only for those things that you need to charge for; keep most things free</li>
<li>Keep costs down</li>
</ul>
<p>This isn&#8217;t all that different from any &#8220;brick and mortar&#8221; business model, is it?</p>
<p>Let&#8217;s take a look at a current favourite (of mine and many other people!): Twitter. What possible ways can they achieve their revenue goals, given that a) it isn&#8217;t necessary to login to their site in order to use it, and b) they provide a very small number of features, all of which are simple and easy to duplicate.</p>
<p>Their options (as I see it) are as follows:</p>
<ol>
<li>Make it harder to access Twitter from elsewhere. Start charging to use the API. Lock it down with additional security features.</li>
<li>Place advertising on their site. This would rely on a larger percentage of users being forced to actually login to Twitter, as opposed to using tools like ping.fm.</li>
<li>Create additional features that are currently being served up by other websites in their &#8220;ecosystem&#8221; &#8211; all of the cool profile rating, desktop tool, website plugin, karma-inducing stuff. Yes, I know, they would irk a lot of people.</li>
<li>Sell products or services: branded versions of Twitter that are specifically for a particular company (i.e. for sales reps and customer service people, or for staff to tap into other staff&#8217;s knowledge). Services specifically for brands trying to tap into Twitter&#8217;s user base.</li>
<li>Create their own desktop tool, with advertising spaces on it.</li>
<li>Buy other websites with related features and tie them in.</li>
<li>Find some other product or service (My husband/wife/parents went on a Twitter vacation and all he got me was this lousy t-shirt) that they can sell. Hey check it out: the Twitter eBay account! I don&#8217;t know if that would work.</li>
</ol>
<p>In all of the above cases, they would certainly lose a percentage of their users. I think that is why they&#8217;ve been holding off for as long as possible &#8211; once they are &#8220;big enough&#8221; they can set things in stone. They&#8217;ll lose some people, and the rest will stay, but it will be hard for them to grow afterwards. I&#8217;m also not sure whether or not they would be successful or not with this approach &#8211; users could potentially just gravitate to other similar sites. The point is that they do have options, even if they are going to be hard ones.</p>
<p>There are plenty of lessons to be learned from a recession like we&#8217;re currently in. I tend to view these times as performing a tough but useful purpose &#8211; like controlled fires in a managed forest. Nobody really likes having to deal with reduced source of income (never mind venture capital), but this is an excellent opportunity for businesses to fine-tune their business models so that they can be more profitable once the recession is over. If website owners can move away from &#8220;everything is free and I make money from ads&#8221; to &#8220;I have some set of products and services that I sell, and I also make some money on the side from ads&#8221;, the online economy is going to be stronger going forward.</p>
]]></content:encoded>
			<wfw:commentRss>http://lichtman.ca/how-to-compete-with-free/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

