<?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>~clay &#187; Uncategorized</title>
	<atom:link href="http://daemons.net/~clay/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://daemons.net/~clay</link>
	<description>merely my musings</description>
	<lastBuildDate>Mon, 10 May 2010 17:48:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>What I learned about starting a web company</title>
		<link>http://daemons.net/~clay/2010/04/30/what-i-learned-about-starting-a-web-company/</link>
		<comments>http://daemons.net/~clay/2010/04/30/what-i-learned-about-starting-a-web-company/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 20:43:57 +0000</pubDate>
		<dc:creator>clay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://daemons.net/~clay/?p=370</guid>
		<description><![CDATA[
Don&#8217;t expect other people to be as enthusiastic about your project as you are, and don&#8217;t let their indifference infect you.
Don&#8217;t hand the ball to non-founders and expect them to run with it. You&#8217;ll have to make everything happen yourself, even if you&#8217;re paying people.
Don&#8217;t hire a graphic designer if what you want is an [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Don&#8217;t expect other people to be as enthusiastic about your project as you are, and don&#8217;t let their indifference infect you.</li>
<li>Don&#8217;t hand the ball to non-founders and expect them to run with it. You&#8217;ll have to make everything happen yourself, even if you&#8217;re paying people.</li>
<li>Don&#8217;t hire a graphic designer if what you want is an illustrator.</li>
<li>Be very critical of your design—you have to live with it for a long time.</li>
<li>Make sure you know your co-founders&#8217; commitment levels up front, in terms of time and money.</li>
<li>Starting a company is not the right time to learn new skills or technologies: pick people who know what they&#8217;re doing.</li>
<li>Don&#8217;t go into business with someone you haven&#8217;t known for a while. It takes a while to learn someone&#8217;s strengths and weaknesses.</li>
<li>Know the difference between a hobby and a business.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://daemons.net/~clay/2010/04/30/what-i-learned-about-starting-a-web-company/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reimagining social messaging</title>
		<link>http://daemons.net/~clay/2010/03/11/reimagining-social-messaging/</link>
		<comments>http://daemons.net/~clay/2010/03/11/reimagining-social-messaging/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 00:08:29 +0000</pubDate>
		<dc:creator>clay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[tennismatch]]></category>

		<guid isPermaLink="false">http://daemons.net/~clay/?p=363</guid>
		<description><![CDATA[We&#8217;re building a social utility for tennis players, called TennisMatch. I say social utility and not social network because, while we have all the features you&#8217;d expect from a social network, our goal is to help tennis players make new connections and set up tennis matches—to be useful, and not just fun.
One of the most [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re building a social utility for tennis players, called <a href="http://tennismatch.com">TennisMatch</a>. I say social utility and not social network because, while we have all the features you&#8217;d expect from a social network, our goal is to help tennis players make new connections and set up tennis matches—to be useful, and not just fun.</p>
<p>One of the most useful features we offer, not surprisingly, is messaging—the ability for one tennis player to contact another, whether to schedule a match, get directions to a court, find a tournament partner, or just to say hello. When we designed our messaging platform, our first instinct was to follow the de facto standard Inbox convention, found in nearly all email clients and replicated on social networks like Facebook and LinkedIn.</p>
<p>But the Inbox model leaves some things to be desired. You&#8217;d like to be able to group related messages into conversations, and not have to bother with cumbersome folder-oriented organizational schemes. Google delivered innovative solutions to these problems when they built Gmail: messages are threaded into conversations automatically, and Google-powered search makes it easy to find archived emails.</p>
<p>So we refined our design for <a href="http://tennismatch.com">TennisMatch</a> messaging, adopting a conversation-based approach. Because it was simpler to implement at the time, we opted not to include a subject field in our database, and to only allow one conversation per pair of users. We planned to go back and add support for subjects and multiple conversations in subsequent iterations, but after looking at what we had built, we realized that our messaging feature worked very much like the iPhone&#8217;s Messages app, which has no subjects and only one conversation per contact. Since that design seems to work well on the iPhone, we decided to explore that paradigm a bit.</p>
<p>Text messages are limited to 160 characters. Adding a subject line to each message would eat into the available message size, but I think there&#8217;s another reason the telco engineers who designed SMS opted not to support subjects: they just slow you down. There&#8217;s the obvious fact that typing on a mobile device isn&#8217;t speedy, but there&#8217;s also the cognitive burden of having to summarize what you&#8217;re about to say before you say it that makes it take longer to send a message with a subject line. And, since text messages are short enough as it is, there&#8217;s really no reason to summarize them with a subject.</p>
<p>Thinking about how tennis players would use messaging on <a href="http://tennismatch.com">TennisMatch</a>, we suspected that most messages would be short and conversational, much like text messages. &#8220;Do you want to play today?&#8221; and &#8220;Sure, I&#8217;m free after work. I&#8217;ll reserve us a court at Piedmont Park&#8221; seemed like common use cases for our players. We couldn&#8217;t think of many examples of where having a subject line would make the message more meaningful. And without subject lines, it doesn&#8217;t make much sense to have multiple conversations going.</p>
<p>Like many other web apps, we send an email notification when a user receives a new message. If the user has given us their mobile number, we&#8217;ll also send them a text. That can be great for keeping on top of your inbox, but if you get engaged in a back-and-forth conversation with someone, all those notifications can be really annoying. That&#8217;s a situation I&#8217;ve sometimes found myself in with Twitter direct messages—I want to get a text when someone first DMs me, but not after every subsequent DM.</p>
<p>The solution seems straight-forward: if you&#8217;re not logged in to <a href="http://tennismatch.com">TennisMatch</a>, we&#8217;ll send you a notification when someone sends you a message, but if you are logged in, we&#8217;ll just update the unread message count in the page header. As a convenience, if you happen to be on the conversations page when someone sends you a message, we&#8217;ll dynamically insert that message into the page. Likewise, we dynamically add any messages that you send to the page, too.</p>
<p>With those changes, our messaging interface started to look and feel a lot like chat—it&#8217;s real-time, conversation-based, subject-less message exchange. But it&#8217;s not exactly like chat. We don&#8217;t show a buddy list. We show whether the person you&#8217;re chatting with is online, but we don&#8217;t show when they&#8217;re typing.</p>
<p>Probably the biggest difference between our messaging system and chat is that on <a href="http://tennismatch.com">TennisMatch</a>, you use the same interface to send someone a message regardless if they&#8217;re online or not. You don&#8217;t have to burn the cognitive energy to figure out whether someone is online before sending them a message, like you do on other sites. If I want to send a message to a friend on Facebook, for instance, I&#8217;ll first check to see if they&#8217;re online in the chat interface, and fall back to the message interface if not.</p>
<p>So we&#8217;ve arrived at a messaging design that&#8217;s something of a hybrid between asynchronous, Inbox-style messaging and synchronous, real-time chat. When we launched our site, we were curious whether users would understand our hybrid messaging paradigm. Now that we&#8217;ve had a chance to collect some empirical data, it looks like most people do understand it well enough for it to be useful. The most common source of confusion for new users is that when they&#8217;re composing a message, pressing enter is all it takes to send the message. So we see some conversations that start with nothing but a &#8220;Hi,&#8221;. But after that first surprise, users seem to learn how the interface works.</p>
<p>I&#8217;m curious what user experience designers think of our hybrid messaging approach. Are we asking for more trouble than it&#8217;s worth by conflating two well-understood concepts—Inbox messages and chat—or could our hybrid messaging model prove to be a smash hit?</p>
]]></content:encoded>
			<wfw:commentRss>http://daemons.net/~clay/2010/03/11/reimagining-social-messaging/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jumping into the Atlanta start-up scene</title>
		<link>http://daemons.net/~clay/2010/02/09/jumping-into-the-atlanta-start-up-scene/</link>
		<comments>http://daemons.net/~clay/2010/02/09/jumping-into-the-atlanta-start-up-scene/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 06:47:29 +0000</pubDate>
		<dc:creator>clay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://daemons.net/~clay/?p=348</guid>
		<description><![CDATA[There&#8217;s no better way to meet Atlanta entrepreneurs than to become one, and there&#8217;s no better place to do that than at Atlanta Start-Up Weekend. If you haven&#8217;t heard of that, let me break it down for you: 150 people pitch 50 ideas and then start 15 companies in 3 days. Now how long those [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/gomodo"><img alt="Gomodo say: GO MORE, DO MORE" src="http://a3.twimg.com/profile_images/528095979/Screen_shot_2009-11-15_at_12.00.07_AM.png" title="Gomodo" class="alignleft" width="200" height="216" /></a>There&#8217;s no better way to meet Atlanta entrepreneurs than to become one, and there&#8217;s no better place to do that than at <a href="http://atlanta.startupweekend.org/">Atlanta Start-Up Weekend</a>. If you haven&#8217;t heard of that, let me break it down for you: 150 people pitch 50 ideas and then start 15 companies in 3 days. Now how long those companies last is anybody&#8217;s guess, but where else can you take a product from concept to launch in only three days? It&#8217;s exciting stuff, but it&#8217;s also a great way to meet other like-minded folk, and with that goal in mind I signed up for this year&#8217;s Start-Up Weekend.</p>
<p>First rule of Start-Up Weekend: it&#8217;s not a conference! It&#8217;s not like you go in and get lectured by CEOs older and richer than you. Start-up Weekend is hands-on from day one, and rightly so, because you only have a couple hours to pitch and vote on ideas before breaking into teams and building products and companies. In that way, Start-Up Weekend is *nothing* like <a href="http://startupschool.org/">Start-Up School</a>—both were time well spent, but vastly different.</p>
<p>Here&#8217;s a very stream-of-consciousness play-by-play of how the weekend went for me:</p>
<h2>Day One: The Pitch</h2>
<p>Friday around 6:00 people started rolling in, and by 7:00 the room was at capacity and tropically hot. The first round of pitches lasted maybe an hour. One by one people stood and presented their ideas. Most of them rambled but there were some great presenters in the crowd. We raised our hands in support of each idea as it was presented. I pitched a crowd-sourced translations service for web apps; didn&#8217;t get many votes, which was sort of a bummer because I could really use that tool for my current project, <a href="http://tennismatch.com">TennisMatch</a>.</p>
<p>After all ideas had been pitched, those with the most votes were selected for a second round of discussion with some time allotted for Q&#038;A. Since my idea didn&#8217;t make it to the second round, I listened for a project that might have similarities with some other concepts I had been mulling over. My ears perked up when <a href="http://twitter.com/qthrul">Jay Cuthrell</a> pitched an idea for a location-aware mobile app that would show you what&#8217;s going on near you right now. Of all the product ideas I heard that night, Jay&#8217;s idea (originally called SPACE or PAGE or AGAPE or something similarly acronymious) had the right combination of real-time, location-aware, mobile, and fun that I was looking for.</p>
<p>Also in the second round, <a href="http://twitter.com/MikeSchinkel">Mike Schinkel</a> pitched an idea for an event aggregation service, something like an Eventful–MeetUp hybrid. His idea sounded similar enough to Jay&#8217;s that the crowd suggested the ideas be merged into a super event aggregation and discovery tool. So, we went with it.</p>
<p>With the pitching complete, teams started forming. I joined Jay and Mike; my role on the team was technical, as I had a couple years hands-on experience building web apps in Django. We were also joined by a graphic designer, a lawyer, a copywriter, a tester, a marketer, and some serial entrepreneurs that I&#8217;ll neglect to name here in the interest of time—with the exception of <a href="http://twitter.com/jdawkinsatl">Justin Dawkins</a>—no relation to Richard, by the way—whom I will mention because he&#8217;s awesome <img src='http://daemons.net/~clay/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Our team convened in an ATDC conference room and began brainstorming about how the product should work. Justin and I seemed to have the same vision for a web app with a very clean UI that simply showed you what was happening near you right now, with kayak.com–style filters. Mike was less interested in the &#8220;now&#8221; component and more interested in the ability to discover MeetUp–style planned events, so we explored a concept where the central UI metaphor consisted of two prominent tabs: &#8220;Now&#8221; and &#8220;Later&#8221;. Not arriving at any consensus that evening, we decided to sleep on it and come back in the morning with ideas and name suggestions.</p>
<h2>Day Two: The Rush</h2>
<p>Still no consensus. After a few hours of trying to design a product that appealed to both Mike and Jay, we decided to rethink the merger that had brought the two ideas together, and instead approach it from the perspective of Mike&#8217;s concept as an API upon which Jay&#8217;s idea could be built. Once we recast the problem like that, it was simply a matter of splitting into teams and building two pretty straight-forward products. Justin, Jay, and I branched off and started working on the mobile, location-aware, real-time event discovery tool, while Mike and the rest of the team started designing the ultimate event aggregation service, complete with handy API.</p>
<p>We decided an iPhone app was too ambitious for a weekend project, but that a mobile-friendly web site was doable. We were behind schedule, having only begun to design our product after lunch on Saturday. Fortunately, Jay is handy with Linux and got our Linode server instance up and running lickity split, complete with Django and MySQL. And I was able to reuse the Django deployment process and work-flow that I had designed for <a href="http://tennismatch.com">TennisMatch</a>—more details to come in a future post. So we were up and running with the necessary infrastructure by that afternoon.</p>
<p>I&#8217;m not usually very creative when it comes to naming things, but inspiration hit as I was playing with combinations of the words &#8220;go&#8221; and &#8220;mobile&#8221;: Gomodo! It&#8217;s short, rolls off the tongue, sounds interesting, is unique and brandable, and conjures a logo idea featuring a Komodo dragon. So we went with it. Jay doodled a dragon and our mascot was born—fortunately, he chose an obnoxious shade of orange to replace the dragon&#8217;s original obnoxious shade of brown, which had something of a poop patina.</p>
<p>Gomodo.com was taken, but not in use—have I mentioned how much I hate domain squatters?—so we opted for something fun and short: gomodo.me. We figured that if we were wildly successful and made it into the vernacular as a verb (a la &#8220;just google it&#8221;), that it&#8217;d be sort of catchy to say &#8220;gomodo me!&#8221;</p>
<p>In technical terms, the app is pretty simple: we have two models, Event and Venue, populated by an ingestor daemon that fetches event data from event aggregation sites like Mike&#8217;s <a href="http://eventtank.com/">EventTank</a> and <a href="http://eventful.com">Eventful</a>, and searched by a simple web front-end that figures out where you are using GeoIP or Javascript location services. I worked on the app all night, more out of excitement than necessity, and had it mostly working by 6:00 AM.</p>
<h2>Day Three: The Pitch, Part Deux</h2>
<p>The first real test of Gomodo&#8217;s utility was when I pulled out my iPhone early Sunday morning, and it told me about a running group meeting for breakfast and a run at Piedmont Park at 7:00 AM—so it successfully got the time and location and showed me something relevant! Much like a director must feel when he attends his film&#8217;s premier, there&#8217;s an inescapable feeling of pride and accomplishment when you&#8217;re first able to actually use the software that you&#8217;ve written. And if for nothing else, Start-Up Weekend was worth giving up my weekend for that reason alone.</p>
<p>The rest of the day we spent polishing details and working on the UI—and on our presentation. Justin took the lead on UI design and did a bang-up job making something simple and easy with the limited time and tools at our disposal. Jay took the lead on our presentation, and did a fantastic job of keeping it short and sweet.</p>
<p>Teams were feverishly racing to finish their products before presentations, and since ours was mostly done I took some time to stroll around and see what everyone was working on. Some folks had gotten wind of the fact that I worked at Twitter and that I knew Django, so I got to help a few teams with Twitter integration, Django arcana, and the vagaries of DNS.</p>
<p>As evening rolled around, all the teams reconvened and we launched into presentations. The energy in the room was electric, and it was really fun seeing what everyone had come up with. Almost all of the teams had working demos, and many had minimum viable products with which they could start attracting real customers. At least half of the companies had changed names, and a few had changed product ideas altogether.</p>
<p>Jay presented Gomodo—you can <a href="http://www.slideshare.net/qthrul/gomodo-helps-you-quickly-find-events-near-you">check out the slide deck  here</a>. I was pretty nervous because the presentation included a live demo—but not just Jay demonstrating the app on his phone. No, he gave everyone the URL and let them try it themselves, so we had about 50 visits to the site during the presentation. It was super exciting watching the logs and seeing the app serve up events just like it was supposed to!</p>
<h2>The Aftermath</h2>
<p>Something like 15 companies and alpha-quality products came out of Start-Up Weekend 3. Many of them are still alive. Gomodo hummed along with occasional care-and-feeding for a few months. Sadly, our main source of event data (<a href="http://eventful.com">Eventful</a>) seems to have wised up and started prohibiting full event dumps, so Gomodo doesn&#8217;t return useful results any more. Neither Jay nor Justin nor I have had the time to invest in looking for other sources of event data because we&#8217;re all busy with our own start-ups and consulting gigs. I still think Gomodo is a great proof-of-concept for a real-time, location-aware, mobile event discovery app, and I&#8217;d love to pick it back up once things settle down with <a href="http://tennismatch.com">TennisMatch</a>.</p>
<p>Thanks to <a href="http://twitter.com/lance">Lance Weatherby</a> and <a href="http://twitter.com/atdc">ATDC</a> for organizing and hosting such a valuable event. It&#8217;s great to know that the Atlanta start-up scene is alive and well. With the connections I&#8217;ve made over the weekend, I have no doubt that Atlanta is the best place to bring <a href="http://tennismatch.com">TennisMatch</a> to life.</p>
<p>[Ed note: this post is rather late. But hey, I'm starting a company, so the blog's pretty low priority.]</p>
]]></content:encoded>
			<wfw:commentRss>http://daemons.net/~clay/2010/02/09/jumping-into-the-atlanta-start-up-scene/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
