<?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>Think Vitamin &#187; Web Apps</title>
	<atom:link href="http://thinkvitamin.com/category/web-apps/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinkvitamin.com</link>
	<description>The Web Practitioner&#039;s Blog</description>
	<lastBuildDate>Thu, 09 Feb 2012 16:41:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Coffee is for Closers! When and why to hire Alec Baldwin</title>
		<link>http://thinkvitamin.com/web-apps/coffee-is-for-closers-when-and-why-to-hire-alec-baldwin/</link>
		<comments>http://thinkvitamin.com/web-apps/coffee-is-for-closers-when-and-why-to-hire-alec-baldwin/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 12:47:07 +0000</pubDate>
		<dc:creator>Ryan Cumley</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=16515</guid>
		<description><![CDATA[&#8220;Put, That coffee, Down!&#8221; Walking through the finance section of our office back in my private equity days, this quote would be sternly yelled at each other, followed by the line, &#8220;Coffee is for Closers!&#8221; The quote was from Alec Baldwin&#8217;s character in Glengarry Glen Ross, and I guess it was the swaggering bravado of [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Put, That coffee, Down!&#8221;</p>
<p>Walking through the finance section of our office back in my private equity days, this quote would be sternly yelled at each other, followed by the line, &#8220;Coffee is for Closers!&#8221;</p>
<p>The quote was from Alec Baldwin&#8217;s character in <a href="http://www.imdb.com/title/tt0104348/"> <em>Glengarry Glen Ross</em></a>, and I guess it was the swaggering bravado of it that enticed our band of finance geeks and would-be dealmakers to scream it at each other regularly. I was always amused that a bunch of desk-bound, expensively dressed spreadsheet jockeys like ourselves identified so closely with the explosive over-confidence of a Hollywood salesman. Most of our team had never sold as much as a pair of shoes on e-bay before.</p>
<p>My own sales experience had been a relatively modest $6M mostly in government contracts at that point, but I had spent enough time in the sales world to understand how completely foreign the entire culture and mindset of a professional salesperson is from the standard office dweller.</p>
<p>If you are thinking about adding a professional Sales Team to your company, or if you&#8217;d just enjoy yelling gratuitous profanity, you really owe it to yourself to watch <em>Glengarry Glen Ross</em> at least once. The glimpse into the chaos, confidence and energy of sales is stylized, and yet not too far from the truth. Think about the culture of your company sitting next to the culture of theirs when you watch. It will probably be hard to imagine.</p>
<h3>When to hire an &#8220;Alec Baldwin&#8221;</h3>
<p>Hiring an &#8220;Alec Baldwin&#8221; to sell your company&#8217;s product can be extremely rewarding, eventually creating growth and profit far beyond your current trajectory, but the economics involved are huge, and not intuitively obvious. I&#8217;ll show you the quick calculations to make sure hiring sales staff is a good decision.</p>
<p>Here&#8217;s the ideal position to be in BEFORE you hire your first salesperson.</p>
<ol>
<li>You are already earning consistent revenue from your product or service</li>
<li>You are already at break-even each month, or at least on a trajectory to break-even in the next few months</li>
<li>You can service and support many more customers easily, without dramatically expanding your infrastructure. Most Web-Delivered businesses are excellent in this regard.</li>
<li>You have access to a pile of cash to invest in sales. This could be a new investor, a loan, or just surplus cash in the business. You won&#8217;t see this cash again for a while.</li>
</ol>
<p>To a business owner, the basic expectation of a Sales Team is that you will sell a bunch more products at a lower profit margin (lower because the salesperson is paid a slice of each sale too). At first blush, this seems like an immediate increase in your business checking account. This is flawed, however, because it will probably take many months for the volume of sales to grow enough to contribute to profit. The simple reality is that the first 3-6 months of a salespersons career will typically COST you money, not produce it.</p>
<p>It&#8217;s tempting to think that a salesperson will get paid only when they sell, ie. 100% commission based. But in practice only two types of people are willing to work on 100% commission, the desperate or the insanely talented, and you probably don&#8217;t want either kind. Eventually the insanely talented salesperson will require too big of a commission to keep them from jumping ship to a more attractive company, and hiring desperate people is usually chaotic and unmanageable with a low chance of success for everyone.</p>
<p>For most businesses, the most attractive route will be to initially hire moderately experienced salespeople on a base salary with a performance based bonus (ie, the % of bonus paid scales with the % of some sales target reached). It&#8217;s common for the bonus to be roughly equal to the base salary. This compensation scheme usually produces a staff with a good chance of success for both you and for them.</p>
<p>It&#8217;s the combination of the base salary and the need for semi-realistic sales targets that creates the initial cash drain on the business. More on that next.</p>
<p><strong>Down and dirty calculations to tell you when it&#8217;s feasible to hire</strong></p>
<p>This is what the typical sales hire will do for your business in terms of Revenue and Expenses:</p>
<p><img src="http://i1210.photobucket.com/albums/cc409/ryancumley/SalesRevenueandExpense.png" alt="Photobucket" border="0" /></p>
<p>It is very common for a salesperson to take 3-6 months or more building their sales volume up to it&#8217;s long-term sustainable level. In the meantime, you&#8217;ll be paying their full base salary and employers expenses. Eventually the sales they make every month will catch up and exceed their costs, but you&#8217;ll have burned through cash that whole time, and it will still be several more months before you&#8217;ve recovered what you&#8217;ve spent and start making a genuine &#8220;profit&#8221; on your salesperson.</p>
<p>Visually, that looks like this:</p>
<p><img src="http://i1210.photobucket.com/albums/cc409/ryancumley/SalesandExpenseBreakEven.png" alt="Photobucket" border="0" /></p>
<p>The red area is money you are burning while they get up to speed. The blue area is paying back your original &#8220;investment&#8221;. The green area is the actual &#8220;profit&#8221; your business earns on the salespersons&#8217; labor. Plan on it taking a while for a sales hire to pay off.</p>
<p>For a super quick rule of thumb to estimate exactly how much cash you&#8217;ll burn through (and therefore need to have set aside before you hire) grab the calculator on your phone and follow these steps:</p>
<ol>
<li>Write down your Base Salary ($ / year). Call this &#8220;Base&#8221;</li>
<li>Write down your Performance Bonus ($ / year). Call this &#8220;Bonus&#8221;</li>
<li>Write down how many months it takes to get to full sales productivity. Six months is common. Call this &#8220;Ramp&#8221;</li>
</ol>
<p>Plug it into this forumla:</p>
<p><a href="http://s1210.photobucket.com/albums/cc409/ryancumley/?action=view&amp;current=Formula.png" target="_blank"><img src="http://i1210.photobucket.com/albums/cc409/ryancumley/Formula.png" alt="Photobucket" border="0" /></a></p>
<p>This formula uses the <a href="http://en.wikipedia.org/wiki/Intermediate_value_theorem">Intermediate Value Theorem</a> and a couple of simplifying assumptions to make it quick and easy to calculate. It should give you a rough estimate of how much capital you&#8217;ll need to set aside (or raise from an investor) before you make that first sales hire.</p>
<p>For a more nuanced and detailed approach, I&#8217;ve modeled out a single sales hire in this Google Docs spreadsheet, which you can <a href="https://docs.google.com/spreadsheet/ccc?key=0AscIRy22sTKbdGtsZm5GbnB2UEFycG5OOUhjRFIzeXc&amp;hl=en_US">access for free here</a>. Having these numbers in hand can be a huge help in raising money to hire with, if you&#8217;re getting an outside investor to finance the new hire(s).</p>
<h3>Before your first Hire</h3>
<p>Especially if you have never worked in sales before, which is quite common for the leader of many tech companies, I highly recommend taking 1-3 months where YOU become the salesperson. Spend at least half your day on sales, more if you can afford the time. Make direct calls, go pitch at a trade show or convention, run an ad with your phone number, get a meeting with a potential customer and go pitch your business, convince a stranger at Starbucks they need your product. You can go crazy with it if you just tell yourself &#8220;this won&#8217;t be my job forever&#8221;.</p>
<p>Worst case, you won&#8217;t close a single deal and you&#8217;ll hate every minute of it. You probably will close at least a couple deals, and you&#8217;ll feel pretty awesome about yourself when you do.</p>
<p>The real purpose of this experiment though, will be to give you instincts that will dramatically increase your chance of success hiring a Sales Team. After even one month in those shoes, you&#8217;ll do much better at each of these:</p>
<ol>
<li>Screening and selecting a truly good candidate for your first sales hire</li>
<li>Designing a compensation structure and setting performance targets that work for your business AND the new salesperson</li>
<li>Understanding the markets where your potential new customers are</li>
<li>Managing expectations and results after your first salesperson joins the team</li>
<li>Understanding the changes in your company culture as you add more sales staff</li>
</ol>
<p>This knowledge will be invaluable and will seriously increase your odds of success, even if the experiment is uncomfortable.</p>
<h3>After your first Hire</h3>
<p>The &#8220;ramp up&#8221; period, where your new salesperson goes from zero sales per month to some stable number of sales per month, is critical for both your business and the new hire. Both of you will have high hopes for the arrangement, and you&#8217;ll both be a bit nervous and on edge until it seems like things will work.</p>
<p>You&#8217;re feeling the perfectly normal concern any investor feels when investing money, namely the thought &#8220;Am I ever going to see this money again?&#8221; Just be aware that you&#8217;ll be unnaturally on edge until the sales start growing. Don&#8217;t let your rational concerns lead to irrational behavior or attitudes. Simply being aware of this can help you to project the culture and dynamic of success until it becomes a self-fulfilling prophecy, and you can rationally dismiss your fears.</p>
<p>Your new salesperson probably looks extremely enthusiastic and up-beat, but underneath they have the perfectly rational concern of &#8220;Will this job work out? Did I just hitch a ride on a gold mine, or will I be looking for another company soon&#8221;?</p>
<p>The more you can make the &#8220;gold mine&#8221; idea seem plausible, the more likely the salesperson will be to rise to the occasion, and the happier you&#8217;ll both be. Confidence and closed deals can enter a virtuous cycle where they each feed off each other and grow and grow. Your number one goal during the ramp up period should be to help your new hire reach 100% of their performance goals as quickly as possible.</p>
<p>Constant micro-managing of the sales process probably won&#8217;t help, but showing a genuine interest in their success probably will. Here&#8217;s a few actionable ideas:</p>
<ol>
<li>Celebrate every new closed deal with them. You don&#8217;t have to go over the top, but even something as small as an enthusiastic &#8220;YES!&#8221; and a fist pump will match the emotions of success that they are feeling, and go a long way towards feeling like you&#8217;re on the same team. Empathy can be transformative for both of you.</li>
<li>Generate a couple leads on your own and give them to your salesperson. This can be a grand gesture that says &#8220;I want you to succeed too&#8221;. Avoid asking about those leads later, since it places un-due emphasis on those particular deals, and could make them seem more like a test than a gift.</li>
<li>Ask for their advice and input. Get their opinion on your marketing materials or on-line ads, take them on a one-on-one lunch where you discuss where the broader market is going. Anything that communicates respect for their opinions and knowledge will build their confidence and self-image within your company. Both of which are very helpful to most salespeople.</li>
<li>Involve them in forming a vision for the &#8220;Sales Team&#8221; of your company. You don&#8217;t have to be grooming them to become the VP of Sales, but feeling like they have input and involvement with the direction and culture of their job can be hugely motivating.</li>
<li>Surprise them with a one-time &#8220;bonus&#8221; after an exceptionally large or profitable sale. Surprise is key, and an envelope with actual cash is much more effective than a check. Say something simple like &#8220;Nice job on that XYZ deal. Here&#8217;s a little thank you&#8221;.</li>
</ol>
<p>Once they&#8217;ve reached 75% of their performance target or so, the relationship will likely stabilize and you can start working on what the long term dynamic will be like. Success there is for another article.</p>
<p>When you&#8217;re ready to hire another salesperson, make sure you involve your current salesperson in the process. If you don&#8217;t, fear of losing some of their &#8220;territory&#8221; may poison the next hire, and the last one, erasing all your work and investment in the process.</p>
<h3>Closing Thoughts</h3>
<p>Hiring and developing a successful sales team is usually the turning point between a small business driven by your personality and a viable, self-sustaining company. The upfront costs are large, and the economics and culture of your company will change irreversibly. But if you do it right you will eventually have more profit and more free time, and your employees will have more secure and worthwhile jobs.</p>
<p>Crunch the numbers first, and if it looks good, take the plunge. Your company will never be the same once you do. With any luck, you’ll soon have a team of closers that would make Alec Baldwin proud.</p>
<p>&lt;If you enjoyed this article, feel free to <a href="http://eepurl.com/fxQU2">join my newsletter here</a>&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/coffee-is-for-closers-when-and-why-to-hire-alec-baldwin/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>New version of Numbers for Startups just released</title>
		<link>http://thinkvitamin.com/business/new-version-of-numbers-for-startups-just-released/</link>
		<comments>http://thinkvitamin.com/business/new-version-of-numbers-for-startups-just-released/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 09:06:05 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=16218</guid>
		<description><![CDATA[The latest and most powerful version of Numbers for Startups has just been released. It&#8217;s an insanely powerful, easy-to-use, spreadsheet that helps you &#8230; Decide if your business or new product is financially viable and attractive to investors Understand &#8220;Red Line / Green Line&#8221; analysis, the single most important graph for any venture Create realistic [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://numbersforstartups.com/"><img src="https://img.skitch.com/20110913-m4mxfjw1bwk8efusegkya5tij6.jpg" alt="Screenshot of the data input worksheet showing graphs and numbers" /></a></p>
<p>The latest and most powerful version of <a href="http://numbersforstartups.com/">Numbers for Startups</a> has just been released. It&#8217;s an insanely powerful, easy-to-use, spreadsheet that helps you &#8230;</p>
<ol>
<li>Decide if your business or new product is financially viable and attractive to investors</li>
<li>Understand &#8220;Red Line / Green Line&#8221; analysis, the single most important graph for any venture</li>
<li>Create realistic goals and plans based on hard numbers, including how much money to raise</li>
<li>Track the effectiveness of different Marketing Channels. Know exactly how much to spend on Advertising and when to spend it.</li>
<li>Approach investors with confidence, or invest your own money with a solid plan</li>
</ol>
<h3>Video Demo</h3>
<p>Here&#8217;s a 3-minute overview of how it works &#8230;</p>
<p><object width="704" height="396" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/daCsM61LdbU?version=3&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed width="704" height="396" type="application/x-shockwave-flash" src="http://www.youtube.com/v/daCsM61LdbU?version=3&amp;hl=en_US&amp;rel=0" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>Full disclosure: The creator of Numbers for Startups is my brother-in-law, but I have no financial interest in the company and I&#8217;m not receiving any money in any form for posting about it. I just think it&#8217;s an awesome tool that I wish I had before we started Think Vitamin Membership! :)</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/business/new-version-of-numbers-for-startups-just-released/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Chess@home: Distributed Chess AI in the Browser</title>
		<link>http://thinkvitamin.com/web-apps/chesshome-distributed-chess-ai-in-the-browser/</link>
		<comments>http://thinkvitamin.com/web-apps/chesshome-distributed-chess-ai-in-the-browser/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 20:17:41 +0000</pubDate>
		<dc:creator>Jim Hoskins</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=16200</guid>
		<description><![CDATA[The winners of the Node Knockout have been announced, and the Chess@home project presents a very interesting concept. It attempts to solve the problem of creating a chess playing AI. Chess AI is a problem that requires a lot of computing power, and Chess@home solves this by using browsers to solve the problems. As a [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://blog.nodeknockout.com/post/9895206272/node-knockout-winners">winners of the Node Knockout</a> have been announced, and the <a href="http://chessathome.org/">Chess@home</a> project presents a very interesting concept. It attempts to solve the problem of creating a chess playing AI. Chess AI is a problem that requires a lot of computing power, and Chess@home solves this by using browsers to solve the problems. As a website owner you can add the widget to your page, and each of your visitor&#8217;s browser&#8217;s will automatically begin computing for Chess@home.</p>
<p>This is much like <a href="http://setiathome.berkeley.edu/">SETI@home</a> and <a href="http://folding.stanford.edu/">Folding@home</a>, but doesn&#8217;t require you to install any software, or even realize you are contributing at all. It would be interesting to see if the techniques of Chess@home applied to causes like protein folding, and other problems with huge real world implications.</p>
<p>The Chess@home widget does give you the ability to disable the computation as a visitor, but it&#8217;s certainly not technically mandatory that a project tells you that you are contributing to a distributed computation network. Does a site have a responsibility to tell you that you are participating in the computations? It will be interesting to see what other projects may appear based on this concept.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/chesshome-distributed-chess-ai-in-the-browser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Decrease churn, increase conversions or hire a sales team?</title>
		<link>http://thinkvitamin.com/business/decrease-churn-increase-conversions-or-hire-a-sales-team/</link>
		<comments>http://thinkvitamin.com/business/decrease-churn-increase-conversions-or-hire-a-sales-team/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 16:16:06 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=16019</guid>
		<description><![CDATA[Alan and I are building a financial dashboard for Treehouse and the findings have been fascinating. If you only have time to focus on one of these three for your web app, which should you tackle? Decreasing the number of people that cancel (churn)? Increasing your conversion rate? Hiring a sales team? Net Profit Cash [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/commondream">Alan</a> and I are building a financial dashboard for <a href="http://teamtreehouse.com">Treehouse</a> and the findings have been fascinating. If you only have time to focus on one of these three for your web app, which should you tackle?<span id="more-16019"></span></p>
<ol>
<li>Decreasing the number of people that cancel (churn)?</li>
<li>Increasing your conversion rate?</li>
<li>Hiring a sales team?</li>
</ol>
<h3>Net Profit</h3>
<p><a href="https://img.skitch.com/20110905-cswuyjaaap9eeykpmy3j7raf5h.png"><img src="https://img.skitch.com/20110905-cejj1arry4g9dkxhc81at96fd3.png" alt="A graph showing that hiring a sales team has the largest effect on Net Profit." /></a></p>
<h3>Cash Balance</h3>
<p><a href="https://img.skitch.com/20110905-fdf6u74fnawsnkwusrwi3cgpp1.png"><img src="https://img.skitch.com/20110905-pqcfghgasi23rsgq6w7j2j2rnb.png" alt="A graph showing that increasing conversions by 1% has the largest effect on Cash Balance." /></a></p>
<h3>Conclusion</h3>
<p>These results are obviously specific to Treehouse (aka Think Vitamin Membership) but it&#8217;s fascinating to see that increasing conversions by 1% has the biggest effect (huge!) on Cash Balance, but hiring a (successful) sales team has the largest long-term effect on Net Profit. Given a few more months, the Cash Balance would also be best-effected by hiring a Sales Team as well.</p>
<p>To clarify, the Sales Team will be selling large group memberships and their goal is 2 x 100 Member accounts per month and we&#8217;re giving them three months to spin up to 100%.</p>
<p>If you&#8217;ve been working on improving metrics on your web app, please share in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/business/decrease-churn-increase-conversions-or-hire-a-sales-team/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Adding Search with IndexTank</title>
		<link>http://thinkvitamin.com/web-apps/adding-search-with-indextank/</link>
		<comments>http://thinkvitamin.com/web-apps/adding-search-with-indextank/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 13:50:47 +0000</pubDate>
		<dc:creator>Alan Johnson</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=15990</guid>
		<description><![CDATA[One tool we’ve been using more and more on Think Vitamin Membership lately is IndexTank. It’s a hosted search indexing service. They’ve got some big customers, like Reddit, and that definitely gave us a ton more confidence to check them out. Being able to store 100,000 documents with them for free also helped out a [...]]]></description>
			<content:encoded><![CDATA[<p>One tool we’ve been using more and more on <a href="http://membership.thinkvitamin.com">Think Vitamin Membership</a> lately is <a href="http://indextank.com">IndexTank</a>. It’s a hosted search indexing service. They’ve got some big customers, like <a href="http://reddit.com">Reddit</a>, and that definitely gave us a ton more confidence to check them out. Being able to store 100,000 documents with them for free also helped out a ton. We’ve been indexing some of our administrative search with IndexTank for about 6 months now and just recently started using IndexTank for our <a href="http://membership.thinkvitamin.com/library/search">video search</a>.</p>
<p><span id="more-15990"></span></p>
<p>Before using IndexTank we were using <a href="http://sphinxsearch.com/">Sphinx</a> for search. It’s a great tool and something I’d recommend to almost anyone, but you have to run Sphinx’s server on your own hardware and maintain it yourself. We try to avoid as much system administration when we can, so we were on the lookout for a hosted service to handle search for us. Sphinx traditionally hasn’t had live indexing also, so search results don’t show up until you reindex the next time (we ran our Sphinx reindexes every 30 minutes). That means that if you get a support request from a user right after they sign up, you can’t find their information. I found myself logging in frequently to reindex so I could use our admin user search, and got tired of it. Sphinx has recently added live indexing, but many of the libraries that work with it don’t yet support that feature.</p>
<p>Getting set up with IndexTank is really easy. After you sign up you’re prompted to create an index. Once you define the new index by giving it a name you can start using the API to insert documents into the index. I’ll show how we have things set up using Ruby below, but check out their documentation site if you normally use some other language. They’ve got links to most popular languages and platforms on their <a href="https://indextank.com/documentation/">documentation site</a>.</p>
<h1 id="settingupindextankwithyourrailsapp">Setting Up IndexTank With Your Rails App</h1>
<p>First off you’ll want to add the indextank gem into your Gemfile:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">gem <span style="color:#996600;">&quot;indextank&quot;</span></pre></td></tr></table></div>

<p>And run <code>bundle</code> to install it. To help out with connecting to IndexTank, we put our settings into an initializer in <code>config/initializers/indextank.rb</code>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> SearchConfig
  <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">api</span>
    <span style="color:#0066ff; font-weight:bold;">@api</span> <span style="color:#006600; font-weight:bold;">||</span>= <span style="color:#6666ff; font-weight:bold;">IndexTank::Client</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;[YOUR INDEXTANK URL]&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>You’ll want to replace <code>[YOUR INDEXTANK URL]</code> with whatever your actual IndexTank url is. You can find that on your dashboard on IndexTank’s site.</p>
<h1 id="updatingyouractiverecordmodelsforindexing">Updating Your ActiveRecord Models for Indexing</h1>
<p>The code we’re using to do indexing and search is pretty simple. Think Vitamin Membership is still a Rails 2 app, so you may need to tune the code below a bit to use it with Rails 3. Even writing the integration completely from scratch, I was surprised at how easy it is to get things running with IndexTank.</p>
<p>We use callbacks to index after we save any of the models that are indexed. Here’s the code we use to index:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">after_save <span style="color:#ff3333; font-weight:bold;">:index</span>
<span style="color:#9966CC; font-weight:bold;">def</span> index
  <span style="color:#9966CC; font-weight:bold;">begin</span>
    <span style="color:#9966CC; font-weight:bold;">if</span> Rails.<span style="color:#9900CC;">production</span>? <span style="color:#006600; font-weight:bold;">||</span> Rails.<span style="color:#9900CC;">development</span>?
      <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9966CC; font-weight:bold;">class</span>.<span style="color:#9900CC;">indextank_index</span>.<span style="color:#9900CC;">document</span><span style="color:#006600; font-weight:bold;">&#40;</span>id<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">add</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:text</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;#{title} #{description} #{chapter.title} #{course.title}&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">rescue</span>
    <span style="color:#008000; font-style:italic;"># do nothing - we just won't worry about not updating the index</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">indextank_index_name</span>
  index = <span style="color:#996600;">&quot;videos&quot;</span>
  index <span style="color:#006600; font-weight:bold;">+</span>= <span style="color:#996600;">&quot;_dev&quot;</span> <span style="color:#9966CC; font-weight:bold;">if</span> Rails.<span style="color:#9900CC;">development</span>?
  index
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">indextank_index</span>
  <span style="color:#0066ff; font-weight:bold;">@indextank_index</span> <span style="color:#006600; font-weight:bold;">||</span>= SearchConfig.<span style="color:#9900CC;">api</span>.<span style="color:#9900CC;">indexes</span><span style="color:#006600; font-weight:bold;">&#40;</span>indextank_index_name<span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>In the code above you can see that our indexing strategy is really simple. Right now we’re simply building a space delimited string of the attributes of the object that we’re indexing. IndexTank has more advanced features like scoring, but we’re not using them yet. We also typically create both development and production indexes, so we have a little bit of logic in the <code>indextank_index_name</code> method to determine what index to use.</p>
<p>Once we have some data in our index we can search it with our <code>search</code> method:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">search</span><span style="color:#006600; font-weight:bold;">&#40;</span>query, page = <span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  limit = <span style="color:#006666;">20</span>
  page = <span style="color:#006666;">1</span> <span style="color:#9966CC; font-weight:bold;">if</span> page == <span style="color:#0000FF; font-weight:bold;">nil</span>
&nbsp;
  <span style="color:#6666ff; font-weight:bold;">WillPaginate::Collection</span>.<span style="color:#9900CC;">create</span><span style="color:#006600; font-weight:bold;">&#40;</span>page, limit, <span style="color:#0000FF; font-weight:bold;">nil</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>pager<span style="color:#006600; font-weight:bold;">|</span>
    <span style="color:#9966CC; font-weight:bold;">if</span> query.<span style="color:#9900CC;">blank</span>?
      pager.<span style="color:#9900CC;">total_entries</span> = <span style="color:#006666;">0</span>
    <span style="color:#9966CC; font-weight:bold;">else</span>
      it_results = indextank_index.<span style="color:#9900CC;">search</span><span style="color:#006600; font-weight:bold;">&#40;</span>query, <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:function</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006666;">1</span>, <span style="color:#ff3333; font-weight:bold;">:len</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> pager.<span style="color:#9900CC;">per_page</span>, <span style="color:#ff3333; font-weight:bold;">:start</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> pager.<span style="color:#9900CC;">offset</span> <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
      pager.<span style="color:#9900CC;">total_entries</span> = it_results<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;matches&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span>
      pager.<span style="color:#9900CC;">replace</span><span style="color:#006600; font-weight:bold;">&#40;</span>all<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:conditions</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:id</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> it_results<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;results&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#9900CC;">collect</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#006600; font-weight:bold;">|</span>result<span style="color:#006600; font-weight:bold;">|</span> result<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;docid&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#9900CC;">to_i</span> <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
 <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>The <code>search</code> method is pretty no frills. It takes a search query as a string and a page number as arguments and returns a collection that’s compatible with <code>will_paginate</code> as a result. So, for example, since this is on our <code>Video</code> model we can call it from a controller with:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">Video.<span style="color:#9900CC;">search</span><span style="color:#006600; font-weight:bold;">&#40;</span>params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:q</span><span style="color:#006600; font-weight:bold;">&#93;</span>, params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:page</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span></pre></td></tr></table></div>

<p>and we’ll get the first page of results back.</p>
<h1 id="thirdpartylibraries">Third Party Libraries</h1>
<p>We wrote up our own indexing and search code for our models using the IndexTank gem because there weren’t many third party libraries for IndexTank around when we got started with them. That said, since then some libraries have popped up that help out with indexing, and they’re on our radar to check out. Here are a few of them:</p>
<ul>
<li><a href="https://github.com/kidpollo/tanker">Tanker</a></li>
<li><a href="https://github.com/flaptor/thinkingtank">Thinking Tank</a></li>
<li><a href="https://github.com/zencoder/index-tanked">Index Tanked</a></li>
</ul>
<p>I’m really interested in checking out all three of those libraries to see how they can help us clean up our IndexTank integration code.</p>
<h1 id="finishingup">Finishing Up</h1>
<p>It’s been excellent to have the ability to add search to pretty much anything in our site with IndexTank without having to worry about the system administration consequences. We’re excited about having a great deal of flexibility with how we develop search on the site, and are really looking forward to taking even more advantage of that flexibility as we develop <a href="http://teamtreehouse.com">Treehouse</a>. We’ve been really impressed with the performance of searches and the reliability of their service and definitely recommend it.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/adding-search-with-indextank/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Startup Financial Dashboard</title>
		<link>http://thinkvitamin.com/web-apps/startup-financial-dashboard/</link>
		<comments>http://thinkvitamin.com/web-apps/startup-financial-dashboard/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 07:50:18 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=15435</guid>
		<description><![CDATA[If you&#8217;re building or running a startup with recurring revenue, you&#8217;ve got to buy Numbers for Startups. The price jumps to $19.99 on Friday, so grab your copy now. It&#8217;s a super powerful (but easy to use) Excel model that helps you &#8230; Test the financial viability of your idea Track the Seven Key Metrics Know [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re building or running a startup with recurring revenue, you&#8217;ve got to buy <a href="http://numbersforstartups.com">Numbers for Startups</a>. The price jumps to $19.99 on Friday, so grab your copy now.</p>
<p>It&#8217;s a super powerful (but easy to use) Excel model that helps you &#8230;</p>
<ol>
<li>Test the financial viability of your idea</li>
<li>Track the Seven Key Metrics</li>
<li>Know how much capital you need to raise to hit break-even</li>
<li>Track the effectiveness of different marketing channels and their affect on your net profit</li>
<li>Run Red Line / Green Line analysis</li>
<li>Understand your Yield on Cost</li>
<li>Approach investors with confidence</li>
</ol>
<p><a href="http://numbersforstartups.com/"><img src="https://img.skitch.com/20110808-qhhh35tgqjgdcmy9txihjbi52q.png" alt="Screen grab of the Excel file" /></a></p>
<h3>Background</h3>
<p>The idea came about when I was having coffee with my friend and Brother-in-Law (Ryan Cumley) this weekend. He&#8217;s a tremendously talented financial analyst with insane Excel and logic skills. I mentioned that if he could build a really powerful and flexible Excel model for SaaS startups, I thought it&#8217;d be a hugely helpful (and popular). 48 hours later, he launched it.</p>
<p>Just to be clear: I don&#8217;t have any financial interest in this. The tool is 100% owned by Ryan. I just think it&#8217;s a great idea that will really help startup founders be more successful.</p>
<p>You&#8217;re probably wondering why he released this as a downloable Excel file  instead of coding it as a web app. The reason is that Ryan has mad Excel skills and in the spirit of <a href="http://en.wikipedia.org/wiki/Minimum_viable_product">MVP</a>, he knew he could get a great product shipped in 48 hours if he used his advanced Excel skills (instead of trying to hack it together in Ruby or PHP).</p>
<p>He&#8217;s hoping to add versions for Numbers (Mac) and Google Docs very soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/startup-financial-dashboard/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Page Speed Service</title>
		<link>http://thinkvitamin.com/web-apps/page-speed-service/</link>
		<comments>http://thinkvitamin.com/web-apps/page-speed-service/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 12:24:00 +0000</pubDate>
		<dc:creator>Alan Johnson</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=15295</guid>
		<description><![CDATA[Just a few minutes ago Google announced Page Speed Service. It&#8217;s a service that&#8217;s super simple to set up &#8211; web app developers to point their app&#8217;s DNS at Google. In return, Google handles rewriting web pages for performance and does things like concatenating scripts and css files and the other best practices outlined by [...]]]></description>
			<content:encoded><![CDATA[<p>Just a few minutes ago Google announced <a href="http://code.google.com/speed/pss/index.html">Page Speed Service</a>. It&#8217;s a service that&#8217;s super simple to set up &#8211; web app developers to point their app&#8217;s DNS at Google. In return, Google handles rewriting web pages for performance and does things like concatenating scripts and css files and the other best practices outlined by Google in their <a href="http://code.google.com/speed/page-speed/index.html">Page Speed guidelines</a>. You can read the announcement on <a href="http://googlecode.blogspot.com/2011/07/page-speed-service-web-performance.html">the Google Code Blog</a>.</p>
<p>From what I can tell, Google is proxying all of the web app&#8217;s requests to accomplish this feat, and that makes me extremely wary for any kind of app that handles private data. Call me crazy, but I don&#8217;t want them handling my customers&#8217; credit card numbers and critical personal information. Even if they do handle it completely responsibly, the privacy concerns that people have about Google could turn into a nightmare for anyone using this service. For smaller apps that avoid private data, though, transferring all data through Google might be a reasonable tradeoff. That said, things like the upcoming Rails 3.1 asset pipeline or just a bit of elbow grease make really optimized assets and pages pretty easy to put together. Even <a href="http://aws.amazon.com/cloudfront/">hosting your assets on a CDN</a> is pretty easy to pull off these days.</p>
<p>I&#8217;ll continue keeping up with Google&#8217;s page speed research and implementing their guidelines as they make sense, but I&#8217;m going to steer clear of Page Speed Online.</p>
<p>What do you think? Would you ever use Page Speed Online?</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/page-speed-service/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Preview Public URLs in Chrome</title>
		<link>http://thinkvitamin.com/code/quick-tip-preview-public-urls-in-chrome/</link>
		<comments>http://thinkvitamin.com/code/quick-tip-preview-public-urls-in-chrome/#comments</comments>
		<pubDate>Thu, 26 May 2011 15:00:01 +0000</pubDate>
		<dc:creator>Nick Pettit</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=13842</guid>
		<description><![CDATA[The Google Chrome team might have you believe that Incognito mode is simply for covering your tracks when buying diamond rings for loved ones. However, it&#8217;s actually quite useful when you&#8217;re developing web apps. Most apps have a logged-in and logged-out state, and when you&#8217;re developing, it can be annoying switching between these states constantly. [...]]]></description>
			<content:encoded><![CDATA[<p>The Google Chrome team might have you believe that Incognito mode is simply for covering your tracks when buying diamond rings for loved ones. However, it&#8217;s actually quite useful when you&#8217;re developing web apps.</p>
<p><object width="704" height="431"><param name="movie" value="http://www.youtube.com/v/Of3jcPTD9IY?fs=1&amp;hl=en_US&amp;rel=0&amp;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Of3jcPTD9IY?fs=1&amp;hl=en_US&amp;rel=0&amp;hd=1" type="application/x-shockwave-flash" width="704" height="431" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Most apps have a logged-in and logged-out state, and when you&#8217;re developing, it can be annoying switching between these states constantly. You could keep two different browsers open, but that&#8217;s not really ideal, especially when it comes to cross browser testing and consistency.</p>
<p>When I&#8217;m logged into a web app and I need to check what a page looks like to the public (in the logged-out state), I simply open a new Chrome window in Incognito mode. This will create a completely fresh browser session with no saved cookies, allowing you to see exactly what is publicly visible. The best part is, you can have both a normal browsing session and an Incognito browsing session open simultaneously.</p>
<p>
For example, on the <a href="http://membership.thinkvitamin.com/?cid=166">Think Vitamin Membership</a> site, we release many <a href="http://membership.thinkvitamin.com/library/ios-development/?cid=166">videos for free</a> so that people can get a feel for the service before signing up. When we set a video to being publicly available in the admin section, it&#8217;s always smart to double-check the public facing pages in Chrome&#8217;s Incognito mode. You can open an Incognito window really quickly using the shortcut keys:</p>
<ul>
<li>Mac OS X: <strong>⌘-Shift-N</strong></li>
<li>Windows: <strong>Ctrl-Shift-N</strong></li>
</ul>
<p>If you have a tip that works even better than this one, or any other quick tips related to web development, we would love for you to share in the comments!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/code/quick-tip-preview-public-urls-in-chrome/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Path CEO Dave Morin speaking at FOWA Vegas!</title>
		<link>http://thinkvitamin.com/events/path-ceo-dave-morin-speaking-at-fowa-vegas/</link>
		<comments>http://thinkvitamin.com/events/path-ceo-dave-morin-speaking-at-fowa-vegas/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 13:58:33 +0000</pubDate>
		<dc:creator>Lou Morgan</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=13312</guid>
		<description><![CDATA[We&#8217;re happy to announce that Dave Morin, Co-Founder and CEO of Path will be joining us on stage at the Future of Web Apps Vegas in June. Dave was an early member of the Facebook team, a co-inventor of Facebook Connect, and is also co-inventor of the revolutionary Facebook Platform, the world’s first social platform. [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re happy to announce that <a href="http://twitter.com/davemorin">Dave Morin</a>, Co-Founder and CEO of <a href="http://path.com">Path</a> will be joining us on stage at the <a href="http://futureofwebapps.com/las-vegas-2011">Future of Web Apps Vegas</a> in June.</p>
<p>Dave was an early member of the <a href="http://facebook.com">Facebook</a> team, a co-inventor of <a href="http://developers.facebook.com/blog/post/108/">Facebook Connect</a>, and is also co-inventor of the revolutionary <a href="http://developers.facebook.com/">Facebook Platform</a>, the world’s first social platform.</p>
<p>We&#8217;re thrilled to have Dave join us along with the rest of our awesome line up. There&#8217;s still more to come so watch this space and check out the site to <a href="http://futureofwebapps.com/las-vegas-2011/schedule/">pick up</a> your ticket today.</p>
<p><span id="more-13312"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/events/path-ceo-dave-morin-speaking-at-fowa-vegas/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Improve your app with Pre-Alpha Testing</title>
		<link>http://thinkvitamin.com/web-apps/improve-your-app-with-pre-alpha-testing/</link>
		<comments>http://thinkvitamin.com/web-apps/improve-your-app-with-pre-alpha-testing/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 11:59:12 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=13240</guid>
		<description><![CDATA[We&#8217;ve been working hard on the re-brand and re-build of Think Vitamin Membership (soon to be called Treehouse). If you&#8217;re building a web app, I&#8217;d like to share a tactic that we used that has helped us a lot: Pre-Alpha Testing. Here&#8217;s the main problem: You need to do user testing on your app, but you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been working hard on the re-brand and re-build of Think Vitamin Membership (soon to be called <a href="http://twitter.com/treehouse">Treehouse</a>). If you&#8217;re building a web app, I&#8217;d like to share a tactic that we used that has helped us a lot: Pre-Alpha Testing.<span id="more-13240"></span></p>
<p><img src="https://img.skitch.com/20110405-rw51f6ex2ra7uh2txsuyiws42y.png" alt="A screengrab of the user unlocking the 'Super Alpha Tester' badge" /></p>
<p>Here&#8217;s the main problem: You need to do user testing on your app, but you&#8217;re a long way off from having a Beta ready. The answer is Pre-Alpha Testing.</p>
<h3>How it works</h3>
<p>We&#8217;re building a learning game engine and we needed to do user testing and make sure it actually worked well and helped people learn. We couldn&#8217;t wait to design and build a Beta, only to discover there were fundamental problems with the way the game engine worked.</p>
<p>We solved the problem with what I call a &#8216;Pre-Alpha User Test&#8217;. Here&#8217;s how we did it &#8230;</p>
<h3>1. Created a User Flow Diagram</h3>
<p><img src="https://img.skitch.com/20110405-n59aj8hkfq3jr82sbqikdnin48.png" alt="User Flow Diagram showing the question, answer and quiz process of the gaming engine" /></p>
<p><a href="http://twitter.com/#!/allison_house">Allison</a> created a basic UFD that explained how the gaming engine would work. She used LovelyCharts but I&#8217;m a big fan of Google&#8217;s super-awesome <a href="http://www.google.com/google-d-s/drawings/">online drawing tool</a> (which has live-collaboration and powerful flow charting capabilities &#8211; all for free).</p>
<h3>2. Built basic views</h3>
<p>Once we agreed on the UFD, Allison marked up very basic HTML and CSS views of each page. These views are basically un-styled pages that our Developer, <a href="http://twitter.com/#!/commondream">Alan</a>, can then start hooking up.</p>
<p><img src="https://img.skitch.com/20110405-ehrkfi341tg5nqbgp2q4334fk1.png" alt="Screengrab of first commit" /></p>
<h3>3. Created a rough working mockup</h3>
<p>Once Allison committed the HTML/CSS views to GitHub, Alan then used JavaScript and HTML5 localStorage to create a working mockup of the app.</p>
<p>There were no user accounts or server-side databases. It&#8217;s all just client-side code to give the appearance of a working app.</p>
<p>Alan then deployed the app to <a href="http://heroku.com/">Heroku</a>.</p>
<h3>4. Styled the views</h3>
<p>Once the app was working, Allison went back in and added more styling and spent more time on UX to make the app more usable and life-like.</p>
<p><img src="https://img.skitch.com/20110405-fydyrrhmh6aryut4wrwiceqbma.png" alt="Screenshot of the rough demo quiz game" /></p>
<h3>5. Ordered tests on UserTesting.com</h3>
<p>We ordered 3-5 tests on <a href="http://UserTesting.com">UserTesting.com</a>, specifying the type of user we were looking for ($29 per test). We also asked some of our loyal Think Vitamin Members to help us out as well, by conducting the tests with <a href="http://clearleft.com/">ClearLeft</a>&#8216;s <a href="http://silverbackapp.com/">SilverBack</a> app.</p>
<h3>6. Reviewed the tests and iterated</h3>
<p>Once the user testing videos had been completed, we each watched them and made notes. We then had a Skype meeting where we discusses usability problems with the demo, and what actions we&#8217;d take to fix them.</p>
<p>We&#8217;d then update the app and visuals over one to two days, and then order another set of user tests, and then repeat again.</p>
<p>Overall, we did three rounds of user testing, in just two weeks. It was amazingly valuable and I&#8217;m SO glad we did it.</p>
<p>We&#8217;re going to throw away all the code and start over, but we now know that the fundamental functionality of our app is usable and successful. Bam! :)</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/improve-your-app-with-pre-alpha-testing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Free Web Professional Toolkit</title>
		<link>http://thinkvitamin.com/design/free-web-professional-toolkit/</link>
		<comments>http://thinkvitamin.com/design/free-web-professional-toolkit/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 15:35:54 +0000</pubDate>
		<dc:creator>Lou Morgan</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=13081</guid>
		<description><![CDATA[Working in conjunction with the Future of Web App Vegas, we&#8217;re giving away our Carsonified Web Professional Toolkit to 12 lucky people. Usually exclusive only to Think Vitamin Members, the Carsonified Tool Kit is a brilliant package specifically created for Developers and Designers, containing stock photography, textures, icons and more. You&#8217;ll receive the following: Photo [...]]]></description>
			<content:encoded><![CDATA[<p>Working in conjunction with the <a href="http://futureofwebapps.com/las-vegas-2011/">Future of Web App Vegas</a>, we&#8217;re giving away our Carsonified Web Professional Toolkit to 12 lucky people.</p>
<p><img src="http://farm6.static.flickr.com/5171/5571302954_c38848f577_b.jpg" alt="toolkit" /></p>
<p><span id="more-13081"></span></p>
<p>Usually exclusive only to Think Vitamin Members, the Carsonified Tool Kit is a brilliant package specifically created for Developers and Designers, containing stock photography, textures, icons and more. You&#8217;ll receive the following:</p>
<ul>
<li><strong>Photo Pack</strong> &#8211; This is a collection of photos for you to use in your design work. Edit and minitpulate these pictures in any way you like.</li>
<li><strong>Texture Pack</strong> &#8211; To save you having to pay silly amounts of money for background textures on expensive stock photograghy sites, we created these. This pack contains all sorts of textures from wood, stone, fabric and more.</li>
<li><strong>Icon Pack</strong> &#8211; A simple set of icons for you to use wherever you like. This pack contains the icons you need most often, Twitter icon, Facebook icon, Contact icon etc.</li>
<li><strong>Web Designer Tool Kit Poster </strong>- We created a poster entitled &#8216;Web Designer Arrested&#8217;. It shows the contents found on a Web Designer who was arrested in Stroud, Gloucestershire in January 2011.</li>
<li><strong>Web Design Audio Book</strong> &#8211; We commissioned an audio book full of tips for running a web design shop, taught by the illustrious <a href="http://colly.com/">Simon Collison</a>.</li>
</ul>
<p><strong>How do I get it?</strong></p>
<p>The next 10 people to book a Conference or Conference/Workshop pass to our <a href="http://futureofwebapps.com/las-vegas-2011/register">FOWA Vegas</a> show taking place this June will receive access to the Toolkit. We&#8217;ll also select one person who leaves a comment on this post and one person who <a href="http://twitter.com/?status=RT%20%40thinkvitamin%20Free%20Web%20Professional%20Toolkit%20for%20the%20next%2010%20attendees%20to%20book%20onto%20FOWA%20Vegas%202011%20http%3A%2F%2Ftinyurl.com%2Ffree-web-toolkit%0A%0A">Retweets this post</a>.</p>
<p>So what are you waiting for? It&#8217;s a FREE gift not to be missed!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/design/free-web-professional-toolkit/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Editing Code in the Cloud</title>
		<link>http://thinkvitamin.com/code/editing-code-in-the-cloud/</link>
		<comments>http://thinkvitamin.com/code/editing-code-in-the-cloud/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 13:56:14 +0000</pubDate>
		<dc:creator>Alan Johnson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=12467</guid>
		<description><![CDATA[I&#8217;ve thought for a long time about the possibility of being able to do all of my programming in my browser. It feels partly impractical but partly like a really neat idea. Imagine being able to hack together some code from anywhere, with or without your own computer. Here in the past couple of months, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve thought for a long time about the possibility of being able to do all of my programming in my browser. It feels partly impractical but partly like a really neat idea. Imagine being able to hack together some code from anywhere, with or without your own computer. Here in the past couple of months, though, that idea has become a bit more of a reality. I&#8217;ve come across two projects lately that are implementing browser based editors, both based on <a href="http://ace.ajax.org/">Ajax.org&#8217;s Ace</a>, formerly known as Mozilla Bespin.</p>
<p><span id="more-12467"></span></p>
<h3>SourceKit</h3>
<p><a href="https://chrome.google.com/webstore/detail/iieeldjdihkpoapgipfkeoddjckopgjg">SourceKit</a> is a Chrome app that allows users to edit source code files from their <a href="http://dropbox.com">DropBox</a> account. The editor doesn&#8217;t have that many features but still, in a pinch, it&#8217;s a really great way to edit a file. I especially noticed missing setting soft tabs and setting my tab width. I like that it makes your DropBox files available for editing, because I keep my personal projects in my DropBox for a little extra backup.</p>
<p><img src="http://thinkvitamin.com/wp-content/uploads/2011/03/SourceKit.jpg" alt="SourceKit - A simple but useful browser-based editor for files in DropBox" title="SourceKit" width="705" height="435" class="alignnone size-full wp-image-12473" /></p>
<h3>Cloud9</h3>
<p><a href="http://cloud9ide.com/">Cloud9 IDE</a> is a far more full featured editor. One thing that really impressed me with Cloud9 is that you can link it to your GitHub account and see all of your personal GitHub repositories. It also supports the features I felt like I was missing in SourceKit, like soft tabs and tab width settings. There&#8217;s even a whole set of collaboration features, like chat and collaborative editing. They seem to be especially promoting Cloud9 IDE for editing JavaScript, and it includes a feature to run JavaScript code from within the IDE. Unfortunately, no other languages can be run within the IDE, and because saves don&#8217;t happen on your computer or even to folder synced to your computer, like in SourceKit&#8217;s case, it&#8217;s pretty tough to run code that isn&#8217;t JavaScript after you edit it. A quick check also confirmed that I couldn&#8217;t preview html files within the editor either. Even with those shortcomings I&#8217;m really impressed with where Cloud9 IDE is headed, and I&#8217;m betting within a year or so they&#8217;ll have a pretty good development workflow hammered out in their tool.</p>
<p><img src="http://thinkvitamin.com/wp-content/uploads/2011/03/Cloud9-Your-code-anywhere-anytime..jpg" alt="Cloud9 Editor - Way more features, but how do I get to the files?" title="Cloud9 - Your code, anywhere anytime." width="705" height="435" class="alignnone size-full wp-image-12474" /></p>
<h3>What These Tools Need</h3>
<p>I think from checking out these early tools it&#8217;s pretty obvious what they need, and that&#8217;s a great way to run code during development. It&#8217;s really hard to program or even work with markup without being able to quickly check your work by running your tests or making a few clicks in your app. Yes, Cloud9 supports running JavaScript, but in the case of one of the JavaScript projects that I work on, handlebars.js, we use Ruby to do some setup and run the tests. Most of the projects I&#8217;ve worked on don&#8217;t have a simple enough testing setup that any third party could easily run the tests using generic tools. Most web apps, for example, need a particular type of database running (and sometimes more than one type).</p>
<p>How do you think these tools will get around these issues? Can you see yourself editing code and markup in your browser?</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/code/editing-code-in-the-cloud/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Pivotal Tracker</title>
		<link>http://thinkvitamin.com/web-apps/pivotal-tracker/</link>
		<comments>http://thinkvitamin.com/web-apps/pivotal-tracker/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 07:37:05 +0000</pubDate>
		<dc:creator>Alan Johnson</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=11551</guid>
		<description><![CDATA[We&#8217;ve been using Pivotal Tracker to track our development for new features and bug fixes on Think Vitamin Membership over the past few weeks and I&#8217;ve really enjoyed using it. It&#8217;s got some great features, but my favorites are: Live Updates: Our team is distributed, and Tracker lets us see changes to our plans live [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been using <a href="https://www.pivotaltracker.com/">Pivotal Tracker</a> to track our development for new features and bug fixes on Think Vitamin Membership over the past few weeks and I&#8217;ve really enjoyed using it. <span id="more-11551"></span></p>
<p><a href="https://www.pivotaltracker.com/"><img src="https://img.skitch.com/20110119-fkpbca87gru8347aj1ggiy3k27.jpg" /></a></p>
<p>It&#8217;s got some great features, but my favorites are:</p>
<ol>
<li><strong>Live Updates:</strong> Our team is distributed, and Tracker lets us see changes to our plans live while we meet over Skype.</li>
<li><strong>Story Points:</strong> I&#8217;m terrible at estimating, but I&#8217;ve found that the story points system that Tracker uses helps me figure out when I&#8217;ll finish up new features.</li>
<li><strong>Drag and Drop:</strong> Tracker&#8217;s drag and drop UI makes it feel very tactile. You can drag up and down columns to re-prioritize them, or move them from column to column just like you might do on a scrum wall.</li>
</ol>
<p>If you haven&#8217;t ever looked at Pivotal Tracker you ought to <a href="https://www.pivotaltracker.com/signup/new">try it out</a>. It&#8217;s free and has some <a href="https://www.pivotaltracker.com/help/gettingstarted">great documentation for getting started</a>.</p>
<p>What tools do you use to track your work?</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/pivotal-tracker/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>4 Ways to Improve Your Customer Service</title>
		<link>http://thinkvitamin.com/web-apps/4-ways-to-improve-your-customer-service/</link>
		<comments>http://thinkvitamin.com/web-apps/4-ways-to-improve-your-customer-service/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 23:41:31 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=11009</guid>
		<description><![CDATA[Here are a couple simple tricks to improve your support and keep your customers even happier. Great customer support isn&#8217;t just the right thing to do, it also has the karmic effect of making you more money in the long run. I&#8217;ve been doing all the customer service for Think Vitamin Membership. I think it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Here are a couple simple tricks to improve your support and keep your customers even happier. Great customer support isn&#8217;t just the right thing to do, it also has the karmic effect of making you more money in the long run.<span id="more-11009"></span><br />
I&#8217;ve been doing all the customer service for <a href="http://membership.thinkvitamin.com/">Think Vitamin Membership</a>. I think it&#8217;s important for the Founder to do all the customer support in the early days, because it keeps you connected to the customers and their pain points.</p>
<p>Here are four simple tips to improve the quality of your customer support &#8230;</p>
<h3>1. Build a Raplet</h3>
<p>Here&#8217;s a typical support request scenario:</p>
<p><strong>Customer</strong>: &#8220;I can&#8217;t log in. Can you please help?&#8221;<br />
<strong>You</strong>: &#8220;I&#8217;m sorry for the trouble. Can you please give me the email address you signed up with? Also, have you cancelled the account by chance?&#8221;</p>
<p>You can skip the entire second step and immediately answer their question by creating a Rapportive Raplet.</p>
<p><a href="http://rapportive.com/">Rapportive</a> is a powerful Gmail plugin that displays information about the email sender, in the right-hand column.</p>
<p>You can build a Rapportive &#8216;Raplet&#8217; which allows you you pull custom data from your customer database and display it to the right of an email from a customer. This can be any data you store in your customer database, like sign up date, lifetime value, current plan, etc. Here&#8217;s a screengrab from <a href="http://blog.scoutapp.com/articles/2010/09/15/embedded-customer-support-with-rapportive">this post that explains Raplets in more detail</a> &#8230;</p>
<p><img src="http://img.skitch.com/20100915-g3kjs6jfqtr1jcyphyqtxgn83c.png" alt="Screengrab of a Raplet showing customer information inside Gmail" /></p>
<h3>2. Slow Down</h3>
<p>The biggest key to amazing customer service is this: don&#8217;t rush. If you&#8217;re trying to plow through support requests as quickly as you can (or if you&#8217;re incentivised by the number completed) you&#8217;ll cut corners and ask the customer to do extra work, instead of doing the work yourself.</p>
<p>Make it a goal to spend an extra 3-5 minutes on each request to really make sure you go over the top to help people out.</p>
<h3>3. Be Quick on Twitter</h3>
<p>In direct opposition to my previous point, you need to be <em>quick</em> on Twitter. Try to answer people&#8217;s tweets within one hour if you can. As replies only require 140 answers, you can get through tweets quickly, without sacrificing quality.</p>
<p>We use <a href="http://cotweet.com">CoTweet</a> to answer tweets and here&#8217;s what that looks like &#8230;</p>
<p><img src="https://img.skitch.com/20110111-bq2srxkdnqqm6gnae1ud6dq6ua.png" alt="Screengrab of Co-tweet showing tweets answered" /></p>
<h3>4. Be Human</h3>
<p>Don&#8217;t adopt some sort of official-speak just because you&#8217;re the official voice of the company. People appreciate being spoken to in a familiar, real manner.</p>
<p>Obviously you don&#8217;t want to get to buddy-buddy, but being real and friendly with your customers shows them that you&#8217;re a real person and you can relate to them.</p>
<h3>Your Tips?</h3>
<p>If you&#8217;ve got any dyno-mite customer service tips, please share below. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/4-ways-to-improve-your-customer-service/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>High Scalability</title>
		<link>http://thinkvitamin.com/web-apps/high-scalability/</link>
		<comments>http://thinkvitamin.com/web-apps/high-scalability/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 16:01:32 +0000</pubDate>
		<dc:creator>Greg Annandale</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=10866</guid>
		<description><![CDATA[Scaling a site or app is a tricky topic to tackle. There&#8217;s no shortage of technologies out there to increase performance, spread load, distribute databases and so forth; the difficulty is choosing from the sheer volume of options and permutations. It&#8217;s widely understood that languages don&#8217;t scale, but how should you choose your stack, caching [...]]]></description>
			<content:encoded><![CDATA[<p>Scaling a site or app is a tricky topic to tackle. There&#8217;s no shortage of technologies out there to increase performance, spread load, distribute databases and so forth; the difficulty is choosing from the sheer volume of options and permutations.</p>
<p>It&#8217;s widely understood that languages don&#8217;t scale, but how should you choose your stack, caching techniques, hardware (or whether to go virtual or cloud), monitoring tools and backup solutions? How should the database be structured and in what way will code upgrades / bug fixes / features be rolled out?<span id="more-10866"></span></p>
<p><a href="http://highscalability.com">Highscalability.com</a> covers this broad range of topics and, helpfully, has plenty of real-world examples. Ever wondered how Facebook deals with a staggering 2.7 million photo uploads every 20 minutes, or how Stack Overflow holds up with only a handful of servers and many million uniques a month? Here are a few links to some detailed rundowns:</p>
<ul>
<li><a href="http://highscalability.com/blog/2010/12/31/facebook-in-20-minutes-27m-photos-102m-comments-46m-messages.html">Facebook &#8211; Facebook in 20 Minutes: 2.7M Photos, 10.2M Comments, 4.6M Messages</a></li>
<li><a href="http://highscalability.com/blog/2010/12/28/netflix-continually-test-by-failing-servers-with-chaos-monke.html">Netflix &#8211; Continually Test by Failing Servers with Chaos Monkey</a></li>
<li><a href="http://highscalability.com/blog/2010/3/26/strategy-caching-404s-saved-the-onion-66-on-server-time.html">The Onion &#8211; Caching 404s Saved the Onion 66% on Server Time</a></li>
<li><a href="http://highscalability.com/blog/2009/8/31/squarespace-architecture-a-grid-handles-hundreds-of-millions.html">Squarespace &#8211; A Grid Handles Hundreds of Millions of Requests a Month</a></li>
<li><a href="http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html">Stack Overflow &#8211; Architecture</a></li>
</ul>
<p>Salesforce have always been very open about their force.com architecture; if you&#8217;re building an app requiring multi tenancy, their <a href="http://wiki.developerforce.com/index.php/Multi_Tenant_Architecture">white paper</a> and <a href="http://wiki.developerforce.com/index.php/Multitenancy_Webinar">webcast</a> covering their platform are well worth a look. As ever, Stack Overflow has plenty of interesting discussions, so be sure to read through the <a href="http://stackoverflow.com/questions/tagged/scalability">questions tagged &#8216;scalability&#8217;</a>.</p>
<p>I&#8217;d love to hear your recommended scalability resources, so do please post them in the comments!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/high-scalability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building in a Burning House: Tools for Damn’ Downtime</title>
		<link>http://thinkvitamin.com/web-apps/building-in-a-burning-house-tools-for-damn%e2%80%99-downtime/</link>
		<comments>http://thinkvitamin.com/web-apps/building-in-a-burning-house-tools-for-damn%e2%80%99-downtime/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 09:00:58 +0000</pubDate>
		<dc:creator>Chrissie Brodigan</dc:creator>
				<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=8276</guid>
		<description><![CDATA[When you provide a web service, uptime is a big f&#38;$king deal. If you build a web app and grow a core and vibrant user base, at some point you might find yourself building inside a burning house.* $hi% happens, and it can happen during the most innocuous upgrades and maintenance, and working with your [...]]]></description>
			<content:encoded><![CDATA[<p>When you provide a web service, uptime is a big <em>f&amp;$king</em> deal.</p>
<p>If you build a web app and grow a core and vibrant user base, at some  point you might find yourself building inside a burning  house.*</p>
<p>$hi% happens, and it can happen during the most innocuous upgrades  and maintenance, and working with your designers to design for downtime  (ahead of time) can be tremendously helpful and set you apart from your  competitors. You can have uptime somewhere on the web, you just need to design for its delivery.<span id="more-8276"></span></p>
<p><a title="House Burn - Johnsonville Sep 2008 by 111 Emergency, on Flickr" href="http://www.flickr.com/photos/111emergency/4762408670/"><img src="http://farm5.static.flickr.com/4143/4762408670_b89400962e_b.jpg" alt="House Burn - Johnsonville Sep 2008" /></a><br />
Photo By <a href="http://www.flickr.com/photos/111emergency/">111 Emergency</a></p>
<h3>Downtime Happens to the Best &amp; Brightest of Us</h3>
<p>By now, I&#8217;m sure you&#8217;ve experienced downtime somewhere on the interwebs, this seems to be the season for some of my most dependable and <a href="http://codeascraft.etsy.com/2010/09/17/frank-talk-about-site-outages/" target="_blank">favorite</a> <a href="http://blog.foursquare.com/2010/10/05/so-that-was-a-bummer/" target="_blank">web apps</a> (not just <a href="http://engineering.twitter.com/2010/06/perfect-stormof-whales.html" target="_blank">Twitter</a>) to be dealing with <a href="http://www.foodspotting.com/blog/posts/25-things-to-do-when-foodspotting-is-down" target="_blank">suffering</a> some pretty <a href="http://blog.heroku.com/archives/2010/10/27/tuesday_postmortem/" target="_blank">disruptive downtime</a>.</p>
<p>Just this past week, beloved Tumblr suffered more than 24 hours of an outage, and while there were a lot of sympathetic tweets &#8220;hang in there guys&#8221; there were also a lot of gripes. There&#8217;s a better way to handle downtime by designing ahead of time.</p>
<p><img src="http://thinkvitamin.com/wp-content/uploads/2010/12/tumblr.png" alt="" /></p>
<p>David Karp, ceo of Tumblr, addressed one of his company&#8217;s biggest problems—<em>rapid growth:</em></p>
<blockquote><p>Frankly, keeping up with growth has presented more work than our small team was prepared for — with traffic now climbing more than <a href="http://www.quantcast.com/profile/trafficGraph?wunit=wtpub%3Apixel%2Fp-19UtqE8ngoZbM&amp;drg=&amp;dty=ar&amp;gl=all&amp;reachType=period&amp;dtr=dm&amp;width=522&amp;country=UK&amp;ggt=large&amp;showDeleteButtons=true&amp;v=1642576819">500M pageviews each month</a>. But we are determined and focused on bringing our infrastructure well ahead of capacity as quickly as possible.</p>
<p>We’ve nearly quadrupled our engineering team this month alone, and continue to distribute and enhance our architecture to be more resilient to failures like today’s.</p></blockquote>
<p>Startups would be foolish to over-staff or build out in bulk too early, but smart  developers (especially those on your sys ops team) can predict what it will take to  ensure a stable future 3-6 months in advance and their designer counterparts can help create canned experiences for crisis, but also great experiences for messaging around growth and upgrades. Planning once you have  capacity issues is both harder and expensive. It&#8217;s also a time when you  expose your vulnerabilities to competitors, disgruntled hackers, and more, stress out your team, and  disappoint your users.</p>
<p>Twitter&#8217;s troubles represent an edge case. Most startups aren&#8217;t going to break <a href="http://cassandra.apache.org/" target="_blank">Cassandra,</a> but if they&#8217;re lucky a lot of startups are going to outgrow their founding database and search structures, hardware, and hosting solutions. Some apps, like Forrst and Carbonmade rebuild (to be better, faster, stronger, and smarter) and migrate entirely.</p>
<h3>5 Ideas for Proactive Designers to Soften the Pain of Downtime</h3>
<p><img src="http://thinkvitamin.com/wp-content/uploads/2010/10/zendesk-ops.png" alt="" /></p>
<p>Screen capture from help desk software provider Zendesk&#8217;s <a href="http://www.zendesk.com/blog/the-upside-of-downtime-zendesk%E2%80%99s-lessons-learned-on-datacenter-migrations" target="_blank">recent migration</a></p>
<h4>#1. Create Accurate &amp; Time Stamped Messaging</h4>
<p>Users get truly frustrated when they don&#8217;t know why a site is down, what is wrong, or when things will be back up and running again. From the outside there&#8217;s no real way to know if something is a quick update or a full-on meltdown.</p>
<p>Be clear, transparent, and on top of managing user inquiries. Leaving up a single message for the full outage can cause confusion and frustration. Alternate your messaging, as you understand the problem, and design with a time stamp.</p>
<h4>#2. Leverage External Communication Assets</h4>
<p>Work with your users to prepare them for your downtime. By letting your customers know that there&#8217;s scheduled maintenance, you minimize their frustration, but you also give them a chance to create and deploy customer service solutions on their end (e.g. they can create custom maintenance messages, make announcements, manage staffing, etc.).</p>
<p>Also, leverage &#8220;must have&#8221; external &amp; internal assets:</p>
<p><img src="http://thinkvitamin.com/wp-content/uploads/2010/12/downtime.png" alt="" /></p>
<p>Screen capture from Zendesk&#8217;s <a href="http://www.zendesk.com/company/system-status" target="_blank">status page</a></p>
<ul>
<li>Create &amp; maintain a Twitter<a href="http://twitter.com/zendeskops" target="_blank"> &#8220;Ops&#8221;</a> account (you don&#8217;t necessarily need or necessarily want to <strong>market</strong> your downtime in your company&#8217;s main Twitter stream, but you can certainly use your company&#8217;s main Twitter stream to refer people to the Ops account for ongoing information)</li>
<li>Create a trust or status page that tracks your uptime (this is a best practice for SaaS and you can do this with <a href="http://www.stashboard.org/" target="_blank">Stashboard</a> as well or like Form Spring does <a href="http://status.formspring.me/post/1517495704/inbox-issues-repeating-questions" target="_blank">host your uptime elsewhere</a>). If you&#8217;ve created an ecosystem around an API, this will be useful for your counterpart developers and their users.</li>
<li>Guide your users to your support presence(s) where they can indulge in self-help or at least get a sense of the steps you&#8217;re taking to fix the problem (this might be a blog, a hosted <a href="http://zendesk.com" target="_blank">Zendesk</a> or help desk, a Get Satisfaction forum, or a Twitter account)</li>
<li>Make sure your customers can email, phone, or comment to you, even if it&#8217;s in the comments section of a personal blog or a sympathetic pre-recorded voice message on a line, conversation provides clarity, connection, and reassurance</li>
<li>Use video well and wisely. Imagine how awesome it would have been if David Karp had created a quick video talking to his users that he put up on YouTube, addressing the issues and providing transparency and being personable at a really sucktastic moment.**</li>
</ul>
<h3>#2. Engineers, Designers, &amp; Customer Support Coworking</h3>
<p>As a part of your &#8220;designing for downtime&#8221; (scheduled and unscheduled) strategy, you should have a plan in place that both customer support and development/design teams have collaborated on. Customer support team members are usually able to pull edge cases out of your user base that no one would have even thought about, they will also be super helpful and proactive during any unusual outages. Basically, reach out to your customers v. waiting around for them to reach out distressed to you.</p>
<p>Development and design teams are strongest when they work with their customer support counterparts (e.g. when your site depends on an external app like Twitter&#8217;s API, you can plan for messaging specific to what isn&#8217;t working and why, as well as what is working, and be careful to <strong>not</strong> place blame, but create transparency, reduce tension, and recover well).</p>
<h4>#4. Schedule Some Sleep &amp; Slack</h4>
<p>During a crisis, do your best to give your team members rest, good food,  and moderate caffeine, your best people are working hard, but hard  under stress, and more mistakes can be made during an extended  adrenaline-driven push.</p>
<p><a title="Right Side by NetDiva, on Flickr" href="http://www.flickr.com/photos/netdiva/3057232222/"><img src="http://farm4.static.flickr.com/3202/3057232222_cae1a07316_o.jpg" alt="Right Side" /></a>Photo by <a href="http://www.flickr.com/photos/netdiva/">NetDiva</a></p>
<p>When you have scheduled downtime, no matter how tight your plan is, something will pop up when you least expect. If possible, aim for a &#8220;no new work&#8221; week prior to major events like migrations, and <em><strong>make sure your local pubs enact a #noserve till&#8217; uptime policy.</strong></em></p>
<h4>#5. Users Notice Your Downtime, Not Your Uptime</h4>
<p>Uptime is critical to your success. Downtime is like a ticking clock and the longer it runs on the more negative content your users can generate, business gets lost, and relationships and trust break down. You&#8217;re not the only pretty girl out there on the market.</p>
<p><a title="timepiece prime time clock closeup watch by zoutedrop, on Flickr" href="http://www.flickr.com/photos/zoutedrop/2317065892/"><img src="http://farm3.static.flickr.com/2342/2317065892_cb6ae77764_z.jpg" alt="timepiece prime time clock closeup watch" width="640" height="427" /></a></p>
<p>Photo By Bart Hiddink,  <a href="http://www.flickr.com/photos/zoutedrop/">zoutedrop</a></p>
<h3>Turns Out, Uptime is Customer Service &amp; Uptime Can Be Messaging During Downtime</h3>
<p>Customers don&#8217;t always get to see or hear from the development team (depending on their unique levels of user-friendliness this is generally a good thing!), but uptime is their responsibility and it is customer service regardless of whether downtime is planned or unplanned.</p>
<p>Having a plan to be &#8220;up&#8221; somewhere during scheduled and unscheduled downtime is your responsibility when it comes to loving your users.</p>
<p>*<em>The burning house metaphor is credited to Zendesk&#8217;s Tim Sturge. Until meeting and working with Tim and the rest of the Zendesk team, I never understood how important sys ops and design can actually work together on creative solutions. I owe him a tremendous &#8220;thanks&#8221; for all he has taught me.</em> Tim and Zendesk&#8217;s other talented engineers blog <a href="http://www.zendesk.com/blog/category/zengineering" target="_blank">here.</a></p>
<p><em>**David Karp and Tumblr&#8217;s team are among the most talented and devoted to the Tumblr community. If you ever get the chance to meet him, he&#8217;s so much more than content!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/building-in-a-burning-house-tools-for-damn%e2%80%99-downtime/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Chrome Web Store is Here and it&#8217;s Going to be Big</title>
		<link>http://thinkvitamin.com/web-apps/chrome-web-store-is-here-and-its-going-to-be-big/</link>
		<comments>http://thinkvitamin.com/web-apps/chrome-web-store-is-here-and-its-going-to-be-big/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 10:33:18 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=10551</guid>
		<description><![CDATA[Google&#8217;s new web app store called Chrome Web Store is here and I think it&#8217;s going to be a really big deal. The number of installs of apps is astonishing and the store has only been live for a little over a week. At the moment, quite a few of the &#8216;apps&#8217; are just simple [...]]]></description>
			<content:encoded><![CDATA[<p>Google&#8217;s new web app store called <a href="https://chrome.google.com/webstore">Chrome Web Store</a> is here and I think it&#8217;s going to be a really big deal. The number of installs of apps is astonishing and the store has only been live for a little over a week.<span id="more-10551"></span></p>
<p><a href="http://membership.thinkvitamin.com/gifts/plans?cid=125"><img src="http://thinkvitamin.com/wp-content/uploads/2010/12/gift_ad_705.png" alt="Give a Think Vitamin Membership gift subscription to someone for Christmas" /></a></p>
<p>At the moment, quite a few of the &#8216;apps&#8217; are just simple links to a site. However, as these apps get more complex, there will be offline storage and everything else you&#8217;d expect from desktop apps.</p>
<p>I think the games are going to be especially popular, and once you get your Google Checkout account hooked up, buying will be a one-click experience, just like iTunes. Here are some screengrabs to get you going &#8230;</p>
<h3>The Chrome Web Store front page</h3>
<p><img src="http://img.skitch.com/20101209-df5ayg4rpt4f1r5sseaegty5qm.jpg" alt="Chrome Web Store home" /></p>
<h3>Canvas Defense Game Install Screen</h3>
<p><img src="http://img.skitch.com/20101209-t7pm6uu5294su7j2swgtg366ba.jpg" alt="Canvas Defense game" /></p>
<h3>Playing the Canvas Defense Game</h3>
<p><img src="http://img.skitch.com/20101209-tdf181h54bfsitxwur2qeiqijf.jpg" alt="Playing the Canvas Defense game" /></p>
<h3>My Chrome Home Tab with Installed Apps</h3>
<p><img src="http://img.skitch.com/20101209-k7ufsi885s8229hd4bfrwnaf3w.jpg" alt="Home tab of Chrome store with installed apps" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/chrome-web-store-is-here-and-its-going-to-be-big/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Incremental Rollouts: Lessons from Carbonmade’s Migration</title>
		<link>http://thinkvitamin.com/design/incremental-rollouts-lessons-from-carbonmades-migration/</link>
		<comments>http://thinkvitamin.com/design/incremental-rollouts-lessons-from-carbonmades-migration/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 08:00:44 +0000</pubDate>
		<dc:creator>Chrissie Brodigan</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=9698</guid>
		<description><![CDATA[(Special thanks to Spencer Fry @spencerfry for this interview &#38; the entire Carbonmade team @davegorum, @michaelsigler, @worldwarmike, @iamcarbon for sharing insight &#38; indulging a fan&#8217;s curiosity!) It was nothing short of Nerd Fun, watching New Twitter&#8217;s rollout. There was impatience, rollout envy, glowering, whining, begging and ultimately a lot of gushing! Incremental rollouts are highly planned, [...]]]></description>
			<content:encoded><![CDATA[<p><em>(Special thanks to Spencer Fry <a href="http://twitter.com/spencerfry" target="_blank">@spencerfry </a>for this interview &amp; the entire <a href="http://carbonmade.com/about" target="_blank">Carbonmade</a> team </em><em><a href="http://twitter.com/davegorum" target="_blank">@davegorum,</a></em><em> </em><em><a href="http://twitter.com/michaelsigler" target="_blank">@michaelsigler</a>,</em><em> </em><a href="http://twitter.com/worldwarmike">@worldwarmike,</a> <a href="http://twitter.com/iamcarbon" target="_blank">@iamcarbon</a><em> for sharing insight &amp; indulging a fan&#8217;s curiosity!)</em></p>
<p>It was nothing short of Nerd Fun, watching New Twitter&#8217;s rollout. There was impatience, rollout envy, glowering, whining, begging and ultimately a lot of gushing! Incremental rollouts are highly planned, delicate, and impressively important user experiences. From tip-to-tail, a new product rollout to an existing app can be fraught with challenges ranging from downtime to bug discovery to user alienation with revised design and data loss. An upgrade is way more complicated than an update.<span id="more-9698"></span></p>
<p><img src="http://img.skitch.com/20101108-q6sjyqcr72uiwwa36sr84qyq57.png" alt="carbonmade-team" /></p>
<h3>New Twitter did a Few Fine Things</h3>
<ul>
<li>Created a <a href="http://twitter.com/newtwitter" target="_blank">quirky video</a></li>
<li>Set up a<a href="http://twitter.com/newtwitter" target="_blank"> product announcement page</a> to prepare and educate users</li>
<li>Using their Zendesk gathered feedback into tickets that their awesome customer support team fielded with timely and graceful response</li>
<li>Blog announcement <a href="http://blog.twitter.com/2010/09/better-twitter.html" target="_blank">&#8220;A Better Twitter&#8221; </a></li>
<li>Blog announcement of Kiva&#8217;s <a href="http://blog.twitter.com/search?updated-max=2010-10-22T14%3A35%3A00-07%3A00&amp;max-results=10&amp;reverse-paginate=true" target="_blank">NewTwitter Integration</a></li>
<li>Blog announcement about <a href="http://blog.twitter.com/2010/10/ontheroad.html" target="_blank">a special roadtrip to see NewTwitter</a> in action with users across the continent</li>
<li>Blog announcement about the <a href="http://blog.twitter.com/2010/10/100.html" target="_blank">%100 rollout </a>to all Twitter users</li>
</ul>
<p>Product enhancement rollouts include QA, user testing, thoughtful marketing, on-demand customer service, system administration, and responsive design and development fixes.</p>
<p>Most apps aren&#8217;t nearly as large as Facebook (maybe you&#8217;re still waiting for the new photos enhancements?), Twitter, or even <a href="http://www.etsy.com/storque/etsy-news/tech-update-new-profile-pages-10978/" target="_blank">Etsy </a> (whose recent profile page upgrade met with many mixed emotions shared in comments and forums), so incremental rollout does happen a little differently.</p>
<p>Spencer Fry and the <em><a href="http://carbonmade.com/about" target="_blank">Carbonmade</a></em> team recently rolled out a major upgrade to the <em><a href="http://carbonmade.com/about" target="_blank">Carbonmade</a></em> platform that affected free and paid users in their ecosystem. Talking to Spencer before, during and after the rollout, I was impressed that his story had a lot of tips, tricks, dos and don&#8217;ts that can help a large audience managing apps in today&#8217;s fickle and fan-driven marketplace.</p>
<p><img src="http://img.skitch.com/20101108-dcq46t2wj7tj76b4qc659t7u2h.png" alt="Screen shot 2010-11-08 at 6.54.36 AM" /></p>
<h2>Migrate Without Mayhem</h2>
<p><em><a href="http://carbonmade.com/about" target="_blank">Carbonmade</a></em>&#8216;s Jason Nelson approached the migration of the old <em><a href="http://carbonmade.com/about" target="_blank">Carbonmade</a></em> platform to the new platform by employing MVC (Model View Controller). MVC keeps things loosely coupled by separating UI from code and isolating the changes with versions. Here&#8217;s a quick user-friendly summary on how MVC works:</p>
<p>At the action level (within the controller) code is broken into versioned blocks. For example, when updating a project, you might have:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">ProjectController-&gt;Update
If v1: old logic (it works - don't break it!)
If v2:  brand new awesome logic!</pre></div></div>

<p>From the UI (the views), specify what version of the update method that you would like to use. For instance:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&nbsp;</pre></div></div>

<p>Going even further, scope entire &#8220;view sets&#8221; out by directory. Each directory specifies the versions of the code dependency, so when migrating groups of users it is easy to bind individual website addresses to groups of view directories with the new version of the app. E.g.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">carbonmade/v1
carbonmade/v2</pre></div></div>

<p>Incremental rollouts not only builds hype, allows for bug fixing and user feedback, but it also mitigates risk, downtime and slowness.</p>
<h2>Carbonmade&#8217;s Rollout strategy Delivered in 3 Phases</h2>
<h3>1st VIP Users</h3>
<p>This group of user are ones who Carbondmade grants all the privileges of a paid account without the cost. This group includes some of the most talented creatives on our website.</p>
<p>Getting the new update into the hands of some of the more heavily trafficked portfolios on Carbonmade, instantly provided the team with emails and tweets to the effect of: “I saw Nirrimi’s portfolio. How’d she get it to look like that?” According to Spencer, &#8220;It was exactly how we wanted buzz to begin to build.&#8221;</p>
<p>This group was also gracious and supportive, helping the team locate and refine bug fixes, and 5 days later, the app was baked enough to begin rolling out to the next user group.</p>
<h3>2nd Paid Users</h3>
<p>This group of users received the upgrade in groups of 1,000 users at a time. &#8220;It&#8217;s a business rule, &#8220;Spencer commented, &#8220;Paying users deserve the update in advance of free users, but only after things are working smoothly.&#8221;</p>
<h3>3rd Free Users</h3>
<p>This group received the upgrade in groups of &#8220;60,000&#8243; users at a time. Relating to Steve Jobs, Apple, and build, Spencer keyed into some interesting observations:</p>
<blockquote><p>&#8220;These guys were chomping at the bit! Many of them are so desperate for the update that they email in asking whether they will get access to the new features if they upgrade. Interestingly, we saw almost double our typical upgrade increase even though more and more of the free users now knew they could get the update anyway. This was certainly owing in part to the great new feature set in the update, but also to the build-up that preceded the expanding release. Hype is the best marketing money can’t buy.&#8221;</p></blockquote>
<h2>Usher Users Carefully Into the New UI</h2>
<p>As the migration was rolled out to specific user groups (<a href="http://carbonmade.com/about" target="_blank">Carbonmade</a> organized sub-groups in their paid and free plans), users were presented with a message bar at the top of their screen saying: “Thanks for trying out the new <a href="http://carbonmade.com/about" target="_blank">Carbonmade</a> Let us know if anything looks amiss. Or go back to the old version.”</p>
<p><img src="http://img.skitch.com/20101108-h26epwudgtte8xje1ybn83api.png" alt="carbonmade-1" /></p>
<p>What was exceptionally important in this brief message was that &#8220;Let Us Know” linked to a feedback form where users could share both technical issues and functional (emotional) feedback with the <a href="http://carbonmade.com/about" target="_blank">Carbonmade</a> team.</p>
<p>Key to gathering feedback was a new hire, customer service and community manager, Mike (aka <a href="http://carbonmade.com/about" target="_blank">Carbonmade&#8217;s</a> &#8220;Morale Specialist&#8221;). Spencer and <a href="http://carbonmade.com/about" target="_blank">Carbonmade</a>&#8216;s lean team knew that customer interaction would increase simultaneously with the migration. It was critical to the business, who&#8217;s core value is to love their users, that they be prepared to scale for any and all increased interaction, which included:</p>
<ul>
<li>3x the email load pre-migration</li>
<li>150-200 Feedback &#8220;shares&#8221;</li>
<li>5x <a href="http://twitter.com/#!/carbonmade" target="_blank">Tweets</a> &amp; <a href="http://www.facebook.com/Carbonmade" target="_blank">Facebook wall posts</a></li>
</ul>
<p>The customer service routine certainly ramped up, but the only new addition was a <strong>1.800 number </strong>that customers were encouraged to call to get human service, which definitely sets <a href="http://carbonmade.com/about" target="_blank">Carbonmade</a> apart in the lean startup model. According to Spencer who has never been shy about the drawbacks of social media, he had some great insights:</p>
<blockquote><p>&#8220;As much as I like to talk about the drawbacks of social media, they can be a really powerful tool for gauging people’s reactions when tied into customer service.&#8221;</p></blockquote>
<p>Spencer also shared how his team made great use of some rather awesome free resources for organizing customer feedback,</p>
<blockquote><p>&#8220;Gather up all the feedback (emails, tweets, and Facebook messages), compile them in Google Docs for everyone you work with to see and begin to sort through the messages. If you spot a bug, put it in your tracking system, so your dev team can prioritize and respond. We use Basecamp&#8217;s &#8216;To Do&#8217; list. This is very important, your dev team needs a balance of feedback, don&#8217;t overload them with criticisms around the update. Keep their spirits up by focusing on the most positive feedback.&#8221;</p></blockquote>
<h2>Transparent Marketing Encourages Excitement</h2>
<p>Being transparent and marketing wisely can reduce mayhem and encourage excitement. Four months before they rolled out the upgrade, the team rolled out a new marketing website and made an announcement about the future with a unique <a href="http://carbonmade.com/progress" target="_blank">&#8220;Progress&#8221; page.</a> Designer/co-founder, <a href="http://twitter.com/davegorum">Dave Gorum, </a>used illustration to tell the story of how the <a href="http://carbonmade.com/about" target="_blank">Carbonmade</a> team was climbing a mountain and how when the team reached the top they were going to be excited to rollout something to their users that was a product of handwork and sheer awesomeness</p>
<p>Spencer and the team are careful with inundating their customers with communications, in fact before the upgrade <a href="http://carbonmade.com/about" target="_blank">Carbonmade</a> had never sent out a single newsletter or announcement. They worked with writer, <a href="http://twitter.com/#!/ange_black" target="_blank">Angela Black</a> (<a href="http://angelablack.carbonmade.com/" target="_blank">portfolio</a>), to craft messaging and copy two their two user groups: <a href="https://carbonmade.com/signup/whoo" target="_blank">Whoo! users</a> (paying) and <a href="https://carbonmade.com/signup/meh" target="_blank">Meh users</a> (free).</p>
<p><img src="http://img.skitch.com/20101108-cm4w41jg5i4fry72318wadwbxu.png" alt="carbonmade-newsletter" /></p>
<h2>Spencer&#8217;s One Lament</h2>
<blockquote><p>&#8220;If we had had more people and time, we would have created a “What’s New” page similar to what Twitter launched to preview their new update. A “What’s New” page is great for existing users to get a sense of things that are coming in the new version. We tossed the idea around the office, but couldn’t justify the time in relation to this upgrade with our lean team and approach. It&#8217;s something we&#8217;d recommend to other teams!&#8221;</p></blockquote>
<p><img src="http://img.skitch.com/20101108-d9nuy145pmsm7xnwjwrbxhpg1f.png" alt="carbonmade-spencer" /></p>
<h2>Lessons Learned</h2>
<ul>
<li>Do segment your users for tiered and incremental rollout</li>
<li>Do create transparency in advance</li>
<li>Do communicate with direct email marketing</li>
<li>Do scale your customer service model</li>
<li>Do focus on the positive user feedback &amp; shield your team from negativity during the stressful time</li>
<li>Don&#8217;t rush, &#8220;release early and often, but don&#8217;t release foolishly (e.g. the *new* Digg)</li>
</ul>
<p><img src="http://img.skitch.com/20101108-rgniy6gq1cr8er3ef1ae884e6t.png" alt="carbonmade-office" /></p>
<h2>Special Don&#8217;ts!</h2>
<ul>
<li>Don&#8217;t move your office days before your rollout &#8220;Egads! While we were putting the final tests and debugs on our update, we had to deal with all the things entailed in an office move: furnishing the raw loft space, hiring a cleaning service, setting up Internet, getting the energy bill transferred over, a million Amazon orders, and so on.&#8221;</li>
<li>Don&#8217;t move apartments either! Carbonmade is made up of five full-time folks: Spencer, Dave, Jason, Michael, and Mike. In what can only be described as a freakish act of bad timing, Spencer, Dave, and Michael all had to move apartments during the month of September. Spencer and Dave only from one New York City apartment to another, but Michael from Portland, Oregon with his wife and daughter and all his belongings to NYC.</li>
</ul>
<p>Lastly, if you can possibly do so, you should put a moratorium on hiring new people during the few weeks leading up to a release and the few weeks after. It’s not a great environment to bring a new employee into, and the time it takes to get him and her up-to-date is time taken away from focusing on a smooth release.</p>
<p>&#8220;Special thanks for the support of our customers! You&#8217;re the reason we&#8217;re here &amp; we LOVE you!&#8221; &#8211; The Carbonmade Team</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/design/incremental-rollouts-lessons-from-carbonmades-migration/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New Rails-like Framework from 37signals for HTML5 Mobile Apps</title>
		<link>http://thinkvitamin.com/mobile/new-rails-like-framework-from-37signals-for-html5-mobile-apps/</link>
		<comments>http://thinkvitamin.com/mobile/new-rails-like-framework-from-37signals-for-html5-mobile-apps/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 10:28:15 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=9677</guid>
		<description><![CDATA[In our interview with Ryan Singer of 37signals, he mentioned something that is insanely exciting, and I&#8217;d like to draw more attention to it. It was hidden deep in the interview, so not many people discovered it. Here&#8217;s the deal &#8230; There is nothing like Rails for mobile web app development, so 37signals are creating a [...]]]></description>
			<content:encoded><![CDATA[<p>In our interview with <a href="http://twitter.com/rjs">Ryan Singer</a> of <a href="http://37signals.com/">37signals</a>, he mentioned something that is insanely exciting, and I&#8217;d like to draw more attention to it. It was hidden deep in the interview, so not many people discovered it. Here&#8217;s the deal &#8230; <span id="more-9677"></span></p>
<p>There is nothing like Rails for mobile web app development, so 37signals are creating a web app MVC framework specifically designed for mobile phone web apps. The code will be comprised of local JavaScript, with the network just being used for data. The apps will work offline, when live data transfer isn&#8217;t required.</p>
<p>It&#8217;s built in <a href="http://jashkenas.github.com/coffee-script/">CoffeeScript</a> and Eco, a new templating language created by 37signals.</p>
<p>Essentially, what they&#8217;re creating is a streamlined and elegant new development process for HTML5 phone apps, that&#8217;s a mirror image of the 37signals web development process.</p>
<p>Singer said they will open-source it if it works out. Here&#8217;s the snippet in the interview where he discusses it:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="704" height="407" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/O2Edf7h1Yn8?fs=1&amp;hl=en_US&amp;rel=0&amp;hd=1&amp;&amp;start=655" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="704" height="407" src="http://www.youtube.com/v/O2Edf7h1Yn8?fs=1&amp;hl=en_US&amp;rel=0&amp;hd=1&amp;&amp;start=655" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/mobile/new-rails-like-framework-from-37signals-for-html5-mobile-apps/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Google’s New Places API</title>
		<link>http://thinkvitamin.com/code/googles-new-places-api/</link>
		<comments>http://thinkvitamin.com/code/googles-new-places-api/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 09:29:16 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=9544</guid>
		<description><![CDATA[Google is now welcoming developers to a preview of the new Places API. Right now, GeoAPI (acquired by Twitter) is the only other option, and they only have US data. This is huge news for anyone building a service around geolocation and checkins. Now you have a massive, global, ever-growing database of places which you [...]]]></description>
			<content:encoded><![CDATA[<p>Google is now welcoming developers to a preview of the new <a href="http://code.google.com/apis/maps/documentation/places/">Places API</a>. Right now, <a href="http://geoapi.com/">GeoAPI</a> (acquired by Twitter) is the only other option, and they only have US data.</p>
<p>This is huge news for anyone building a service around geolocation and checkins. Now you have a massive, global, ever-growing database of places which you can use for your web app.<span id="more-9544"></span></p>
<p>Here&#8217;s a quick description from their site:</p>
<p>The Google Places API is a service that returns information about a &#8220;place&#8221; (hereafter referred to as a Place) — defined within this API as an establishment, a geographic location, or prominent point of interest — using an HTTP request. Place requests specify locations as latitude/longitude coordinates.</p>
<p>Three basic Place requests are available:</p>
<ol>
<li>Place Search requests return candidate matches based on a user&#8217;s location.</li>
<li>Place Details requests return more specific information about a Place, using references obtained from a Place Search request.</li>
<li>Place Report requests allow you to forward user information to the Place service, such as reporting new Places or events.</li>
</ol>
<p>At this time, the Places API is designed for building applications that need to determine the Place where a user is located. These applications are colloquially known as &#8220;check in&#8221; apps, generally using a mobile device. This API has been designed to make it easy for users to request information about where they are located, process place requests generated by a user, and add information on Places through user activity, generally in conjunction with placement of application content on a map. This service is not designed to respond to batches of offline queries, which are a violation of its terms of use.</p>
<h3>Who&#8217;s using it right now?</h3>
<p>A web app that&#8217;s making use of the Places API is <a href="http://www.scvngr.com/">SCVNGR</a> (terrible name but awesome idea). Using the Places API allowed them to quickly expand outside the States to the rest of the world.</p>
<p><img src="http://img.skitch.com/20101102-pxqx13wais9iq2yurmmu2kdkq1.png" alt="Screengrab of the SCVNGR website which shows a map" /></p>
<p>Google has specified a few lot of conditions around the usage, but I think they&#8217;re pretty reasonable:</p>
<ol>
<li>Applications using the service must comply with the Google Maps API Terms of Service.</li>
<li>All developers wishing to use the service must already have an Adsense account, or must create one prior to applying.</li>
<li>Applications that wish to use the API must only issue queries in response to end user actions.</li>
<li>Applications must not submit a user&#8217;s location to Google for the purposes of performing a Places API search without the consent of the user to share their location with Google.</li>
<li>The results of every search made by applications using this API must be shown to a user.</li>
<li>Place Details requests must only be made in response to user interaction with place Search results, or to refresh the details of a previously requested Place. It is not permitted for an application to iterate over all Search results or facilitate iteration over all Search results by the user in order to obtain details for every result.</li>
<li>Applications that reorder, augment, or manipulate search results in any way must indicate to the user that this has occurred.</li>
<li>Applications must display any branding or sponsorship of search results returned by the API.</li>
<li>Applications may not store any Place data permanently except References and IDs.</li>
<li>If screen size constraints prevent a map being shown with search or details results the Powered by Google logo must be shown.</li>
<li>Place information collected using this API, or any data derived from it, such as Place location corrections, can not be distributed in any way, such as through an API, without the express permission of Google.</li>
</ol>
<p>I believe this will spur on the creation and launch of a lot of new checkin geolocation apps. Combining the Google Places API with <a href="http://simplegeo.com/">SimpleGeo&#8217;s platform</a> would be a powerful combo. Bring it on!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/code/googles-new-places-api/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FOWA London 2010 Highlights</title>
		<link>http://thinkvitamin.com/events/fowa-london-2010-highlights/</link>
		<comments>http://thinkvitamin.com/events/fowa-london-2010-highlights/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 09:15:18 +0000</pubDate>
		<dc:creator>Lou Morgan</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=8715</guid>
		<description><![CDATA[If you attended Future of Web Apps London 2010 you might be interested in our highlights reel. As we&#8217;ve said before FOWA 2010 was an amazing event, the general vibe was lots of learning mixed with networking and above all a bucket load of fun. Nick and Jim (our resident video guys) have put together [...]]]></description>
			<content:encoded><![CDATA[<p>If you attended <a href="http://futureofwebapps.com/london-2010/">Future of Web Apps London 2010</a> you might be interested in our highlights reel. As we&#8217;ve said before FOWA 2010 was an amazing event, the general vibe was lots of learning mixed with networking and above all a bucket load of fun.</p>
<p>Nick and Jim (our resident <a href="http://membership.thinkvitamin.com/">video guys</a>) have put together an awesome showreel. It&#8217;s short but most definitely sweet.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="705" height="421" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/HTRJfuwBABg?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="705" height="421" src="http://www.youtube.com/v/HTRJfuwBABg?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>If you&#8217;d like to join us for the next Future of Web Apps in Las Vegas why not pick up an <a href="http://futureofwebapps.com/las-vegas-2011/register/" target="_blank">early bird </a>ticket.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/events/fowa-london-2010-highlights/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rails Rumble 2010 Apps</title>
		<link>http://thinkvitamin.com/web-apps/rails-rumble-2010-apps/</link>
		<comments>http://thinkvitamin.com/web-apps/rails-rumble-2010-apps/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 08:07:32 +0000</pubDate>
		<dc:creator>Keir Whitaker</dc:creator>
				<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://thinkvitamin.com/?p=8759</guid>
		<description><![CDATA[There are some really interesting entrants into this years Rails Rumble. There&#8217;s even an app to help develop knitting patterns!]]></description>
			<content:encoded><![CDATA[<p>There are some really interesting entrants into this years <a href="http://railsrumble.com/teams">Rails Rumble</a>. There&#8217;s even an app to help develop knitting patterns! </p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/rails-rumble-2010-apps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cheat Sheet: Web App Billing</title>
		<link>http://thinkvitamin.com/web-apps/cheat-sheet-web-app-billing/</link>
		<comments>http://thinkvitamin.com/web-apps/cheat-sheet-web-app-billing/#comments</comments>
		<pubDate>Wed, 12 May 2010 12:31:29 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=5904</guid>
		<description><![CDATA[As we announced, we&#8217;re building a new web app. (Yay!) It uses a recurring revenue model where we bill people&#8217;s credit cards every month. Here&#8217;s the flow diagram for how that process works. Hope you find it useful! If you do want to be one of the first to get the lowdown on our new [...]]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://carsonified.com/blog/carsonified/more-info-released-on-new-carsonified-app/">we announced,</a> we&#8217;re building a new web app. (Yay!) It uses a recurring revenue model where we bill people&#8217;s credit cards every month. Here&#8217;s the flow diagram for how that process works. Hope you find it useful!</p>
<p>If you do want to be one of the first to get the lowdown on our new app, then just drop a mail to <a href="mailto:shaun@carsonified.com">shaun@carsonified.com</a> with the subject line of &#8220;I need to know&#8221; &#8211; Shaun will make sure you get all the details!</p>
<p><img src="http://img.skitch.com/20100512-x479karug4cnarjxdiw1n95chg.png" alt="Flow diagram showing recurring revenue billing process" /><br />
<a href="http://img.skitch.com/20100512-getj6j5ia7bm117scbbytb6435.png">View full size</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/cheat-sheet-web-app-billing/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Your Web App has Launched &#8211; Now What?</title>
		<link>http://thinkvitamin.com/web-apps/your-web-app-has-launched-now-what/</link>
		<comments>http://thinkvitamin.com/web-apps/your-web-app-has-launched-now-what/#comments</comments>
		<pubDate>Tue, 04 May 2010 12:31:05 +0000</pubDate>
		<dc:creator>Des Traynor</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=5730</guid>
		<description><![CDATA[Editors Note: In his first article for Think Vitamin, Des Traynor &#8211; UX Lead at Dublin based Contrast, outlines some extremely useful post launch strategies for ensuring the success of your web app. You can hear Des share more development stories at Future of Web Apps Dublin 2010. Launch Time Launch is a stressful time [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Editors Note:</strong> In his first article for Think Vitamin, <a href="http://www.twitter.com/destraynor">Des Traynor</a> &#8211; UX Lead at Dublin based <a href="http://www.contrast.ie/">Contrast</a>, outlines some extremely useful post launch strategies for ensuring the success of your web app. You can hear Des share more development stories at <a href="http://futureofwebapps.com/dublin-2010/">Future of Web Apps Dublin 2010</a>.<br />
</em></p>
<h3>Launch Time</h3>
<p>Launch is a stressful time for web start-ups. It’s the culmination of many month’s hard work, arguments, agreements, feature debates, and design decisions. Someone runs a deploy script and poof! You’re not in Kansas anymore, and you’ll certainly need a brain, a heart and a fair share of courage.</p>
<p>Since most start-up advice covers the period before you’re live, I thought I’d write about two of the most common issues I see in web applications post launch.</p>
<h3>Budget for Further Development</h3>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-5731" style="border: 1px solid #999;" title="Whiteboard-time" src="http://carsonified.com/wp-content/uploads/2010/05/Whiteboard-time-e1272971669274.jpg" alt="" width="470" height="312" /></p>
<p>You’re planning on being successful, right? One thing you should know is that the vast majority of development will happen after you go live. Only when the rubber hits the road will you know what’s essential, what’s a priority, what features are “nice to have” and what ones are preventing sign ups, and real revenue.<span id="more-5730"></span></p>
<p>You need to budget for development that will happen when you’re live, and you need that money in the bank when you launch. You can’t count on product revenue. You don’t have that much time.</p>
<p>Even if things are going really well and  three hundred customers sign up for your app and eventually convert to paying customers. These days you have to at least offer a thirty-day free trial to let customers find their feet. So on day 31, you’ll have three hundred customers ready to pay you their $19.</p>
<p>When you strip out fees, hosting costs, etc, you’ll be left with maybe $5,000 to plan further development. That’s a long time to be running your application without any development, and $5,000 probably won’t buy you what your three hundred customers have been screaming for all month.</p>
<h3>Design still Happens after Launch</h3>
<p style="text-align: center;"><img class="aligncenter" style="border: 1px solid black;" title="seattle" src="http://carsonified.com/wp-content/uploads/2010/05/seattle.png" alt="" width="470" /></p>
<p>At <a href="http://live.visitmix.com/MIX10/Sessions/DS16">MIX10</a> this year, <a href="http://billbuxton.com/">Bill Buxton</a> spoke about the development of the Seattle public library. One point he made about the design process has massive parallels with application development…</p>
<blockquote><p>“The design of the building wasn’t finished until the building had opened and there were people using it, because there are some decisions that you can’t make properly until you’ve seen the building occupied, because you’re just not gonna get it right.”</p></blockquote>
<p>Market research, wireframing, prototyping are necessary to get you a good start, but once you’re live your users will show you how it all should work. Hopefully you got most of it right, but there will be changes, and you need to budget for them.</p>
<h3>Where Revenue Comes From</h3>
<p>The sad reality is that unless you’ve already amassed a significant following, through your reputation, your blog, your previous company, or by winning a competition, you most likely  won’t have three hundred paying customers on day one. Try three. But that’s okay, <a href="http://www.contrast.ie/blog/youre-just-getting-started/">you’re just getting started</a>.</p>
<p>A motto I drill into client’s heads is that web applications don’t sell themselves. Even the beloved <a href="http://en.wikipedia.org/wiki/Network_effect">Network Effect</a> still requires a network to begin with.</p>
<p>It’s easy to obsess over the one bug that stops one ancillary feature working in one version of one browser, or dwell upon one user who swears they’ll pay for Ning integration.  This isn’t why you’re struggling to hit three digits. It’s just your scapegoat to hide a bigger problem.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-5733" style="border: 1px solid #999;" title="CustomersxValue" src="http://carsonified.com/wp-content/uploads/2010/05/CustomersxValue.jpg" alt="" width="437" height="211" /></p>
<p>Number of users, times value of plans equals revenue. Right? So all you need are more users and you’ll have more money. It’s simple, and that’s the problem with it.  Saying “we need to increase users or “we need to increase our revenue per user” reduces you to the sleazy, pin-stripe consultant who chirps in with truisms  like &#8220;guys, we need to move forward”, and “let’s aim for our deadlines”.</p>
<p>This simplistic way of looking at your application leaves you with no next step. There is no lever called “more users”. There is no obvious next step associated with “increase value”.</p>
<p>You need to focus your efforts. That’s why I draw this second diagram for clients (<a href="http://carsonified.com/wp-content/uploads/2010/05/FullFormula.jpg">full size diagram</a>).</p>
<p><a href="http://carsonified.com/wp-content/uploads/2010/05/FullFormula.jpg"><img class="aligncenter size-full wp-image-5734" style="border: 1px solid #999999;" title="FullFormula" src="http://carsonified.com/wp-content/uploads/2010/05/FullFormula.jpg" alt="" width="470" /></a></p>
<p>This highlights the real issues. It shows exactly what goes into a typical customer acquisition. If you have some basic analytics tool installed, you can quickly quantify all of these numbers and see where your problem lies.</p>
<p>If you’re losing customers on day one of your free trial, you need to evaluate what the first login is like, and talk to your customers.</p>
<p>If your analytics highlight a lot of errors at the sign-up stage, or your funnel view shows that very few get past it, then you need an easier sign-up form, or more motivated users.</p>
<p>In my experience, it’s rarely one of the above problems. It’s usually far earlier in the process; no one has heard of you or your application. In analytics speak, the number of new unique visitors to your site each day is too low to see a solid increase in your userbase, and it itself isn’t increasing.</p>
<p>If/when we agree that’s your problem, then we look at that in detail. This usually involves a third drawing.</p>
<p style="text-align: center;"><a href="http://carsonified.com/wp-content/uploads/2010/05/PathsToSite.jpg"><img class="aligncenter size-full wp-image-5735" style="border: 1px solid #999;" title="PathsToSite" src="http://carsonified.com/wp-content/uploads/2010/05/PathsToSite.jpg" alt="" width="470" /></a></p>
<p>How can I put this in a way so as not to offend or unnerve? Basically, start-ups all suck at marketing/branding/pitching and most of all, selling. I don’t mean selling up-and-to-the-right bar-charts to VC’s, I mean actually selling the application you built to the people you built it for.</p>
<p>This is one problem that you can’t code your way out of. There comes a point where coding is procrastination. Unless of course your business depends solely on your respect from software developers, in which case programming is your best marketing tool.</p>
<h3>Shouting isn’t Selling</h3>
<p>As I type this post, there are four people in my twitter stream “marketing” their application by posting tweets saying “guys, I’d love some feedback” or “Check out xyz.com for all your xyz needs”. Using a link monitoring service like <a href="http://bit.ly/">Bit.ly</a> shows you exactly how ineffective this approach is. It’s the online equivalent of storming into a nightclub and screaming “<em>Okay ladies, who wants a drink?</em>”, and it’s about as effective.</p>
<p>By way of comparison, I often receive personal e-mail from both friends and strangers asking if I’ll try out their new project/application/piece-of-fun. These e-mails explain why they’re writing to me, how they know me, why they value my opinion about this app. It’s clear the author has taken their time to speak to me.</p>
<p>These guys get a 100% click-through rate. Some of them will get a “looks cool, but I’m not your target user”, some get tweeted, some get blogged, some will get a list of show-stopping issues, but they all get something, because they showed me some respect.</p>
<p>Broadcast mechanisms such as tweeting, blogging, sponsoring, advertising, even speaking at a conference are all great for making noise. But the value diminishes very quickly afterwards. Having genuine conversations with genuine people, is a far better approach to selling your application. It’s a far scarier prospect too.</p>
<p>It’s much easier to hide between your tweets saying “I’m doing all I can, users just aren’t coming”. The difference between broadcasting and communicating is that communicating involves answering tricky questions like “why is it so dear?” or “can it import Excel files?”</p>
<h3>Lessons Learnt</h3>
<p>You need to work hard for every user in the early days of a web application, and as you get them you need to have budget and plans for what you’ll do to make them happier as the relationship grows.  Getting one hundred paying users is a huge milestone, getting to the mythical 2,000 takes <a href="http://www.contrast.ie/blog/patience-and-hard-work/">patience and hard work</a>. Act accordingly.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/your-web-app-has-launched-now-what/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Neil Patel of KISSMetrics on Successful Web App Analytics</title>
		<link>http://thinkvitamin.com/web-apps/neil-patel-of-kissmetrics-on-successful-web-app-analytics/</link>
		<comments>http://thinkvitamin.com/web-apps/neil-patel-of-kissmetrics-on-successful-web-app-analytics/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 11:30:11 +0000</pubDate>
		<dc:creator>Keir Whitaker</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=5683</guid>
		<description><![CDATA[At Future of Web Apps Miami 2010 Neil Patel of KISSmetrics gave the audience 5 &#8220;must measure web app metrics&#8221;. It&#8217;s a short session but full of great hints and tips from someone who really understands this area. If you haven&#8217;t checked out Neil&#8217;s blog I really recommend you do. Watch this and other videos [...]]]></description>
			<content:encoded><![CDATA[<p><a><img title="Future of Web Apps Dublin 2010" src="http://carsonified.com/wp-content/themes/carsonified/img/adverts/fowa_dublin_2010_side.jpg" alt="Future of Web Apps Dublin 2010" width="470" height="60" /></a></p>
<p>At Future of Web Apps Miami 2010 <a href="http://www.quicksprout.com/">Neil Patel</a> of <a href="http://kissmetrics.com/">KISSmetrics</a> gave the audience 5 &#8220;must measure web app metrics&#8221;. It&#8217;s a short session but full of great hints and tips from someone who really understands this area. If you haven&#8217;t checked out <a href="http://www.quicksprout.com/">Neil&#8217;s blog</a> I really recommend you do.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="470" height="264" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=10561726&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="470" height="264" src="http://vimeo.com/moogaloop.swf?clip_id=10561726&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/channels/carsonifiedtv">Watch this and other videos directly on our Vimeo Channel</a></p>
<h3>Transcript</h3>
<p><strong>Ryan:</strong> We work quite hard to pick topics that we think are relevant for you guys, and one thing that I think is really hard when you run a web app is analytics. It’s overwhelming to understand what you should be measuring, to see if your web app is succeeding; there are a ton of packages and it’s quite confusing.</p>
<p>We think that as developers you are able to build your apps just fine but when it comes to the marketing aspect, it’s quite confusing. We asked Neil Patel to talk about analytics and 5 things that you need to measure to figure out if you’re succeeding or not. I think it’s going to be a very useful session for you. Again, if you have questions, don’t feel afraid to ask. Please welcome up Neil.<br />
<span id="more-5683"></span><br />
<strong>Neil:</strong> Hey everyone, as everyone said my name is Neil Patel. I’m with a company called <a href="http://kissmetrics.com">KISSmetrics</a>. Today, I’m going to be giving a presentation on the 5 metrics you ought to be tracking. It’s pretty simple; there are 5 main points that are easy to track and easy to take notes. Here we go.</p>
<h4><strong>1. Revenue Per User<br />
</strong></h4>
<p>A lot of you track conversions. Am I correct here? If I told you that I could increase your conversions from 5% to 10% you would be ecstatic, correct? In most cases, if I increase it from 5% to 10% you’d be like, . That’s great. That’s going to be a lot more money.” On the flip side, if I said I could decrease your conversion rate from 10% to 5% and make you triple or quadruple the amount of money, you’d be like, . What?”</p>
<p>A lot of times when you’re on your web app and tracking metrics, what you have to track is conversion per user. An example of this is we have a SaaS based product tracking how much revenue is coming from each user per page. We use Google Analytics to do that. One thing we tested was we were charging $97 a month. I took that $97 a month price point, and I said, . What if I charged $197? What will happen?” Amazing, by roughly doubling the price, the conversions decreased by 10%. The cool part, the revenue increased by an overall 82%. That was a pretty big jump. We got a decrease in conversion but it was still worth it because we made more money out of it.</p>
<p>If you want to track your revenue per user, you can go to Google Analytics. A lot of the things I’m going to mention are using Google Analytics because it’s free; everyone can use it. Sign into your account, click . edit” next to your profile, go into the settings, next into the website information, and find the . ecommerce” button. Change it from saying no to yes, and you can start tracking quite a bit of information.</p>
<p>They’ll give you some code, and some of the things, if you can see here, transaction, order number, total amount, tax, and so forth. It’s the same thing with the item number; item number, what it is, color, all that kind of stuff so you can actually track the revenue per user. I’m not saying you shouldn’t track conversion rates, but you also need to track revenue per user so you can get a better understanding of &#8211; are the changes you’re making on your website not necessarily just increasing your conversion or decreasing, but is it making you more money or not.</p>
<h4><strong>2. Engagement</strong></h4>
<p>With a lot of web apps out there, if you have more engaged users, you’re more likely to get them to pay, invite their friends, be stickier, and so forth. A really cool metric is how can you get really engaged users. It’s one thing to have a thousand or a million users on your site, but I would take a hundred really engaged users over ten thousand users who come to the site once and never come back and they’re not spending money or making the app grow.</p>
<p>Some of the things that I like to track with engagement is when someone signs up for my app, let’s say it’s facebook.com; I would go out and say are they signing up? Once they sign up, what else are they doing? Are they entering their email, profile name, adding a picture, putting in descriptions, etc? How far in the process are they getting, overall?</p>
<p>In addition to that, you want to see how often users are coming back and what is causing them to come back. In some cases, it could be that email notification the Facebook app is sending saying, . Your friend did blah, blah, blah.” Or, it could be something else. It could be that they’re coming from a search engine, or whatever they may be.</p>
<p>You also want to track what your users are doing. There are a lot of features in an application. The ones that are really engaged and sticky, are they coming back and doing one thing, such as playing a game on your social app, or is it that they’re using a specific feature set, such as if you’re creating a form, or looking at the stats. You have to figure out what is causing users that are engaged versus what is causing users that aren’t engaged. The ones that are more engaged are more likely to pay for your product, talk about it in a positive fashion, and tell others to sign up.</p>
<p>A lot of times, with engagement, if you’re using something like Google Analytics, you need to be tracking your internal site. What happens is a lot of people are like, I got my About page, I got my Contact page, I got my Home page. This is all the traffic I’m getting.” How much traffic is going to the dashboard? What are people doing? Google gives you some code and you can put it on internal pages and see how much traffic these pages are getting.</p>
<h4><strong>3. Event Tracking</strong></h4>
<p>How many here know what event tracking is? Google Analytics and a lot of analytic solutions out there give you this thing where you can track specific events on your site. It’s the best way to find out if a feature set in your app is working for you or it isn’t working out for you.</p>
<p>Why would you want to invest a lot of time and money in development; most of you already know that development takes forever. So you don’t want to waste money in features that aren’t really being used or that people don’t really care about.</p>
<p>One thing we tested out was the chat feature. How many people are actually using this chat feature, how engaged are they, and from there we figured out whether it was worth keeping or worth removing. If it was worth keeping, should we invest more time and money into it?</p>
<p>What ends up happening is that a lot of times you’ll get quite a few people using a specific feature, and they’re using it tons of times, so the page views rack up. But you’ve got to figure out if it’s just the power users that are using it; is it 90% of the user base that doesn’t understand this feature and doesn’t care about it or even know about it. You really have to track things.</p>
<p>Here are some cool things you can track with event tracking, if you’re not too familiar with it. You can do things like; did someone click play on a video? Did they pause the video? Did they download it? Did they download a PDF? You can literally track almost anything through events and see what people are using.</p>
<p>A good case would be for a video site. Are people using the pause and play button? Are people downloading? That will give you understanding; if no one is downloading your videos and you don’t care, then maybe you shouldn’t have a download button. Focus the user; have them do what you want them to do. The things they aren’t doing, strip them out. That way they’re doing the things that hopefully gets you more engaged users and makes you more money.</p>
<h4><strong>4. Real Conversion Rate</strong></h4>
<p>Real conversion rate is pretty tricky because a lot of applications out there have a freemium model. What happens if I said my app is mint.com? I first find the site by Googling . saving money” and it takes me to mint.com. What happens after that? I don’t sign up. I end up going to another site a week later, TechCrunch, and I read a story about Mint and how they’re doing all these cool things. I still don’t sign up but I think it’s cool.</p>
<p>A week later, I go to Mashable, and I read another cool story about Mint. Now I’ve seen it three times so now I have to sign up. Technically, most analytic solutions will report this person came from Mashable, they ended up converting. That’s where your conversion point is, and you need to track that, but you also need to track that this person originally came from Google, typing in a query . saving money”. They came a few times from Google, TechCrunch, and then Mashable, and then they converted. You have to look at the original traffic source that’s causing the conversion.</p>
<p>In addition to that, if I have a &#8220;freemium model&#8221; on my SaaS-based web app, I have to track that someone came from Google, signed up from a free account, then used it for a month and did all these steps, and then they converted into a paid account. Although they’re a freemium user and signed up through Google, you also need to track that this freemium user converted to paid, so this traffic source caused the paid user. With this, I haven’t found a good analytics solution that really does this, so often you have to build it internally to track a lot of this data. It’s worth tracking.</p>
<h4><strong>5. Test, Test, Test</strong></h4>
<p>A lot of times, and I’m seeing this with a lot of web apps, people are basing their decisions on what they’re reading on the web. A good example for this is 37signals. I love them to death. They’re a great company, smart guys. But, what worked for them may not work for you. Just because you read something on the web doesn’t mean you should copy it.</p>
<p>An example of this is C plans and pricing. I believe Ryan wrote a blog post on how they doubled or tripled their conversion rate, or increased by 100% or something. I forgot the exact number, but after I saw this, there are so many web apps that started copying it. DoItYourself Themes uses it. EasyTweets uses it. The numbers are endless and if I do a search for C plans and pricing, I probably could find a ton more.</p>
<p>The thing is; what works for 37 may not work for everyone else. At my company, we have a web app that is analytics related and it shows you heat maps. We did some surveys on some people and decided to test a lot of different variations out there. We were like, . Alright, C plans and pricing is great, but how can we actually relate the message to what the user is actually doing on our website?” We said, . Show me my heat map.”</p>
<p>We ended up doing a Google website optimizer test, and what we learned is our conversion rate increased by 112%, which is pretty significant, right? That’s a big jump in revenue and it’s not doing something that everyone else is doing. C plans and pricing is great; if it worked for me, I’ll be using it, but it didn’t necessarily work for me. What works for one company may not work for everyone. You have to figure out &#8211; you have to create a ton of tests, and if it works for me, great; if it doesn’t it doesn’t.</p>
<p>I use Google website optimizer a lot. It’s pretty simple. You take the original page that you’re trying to create variations of when you do A/B tests. They spit out some code, you put it on the top of the page, at the bottom; you take the variations and then you put some code that they spit out at the bottom of that and then put some code on the conversion page. It’s pretty simple. It looks something like this. There is control script, tracking script, and at the end they’ll tell you.</p>
<p>When you’re doing a lot of tests, some things will work out for you and some things won’t. Don’t let it get you down if a test doesn’t work out. What we’ve learned is if you make a lot of small tweaks and you don’t see a big improvement in conversion, that’s when it’s a good time to try a new design or layout. Don’t be afraid to experiment. Any questions?</p>
<p><strong>Ryan:</strong> We’ll do a couple of quick questions.</p>
<p><strong>Q:</strong> One of the things we do is event tracking, but we capture so many events that it becomes a hassle to report off of that. Do you have any suggestions?</p>
<p>N<strong>eil:</strong> What you’re asking is you’re tracking so many events that it’s just becoming a pain in the ass to go through them all to see what’s working and what’s not? You should track all your events, but that is something more as in a time issue.</p>
<p>The ideal thing is to continue tracking all those events and start digging through the data. If you can’t do that, what I would recommend is look at a handful of events, the ones that you think are the most important or the least important, or ones you’re going to be basing future decisions on, for like the next 30 days. Start tracking them, see if they’re working out well, and if they are then based on this say . We’re not going to spend more time on this.” If it’s working well, you’re seeing that it’s causing more engagement, then say, . We’re going to invest more time on this feature and see if we can crank it up even more.”</p>
<p>Use baby steps. That’s the biggest problem with analytics. There are so many pages and so much data that it gets overwhelming to look at everything. You have to take baby steps, concentrate on one thing during the next week, and from there you can rotate and go after different metrics.</p>
<p><strong>Ryan:</strong> Cool &#8211; so unfortunately we don’t have time for more questions, but Neil is going to be around all day, so please grab him. He’s got a ton of good advice about measurement, analytics, what to do, and what not to do. Please give him a big hand. KISSmetrics is also a pretty cool tool. That’s how we came across Neil. It’s definitely worth checking out.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/neil-patel-of-kissmetrics-on-successful-web-app-analytics/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Two Powerful Marketing Tips for Your Web Site or App</title>
		<link>http://thinkvitamin.com/web-apps/two-powerful-marketing-tips-for-your-web-site-or-app/</link>
		<comments>http://thinkvitamin.com/web-apps/two-powerful-marketing-tips-for-your-web-site-or-app/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 15:51:41 +0000</pubDate>
		<dc:creator>Ryan Carson</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=5660</guid>
		<description><![CDATA[Here at Carsonified HQ, we&#8217;re big Dropbox fans. They&#8217;ve implemented two really effective marketing tactics that I&#8217;d like to share with you. #1 &#8211; Add Gaming Mechanics Dropbox&#8217;s first marketing tactic is to add gaming behavior to the interface. The game is simple: complete five steps and you win 250MB extra storage space. The reason why this [...]]]></description>
			<content:encoded><![CDATA[<p>Here at Carsonified HQ, we&#8217;re big <a href="http://dropbox.com">Dropbox</a> fans. They&#8217;ve implemented two really effective marketing tactics that I&#8217;d like to share with you.</p>
<p><span id="more-5660"></span></p>
<h3>#1 &#8211; Add Gaming Mechanics</h3>
<p>Dropbox&#8217;s first marketing tactic is to add gaming behavior to the interface. The game is simple: complete five steps and you win 250MB extra storage space.</p>
<p>The reason why this is so powerful is because the game encourages you to use Dropbox and the more you use it, the more likely you are to become a paying customer.</p>
<p><img src="http://img.skitch.com/20100427-gg51hwmd6c96qahxmn78u26m18.png" alt="Screengrab from DropBox.com showing the six steps required to get an extra 250 MB of storage" /><br />
View <a href="http://img.skitch.com/20100427-d264wwa6mtkjifnwmgudcbm4ay.png">full size</a>.</p>
<p>What kind of game can you add to your interface to encourage your visitors to become engaged and attached to your app?</p>
<p>It&#8217;s worth noting that step #6 (&#8216;Invite some friends to join Dropbox&#8217;) isn&#8217;t required for earning your 250MB of extra storage. I believe they&#8217;ve  done this so that you don&#8217;t feel strong armed into telling your friends about Dropbox. If they forced you to do this to win the &#8216;game&#8217; then there could be bad will generated towards the service.</p>
<h3>#2 &#8211; Tell a Friend</h3>
<p>Dropbox&#8217;s second marketing tactic is to award you for telling your friends about the service. On the left sidebar, they have a cute picture of a wrapped present with the words &#8216;Get Extra Space Free&#8217;. Who doesn&#8217;t want free storage space?</p>
<p><img src="http://img.skitch.com/20100427-j367js3xiqqfrjsjcrfsnmrk96.png" alt="A screengrab from DropBox.com showing text that says Get extra space free" /><br />
View <a href="http://img.skitch.com/20100427-tuq9868r9fnwuay2n27dxgjw7s.png">full size</a>.</p>
<p>When you click the link this screen comes up &#8230;</p>
<p><img src="http://img.skitch.com/20100427-cq12fr84e7t543c1qxk77cnpe2.png" alt="A screengrab from DropBox.com showing three different ways to tell your friends about DropBox" /><br />
View <a href="http://img.skitch.com/20100427-mpi491au937tx6e1aaykskhxrh.png">full size</a>.</p>
<p>Essentially, they&#8217;re awarding their users for spreading the word about Dropbox by giving them extra storage space. This is a powerful way to do marketing for your web site or app, as it&#8217;s a being recommended friend-to-friend. When someone receives an invite to try Dropbox from a friend, they&#8217;re much more likely to try the service than if they saw an advertisement on a website somewhere.</p>
<h3>Share with us!</h3>
<p>If you&#8217;ve used any great marketing tactics like this for your site or app, please tell us about it in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/two-powerful-marketing-tips-for-your-web-site-or-app/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Fred Wilson&#8217;s 10 Golden Principles of Successful Web Apps</title>
		<link>http://thinkvitamin.com/web-apps/fred-wilsons-10-golden-principles-of-successful-web-apps/</link>
		<comments>http://thinkvitamin.com/web-apps/fred-wilsons-10-golden-principles-of-successful-web-apps/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 09:24:28 +0000</pubDate>
		<dc:creator>Keir Whitaker</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=5298</guid>
		<description><![CDATA[In February 2010 Fred Wilson, a New York based tech investor, spoke at the annual Future of Web Apps Miami conference. His talk, clocking in at just under 30 minutes, looks at his top 10 principles for creating a successful web app. A full transcript is available below. Watch this and other videos directly on [...]]]></description>
			<content:encoded><![CDATA[<p>In February 2010 <a href="http://www.avc.com/">Fred Wilson</a>, a New York based tech investor, spoke at the annual <a href="http://futureofwebapps.com">Future of Web Apps</a> Miami conference. His talk, clocking in at just under 30 minutes, looks at his top 10 principles for creating a successful web app. A full transcript is available below.<span id="more-5298"></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="470" height="264" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=10510576&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="470" height="264" src="http://vimeo.com/moogaloop.swf?clip_id=10510576&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/channels/carsonifiedtv">Watch this and other videos directly on our Vimeo Channel</a></p>
<h3>Transcript</h3>
<p>Thank you.  Hey everybody, it’s great to be here in Miami.  I flew down last night from New York.  It was still winter, snow on the ground, and it’s nice and warm here.  I’m glad to be here.</p>
<p>When I agreed to come down and talk, the people at Carsonified said “We want you to list 10 things that make a great web app.”  I thought to myself, “Gee, I don’t know if I can keep it to 10.”  I have put together a list of 10 things, and I want to present them to you today.  I think it comes from my experience, for really 15 years, of investing in web applications; what I’ve learned, in terms of what has worked well, and what has not worked well.  I’ve used a lot of web apps.</p>
<p>Our style of investing is pretty straightforward.  We have a set of things we’re interested in.  Anything that doesn’t fit into that set of things we just tell the people behind the project that it doesn’t really fit into what we do.  If it does fit into what we do, we use the product.  If we find the product really resonates with us, then we invite the team behind the project, the service, or the product in, and we get to know them.  If we like both the product/service and the team, then it often leads to investment.</p>
<p>These are 10 things that we look for in an application.  I’m sure that some of you will disagree with the list, but that’s the whole point of it in the first place.  The topic is “10 Golden Principles for Building Successful Web Applications”.</p>
<h3>1. Speed</h3>
<p>First and foremost, we believe that speed is more than a feature.  Speed is the most important feature.  If your application is slow, people won’t use it.  I see this more with mainstream users than I do with power users.  I think that power users sometimes have a bit of sympathetic eye to the challenges of building really fast web apps, and maybe they’re willing to live with it, but when I look at my wife and kids, they’re my mainstream view of the world.  If something is slow, they’re just gone.</p>
<p>We think that the application has to be fast, and if it’s not, you can see what happens.  We have every single one of our portfolio company services on Pingdom, and we take a look at that every week.  When we see some of our portfolio company’s applications getting bogged down, we also note that they don’t grow as quickly.  There is real empirical evidence that substantiates the fact that speed is more than a feature.  It’s a requirement.</p>
<h3>2.  Instant Utility</h3>
<p>What this means is the service is instantly useful to you.  If you build a service and the user has to spend an our configuring the service, setting it up, importing contacts, doing a lot of data entry, I don’t think people are going to &#8211; most people aren’t going to put up with that.  The service has to be useful right out of the box.</p>
<p>We see a lot of people make this mistake.  There are a lot of tricks you can use to create instant utility and then go from there.  A good example of that is if you’re building an information service, you can crawl the web to populate the service initially, even though long term you expect to get the data some other way.  You have to give people something right off the bat that is useful.</p>
<p>Another example of this is when Google launched Google Video maybe 4 or 5 years ago, around the same time that YouTube launched; if you uploaded a video to Google Video, after you uploaded it you would get a note that said, “Come back in about a week and your video will be shown.”  Of course, that didn’t work very well.  YouTube provided instant encoding and you could see the video literally seconds after you uploaded it.  That’s what I’m talking about when I talk about instant utility.</p>
<h3>3. Software is Media</h3>
<p>This is one that I got a lot of questions on.  My view is that software is media today.  Particularly consumer software, when people use it, they approach your software in the same way they would approach media.  When I say media, I’m talking about a magazine, or a newspaper or a TV show.  When you think about the New York Times versus the Wall Street Journal, or you think about Vanity Fair versus Vogue, or you think about Fox News versus CNN, each of these media companies have a voice.  They have an attitude, and a style, and it’s unique.  It’s different.</p>
<p>I think software has to feel that way.  Your software has to have a personality.  People have to feel like they’re consuming media when they consume your software.  If your software is bland, and has no attitude, something as silly as the “Fail Whale” which became a symbol of Twitter’s inability to stay up, also was a personality.  People were walking around wearing “Fail Whale” shirts.  It’s embarrassing for the people at Twitter, but nevertheless, it spoke to the fact that there was some attitude and media savvy behind the service and it created a voice that people connected to.  That is what I mean by voice, and I think it’s terribly important in a web app.</p>
<h3>4. Less is More</h3>
<p>4.  Less is more, and I really believe this, particularly early on when you launch something.  Over time, you can grow the utility of your service, and Facebook today probably offers 20 or 30 different features of significance in their service.  But, when they launched, it was really quite simplistic.  I think that’s true of most great services.</p>
<p>One of my favorite investments that our firm made is in Delicious.  The thing I loved about Delicious was its simplicity.  There wasn’t much you could do, but what you could do was really quite powerful.  People used it every single day, maybe 5 or 10 times a day.  These services where you do one little thing, but you do it all the time, and it’s very reinforcing and you get a lot of utility out of it, and it’s quick, easy, and fast, I think tend to do very well and give you the platform to ultimately grow from there.</p>
<h3>5. Make it Programmable</h3>
<p>Talking to a group of web app developers, I think this probably goes without saying, but I think it’s important to make your application programmable, and make it possible that others can build on top of or connect to or add value to, in some way, your web application.  That means API’s, and in my opinion read/write API’s.  The founder of Delicious told me a couple of years ago that if it’s not read/write then it’s not an API.  That has sort of become religion inside our firm.  We really think if it’s a read-only API, it might as well be RSS.</p>
<p>Not all of our companies, by the way, have launch read/write API’s, and we’re constantly hounding them to do that, but the important thing about programmability is that when people can add value to your application, they are in effect adding energy to your application, bringing more users to your application, and also bringing more data and more richness to your applications.  We think this is kind of like speed.  This is absolutely essential, and we certainly today, maybe not so much 2 or 3 years ago, but today we would be very hard pressed to make an investment in a web application that wasn’t highly programmable.</p>
<h3>6. Make it Personal</h3>
<p>Personal means many things to many people, but essentially, it’s a lot like the prior slide.  You want third-party developers to infuse your application with their energy.  You also want to make your application infused with your users’ energy.  The more of their data and their personality and energy that they can contribute to your application, the more ownership that they feel of it, and the more likely they are to advocate it and become, in effect, your marketing force.  It’s very important to make your application personal for everybody. That could be allowing people to change their backgrounds.  That could be allowing people to put in avatars; clearly, user-generated content, anything like that so that people can start to feel ownership of your web application the better.</p>
<p>It is also true that this can pose problems.  I was talking to a woman who was an early employee at Last.fm last week, and she said to me that their community felt like they owned Last.fm and they were in charge, and that every time they made a change, they would get thousands of posts on the forums.  I actually think that’s a good thing because it means people care, and care deeply about your application.</p>
<p>That’s true for a bunch of our companies, as well, and it is a headache.  When our portfolio company Meetup made a change last week to the Meetup Pages, and there are thousands of comments on the post announcing it, most of them negative.  You have to decide whether or not to react to that or engage in that or whatever.  Largely, it’s a very good thing because people care and they’ve invested time and energy in your application when they make it personal.</p>
<h3>7. RESTful</h3>
<p>I don’t know that I’m necessarily using this term correctly.  I think most of you know that this term REST means.  It eans something very specific in a software architecture point of view, but the reason I put this up here is slightly different.  It’s a bit of a misuse of the term, but I’m going to try to make this make sense anyway.</p>
<p>In a REST architecture, your resources have a URL and they can be called at that URL.  That’s kind of the software architecture that is outlined in the REST approach.  What I mean by this is a bit of a bastardization.  What I mean is that the entire application, everything in the application has a URL, and ideally, a very clean and comprehensible URL.</p>
<p>If you think about something like a Twitter list, which is something that they launched about 3 or 4 months ago, and if you go to someone’s page on Twitter, and you click on the “lists” link, you’ll see a URL that says something like “twitter.com/fredwilson/list/…” and that will be all of the lists that I’m on.  The entire Twitter application is built that way so there is really nothing that you could click on or look at in the Twitter application that doesn’t have its own unique URL, that isn’t well understood to anybody including my mom would know what that URL meant.  You can take that URL, send it via email, or put it out into the social media world.</p>
<p>Google will see that URL, will discover it, and so what it essentially allows is for the web, at large, to discover and get access to your application in very deep ways.  I think that people who build web apps that don’t allow very deep and open kind of architectures make a big mistake.  Something as popular as LinkedIn, for example, I would argue does a very poor job of this.  That is what I mean by this, and I know it’s a bit of a bastardization of the term, but I think it’s terribly important.</p>
<h3>8. Discoverabilty</h3>
<p>This is similar in some ways, to the last slide.  When you launch a web app, it’s a needle in a haystack.  There are hundreds of thousands, if not millions of web apps out there on the World Wide Web, and how is anybody ever going to find yours?  At its base level, for me, this means search engine optimization.  You have to understand search engine optimization and you have to understand the rules; you’ve got to know how to do it.  You have to build your application from the ground up to be discovered by Google, and optimized for Google.</p>
<p>But, it also needs to be built from the ground up to be discovered, and optimized by social media.  I think this day and age, social media is as important as search, in terms of overall discoverability.  That means virality.  There is a great blog post written by Josh Kopelman, who is a colleague of mine, Founder of First Round Capital.  The blog post was titled something like “We Just Need to Add Some Virality”.  The idea was that someone built a web application; nobody was using it, so he said to his team “let’s pour some virality into it.”  You can’t do that.  The application has to be built from the ground up to be viral.  The product itself needs to push itself out into the web, into search, and into social media.  That’s how you make it discoverable.</p>
<h3>9. Clean</h3>
<p>Clean, to me, means that the application cannot be busy on the page.  You need to be able to look at it and not be bothered with lots of stuff.  It’s white space, or dark space; it doesn’t really matter whether it’s white or dark, but lots of space.  I think big fonts, not too much functionality presented on any one page.  Make it very inviting, and make it so the people know, right away, what they need to do.</p>
<p>What I actually had on this slide &#8211; when I put this deck together, I started with screenshots from applications that I thought did a good job of this, and then I kind of decided that wasn’t a great idea.  I moved to just things like soap.  But, what I had here was the Tumblr login, and when you go to log into Tumblr, it’s two big fields, huge, nothing else on the page really, just username, password, and I really like how clean that is.  It’s like no way is anybody not going to know what they need to do right there.  I think that’s really critical and people underestimate how valuable it is to be efficient with the amount of functionality on a page.</p>
<h3>10. Playful</h3>
<p>Last but not least, is playful.  We have 6 words that we live by at Union Square Ventures.  Only one of them actually made it into this deck.  The 6 words are:  mobile, social, global, playful, intelligent, and I’m forgetting what the last one is so I’m going to fail today, but in any case, that’s kind of what we think about thematically in terms of web apps.  Only one of them made it onto this slide deck, and that’s “playful”.</p>
<p>I was criticized for putting a picture of an empty playground with a puddle in there, but there is a reason why I did this.  This slide is in South Park in San Francisco.  There is a little area at the top of the slide where you can hang out.  This is where Twitter was invented.  A bunch of employees of a company called Odeo took some time off in the middle of a nice, spring day, and went to think about new projects they could build.  One group was 4 or 5 people that sat at the top of this slide and basically conceived of Twitter.  That’s why I used it.</p>
<p>In any case, the ability to play in an application is really important.  The game dynamic is what you can use to get users to do what you want.  An example I like to use here is something that’s not even a web app.  If you think about Weight Watchers, it’s a game.  It has some really important game dynamics.  You establish goals, measure yourself against those goals, and you report against those goals, and you get rewarded for meeting those goals.  That game dynamic is the thing that ultimately makes Weight Watchers successful for some people.</p>
<p>That kind of approach should be, in some way, shape, or form, in every application.  If you look at LinkedIn, when it first launched, I had friends who were manically trying to accumulate relationships in LinkedIn.  You saw that with people trying to accumulate followers in Twitter, friends in Facebook, and that’s one kind of game dynamic. There are clearly other kinds of game dynamics out there.</p>
<p>Foursquare would be an example of taking very much game elements like status, badges, and things like that, and using that as a way to empower the development of what is, effectively, a local information service.  You don’t have to be as blatant about it as Foursquare is, but I do think that applications need to be playful.  It will make users have more fun using your application, and because you can incent the kind of behavior you want to create in your application.</p>
<p>Greg, can we swap over to my blog for a second?  I just wanted to finish this by pointing out that I posted the deck on my blog, at <a href="http://www.avc.com">www.avc.com</a>, on Sunday.  This is the post right here, “<a href="http://www.avc.com/a_vc/2010/02/the-ten-golden-principals-for-successful-web-apps.html">10 Golden Principles for Successful Web Apps</a>”.  There are 171 comments.  There is a raging debate that has gone on for 3 or 4 days, about whether those 10 are the right 10, and if you’re interested in this and thinking about a web app that you’re building right now and whether you’ve included all the key issues; there are at least 5 or 6 other issues that have been raised frequently in the comment thread.  These are things like privacy, brand, ease of use, and others that maybe should have made it into this presentation.  People at Carsonified asked me to do 10, and I kept it to 10.</p>
<p>The last thing I will say is that I’m doing a workshop tomorrow from 9 to 12:00, is that right?  You’re going to do it with me, Ryan, is that right?  You’re going to be there.  You’re going to keep me out of trouble?  It’s 3 hours of question and answer and we can talk about web apps and we can talk about raising capital, and we can talk about anything else you want to talk about.  I’m looking forward to that.  Hopefully it will be a more intimate setting, and I can get to know some of you much better, tomorrow.</p>
<h3>Q + A</h3>
<p><strong>Ryan:</strong> You have 5 minutes left.  I’m going to ask a question for you guys, and if you have any more questions raise your hand.  A lot of people ask me, “I’ve got an idea but my problem is marketing.  I think my idea is good; how do I become a success?”  Obviously, a lot of the stuff you’ve invested in has become a success.  Can you share some sort of succinct answer to &#8211; okay, you’ve got a web app.  It’s built and now how do you market it?</p>
<p><strong>Fred:</strong> I think it’s a great question.  First of all, I would not hire a marketing person.  I think that’s a bad idea.  Certainly for early on it’s a bad idea.  It’s got to come from you or the team itself.  There are two kinds of marketing that I think are really important early on.</p>
<p>One is product marketing itself.  The marketing has to be in the product, some of what I talked about:  the SEO, social media, and all of that, but the product has to be a marketing vehicle for the product itself.  You have to do that, have to focus very hard on that, and you have to test it, measure it, and make sure that it does that.</p>
<p>The second piece is what I would call “guerrilla marketing” or “street marketing” or “stunt marketing”.  It’s inexpensive.  It’s powerful, and it works.  It’s not an accident that two of our most successful companies, Twitter and Foursquare, broke out at SxSW.  When they built their application, they built it, certainly the Foursquare team and Dennis, built it specifically thinking they were going to launch it at SxSW.  They did some things to the application so that it would work really well there, and when they went there, they did some things to kind of juice the usage, get people using it, and it worked and took off.  You don’t have to launch at SxSW; that’s not the point I’m trying to make.</p>
<p>What I’m trying to say is you can do things that will make the application spread that don’t cost a lot of money, but require some chutzpah, creativity, and work.  The team at Etsy for example, went to craft shows for 2 years, but they couldn’t go to all of them so they created street teams of crafters who were early users of Etsy, who loved Etsy, who would go and man the Etsy booths at craft fairs.  That’s the guerilla marketing street team type of approach.</p>
<p>It’s not expensive.  It’s authentic.  It’s using your users as your customer base.  One more example on that and then I’ll take another question.  When Boxee went to CES, not this year but last year, they posted on their blog that they were looking for 5 early Boxee users to come with them to CES.  Instead of hiring models, or whatever, to man their booth, they literally ran a contest and got 5 power users.  You had to write why you love Boxee and it was 2 or 3 guys and 2 or 3 women.  The thing was; they paid your way to CES, put you up in a hotel, paid your airfare, and you had to do 4-6 hours every day in the booth.  Then after that you were free to do whatever you wanted in Las Vegas for a week.</p>
<p>They got 50-100 people who applied with some great applications.  They picked 5 of them.  Abner, the CEO, told me that those 5 people were the best booth attendants he’d ever had because these people were into it.  They were into it because they were already into it, but they were also into it because they were getting a free trip. They were having fun and they went out every night with them.  That’s another example of kind of street, guerrilla marketing.  That’s the kind of thing you’ve got to be good at.</p>
<p><strong>Ryan:</strong> Where is Amy from MailChimp?  She’s here somewhere, isn’t she?  If you’re here, grab her if you want marketing ideas.  She’s from MailChimp and they’ve done some really cool guerrilla stuff.  You guys have been really successful with it.  She knows what she’s talking about.  We have time for one quick question, about 45 seconds.  Who has a question?</p>
<p><strong>Q:</strong> [not audible]</p>
<p>Fred:	The full set of principles?  I am going to fail that question.  Do you mean the total number that have been listed on the blog?  The ones that I care about the most are the 10 that I listed.  Some of the others that I listed that I think are quite important, there was a raging argument about whether mobile is an important characteristic.  I think your application absolutely has to be on mobile devices today, but the question is can it be a mobile web app or does it have to be a downloadable app.  That is a debate and I don’t think there is a good answer to that, in my opinion.  That would be one that I think is subject of some debate, at least in my mind.</p>
<p>People feel that brand is really important, the name, domain.  I will tell you that when we invested in Foursquare, they didn’t own foursquare.com.  It was playfoursquare.com.  We actually &#8211; a young guy in my office, named Eric Friedman, went and found the guy who owned http://foursquare.com,  and negotiated with him, and secured it.  We acquired it as part and parcel of the financing we made.  We felt that it was absolutely critical to own that domain.  It’s the same with Delicious.  You probably all remember that Delicious was Del.ici.ous and then we insisted that Joshua buy http://delicious.com.   Brand is important.</p>
<p><strong>Ryan:</strong> Please give Fred a big hand.  If you can get some of Fred’s time while you’re here, I would highly advise you to do it.  He’s going to be here all day, plus tomorrow.  Basically, it’s impossible to get a meeting with him, ever, so this is your chance.  He’s a tremendous resource and we really appreciate him being here.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/fred-wilsons-10-golden-principles-of-successful-web-apps/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Strategy Basics: Getting your Client&#8217;s Ducks in a Row</title>
		<link>http://thinkvitamin.com/web-apps/strategy-basics-getting-your-clients-ducks-in-a-row/</link>
		<comments>http://thinkvitamin.com/web-apps/strategy-basics-getting-your-clients-ducks-in-a-row/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 11:09:11 +0000</pubDate>
		<dc:creator>Jaan Orvet &#38; Andreas Carlsson</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=5207</guid>
		<description><![CDATA[This is a companion post to &#8220;Strategy Basics: It’s Really all about having a Plan&#8221; from 11 March. It is a good idea to skim that post before reading this one. Otherwise the combination of the web and orange flavored milk might not make much sense. Congratulations, your client the Think Vitamin Dairy have had [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is a companion post to &#8220;<a href="http://carsonified.com/blog/business/strategy-basics-its-really-all-about-having-a-plan/">Strategy Basics: It’s Really all about having a Plan</a>&#8221; from 11 March. It is a good idea to skim that post before reading this one. Otherwise the combination of the web and orange flavored milk might not make much sense.</em></p>
<p><img class="aligncenter size-full wp-image-5284" title="1_intro" src="http://carsonified.com/wp-content/uploads/2010/03/1_intro.gif" alt="" width="470" height="296" /></p>
<p>Congratulations, your client the Think Vitamin Dairy have had a few weeks to mull over what you presented and are now fully on-board. They are super excited about how you will help them sell more orange flavored milk. So exited in fact that they seem to be rushing it a bit.</p>
<p>You always want a client to drive their project forward but sometimes you need to slow them down. Preparation and double checking every aspect of the plan is crucial. You don&#8217;t want to pay for sloppy prep later on in the project.<span id="more-5207"></span></p>
<h3>It is What&#8217;s on the Inside that Matters</h3>
<p>If you read the previous post you may have spotted <a href="http://carsonified.com/blog/business/strategy-basics-its-really-all-about-having-a-plan/#comment-19170">Darryl&#8217;s comment</a> about helping clients stick to the plan. He is absolutely right, that is part of your work, and you need to do it early on.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-5285" title="2_comment" src="http://carsonified.com/wp-content/uploads/2010/03/2_comment.gif" alt="" width="470" height="304" /></p>
<p>There are many ways to help clients stay on track, two of the most important ones are:</p>
<ol>
<li>Making sure the strategy is tied to the client&#8217;s business goal</li>
<li>That the plan has internal approval and backing.</li>
</ol>
<p>In the case of the Think Vitamin Dairy we know point #1 is covered. Point #2 is a tad unclear.</p>
<p>When a client rushes something it can indicate they are not sorting out their internal bits as they should. Sometimes it is because they assume everyone is on the same page and at other times they don&#8217;t want to deal with internal politics.</p>
<p>While you don&#8217;t want to get involved with the latter, you have to make sure a few key steps have been taken. If not, your project will not be seen as the success it undoubtedly has the potential to be.</p>
<h3>The Bare Minimum</h3>
<p>Make sure you always talk to your client about these four things early on.</p>
<p><strong>Stakeholder Support</strong></p>
<p>Are all the people or departments that will be affected by the project fully on-board? Have their concerns been addressed and issues resolved? It is not your job to run the Think Vitamin Dairy, but at the very least you need to know people are on-board and able to provide you with what you need in order to do your job.</p>
<p>It is fair to assume you will be working with people from marketing, sales, maybe logistics and IT, and certainly customer support during the life of the project.</p>
<p><strong>Resource Planning</strong></p>
<p>How will these people and departments be affected, and what steps have they taken to prepare? Highlight risks throughout the process and make sure you come back to them with an intent to resolving them if your can (like demoing the app to your client&#8217;s sales and customer support teams).</p>
<p><strong>Measurable Goals</strong></p>
<p>Set and stick to clearly measurable goals, and split them in to clearly defined categories.</p>
<p>For the Think Hiking campaign it would be one category for the activities (number of apps downloaded, hikes shared) and one for actual sales (increased sales from existing resellers, sales from new resellers and so on).</p>
<p><strong>Advantage/Adjustment Planning</strong></p>
<p>This one goes by many names, A/A is just one of them. Regardless, the idea is always to plan for two different scenarios: the good and the bad.</p>
<p>Once the project has launched you may see that it does incredibly well from day one. Make sure you and your client have a plan to take advantage of it. Maybe you&#8217;ll celebrate the 10,000th bottle sold with a marketing&#8230; something. Like what? Think about it now so you&#8217;re not put on the spot when it happens.</p>
<p>If the project doesn&#8217;t take off, and app downloads barely brake the two digit mark, you need to make adjustments. Having talked this possibility through with all the relevant stakeholders (say, marketing and sales) beforehand, you will have a contingency plan in place.</p>
<p>Not only will your client be happy that you turned things around, but you&#8217;ll look like an absolute star for thinking things through from the start.</p>
<p>If you cover these four areas, your client will be better prepared to steam ahead with the project as a whole. And your success is if not guaranteed, than certainly a very likely outcome.</p>
<p><img class="aligncenter size-full wp-image-5286" title="3_conclusion" src="http://carsonified.com/wp-content/uploads/2010/03/3_conclusion.gif" alt="" width="470" height="244" /></p>
<h3>In Conclusion</h3>
<p>These four points might sound like a lot, but by addressing them with your client you will be a better professional, a better web designer.</p>
<p>Your client wants to work with someone who understands their challenges, and showing that you grasp the basics of how successful projects and businesses are run will be to your advantage.</p>
<p>If the client doesn&#8217;t commission you to do the strategic work for them they might still pick you for the project team. Why? Because you think beyond the components you yourself will deliver. You care and you take responsibility for the project by speaking intelligently about it as a whole.</p>
<p>In combination with your incredible design or coding skills that will help you beat your competition.</p>
<p>Now, please pass us another bottle of that orange flavored milk</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/strategy-basics-getting-your-clients-ducks-in-a-row/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Product Review: TeuxDeux Task Manager</title>
		<link>http://thinkvitamin.com/web-apps/product-review-teuxdeux-task-manager/</link>
		<comments>http://thinkvitamin.com/web-apps/product-review-teuxdeux-task-manager/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 11:20:42 +0000</pubDate>
		<dc:creator>Kevin Fricovsky</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=5186</guid>
		<description><![CDATA[Editors Note: We are delighted to welcome Kevin Fricovsky to the Think Vitamin team. In the first in a series of &#8220;product reviews&#8221; Kevin looks at &#8220;TeuxDeux&#8221;, a minimal to-do list web app. Read the article and then watch the 6 minute screencast. Straight out of DUMBO (Brooklyn, New York), and the shared studio space [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Editors Note:</strong> We are delighted to welcome Kevin Fricovsky to the Think Vitamin team. In the first in a series of &#8220;product reviews&#8221; Kevin looks at &#8220;TeuxDeux&#8221;, a minimal to-do list web app. Read the article and then watch the 6 minute <a href="#screencast">screencast</a>.<br />
</em></p>
<p>Straight out of <a href="http://dumbonyc.com/about/">DUMBO</a> (Brooklyn, New York), and the shared studio space of creators <a title="Swiss-Miss" href="http://www.swiss-miss.com/">Swiss-Miss</a> and <a title="Fictive Kin" href="http://fictivekin.com/">Fictive Kin</a>, comes what may be the hippest thing to happen to your to-do list since Merlin Man&#8217;s <a title="Hipster PDA" href="http://www.43folders.com/2004/09/03/introducing-the-hipster-pda">Hipster PDA</a> appeared on the scene. But beware, those serious in following the GTD principles need not apply.</p>
<h3><span id="more-5186"></span>The Status</h3>
<p><a href="http://teuxdeux.com/">TeuxDeux</a> (pronounced &#8220;to-do&#8221;) is a free, minimal, web based to-do list management application. It boasts a total of 5 features. When signed into your account the application is essentially a one page web app, displaying 5 calendar days and offering five columns to add/delete your to-do items for each respective day.</p>
<p>As you would assume, it even allows you to edit your to-do items, although in keeping with their laid back, fun vibe (which comes through humorously in their <a title="TeuxDeux video demo" href="http://vimeo.com/8080943">TeuxDeux video demo</a>) the application hides the edit feature as an <a title="Easter Egg" href="http://en.wikipedia.org/wiki/Easter_egg_(media)">easter egg</a>, inviting the user to play with the application interface, creating a test in user interface exploration (arguably a pain point as well).</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-5188" style="border: 1px solid #999;" title="five-day-view" src="http://carsonified.com/wp-content/uploads/2010/03/five-day-view.png" alt="" width="470" height="226" /></p>
<p>Organizing your to-do list is simple —  quickly populate your calendar day via the top level input box, and just drag and drop the items to reorganize your lists. Complete a task just by clicking on it, and delete an item forever by clicking on its red X. Forget to complete a task or tasks for any given day? Login the next morning and TeuxDeux moves those tasks into the current day&#8217;s queue. But you&#8217;re not ending your day without completing your tasks list are you? I didn&#8217;t think so.</p>
<p>And that&#8217;s about it. No notifications. No clutter. No distractions. Start getting things done.</p>
<h3>The Good</h3>
<p>TeuxDeux is beautifully simple in its design and impressive in it&#8217;s lack of features. The crew at 37Signals would be proud by it&#8217;s adherence to <a href="http://gettingreal.37signals.com/ch02_Build_Less.php">Build Less</a>. Everything in its design has a purpose. TeuxDeux is a success because the last thing I need these days is a complex to-do management app to get in my way.</p>
<p>Everyday life is complex enough as is. TeuxDeux&#8217;s adherence to ease of use and minimal interface complies to the desires of those looking to reduce, making TeuxDeux a success at get-out-of-my-way software.</p>
<h3>The Bad</h3>
<p>You could argue that with only 5 features Teuxdeux is setting the bar pretty low. I&#8217;d argue otherwise. With &#8220;less&#8221; as a feature the app really needs to deliver. It needs to be intuitive. It needs to be responsive. It needs to meet my minimum expectations — can I use this every day to manage my ever growing to-do list? And it succeeds. But since I have the microscope out, let&#8217;s see what we can find&#8230;</p>
<p><strong>Give me context or give me death!</strong></p>
<p>Known in the GTD world as <a href="http://workawesome.com/productivity/get-more-done-with-batch-processing/">context lists</a> the current TeuxDeux version is limited to the context of the active User account. There are no additional organization filters provided — you&#8217;re logged in as Jane Shmoe, and this is your to-do list, and there you have it. Personally, the only two contexts I care about are &#8220;personal&#8221; and &#8220;work&#8221;. Context lists would help solve my feature request, and help others further organize their to-do if they so wish.</p>
<p>Now, adding context list management would obviously add complexity to the application, and honestly I don&#8217;t think the addition of the feature is worth the increase in UI complexity. If I&#8217;m the TeuxDeux staff then I&#8217;d respond to my request with &#8220;create another account and there&#8217;s your context&#8221;. And to that I say &#8220;touché&#8221;.</p>
<p>Actually, I agree, and that&#8217;s exactly what I&#8217;ve done (I have a work and a personal account). I&#8217;m completely fine with as the solution, but at least let me jump between accounts easily without having to logout and back in again.</p>
<p>For those users dependent on the more granular context list concept — I don&#8217;t believe they will find TeuxDeux fitting for their needs.</p>
<p><strong>Easter Edit</strong></p>
<p>Editing a task is documented as an &#8220;easter egg&#8221; in the FAQs. In short, it&#8217;s a playful way the TeuxDeux team ask its users to explore the interface and find the solution yourself. My initial reaction to this was <em>&#8220;don&#8217;t make me think!&#8221;</em>.</p>
<p>That being said, I must admit, when I did solve the edit &#8220;easter egg&#8221; for myself it did bring a smile to my face (my &#8220;of course, duh obvious&#8221; lightbulb went off). So, in a way it&#8217;s arguably brilliant. Regardless, other TeuxDeux users have since posted <a href="http://screenr.com/u4h">screen cast</a> tutorials detailing the edit feature. If someone needs to post a screen cast on how to edit a to-do item then you&#8217;re probably asking too much from your users.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-5187" style="border: 1px solid #999;" title="edit-item" src="http://carsonified.com/wp-content/uploads/2010/03/edit-item.png" alt="" width="470" height="240" /></p>
<p><strong>No FAQ For You</strong></p>
<p>The FAQ for non-logged in users is limited to the 5 FAQs located on the homepage in the center column, 2 of which are quirky FAQs that promote the apps &#8220;hey, we&#8217;re having fun here&#8221; personality but provide no value to a user looking for product details.</p>
<p>I&#8217;m all for promoting the product&#8217;s personality, but at least make the lengthier FAQ easily available to all users. A simple &#8220;view all&#8221; text link would suffice, and for those users first visiting TeuxDeux and making their 2 minutes &#8220;should I use this&#8221; product review it could make the difference between signing up or passing by.</p>
<p>The FAQ in-full isn&#8217;t hidden behind any authentication rules, it&#8217;s just hidden. If you&#8217;re interested, you can <a href="http://teuxdeux.com/faq">view the entire FAQ</a>. You could only find that link, though, if you were logged into your account.</p>
<p><img class="aligncenter size-full wp-image-5189" title="iphone-app" src="http://carsonified.com/wp-content/uploads/2010/03/iphone-app.png" alt="" width="470" height="300" /></p>
<p><strong>Take it Mobile</strong></p>
<p>There is currently no mobile version of the application, and that&#8217;s an important feature for a to-do list application. That&#8217;s supposed to change soon. Above is a <a href="http://tweetphoto.com/9667629">leaked photo</a> of the TeuxDeux iPhone app from Swiss Miss herself. So it looks like it&#8217;s right around the corner, which is awesome. I would also assume a mobile web version of TeuxDeux is going to be made available for all those none iPhone users out there.</p>
<p><strong>Is this Thing on?</strong></p>
<p>As I write this, there&#8217;s no way for me to know that all product communication regarding TeuxDeux is via the <a title="TeuxDeux on Twitter" href="http://twitter.com/teuxdeux">@TeuxDeux</a> Twitter account. The current TeuxDeux website doesn&#8217;t feature recent tweets, or publicize the existence of their Twitter account.</p>
<p>Since there&#8217;s no product blog, I&#8217;d make sure the most recent Twitter updates were placed on the homepage, or at least promote the Twitter account in some way. As a prospective TeuxDeux user, I want to see how active the product is and the community around it before I invest more time with it.</p>
<p>Since we&#8217;re on the topic of Twitter and conversation — why not implement <a title="TweetBoard" href="http://tweetboard.com/">TweetBoard</a> on the site? It&#8217;s not a replacement for customer support solutions like <a title="GetSatisfaction" href="http://getsatisfaction.com/">GetSatisfaction</a> or <a title="UserVoice" href="https://uservoice.com/">UserVoice</a>, but it is a solution for keeping the line of communication  between the users of the site and its creators more prominent on the product site.</p>
<p>Right now all user feedback is handled via the Teudeux feedback form, which is sent to a black hole inbox. I&#8217;m betting there&#8217;s quite a passionate audience behind TeuxDeux. What a great opportunity to highlight that!</p>
<h3>The Alternatives</h3>
<p>My current to-do list is too long to to review all the various alternative to-do apps out there, but here are a few I&#8217;ve tried out myself and had a pleasurable experience with:</p>
<ul>
<li><a title="Remember The Milk" href="http://www.rememberthemilk.com/">Remember The Milk</a> &#8211; the best way to manage your tasks.</li>
<li><a title="OmniFocus" href="http://www.omnigroup.com/products/omnifocus/">OmniFocus</a> &#8211; professional grade task management.</li>
<li><a href="http://tadalist.com/">Tada Lists</a> &#8211; it&#8217;s easy to-do!</li>
</ul>
<p>Any of the above are good alternatives to TeuxDeux. I&#8217;ve tried them all for a period of time and enjoyed them each; I just like TeuxDeux more.</p>
<h3>The Conclusion</h3>
<p>In a recent ComputerWorld article <a title="The iPad paradox: Less is more" href="http://www.computerworld.com/s/article/9170118/The_iPad_paradox_Less_is_more?taxonomyId=15&amp;pageNumber=2">The iPad paradox: Less is more</a> the author, Mike Elgan, highlighted TeuxDeux as &#8220;feature poor&#8221; which to some may be viewed as a negative but as Elgan suggests, &#8220;The less-is-more world is here&#8221;, and for those looking to shield themselves from bloat that often accompanies complex calendaring or task management applications, then TeuxDeux&#8217;s lack of features will come as pure joy. For Teuxdeux, less is more indeed.</p>
<p>All in all, TeuxDeux is a well designed to-do list application. If you&#8217;re looking to begin getting your to-do list into shape, you should absolutely give it a try.</p>
<p>Users should also take heed and &#8220;Stick to your Guns&#8221;, as Ryan Carson implores in <a href="http://carsonified.com/blog/carsonified/work_smarter/are-you-wasting-50-of-your-time/">Are you Wasting 50% of your Time?</a>. To-do list management requires your own personal discipline. TeuxDeux, or any to-do application, can&#8217;t save you from yourself, but they can help try.</p>
<p>How are you using TeuxDeux to manage your to-do list? Or are you using another to-do list application we should know about?</p>
<h3 id="screencast">Video Tour</h3>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="470" height="288" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=10372926&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="470" height="288" src="http://vimeo.com/moogaloop.swf?clip_id=10372926&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Watch the video on <a href="http://vimeo.com/channels/carsonifiedtv#10372926">Vimeo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/product-review-teuxdeux-task-manager/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Web app review: Peashoot</title>
		<link>http://thinkvitamin.com/web-apps/web-app-review-peashoot/</link>
		<comments>http://thinkvitamin.com/web-apps/web-app-review-peashoot/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 19:20:12 +0000</pubDate>
		<dc:creator>Keir Whitaker</dc:creator>
				<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=4029</guid>
		<description><![CDATA[Yesterday I signed up for the free 21 day trial of Peashoot, a campaign manager for links you post on Twitter, Facebook and your blog. It&#8217;s created by Yongfook who some of you might be familiar with as the coder behind Sweetcron, one of the first open source lifestreaming applications. What does it do? Peashoot [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I signed up for the free 21 day trial of <a href="http://peashootapp.com/">Peashoot</a>, a campaign manager for links you post on Twitter, Facebook and your blog. It&#8217;s created by <a href="http://yongfook.com/">Yongfook</a> who some of you might be familiar with as the coder behind <a href="http://code.google.com/p/sweetcron/">Sweetcron</a>, one of the first open source lifestreaming applications.</p>
<p><img class="alignnone size-full wp-image-4031" title="browser_window_peashoot" src="http://carsonified.com/wp-content/uploads/2010/01/browser_window_peashoot.png" alt="browser_window_peashoot" width="470" /><span id="more-4029"></span></p>
<h3>What does it do?</h3>
<p>Peashoot allows you to create and monitor link campaigns, i.e. a link you post to your Twitter stream of Facebook page. Creating campaigns are straightforward thanks to a clean and usable interface. It also allows you to associate goals with your campaigns. One example of a goal might be to reach 100 people from Germany, another might be to receive 10 retweets of your link.</p>
<p><img style="border: 1px solid black;" title="peashoot_dashboard" src="http://carsonified.com/wp-content/uploads/2010/01/peashoot_dashboard.jpg" alt="peashoot_dashboard" width="470" /></p>
<h3>Reporting</h3>
<p style="text-align: left;">Each campaign has an extensive report screen detailing the number of clicks, tweets, conversions (you are able to hook into your own Google Analytics account) and revenue. It also offers a number of graphs and charts dissecting where and when your link was clicked. The real time updating Google map is a nice touch.</p>
<p style="text-align: center;"><img class="size-full wp-image-4036 aligncenter" title="peashoot_countries" src="http://carsonified.com/wp-content/uploads/2010/01/peashoot_countries.jpg" alt="peashoot_countries" width="419" height="400" /></p>
<p>In order to do this Peashoot uses it&#8217;s own URL shortening service. All links will start with http://pea.to/ although you can use a custom domain for your links if you have access to your domain&#8217;s DNS settings. If you associate your Google Analytics account with Peashoot all links will include campaign details which will then be tracked.</p>
<p>Other nice features include the ability to collect mentions of your link from social media services and the option of tracking keywords associated with your brand on Twitter.</p>
<h3>Another reporting tool?</h3>
<p>As many of you are aware services like <a href="http://bit.ly">http://bit.ly</a>, a free service, offer excellent tracking facilities (just enter a + sign after any bit.ly URL to see the stats for that link).</p>
<p>In my opinion Peashoot is different. The ability to create campaigns, link it into Google Analytics and the extensive tracking and reporting tools make it a nice complimentary tool to statistics offered by services like bit.ly.</p>
<h3>Issues</h3>
<p>When signing up you do have to enter your payment details upfront, therefore you will get billed after the 21 days unless you remember to cancel. It&#8217;s a small point but one worth mentioning. I also encountered a slight issue with integrating Google Analytics. The settings screen states I am connected but the detail page does not list any accounts.</p>
<h3>Pricing</h3>
<p>Three plans are available. Basic $17 a month, Pro $25 a month or Pro Yearly for $149 a month.</p>
<h3>Verdict: Recommended</h3>
<p>It&#8217;s a nice addition to your statistics and tracking software arsenal. Paying yearly brings the cost down to around $12.40 a month which is pretty good value if you use services like Twitter to publish links and need a way of working out how effective they are.</p>
<h3>Tried it?</h3>
<p>If you have tried Peashoot and have a different opinion or hints and tips to share please leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/web-apps/web-app-review-peashoot/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.729 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-10 02:48:51 -->

