<?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>Tristara</title>
	<atom:link href="http://www.tristara.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tristara.com/blog</link>
	<description>Musings of Joshua Seims</description>
	<lastBuildDate>Wed, 22 May 2013 01:13:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>How much is a Bitcoin worth? (Interactive Calculator)</title>
		<link>http://www.tristara.com/blog/2013/how-much-is-a-bitcoin-worth-interactive-calculator/</link>
		<comments>http://www.tristara.com/blog/2013/how-much-is-a-bitcoin-worth-interactive-calculator/#comments</comments>
		<pubDate>Wed, 22 May 2013 01:13:50 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=209</guid>
		<description><![CDATA[There&#8217;s a lot of debate on how to properly measure the value of a Bitcoin. I present a simple calculator to let you see how much a single Bitcoin is worth given various assumptions. For example, if I assume there&#8217;s &#8230; <a href="http://www.tristara.com/blog/2013/how-much-is-a-bitcoin-worth-interactive-calculator/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>There&#8217;s a lot of debate on how to properly measure the value of a Bitcoin.</p>
<p>I present a simple calculator to let you see how much a single Bitcoin is worth given various assumptions.</p>


<table style="border-bottom: 0px;">
<tr>
<td width="300px" style="border-top: 0px;"><b>Chance Bitcoin succeeds</b><br>  It won't be successfully banned by world governments, replaced by another crypto currency, or fall out of style.</td>
<td width="180px" style="vertical-align: middle; border-top: 0px;"><input type="range" min="0" max="100" value="10" style="width: 150px;" onchange="setSuccess(this)"></td>
<td style="vertical-align: middle; border-top: 0px;"><span id="success_percent">10</span>%</td>
</tr>
</table>

Supposing Bitcoin does succeed, how much of its value derives from various analogous markets?
<br><br>

<table style="border-bottom: 0px;">
<tr>
<td width="300px" style="border-top: 0px;"><b>Money Transmission</b><br>  Like Western Union, Paypal.</td>
<td width="180px" style="vertical-align: middle; border-top: 0px;"><input type="range" min="0" max="100" value="0" style="width: 150px;" onchange="setMT(this)"></td>
<td style="vertical-align: middle; border-top: 0px;"><span id="mt_percent">0</span>%</td>
</tr>
<tr>
<td width="300px" style="border-top: 0px;"><b>Store of Value</b><br>  Like gold.</td>
<td width="180px" style="vertical-align: middle; border-top: 0px;"><input type="range" min="0" max="100" value="30" style="width: 150px;" onchange="setGold(this)"></td>
<td style="vertical-align: middle; border-top: 0px;"><span id="gold_percent">30</span>%</td>
</tr>
<tr>
<td width="300px" style="border-top: 0px;"><b>Black Market</b><br>  Drugs, gambling, etc.</td>
<td width="180px" style="vertical-align: middle; border-top: 0px;"><input type="range" min="0" max="100" value="0" style="width: 150px;" onchange="setBM(this)"></td>
<td style="vertical-align: middle; border-top: 0px;"><span id="bm_percent">0</span>%</td>
</tr>
<tr>
<td width="300px" style="border-top: 0px;"><b>Global Currency</b><br>  Replaces entire M3 money supply.</td>
<td width="180px" style="vertical-align: middle; border-top: 0px;"><input type="range" min="0" max="100" value="0" style="width: 150px;" onchange="setMS(this)"></td>
<td style="vertical-align: middle; border-top: 0px;"><span id="ms_percent">0</span>%</td>
</tr>
<tr>
<td width="300px" style="border-top: 0px;">&nbsp;</td>
<td width="180px" style="vertical-align: middle; border-top: 0px;"><b>Bitcoin Value</b></td>
<td style="vertical-align: middle; border-top: 0px;"><b style='color: green;'>$<span id="btc_price">0</span></b></td>
</tr>

</table>
<script>

var btc = {'success' : 10, 'mt' : 0, 'gold' : 30, 'bm' : 0, 'ms' : 0};

function setSuccess(slider) {
  var elem = document.getElementById('success_percent');
  elem.innerHTML = slider.value;
  btc.success = slider.value;
  calcPrice();
}

function setGold(slider) {
  var elem = document.getElementById('gold_percent');
  elem.innerHTML = slider.value;
  btc.gold = slider.value;
  calcPrice();
}

function setMT(slider) {
  var elem = document.getElementById('mt_percent');
  elem.innerHTML = slider.value;
  btc.mt = slider.value;
  calcPrice();
}

function setBM(slider) {
  var elem = document.getElementById('bm_percent');
  elem.innerHTML = slider.value;
  btc.bm = slider.value;
  calcPrice();
}

function setMS(slider) {
  var elem = document.getElementById('ms_percent');
  elem.innerHTML = slider.value;
  btc.ms = slider.value;
  calcPrice();
}

function numberWithCommas(x) {
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

function calcPrice() {
  var numCoins = 11000000;
  var mt_val = 400000000000 * btc.mt / 100.0;
  var gold_val = 2600000000000 * btc.gold / 100.0;
  var bm_val = 15000000000000 * btc.bm / 100.0;
  var ms_val = 78000000000000 * btc.ms / 100.0;
  var price = (btc.success / 100.0) * (gold_val + mt_val + bm_val + ms_val) / numCoins;

  var elem = document.getElementById('btc_price');
  elem.innerHTML = numberWithCommas(Math.floor(price));
}
calcPrice();

</script>

<p>For example, if I assume there&#8217;s only a 10% chance that Bitcoins will succeed long term, and that if it does succeed, the total market value of Bitcoins will be 30% of the current gold market, then each Bitcoin is worth $7090.  Given that the current price of a Bitcoin is $122, that&#8217;s a really good (albeit really risky) investment.</p>
<p>Some details on the math: I assume 11 million Bitcoins, market value of money transmission is $400 billion, world&#8217;s gold market (i.e., store of value) is $2.6 trillion, world&#8217;s black market is $15 trillion, total world money supply (M3) is $78 trillion.  I just multiply and add up the market sizes.  So the math is rough, but there&#8217;s so little precision in the assumptions that it doesn&#8217;t really matter.  I just want to present what various scenarios would look like.</p>
<p>If you plug in your assumptions, what value do you get?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2013/how-much-is-a-bitcoin-worth-interactive-calculator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Startups: How to Plan with Too Many Options</title>
		<link>http://www.tristara.com/blog/2012/startups-how-to-plan-too-many-options/</link>
		<comments>http://www.tristara.com/blog/2012/startups-how-to-plan-too-many-options/#comments</comments>
		<pubDate>Tue, 27 Nov 2012 00:30:28 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=187</guid>
		<description><![CDATA[Plans are worthless, but planning is everything. - Dwight Eisenhower One common difficulty startup founders face is how to avoid being overwhelmed by the sheer amount of stuff to do.  In a typical startup, you need to know your market well, &#8230; <a href="http://www.tristara.com/blog/2012/startups-how-to-plan-too-many-options/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<blockquote><p>Plans are worthless, but planning is everything.<br />
- Dwight Eisenhower</p></blockquote>
<p>One common difficulty startup founders face is how to avoid being overwhelmed by the sheer amount of stuff to do.  In a typical startup, you need to know your market well, execute on building a product, acquire lots of customers, raise money, hire great talent, build a strong company culture, and manage your cash flow.  Our brains simply don&#8217;t have the power to wrap themselves around all these areas in all their details all the time.</p>
<p style="text-align: center;"><img class="aligncenter" title="Choices" src="http://www.dmn3.com/images/blog/Too%20many%20choices.jpg" alt="" width="384" height="306" /></p>
<p>I faced this difficulty myself in running HitPlay, and I see this issue all the time in companies I mentor.  From my own experience &#8212; and the experience of various other people I respect &#8212; I&#8217;ve outlined an approach I think is helpful.</p>
<p><em>The trick is to wrap your head around one area at the right level of detail, and to be smart about how you move this focus around.</em></p>
<p>Here&#8217;s the process:</p>
<ul>
<li>Figure out which aspect of your business is the most important to address right now.</li>
<li>Focus like a laser on this area until it&#8217;s no longer what&#8217;s most important.</li>
<li>Rinse and repeat.</li>
</ul>
<h2>Great, thanks, but how do I do that?</h2>
<p><strong>Start with awareness</strong>.  You (as the founder) will be in the best position to make the right call.  What&#8217;s most important is that you actually follow this process, and refine your instincts as you go.</p>
<p>You should cultivate a habit of asking yourself &#8220;what&#8217;s the most important thing to be thinking about right now?&#8221;.  The answer may be high-level and strategic.  Or it may involve low-level implementation details.  Whatever the answer, once you identify it, you can use this awareness as a tool to cut down on wandering thoughts.</p>
<p><strong>Seek advice</strong>.  More experienced entrepreneurs can give valuable perspective, especially on high level &#8220;what&#8217;s the most important thing to focus on&#8221; kinds of questions.  Often, when you&#8217;re deep in the operational trenches, you don&#8217;t see the forest for the trees.  You feel like you&#8217;re in the middle of a sprint, when really running a company is a marathon.</p>
<p>As for how to find mentors, a little flattery goes a long way.  Find someone you&#8217;d like as an advisor, and send them a note as to why they <em>in particular</em> would be helpful to you.  Ask to schedule a quick phone call, and be respectful of their time.</p>
<h2>Embrace Constraints</h2>
<p>You&#8217;ll never get a handle on complexity without ways to reduce your search space.  Some techniques:</p>
<p><strong>Say no a lot</strong>.  Say no to random requests to &#8220;grab coffee&#8221;.  Say no to most prospective business deals.  What you say no to is more important than what you say yes to.</p>
<p><strong>Suppress thinking about something until a certain condition is met</strong>.  A couple examples:</p>
<ul>
<li>You have a site and are considering throwing up ads for revenue.  Before devoting resources to this task, do a little math.  Let&#8217;s say you can sell ads for $1 CPMs, and anything less than $1000 / month of revenue is immaterial.  That means you should wait until you&#8217;re getting 1 million page views per month before you think further about this task.</li>
<li>You know your code needs to be refactored to allow horizontal scalability.  But there&#8217;s a high likelihood that you&#8217;ll never have enough concurrent users to require this scalability.   So you could use a trigger like &#8220;don&#8217;t worry about refactoring until my server load is greater than 1&#8243;.</li>
</ul>
<p><strong>Group tasks into milestones</strong>. By milestone, I mean:</p>
<ul>
<li>A measurable deliverable at the granularity of &#8220;a few weeks of work&#8221;.</li>
<li>What you learn by achieving the milestone will improve your subsequent planning.</li>
</ul>
<p>The second point is the key.  Because of the expected knowledge to gain, there&#8217;s no point planning beyond the milestone (other than the rough planning to determine that the milestone is comparatively more important than other things to do).  <em>The milestone acts as a horizon that limits the scope of your planning.</em></p>
<p>And once your identify a milestone, switch into execution mode where you drop down to the low levels of detail you need to do the work.</p>
<p>Let me walk you through an example.  Let&#8217;s say you and a friend have an idea for a startup, but don&#8217;t have anything built yet.  A good milestone could be &#8220;create a landing page that expresses the value proposition of your product, and collect 300 email addresses of interested people&#8221;.</p>
<p>This milestone is small enough that you should be able to wrap your head around all the necessary steps.  And consider how much you learn upon achieving it:</p>
<ul>
<li>You&#8217;re forced to clearly articulate your value proposition.</li>
<li>You gain knowledge on how to acquire customers.</li>
<li>You validate your interest in the company, as well as compatibility in working style with your partner.</li>
<li>You have lots of people&#8217;s contact info to reach out to for feedback.</li>
</ul>
<p>I&#8217;d like to end with a few anti patterns to be aware of:</p>
<ul>
<li><strong>The founders cannot agree on what&#8217;s the most important issue</strong>.  Founder disagreements are a big deal.  If you find yourself unable to agree on what&#8217;s the most important issue, then your most important issue is this inability to agree.</li>
<li><strong>I&#8217;m fighting too many fires all the time to do much planning</strong>.  You need to make time for non-urgent / important tasks.  If you find yourself in reaction mode all the time, your most important issue is to get ahead of the chaos so you can be proactive.</li>
<li><strong>We know what we need to do and we&#8217;re too busy to spend much time in planning</strong>.  This situation is almost never true for a startup, but is a common sentiment since it&#8217;s easy to get caught up in the details.  It takes discipline to operate at multiple layers of perspective.  When you&#8217;re executing toward a milestone, you shouldn&#8217;t be spending a lot of time planning.  But between milestones, you should give yourself (and the entire team) lots of time (several days, if necessary) to focus just on planning.  You should have a healthy ratio of time spent thinking vs. doing, or else you will slowly drift off course.</li>
</ul>
<p>How about everyone else?  What approaches to planning and prioritization have worked best for you?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2012/startups-how-to-plan-too-many-options/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thoughts from an Angel at Last Night&#8217;s 500 Startups Demo Day</title>
		<link>http://www.tristara.com/blog/2012/thoughts-from-an-angel-at-last-nights-500-startups-demo-day/</link>
		<comments>http://www.tristara.com/blog/2012/thoughts-from-an-angel-at-last-nights-500-startups-demo-day/#comments</comments>
		<pubDate>Fri, 20 Jul 2012 00:34:57 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=177</guid>
		<description><![CDATA[Overall, I was quite impressed.  Dave McClure and the folks at 500 Startups have done a good job vetting and mentoring applicants.  You meet a lot of talented entrepreneurs on demo day &#8212; it&#8217;s a networking event on steroids. As &#8230; <a href="http://www.tristara.com/blog/2012/thoughts-from-an-angel-at-last-nights-500-startups-demo-day/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Overall, I was quite impressed.  Dave McClure and the folks at 500 Startups have done a good job vetting and mentoring applicants.  You meet a lot of talented entrepreneurs on demo day &#8212; it&#8217;s a networking event on steroids.</p>
<p>As an angel investor, my key takeaways are:</p>
<p><strong>Market rate for terms</strong></p>
<p>The typical company that presented not only boasted a strong team and a working product, but also demonstrated some kind of traction.  For example:</p>
<ul>
<li><a href="https://angel.co/twitmusic">Twitmusic</a> has over 8,000 musicians registered with 32,000,000 Twitter followers.</li>
<li><a href="https://angel.co/tendertree">TenderTree </a>transacted $20,000 in revenue in June.</li>
<li><a href="https://angel.co/teliportme">TeliportMe </a>has been downloaded over 450,000 times</li>
</ul>
<p>Most of the companies were trying to raise $500K &#8211; $1M on convertible notes with caps in the $4M range.</p>
<p>So — whether you&#8217;re on the raising or investing side of the aisle — that&#8217;s your market rate.</p>
<p><strong>Overall trends</strong></p>
<p>Of the 27 companies presenting:</p>
<ul>
<li>5 were child or education related.</li>
<li>5 were fashion related.</li>
<li>7 were led by female founders.</li>
<li>6 were foreign.</li>
</ul>
<p><strong>Some Standouts</strong></p>
<ul>
<li><a href="https://angel.co/network">Network </a>replaces you phone&#8217;s contacts with a smart, networking app.  It promises to do away with business cards, and add contextual information to contacts.  This idea will either work spectacularly, or fail quickly.</li>
<li><a href="https://angel.co/chalkable">Chalkable</a> is building a platform to sell educational apps to schools.  I like the education space.  It&#8217;s just itching for major disruption.  Chalkable&#8217;s approach is to work top-down, by selling to schools.  That&#8217;s a challenge, but also a great barrier to entry if they succeed.  And they already have several schools using their product, so early indications are good.  I&#8217;m not sure if the &#8220;app store&#8221; model is right, but they could capture enormous value if they are simply a modern web 2.0 platform company that provides distribution through schools to children.</li>
<li><a href="https://angel.co/wanderable">Wanderable </a>is a honeymoon registry for couples who want experiences, not stuff.  From a financial perspective, I like ideas associated with weddings, since you&#8217;re capturing people at a very price insensitive moment of their lives.  And the scuttlebutt on Wanderable is the two founders (who have been close friends for a decade) are a particularly strong team.</li>
<li><a href="https://angel.co/happy-inspector">Happy Inspector</a> is probably the least sexy idea, and the one I judge &#8220;most likely to exit&#8221;.  They have an iPad app for property managers to perform inspections easily.  They already have 300 users paying monthly subscriptions.  They are in the enviable position of having customers paying them to develop more features.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2012/thoughts-from-an-angel-at-last-nights-500-startups-demo-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>This Photograph Cannot be Efficiently Priced</title>
		<link>http://www.tristara.com/blog/2012/this-photograph-cannot-be-efficiently-priced/</link>
		<comments>http://www.tristara.com/blog/2012/this-photograph-cannot-be-efficiently-priced/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 23:11:46 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=169</guid>
		<description><![CDATA[On Hacker News, I just read This Photograph Is Not Free and the response This Photograph  Is Free. &#60;tl;dr&#62; summary: Not Free: this photo cost me several thousand dollars in fixed costs, so I should be paid if you use &#8230; <a href="http://www.tristara.com/blog/2012/this-photograph-cannot-be-efficiently-priced/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>On <a href="http://news.ycombinator.com/news">Hacker News</a>, I just read <a href="http://www.petapixel.com/2012/01/10/this-photograph-is-not-free/">This Photograph Is Not Free</a> and the response<a href="http://standblog.org/blog/post/2012/01/11/This-photograph-is-free"> This Photograph  Is Free</a>.</p>
<p>&lt;tl;dr&gt; summary:</p>
<ul>
<li><a href="http://www.petapixel.com/2012/01/10/this-photograph-is-not-free/">Not Free</a>: this photo cost me several thousand dollars in fixed costs, so I should be paid if you use it.</li>
<li><a href="http://standblog.org/blog/post/2012/01/11/This-photograph-is-free">Free</a>: sure this photo cost me money, but I did it for fun and I&#8217;m happy to share it with the world.</li>
</ul>
<p>The deeper problem is there&#8217;s really no good pricing model for digital goods.</p>
<p>Specifically, production of digital goods involves a fixed cost (sometimes a very high fixed cost), but the marginal cost of copying a digital good is free.</p>
<p>How do you price something with zero marginal cost?  An every-increasing percentage of goods and services have this characteristic, so I believe<strong> solving this problem is the key economic question of our times</strong>.</p>
<p>The current approach the movie and music and software industry takes is to:</p>
<ul>
<li>Charge the price that maximizes revenue.</li>
<li>Rely on various legal and technical mechanisms to prevent copyright theft.</li>
</ul>
<p>We&#8217;re all well aware of the enormous &#8220;pain in the ass&#8221; that copyright law inflicts on us.  It sucks, it holds back innovation, etc. — but there are enough rants out there about copyrights.</p>
<p>The other big (but less discussed) issue is how to charge the appropriate price.  I believe the main inefficiency here is the price for most digital goods falls into what I call the <strong>vast chasm of impossible pricing</strong>.</p>
<p>To illustrate, let&#8217;s say I have a cool photo I want to monetize.  My options are:</p>
<ul>
<li>I can ask people to enter a credit card number and pay for it.</li>
<li>I can offer it for free, and serve ads on the side.</li>
</ul>
<p>The problem is asking for a credit card is a big deal.  The customer has to get over a purchasing friction, and the merchant has to pay a fee.  Essentially, you can&#8217;t charge anything less than around $5.</p>
<p>On the other end lie ads.  Talking orders of magnitude here, a typical CPM is $1, so if you have an ad-supported revenue model, you&#8217;re basically selling each item for $0.001.</p>
<p><strong>There&#8217;s a 5000x difference between the most you make from ads, and the least you can make from credit cards.</strong></p>
<p>So what do you do if you took a nice photo?  Or you wrote an insightful blog post?  Or you sent an investigative journalist to Iraq and wrote an article?  The fair price for whatever you did might be a nickle.  And you&#8217;d probably be happy if you got a nickle every time someone viewed you page.</p>
<p>And many people might be perfectly happy giving you a nickle in appreciation, but they don&#8217;t want to deal with the cognitive load of authorizing a transaction.</p>
<p>Imagine if we had an easy way to charge a nickle.  A very long tail of writers, photographers, musicians, and programmers would see a 50x boost in their revenue.  There&#8217;s an incredible opportunity in solving the vast chasm of impossible pricing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2012/this-photograph-cannot-be-efficiently-priced/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacker News and SaaS</title>
		<link>http://www.tristara.com/blog/2012/hacker-news-and-saas/</link>
		<comments>http://www.tristara.com/blog/2012/hacker-news-and-saas/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 18:59:53 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[hacking]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=160</guid>
		<description><![CDATA[An interesting thing happened on Hacker News yesterday that highlights some complexities around innovation and compensation in today&#8217;s world. Someone posted a link to visitor.js, which is a hosted piece of JavaScript that gives details on your visitor (like which &#8230; <a href="http://www.tristara.com/blog/2012/hacker-news-and-saas/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>An interesting thing happened on <a href="http://news.ycombinator.com/">Hacker News</a> yesterday that highlights some complexities around innovation and compensation in today&#8217;s world.</p>
<p>Someone posted a link to <a href="http://www.visitorjs.com/">visitor.js</a>, which is a hosted piece of JavaScript that gives details on your visitor (like which city they&#8217;re in, date of last visit, etc.).  The creators set it up as a paid service.  You&#8217;d have to pay at least $10 per month to use it.</p>
<p>Within hours, someone posted a free <a href="https://github.com/codejoust/visitor.js">open source version of visitor.js</a>.</p>
<p>However you feel about this emotionally, here are two facts I believe to be true:</p>
<ul>
<li>The creation of the open source version of visitor.js is good for the industry as a whole.  It&#8217;s yet another tool that developers everywhere can use and repurpose however they see fit.</li>
<li>The open source version makes it harder for the people behind the original visitor.js to make money from their efforts.  Hacker News has provided a <em>disincentive</em> for their innovation.</li>
</ul>
<p>The economics of software are funny.  If you build a service that&#8217;s really deep so no one can easily copy it (like <a href="http://www.twilio.com/">Twilio</a>), you can survive.  If you build a site that accumulates millions of users, no one can easily take them away from you even if they replicate your product.</p>
<p>But if you do something that&#8217;s kind of cool, like visitor.js, you&#8217;ve added value to the ecosystem of technical tools, but&#8230; you don&#8217;t get compensated for this value</p>
<p>This dynamic creates a world where independent developers are increasingly effective at building things, but making money from what we build is more difficult.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2012/hacker-news-and-saas/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Reflections on Starting a Company</title>
		<link>http://www.tristara.com/blog/2011/reflections-on-starting-a-company/</link>
		<comments>http://www.tristara.com/blog/2011/reflections-on-starting-a-company/#comments</comments>
		<pubDate>Sat, 10 Dec 2011 00:14:52 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=100</guid>
		<description><![CDATA[Being good in business is the most fascinating kind of art. Making money is art and working is art and good business is the best art. - Andy Warhol There&#8217;s a lot of practical advice out there on how to &#8230; <a href="http://www.tristara.com/blog/2011/reflections-on-starting-a-company/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<blockquote><p>Being good in business is the most fascinating kind of art. Making money is art and working is art and good business is the best art.<br />
- Andy Warhol</p></blockquote>
<p>There&#8217;s a lot of practical advice out there on how to run a startup.  I want to add a few personal words about some of the intellectual and emotional lessons I learned in building HitPlay.</p>
<p>Some background notes: HitPlay grew organically without investors, so I have little to say about raising money, but a lot to say about earning it.  Also, I started the company over 9 years ago, so these lessons are colored by having seen many business cycles.</p>
<h2>1) How to Overcome Fear</h2>
<p>One thing I&#8217;ve learned is <strong>everything that limits us is a form of fear or laziness</strong>.</p>
<p>Creating a startup is a lot of work, so if laziness holds you back, you&#8217;re not going to get far.</p>
<p>Fear is more complex.  If you have real financial responsibilities (like a family), the fear is valid.  But other fears, like fear of failure and fear of what other people think, is much less useful.</p>
<div class="wp-caption aligncenter" style="width: 410px"><img title="fear is the mind killer" src="http://pics.livejournal.com/swashbuckler332/pic/0000wdr4" alt="" width="400" height="322" /><p class="wp-caption-text">Fear is the mind killer</p></div>
<p>The way I overcame fear was through a simple thought experiment.  My startup could either succeed or fail.  If it succeeded, fantastic.  But, I realized, even if it failed, I would be happy I tried.  <strong>I&#8217;d rather be the guy who tried and failed than the one who never tried at all</strong>.</p>
<p>Once I made this realization, I had no intellectual reason to not do a startup.</p>
<h2>2) Ownership Feels Great</h2>
<p>One of the immediate (but not predicted) joys of starting my own company was how great ownership felt.</p>
<p>As an employee, my job was a means to make money.  I did what my boss asked, and I did it competently.  But I didn&#8217;t invest much energy into my work.  I just didn&#8217;t care that much.</p>
<p>Now that I was working on the product I conceived, for the company I started, I was in a whole new world.  I took pride in every line of code, in every pixel on the screen.  I wasn&#8217;t just slinging code.  <strong>I was nurturing my baby.</strong></p>
<p>I also took pleasure in the accumulative nature of building.  In other words, I could work all day and make a minor but distinct improvement — and this improvement would be present every day in the future.  I felt like I was rolling a big ball, and every day I was increasing its speed.</p>
<h2>3) How to Work Without Direction</h2>
<p>When you work for someone else, you&#8217;re given direction.  For the first few months of my company, I was still of this mindset.  I kept wanting someone to tell me what to do.</p>
<p>This lack of direction is a double-edged sword.  On one hand, it&#8217;s liberating and empowering.  But it&#8217;s also overwhelming.</p>
<p style="text-align: center;"><img class="aligncenter" title="Choices" src="http://www.dmn3.com/images/blog/Too%20many%20choices.jpg" alt="" width="384" height="306" /></p>
<p>What makes it so overwhelming is <strong>you have no constraints on your set of choices</strong>.  Do you want to build a certain feature?  Spend your time optimizing page load speed?  Do a Google Ad Word experiment?  Look for someone to hire with expertise in marketing?  Pivot to a new business model?  Paint your company&#8217;s name on your body and run naked through the superbowl?  It&#8217;s up to you.</p>
<h2>4) It&#8217;s Lonely without a Co-Founder</h2>
<p>I threw myself entirely into my company, and I obsessed about everything.</p>
<p>The problem is no one else really cares if your border radius is 3 or 5 pixels.  Or whether you should pay slightly more for bandwidth in exchange for a lower commit level.</p>
<p style="text-align: center;"><img class="aligncenter" title="Lonely" src="http://drthomreece.files.wordpress.com/2011/03/lonely-man.jpg" alt="" width="407" height="297" /></p>
<p>When you run a startup, <strong>you&#8217;re making tons of decisions that are vital to the business, but meaningless to everyone else not in the trenches with you</strong>.</p>
<p>A few months into my startup, one of my friends joined me, and I was much happier because I finally had someone who cared as much as I did.</p>
<h2>5) Your Company will Live or Die by Traffic</h2>
<p>The single most important and most difficult problem to solve for any consumer oriented web site is how to get traffic.</p>
<p style="text-align: center;"><img class="aligncenter" title="Traffic" src="http://images.ookaboo.com/photo/m/Shibuya_night_m.jpg" alt="" width="384" height="286" /></p>
<p><strong>In my naïveté, I thought all I had to do was build a product people were willing to pay for</strong>.  I didn&#8217;t ask myself how I would get those people to my site in the first place.</p>
<p>And advertising didn&#8217;t work.  Ad rates are set by the highest bidder, so I could only make money to the extent that I out monetized everyone else.  I couldn&#8217;t compete in pure monetization, unless the ads were so precisely targeted that the ad volume was negligible.</p>
<h2>6) The Secret to your Success is not Public Knowledge</h2>
<p>You cannot analytically derive a plan to success.  Because if you could, then so could other people, and the opportunity would be arbitraged away.</p>
<p><img class="aligncenter" title="profit" src="http://t1.gstatic.com/images?q=tbn:ANd9GcTpgTkhn7ZZmiRNk9vvjZPxy7zdbMv4b1PGOSIeCvzwB6WyfDqMAXvTcWtk6Q" alt="" width="258" height="195" /></p>
<p>To win, <strong>you&#8217;ll have to stumble into something not publicly known</strong>.  For instance, when Google started, no one thought search was going to be big.  Or a company called ThePoint observed that lots of people were using their group action platform to coordinate purchases, so they started Groupon.</p>
<p>You&#8217;ll need to <a href="http://www.codusoperandi.com/posts/increasing-your-luck-surface-area">increase the surface area of your luck</a>, and keep a close eye on your analytics to see if there&#8217;s a pattern you can exploit.</p>
<h2>7) Hiring is a Big Deal</h2>
<p>In my case, we took little funding and grew organically for years before we made enough to hire people.  The change from just a couple founders to a team of employees was the most challenging transition in the company&#8217;s history.</p>
<p>Partly, it was challenging because I had no management experience.  Also, my product was my baby, and I had a hard time letting go.  Nonetheless, <strong>before hiring, your effectiveness is determined by what you do.  After hiring, it&#8217;s measured by what you get other people to do.  And that changes everything</strong>.</p>
<p style="text-align: center;"><img class="aligncenter" title="Hiring" src="http://cache.blippitt.com/wp-content/uploads/2010/10/Office-Space-Melvin.jpg" alt="" width="360" height="282" /></p>
<p>I could write a dozen posts going into specifics, but some books that helped include <a href="http://www.amazon.com/What-Got-Here-Wont-There/dp/1401301304">What Got You Here Won&#8217;t Get You There</a>, <a href="http://www.amazon.com/Tribal-Leadership-Leveraging-Thriving-Organization/dp/0061251321/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1323474739&amp;sr=1-1">Tribal Leadership</a>, and <a href="http://www.amazon.com/Good-Great-Companies-Leap-Others/dp/0066620996/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1323474757&amp;sr=1-1">Good to Great</a>.</p>
<h2>8) Your Most Enduring Asset is Your Reputation</h2>
<p>Over the years, money comes and goes.  Markets change, businesses follow cycles.</p>
<p><strong>What lasts are the relationships you cultivate</strong>, and the integrity with which you operate.</p>
<p>Check your ego at the door.  Don&#8217;t focus on how big your slice of the pie is; rather, focus on growing the pie.  Speak clearly, and act transparently.  Over the years, you&#8217;ll grow a network of people who like working with you and trust you.</p>
<h2>9) If You&#8217;re Not Having Fun, You&#8217;re Doing Something Wrong</h2>
<p>Time spent at your startup should be in service to your life, not vice versa.  You commit to a startup, but <strong>you have a deeper commitment to find whatever gives you meaning and satisfaction</strong>.</p>
<p>One of my favorite Steve Jobs quotes is</p>
<blockquote><p>I have looked in the mirror every morning and asked myself: &#8220;If today were the last day of my life, would I want to do what I am about to do today?&#8221; And whenever the answer has been &#8220;No&#8221; for too many days in a row, I know I need to change something.</p></blockquote>
<p>Note: as Steve said, sometimes you have to do things that aren&#8217;t pleasant.  You just deal with it.  But if you&#8217;re doing unpleasant things <em>too many days in a row</em>, you should make a change.</p>
<h2>In Conclusion</h2>
<p>Running a startup is lonely, filled with stress, often not glamorous, and has a high chance of failure.  But it&#8217;s betting on yourself.  So if you&#8217;re crazy enough to do it, I sincerely wish you the best luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2011/reflections-on-starting-a-company/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Fun with Reddit Image Data</title>
		<link>http://www.tristara.com/blog/2011/fun-with-reddit-image-posts/</link>
		<comments>http://www.tristara.com/blog/2011/fun-with-reddit-image-posts/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 01:13:28 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[hacking]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=90</guid>
		<description><![CDATA[Reddit is one of my favorite sites.  It has a fantastic community that generates a wealth of interesting data. Spidering image posts to Reddit I wanted to play around with a slice of this data (image posts).  Getting all these &#8230; <a href="http://www.tristara.com/blog/2011/fun-with-reddit-image-posts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Reddit is one of my favorite sites.  It has a fantastic community that generates a wealth of interesting data.</p>
<h2>Spidering image posts to Reddit</h2>
<p><strong></strong>I wanted to play around with a slice of this data (image posts).  Getting all these images was kind of annoying, particularly because Reddit&#8217;s API only returns 1000 search results, and Reddit rate limits you to one request every two seconds.  So I wrote a cron script to suck down all new image posts every hour.</p>
<p>But I also wanted accurate scores and comment counts.  So I had another cron script re-download information on every post 1 week after it went live (to allow time to gather up/down votes and comments).</p>
<p>I wish Reddit would distribute an occasional database snapshot.  That would be a great data source to play with.  But, alas, they don&#8217;t, so I&#8217;ve had these scripts running for about 5 months.</p>
<p><strong>If you&#8217;d like to play with the image links I spidered, you can use my snapshot (230,248 images, 19 megs compressed, JSON output from SOLR):</strong></p>
<h1 style="text-align: center;"><strong><a title="links" href="/images/links.json.gz">links.json.gz</a></strong></h1>
<p>The structure of each entry looks like:</p>
<pre>{
        "permalink":"/r/pics/comments/jjpng/the_singlemost_sad_moment_of_my_childhood/",
        "author":"A_Slow_Descent",
        "url":"http://i.imgur.com/Gmjyq.gif",
        "num_comments":3,
        "sequence":628406,
        "subreddit":"pics",
        "score":4,
        "over_18":0,
        "title":"the single-most sad moment of my childhood",
        "thumbnail":"http://thumbs.reddit.com/t3_jjpng.png"
}</pre>
<h2></h2>
<h2>Example Application</h2>
<p>I wanted to build something that surfaced interesting new photos with minimal effort.  Reddit is great first thing in the morning when it&#8217;s full of fresh content.  <strong>But what if I want to goof off and it&#8217;s only been 15 minutes since I last browsed Reddit?</strong></p>
<p>I can keep paginating further and further away from the front page.  But them I&#8217;m constantly scanning links to see if I&#8217;ve visited them.  And there&#8217;s no way to tell when new content is on the front page.</p>
<p>What I really wanted was a single button that I could click as much as I wanted, each time getting a new photo.  I don&#8217;t really care to see the most recent photo &#8212; just give me a reasonably good one, and make it easy to keep seeing more.</p>
<h1 style="text-align: center;"><a href="http://www.tristara.com/fun_pics">Try it out!</a></h1>
<h2><a href="http://www.tristara.com/fun_pics"><img class="aligncenter size-full wp-image-93" title="reddit-viewer" src="http://www.tristara.com/blog/wp-content/uploads/2011/12/reddit-viewer.jpg" alt="" width="500" height="425" /></a></h2>
<p><strong>Random Next</strong></p>
<p>Every time you want a new image, just click the &#8220;NEXT&#8221; button.  To make that work:</p>
<ul>
<li>I threw the content into a SOLR index, which allows filtering by subreddit as well as random sorting.</li>
<li>JavaScript handles resizing images (for smooth user experience), randomizing SOLR results (so you get a new path even if you reload the page), and updating the DOM with the image.</li>
<li>To improve quality, the default view filters out images with a score under 100 (which eliminates the bottom 80%).</li>
</ul>
<p><strong>Synchronized Viewing Experience</strong></p>
<p>Perhaps the most novel feature is &#8220;synchronized viewing&#8221;.  Everyone who visits the image-viewing page gets a distinct channel as a URL.  If you share this URL with a friend, you&#8217;ll see the same images.  Each time one of you clicks &#8220;NEXT&#8221;, you&#8217;ll both see the same new image.</p>
<p>To build this feature, I used <a href="http://www.pubnub.com/">PubNub</a>, which is a great service to publishing and subscribing to channels.  It&#8217;s really easy to set up.</p>
<p>Every time someone visits the page, I give them a random channel (if they don&#8217;t already have one).  And then every time they view another image, I publish that image&#8217;s id on the channel.</p>
<p>The page also subscribes to this channel, so everyone else on the same channel will receive the image id and display it.</p>
<p><strong>Results</strong></p>
<p>I found the image explorer fun when the images have immediate impact (like a beautiful landscape photo rather than a rage comic).  I also discovered lots of subreddits I never knew existed.</p>
<p>Some images I like:</p>
<div class="wp-caption aligncenter" style="width: 624px"><img class=" " title="bullet" src="http://i.imgur.com/PEuxC.jpg" alt="" width="614" height="312" /><p class="wp-caption-text">A bullet going through some M&amp;Ms</p></div>
<div class="wp-caption aligncenter" style="width: 488px"><img class="   " title="butterfly" src="http://i.imgur.com/0PvwC.jpg" alt="" width="478" height="385" /><p class="wp-caption-text">Butterfly Tongue</p></div>
<div class="wp-caption aligncenter" style="width: 345px"><img title="Just a baby hippo taking a bath" src="http://i.imgur.com/MdwqH.jpg" alt="" width="335" height="500" /><p class="wp-caption-text">Just a baby hippo taking a bath</p></div>
<div class="wp-caption aligncenter" style="width: 685px"><img class="  " title="Attack!" src="http://i.imgur.com/tuTiK.jpg" alt="" width="675" height="437" /><p class="wp-caption-text">Attack!</p></div>
<div class="wp-caption aligncenter" style="width: 408px"><img title="Sunrise reflected in a bubble" src="http://i.imgur.com/gpcGg.jpg" alt="" width="398" height="600" /><p class="wp-caption-text">Sunrise reflected in a bubble</p></div>
<div class="wp-caption aligncenter" style="width: 910px"><img title="Mount Bromo" src="http://i.imgur.com/o221U.jpg" alt="" width="900" height="602" /><p class="wp-caption-text">Mount Bromo</p></div>
<p><strong>Acknowledgements</strong></p>
<p>In addition to <a title="PubNub" href="http://www.pubnub.com">PubNub</a>, I&#8217;d also like to thank <a title="ImgUr" href="http://www.imgur.com">imgur.com</a> for hosting all these images for free.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2011/fun-with-reddit-image-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hey YouTube, Implement This!</title>
		<link>http://www.tristara.com/blog/2011/hey-youtube-implement-this/</link>
		<comments>http://www.tristara.com/blog/2011/hey-youtube-implement-this/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 23:50:49 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[hacking]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=81</guid>
		<description><![CDATA[There&#8217;s practically an infinite supply of videos on the Internet.  But there are limited ways to discover and view video content. Rather than waste words trying to explain visual concepts, let me just show you.  I took the top 1000 &#8230; <a href="http://www.tristara.com/blog/2011/hey-youtube-implement-this/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>There&#8217;s practically an infinite supply of videos on the Internet.  But there are limited ways to discover and view video content.</p>
<p>Rather than waste words trying to explain visual concepts, let me just show you.  I took the top 1000 videos of all time on YouTube, and threw them into <a href="http://www.tristara.com/video_wall">this special player I built</a>:</p>
<h1 style="text-align: center;"><a href="http://www.tristara.com/video_wall">Try it out!</a></h1>
<p style="text-align: left;"><a href="http://www.tristara.com/video_wall"><img class="aligncenter size-full wp-image-82" title="flow-mode" src="http://www.tristara.com/blog/wp-content/uploads/2011/12/flow-mode.jpg" alt="" width="500" height="296" /></a>Play around with it for a while, then come back to me.</p>
<h2 style="text-align: left;">The Product</h2>
<p style="text-align: left;"><strong>People are great at processing moving images</strong>.  And we should be, since our visual cortex takes up 1/3 of our brains.  I wanted to create a viewing experience that took advantage of all this neural hardware.  I wanted users to feel a pleasant flow as they decide what to watch, and quickly jump from video to video.</p>
<p style="text-align: left;">To that end, I implemented the minimum set of features to provide this experience.  I didn&#8217;t want any other features — such as a speed control — that might introduce an additional cognitive loop.  I want viewers to just let the visual data flow, and not concern themselves about whether to speed up or reverse the stream.</p>
<p style="text-align: left;">Another aspect of the user experience, is <strong>the flow is infinite</strong>.  The players shows random slices of random videos, and it goes on forever.  1000 videos is only a tiny fraction of YouTube&#8217;s library (much less the entire web&#8217;s library).  But you can watch this player for a long time without the content losing its novelty.</p>
<h2 style="text-align: left;">The Technology</h2>
<p style="text-align: left;">Some highlights from the technical side:</p>
<ul>
<li>I use ActionScript because I had code with a polished player interface (i.e., displaying thumbnails while scrubbing the video).  The main reason to use html5 vs. ActionScript is to run on iOS devices.  But the browser on iOS doesn&#8217;t let you embed playing videos into a page, so it wouldn&#8217;t have worked on those devices anyway.  For what it&#8217;s worth, I really enjoy working in ActionScript, and I&#8217;m sad it&#8217;s going away.  But that&#8217;s a topic for another post.</li>
<li>The player takes advantage of high bandwidth.  Broadband speeds have been quietly increasing over the past few years.  Most people have much bigger pipes than a typical video play uses.  For instance, a DVD-quality video stream is roughly 1000 kilobits per second (or kbps).  I&#8217;ve got a cable modem, and I just measured over 20,000 kilobits per second.  In other words, my computer could stream 20 DVD-quality videos at once.</li>
<li>All the thumbnail videos you see scrolling by are compressed to 50 kbps (they&#8217;re 160&#215;120 pixels with no audio).</li>
<li>I used YouTube&#8217;s API to get these videos, but unfortunately, their API only returns 1000 search results.  So I have no practical way of adding more content.  I really wish API designers would allow access to entire content libraries, but that&#8217;s also a topic for another post :)</li>
</ul>
<h2>Next Steps</h2>
<p>I would love to see this &#8220;video wall&#8221; player as an option on all video sites.  I think it works really well with the enhanced interactivity possible on the Internet.</p>
<p>Technically, I can hook this player into different content libraries.  But there are a couple practical obstacles.</p>
<p>First, to make scrubbing work well, I need sprites that show different frame from the video.  Second, I need tiny 50 kbps thumbnail streams that show the videos scrolling across the wall.  For full integration, the site hosting the content needs to generate the sprites and tiny videos as part of their encoding pipeline.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2011/hey-youtube-implement-this/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Search vs. Browse</title>
		<link>http://www.tristara.com/blog/2011/presenting-content-for-browsing/</link>
		<comments>http://www.tristara.com/blog/2011/presenting-content-for-browsing/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 04:11:01 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[hacking]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=46</guid>
		<description><![CDATA[The two dominant metaphors for exploring information are searching and browsing.  Search is great when you have a clear intention behind what you&#8217;re looking for, and the information is well structured.  The &#8220;clear intention&#8221; often involves spending money, and that&#8217;s why &#8230; <a href="http://www.tristara.com/blog/2011/presenting-content-for-browsing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The two dominant metaphors for exploring information are <strong>searching</strong> and <strong>browsing</strong>.  Search is great when you have a clear intention behind what you&#8217;re looking for, and the information is well structured.  The &#8220;clear intention&#8221; often involves spending money, and that&#8217;s why Google is a $200 billion company.</p>
<p><strong>But I&#8217;ve always had a soft spot for browsing</strong>.  When browsing, your intention is often a more diffuse desire for entertainment.  The information can be unstructured, like images and videos.  <strong>Search is serious, browse is fun</strong>.</p>
<p>In particular, I find browsing an interesting problem when your set of content is so large as to essentially be infinite.  I&#8217;ll go into more detail on aspects of browsing infinite content, but first here are some concepts that guide how I approach browsing.</p>
<h2>Content</h2>
<p>Content is the set of items available for browsing.  On Netflix, it&#8217;s the movie library.  On Facebook, it&#8217;s all the posts that are visible to you.</p>
<h2>Filters</h2>
<p>A filter is a subset of the content.  Common filters include:</p>
<ul>
<li><strong>Text searches</strong></li>
<li><strong>Categories matching</strong></li>
<li><strong>Recommendations</strong> (or other relevancy filtering)</li>
<li><strong>Date ranges</strong></li>
</ul>
<h2>Sorts</h2>
<p>Once you apply a filter, you need to sort the results.  Now things get a little more interesting, based on how you sort:</p>
<ul>
<li><strong>Alphabetically</strong> &#8212; rarely the right choice.  Even in the case of searching text, you&#8217;re better off sorting by relevancy (which any decent text indexing tool like solr will provide).</li>
<li><strong>Most popular</strong> &#8212; good in that you&#8217;re showing high-quality results, but bad in that the &#8220;most popular&#8221; view doesn&#8217;t change often.  If a user is likely to look at this slice of content regularly, you need to shake it up.  Some sites solve the problem of stale results by combining a &#8220;most popular&#8221; sort with a &#8220;content added in past week&#8221; filter.</li>
<li><strong>Most recent</strong> &#8212; opposite trade off from &#8220;more popular&#8221;.  You get dynamic results, but their quality is low.  Works well if timeliness is important and the user has other ways of pruning the content for quality (like your Twitter feed).</li>
<li><strong>Recently popular</strong> &#8212; I personally like to blend popularity and recency.  The easiest way to blend these two metrics is to discount the popularity of each piece of content by its age like so: <img src='http://s.wordpress.com/latex.php?latex=recently%5C_popular_%7Bi%7D%20%3D%20%5Cfrac%7Bpopular_%7Bi%7D%7D%20%7Bage_%7Bi%7D%20%2B%20k%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='recently\_popular_{i} = \frac{popular_{i}} {age_{i} + k}' title='recently\_popular_{i} = \frac{popular_{i}} {age_{i} + k}' class='latex' />, where k is a constant that modulates how drastically popularity falls off with age.  It&#8217;s inherently subjective, so you&#8217;ll need to dial it in.</li>
<li><strong>Random</strong> &#8212; rarely seen, but can be a great choice if the novelty is the most important factor in the user experience.</li>
</ul>
<h2>Views</h2>
<p>Now that we&#8217;ve filtered and sorted, there are interesting and underappreciated choices involved in how to display the content.</p>
<ul>
<li><strong>Fixed number per page or infinite scroll?</strong>  Infinite scroll has become fashionable in the past couple years, but it&#8217;s not without drawbacks.  As you add more elements to the page, it becomes heavier and less responsive. An even bigger issue with infinite scroll is state is lost when a user clicks to view details on something, and then clicks back.</li>
<li><strong>What meta data to show?</strong>  It&#8217;s easy to scan information in the browse page, so all the stakeholders involved in the project will likely argue for their piece to get on the browse page.  But you also don&#8217;t want a cluttered look.</li>
</ul>
<h2>Default Values</h2>
<p>One thing I&#8217;ve learned from watching users interact with web sites is the vast majority of them (like 95%) never change default values.  This is so important, I&#8217;ll say it again: <strong>your users will not change default values</strong>.</p>
<p>So while you could present lots of choices on how to filter and sort and view, the only one that matters is the default.</p>
<h2>Infinite Content</h2>
<p>As I mentioned earlier, I find some of these choices around browsing interesting in domains where there is so much content as to be essentially infinite, and when the user is just seeking novelty.</p>
<p>Here are a couple examples:</p>
<ul>
<li><a href="http://www.tristara.com/video_wall">An endless flow of videos</a>, which serves random moments from the top 1000 YouTube videos of all time.  It&#8217;s instantly engaging &#8212; no need to think about what you want to watch.</li>
<li><a href="http://www.tristara.com/fun_pics">A social way to browse pictures</a>.  I got these pictures from Reddit, which is one of my favorite sites.  But I often get frustrated browsing pictures on Reddit, because their &#8220;recently popular&#8221; sort doesn&#8217;t change enough.  I wanted an interface with a simple &#8220;NEXT&#8221; button to give me a fix whenever I click.</li>
</ul>
<h2></h2>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2011/presenting-content-for-browsing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Utility of Perspectives</title>
		<link>http://www.tristara.com/blog/2011/the-most-unappreciated-power/</link>
		<comments>http://www.tristara.com/blog/2011/the-most-unappreciated-power/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 00:50:32 +0000</pubDate>
		<dc:creator>Joshua Seims</dc:creator>
				<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.tristara.com/blog/?p=15</guid>
		<description><![CDATA[There are some oddities in the perspective with which we see the world. The fact that we live at the bottom of a deep gravity well, on the surface of a gas covered planet going around a nuclear fireball 90 million &#8230; <a href="http://www.tristara.com/blog/2011/the-most-unappreciated-power/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<blockquote><p><strong>There are some oddities in the perspective with which we see the world.</strong> The fact that we live at the bottom of a deep gravity well, on the surface of a gas covered planet going around a nuclear fireball 90 million miles away and think this to be normal is obviously some indication of how skewed our perspective tends to be, but we have done various things over intellectual history to slowly correct some of our misapprehensions.<br />
<em>- Douglas Adams</em></p></blockquote>
<p>My parents were in the foreign service, so I moved around a lot as a child.  I spent years living in such places as Senegal, Egypt, and Bolivia.</p>
<p>Perhaps because of this background, I&#8217;ve always been aware of different people&#8217;s perspectives.  Not only does everyone have a different perspective, but<strong> the <em>range</em> of perspectives that intelligent people can possess is vast</strong>.</p>
<p>As the anthropologist Walter Goldschmidt wrote:</p>
<blockquote><p>Anthropology has taught us that the world is differently defined in different places. It is not only that people have different customs; it is not only that people believe in different gods and expect different post-mortem fates. It is, rather, that the worlds of different peoples have different shapes. The very metaphysical presuppositions differ: space does not conform to Euclidean geometry, time does not form a continuous unidirectional flow, causation does not conform to Aristotelian logic, man is not differentiated from non-man or life from death, as in our world.</p></blockquote>
<p>Now maybe you&#8217;re thinking &#8220;yeah yeah, I know, intelligent people can disagree about things and other cultures are really different, but <strong>how is this relevant to <em>my </em>life?</strong>&#8220;</p>
<p>I&#8217;ll give you two ways: authority and power.</p>
<p><strong>On authority</strong>: since there are so many different but valid ways of seeing things, no one else can lay claim to ultimate truth.  Everyone else is just making things up as they go along.  So it&#8217;s up to you to construct your own world view.  Figure out what perspectives resonate with you, and become your own authority figure.</p>
<p><strong>On power</strong>: you have limited power over the external world.  Sure, you can move your limbs this way and that.  Can you make millions of dollars and retire rich?  Maybe, but that&#8217;s hard.  And good luck trying to make yourself younger.</p>
<p>But you have a lot of power over the perspectives you employ in dealing with the world.  And your perspectives shape your attitude, which shapes your internal reality.</p>
<p>In other words, if you can cultivate a persistent attitude that &#8220;life is an amazing gift and I&#8217;m just so grateful that I have these few years to enjoy it&#8221;,<strong> that attitude will make you happier than a bitter attitude plus all the money in the world</strong>.</p>
<p>Successfully cultivating a new attitude isn&#8217;t easy, but it <em>is</em> possible and is in fact easier than a lot of goals we burn ourselves out trying to achieve (see above on &#8220;make millions of dollars and retire rich&#8221;).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tristara.com/blog/2011/the-most-unappreciated-power/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
