<?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>Smarterware &#187; Software</title>
	<atom:link href="http://smarterware.org/category/software/feed" rel="self" type="application/rss+xml" />
	<link>http://smarterware.org</link>
	<description>A blog about software</description>
	<lastBuildDate>Mon, 06 Feb 2012 18:07:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Invisible Autoupdater: An App&#8217;s Best Feature</title>
		<link>http://smarterware.org/8529/an-invisible-auto-updater-is-an-apps-best-feature</link>
		<comments>http://smarterware.org/8529/an-invisible-auto-updater-is-an-apps-best-feature#comments</comments>
		<pubDate>Wed, 31 Aug 2011 19:01:26 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[brief]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=8529</guid>
		<description><![CDATA[Link: Invisible Autoupdater: An App&#8217;s Best FeatureBen Goodger, writing about Chrome: Autoupdate is one of Chrome's killer features. It is magical because it continuously updates an entire development platform invisibly, frequently. Supporting it has driven how we structure our development processes. It was also one of Chrome's first features. Delving back into project history long [...]]]></description>
			<content:encoded><![CDATA[<p>Link: <a href="https://plus.google.com/105636695715347097518/posts/G9hbCEMC2wF">Invisible Autoupdater: An App&#8217;s Best Feature</a></p><p>Ben Goodger, writing about Chrome:</p>
<blockquote><p>Autoupdate is one of Chrome's killer features. It is magical because it continuously updates an entire development platform invisibly, frequently. Supporting it has driven how we structure our development processes. It was also one of Chrome's first features. Delving back into project history long before we launched publicly in 2008, the autoupdate project was one of the very first we started working on. The idea was to give people a blank window with an autoupdater. If they installed that, over time the blank window would grow into a browser. And today, some five years after our autoupdater started updating a mostly blank window that could barely load webpages, it is now an engine for delivering an incredibly sophisticated web technology platform onto our users' computers, which in turn allo</p></blockquote>
<p>If I could start building <a href="http://thinkupapp.com">ThinkUp</a> all over again, I would've built its autoupdater first. No app should annoy users with the work of downloading and installing a new release; it's a big reason why app stores are a better way to get software. Speaking of, you should <a href="http://expertlabs.org/2011/08/thinkup-beta-15-the-facebook-release.html">download ThinkUp beta 15 right now</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/8529/an-invisible-auto-updater-is-an-apps-best-feature/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Tapioca Straitjacket</title>
		<link>http://smarterware.org/7779/tapioca-straitjacket</link>
		<comments>http://smarterware.org/7779/tapioca-straitjacket#comments</comments>
		<pubDate>Wed, 06 Apr 2011 15:45:26 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Webapps]]></category>
		<category><![CDATA[brief]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Facebook Comments]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=7779</guid>
		<description><![CDATA[From Jon Evans' epic rant about Facebook Comments: God forbid that they even pay lip service to the notion that users might perhaps be given options—for then they might start to use them, and then where would we be? Sheer anarchy! Far better to reduce everything to a single dumbed-down inescapable standard, relentlessly mediocre and [...]]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://techcrunch.com/2011/04/03/facebook-comments-epitomizes-everything-i-hate-about-facebook/">Jon Evans' epic rant about Facebook Comments</a>:</p>
<blockquote><p>God forbid that they even pay lip service to the notion that users might perhaps be given options—for then they might start to use them, and then where would we be? Sheer anarchy! Far better to reduce everything to a single dumbed-down inescapable standard, relentlessly mediocre and devoid of any color or possibility, like a tapioca straitjacket.</p></blockquote>
<p>I haven't used Facebook Comments, but every day I wrestle with whether or not ThinkUp should have yet another configurable user setting, or if the software should just decide what's best by default. The next time that comes up, I'm going to think about that tapioca straitjacket. (Worth noting that Evans does admit Facebook Comments reduced trolling at TechCrunch, and that if he were setting up a new site he'd use it again.)</p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/7779/tapioca-straitjacket/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Designers, Women, and Hostility in Open Source</title>
		<link>http://smarterware.org/7550/designers-women-and-hostility-in-open-source</link>
		<comments>http://smarterware.org/7550/designers-women-and-hostility-in-open-source#comments</comments>
		<pubDate>Wed, 23 Mar 2011 17:15:24 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[feminism]]></category>
		<category><![CDATA[inclusiveness]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=7550</guid>
		<description><![CDATA[After working in technology for 17 years now, I can assure you: constantly being the only woman in the room stinks. Since I usually am, one of my career goals is to surround myself with capable women technologists as well as men. It's not easy, but it's important&#8212;and not just because I'm lonely, but because [...]]]></description>
			<content:encoded><![CDATA[<p>After working in technology for 17 years now, I can assure you: constantly being the only woman in the room stinks. Since I usually am, one of my career goals is to surround myself with capable women technologists <em>as well as</em> men. It's not easy, but it's important&mdash;and not just because I'm lonely, but because I make stuff, and creations reflect their makers. The tech industry is by and large a boys' club, and that's a shame, because homogenous teams turn out one-dimensional products. Diverse teams are better-equipped to make things that shine because they serve a wide range of people. (Related: <a href="http://smarterware.org/7388/the-case-against-drop-down-identities">The Case Against Drop-down Identities</a>.)</p>
<p>At <a href="http://lifehacker.com">Lifehacker</a>, my original vision was to create a new kind of tech blog, one that wasn't yet another "boys worshipping tech toys" site, one that was helpful, friendly, and welcoming versus snarky, sensational, and cutting. (That was no small task in the <a href="http://gawker.com">Gawker</a>-verse, and I learned much in the process.) Today at <a href="http://thinkupapp.com">ThinkUp</a>, I have a similar goal. We encourage contributions not only by <a href="http://smarterware.org/5718/encouraging-diversity-in-open-source">women</a>, but open source newbies and non-usual suspects of all stripes: designers, user experience experts, writers, students, and enthusiastic users. We <a href="http://thinkupapp.com">explicitly identify inclusiveness</a> as one of the best characteristics of our small, up-and-coming community. Still, uptake is slow, the on-ramp steep, and for me, it constantly begs the question: what we can do better? </p>
<p>That's why an essay by UX designer Vitorio Miliano, <a href="http://vi.to/designers-and-women-in-open-source.html">Designers and Women in Open Source</a>, caught my eye. Miliano theorizes that there aren't many designers in the open source world for the same reasons there aren't many women: because open source communities alienate non-coders and newbies by design. He <a href="http://vi.to/designers-and-women-in-open-source.html">writes</a>:</p>
<blockquote><p>I believe the problems with open source not being able to handle non-programmers in their projects is the same problem as the rampant sexism: open source culture is not feminist. Feminism is fundamentally about equality for <i>everyone</i>, not just women, and designers of any gender are just as alienated as women programmers, because it’s not an equally welcoming environment. There’s no perceived value in open source for mentoring, facilitation, disciplining of unruly users, training of newcomers or non-technical users, etc., which are needed to support both designers of any gender and women in any role.</p></blockquote>
<p>That's a punch in the gut for OSS leaders who work hard, often in their spare time, to create a democratic process and collaborative workflow for total strangers located around the world to create something as complex and technical as software. (Especially those of us who identify as feminists.)</p>
<p>But Miliano's right. And as far as I can see, it's up to OSS leaders to work even harder to redesign their communities to <i>encourage</i> diversity instead of prevent it. Because it helps me to think aloud and write things out, here are some approaches we've implemented, discussed, or are considering at ThinkUp.</p>
<p><span id="more-7550"></span></p>
<h3>Welcome Wagons, Mentors, Conversion Rates, and the Power of Nice People</h3>
<p><img src="http://smarterware.org/wp-content/uploads/2011/03/100-nice-people.png" alt="" title="100% nice people" width="200" height="200" class="alignright size-full wp-image-7612" align="right" /> The best part about working on an open source project is that you're not just building a software application; you're building a community. In addition to making first-class software, ThinkUp's goal is to be the ultimate "gateway project," a friendly, accessible virtual neighborhood that people <i>want</i> to live in and build up, especially if they've never been a part of OSS before. One of my main metrics for measuring our success is how many community members' first-time OSS contribution happened at ThinkUp. We love handing out the <a href="http://www.nerdmeritbadges.com/products/octocat">Nerd Merit badge</a> to first-time contributors. </p>
<p>Converting a newcomer into a contributor starts with a warm welcome.</p>
<p>At Lifehacker I learned something important about creating a productive online community: leaders set the tone by example. It's simple, really. When someone you don't know shows up on the mailing list or in IRC, you break out the welcome wagon, let them know you're happy they're here, show them around the place, help them with their question or problem, and let them know how they can give back to the community. Once you and your community leaders do that a few times, something magical happens: the newbie who you welcomed just a few weeks ago starts welcoming new folks, and the virtuous cycle continues.</p>
<p>We're still relatively small, but at ThinkUp we've done a good job of this so far. After two years, we pride ourselves on two things: 1. newbies are welcome, and 2. while we've had passionate conversations, we've never had a single flamewar or ego battle on our mailing lists.<br />
<style type='text/css'>.bbpBox49150033957883900 {background:url(http://a3.twimg.com/a/1299797700/images/themes/theme4/bg.gif) #0099B9;padding:20px;} p.bbpTweet{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} p.bbpTweet span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6} p.bbpTweet span.metadata span.author{line-height:19px} p.bbpTweet span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px} p.bbpTweet a:hover{text-decoration:underline}p.bbpTweet span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox49150033957883900'>
<p class='bbpTweet'>I really love the @<a class="tweet-url username" href="http://twitter.com/thinkupapp" rel="nofollow">thinkupapp</a> community--so supportive of new users and developers. Beta 9 is out, you should try it: <a href="http://bit.ly/hdTnH3" rel="nofollow">http://bit.ly/hdTnH3</a><span class='timestamp'><a title='Sat Mar 19 16:47:35 +0000 2011' href='https://twitter.com/lisamusing/status/49150033957883905'>less than a minute ago</a> via <a href="http://www.echofon.com/" rel="nofollow">Echofon</a></span><span class='metadata'><span class='author'><a href='http://twitter.com/lisamusing'><img src='http://a3.twimg.com/profile_images/1147636747/lisamusing2_t_normal.jpg' /></a><strong><a href='http://twitter.com/lisamusing'>Lisa Denlinger</a></strong><br/>lisamusing</span></span></p>
</div>
<p> <!-- end of tweet --></p>
<p>Mentoring new contributors is also a powerful way to grow and diversify your community, and create long-term, loyal contributors. After <a href="http://expertlabs.org/2010/08/thinkup-contributor-spotlight-ekansh-preet.html">last year's success</a> in Google's Summer of Code mentoring program, we plan to do more mentoring/internship programs for new coders at ThinkUp. Creating bonds between new coders and veterans strengthens the community and attracts even more like-minded contributors who enjoy collaborative learning on a common project.</p>
<p>For coders, the path of promotion from user to contributor is clear-cut, but the on-ramp is not as obvious for non-developers. An early thread on ThinkUp's mailing list, subject line <a href="http://groups.google.com/group/thinkupapp/browse_thread/thread/2a0c82b104872023/f9e8cfdd0e89db46">The frustration of a non-developer</a>, began our community's clarification of what, exactly, constitutes a contribution to the software. Turns out, it's not just code.</p>
<h3>Clarifying and Encouraging Non-Code Contributions</h3>
<p>For programmers, the process of contributing to an open source project goes like this: you download the source code, you change the source code, and then you submit your changes to the project maintainers in the form of a patch, and if that patch gets accepted, your contribution shows up in the software. Done. </p>
<p>What's not clear is how people who <i>don't</i> code contribute their skills and expertise to making OSS software. Because it's not clear, they don't, and the software looks and feels like it was designed by engineers, for engineers&mdash;because it was.</p>
<p>At ThinkUp, there was a time that I was so focused on perfecting the right git branching strategy, I forgot that contribution does not always equal code. This is an area where we can still improve, because there are so many different ways non-coders can and should contribute to the project, including but not limited to:</p>
<ul>
<li>Showing up in <a href="https://github.com/ginatrapani/ThinkUp/wiki/IRC">the IRC channel</a> and welcoming newcomers</li>
<li>Offering tech support on <a href="http://groups.google.com/group/thinkupapp">the mailing list</a> or in IRC</li>
<li>Transferring knowledge shared on the mailing list or in IRC into the <a href="https://github.com/ginatrapani/ThinkUp/wiki">project wiki</a></li>
<li>Following up on tech support questions on the mailing list or in IRC with further questions, links, or additional information</li>
<li>Filing bugs in <a href="https://github.com/ginatrapani/ThinkUp/issues">the issue tracker</a>, or updating existing issues</li>
<li>Taking <a href="http://skitch.com/ginatrapani/rsnpb/magglass">screenshots</a> and documenting details of confusing or clever bits of interface</li>
<li>Recognizing good work by community members; discouraging unwanted behavior; acting like the kind of community member you want to work with</li>
<li>Tweeting, blogging, or Facebooking about project news, developments, or features</li>
<li>Hosting, showing up at, or blogging a <a href="http://expertlabs.org/2011/03/february-2011-episode-of-thinkup-talks.html">project podcast</a></li>
<li>Pairing up with a project "buddy" to work on an issue and brainstorm solutions</li>
<li>Mocking up or wireframing interfaces for existing or desired features, even if it means using a tool as simple as Microsoft Paint</li>
</ul>
<p>Sometimes turning a non-coder into a contributor is as easy as pointing them to a wiki page and asking them to add text about their experience using or troubleshooting the software, like Dan did here.</p>
<style type='text/css'>.bbpBox50358344514420740 {background:url(http://a1.twimg.com/a/1300401069/images/themes/theme2/bg.gif) #C6E2EE;padding:20px;} p.bbpTweet{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} p.bbpTweet span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6} p.bbpTweet span.metadata span.author{line-height:19px} p.bbpTweet span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px} p.bbpTweet a:hover{text-decoration:underline}p.bbpTweet span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox50358344514420740'>
<p class='bbpTweet'>Jumped onto IRC to get help with my @<a class="tweet-url username" href="http://twitter.com/thinkupapp" rel="nofollow">thinkupapp</a> install. Ended up adding  help text into the troubleshooting wiki. At least I could help!<span class='timestamp'><a title='Wed Mar 23 00:48:59 +0000 2011' href='https://twitter.com/Remy/status/50358344514420736'>less than a minute ago</a> via web</span><span class='metadata'><span class='author'><a href='http://twitter.com/Remy'><img src='http://a1.twimg.com/profile_images/967717253/smallheadshot_normal.jpg' /></a><strong><a href='http://twitter.com/Remy'>Dan Dickinson</a></strong><br/>Remy</span></span></p>
</div>
<p> <!-- end of tweet --></p>
<p>When an OSS community has a code-centric view of project contributions, not only does community, documentation, and technical support suffer&mdash;the software does as well.</p>
<h3>Adjusting Community Values: Prioritizing Design and Usability</h3>
<p>A well-built software application does more than just function: it's beautiful, frictionless, self-explanatory, and it performs a task <i>and</i> stays out of your way. Still, interface design doesn't get nearly the respect and prioritization it should by typical OSS engineers. (Myself included; this is another area where ThinkUp can improve.)</p>
<p>The solution isn't simply getting more designers and UX experts involved in open source, it's something much more difficult: changing community values around those skills. Miliano <a href="http://vi.to/designers-and-women-in-open-source.html">writes</a>:</p>
<blockquote><p>For a designer to contribute to an open source project, there would have to be developers committed to implementing the work, to work on “polish” and “froofy things” instead of “real features” and other “important things.” That’s a hard nut to swallow, and what volunteer project owner will ask all their volunteer contributors to, please, stop working on your pet projects within this codebase and let’s actually cut features and work on UI and usability and design?</p></blockquote>
<p>When "polish" is a priority, when it's discussed, recognized, rewarded, solicited, and it's a required part of the patch acceptance process, programmers <i>will</i> be motivated to do the work to get it right. The key here is to prioritize design and usability upfront, rather than accept a mess of software with plans to slap a pretty veneer on afterwards. This is been the lesson I keep having to learn and re-learn: design and usability <i>cannot</i> be an afterthought.</p>
<p>Cutting features in the name of usability is an especially sticky wicket when those features were built by volunteers in their spare time, but this is where project leadership steps up.</p>
<h3>Design by Committee and the Benevolent Dictator</h3>
<p>Feature/option bloat is a common pitfall for <i>all</i> software, but it's especially so for open source software built by a democratic community of self-starting engineers for whom it's too easy to say "I'll just hack up a little button that adds my pet feature and stick it here." Every OSS project has a single committer or team of committers who have final say about what features and fixes get merged into the application. Some projects have a <a href="http://producingoss.com/en/social-infrastructure.html#benevolent-dictator">Benevolent Dictator</a>, who has final say on decisions that the community can't reach consensus on. It's the committers' and the BD's role to ensure that end users come first and engineer's pet projects come second.</p>
<p>However, good project leaders don't rule with an iron fist; rather they sell a vision for the software and its priorities to the community so that the community comes to good decisions on its own.  When it cannot reach consensus, the BD steps in. Karl Fogel <a href="http://producingoss.com/en/social-infrastructure.html#benevolent-dictator">explains</a>:</p>
<blockquote><p>Although "benevolent dictator" (or BD)is the standard term for this role, it would be better to think of it as "community-approved arbitrator" or "judge". Generally, benevolent dictators do not actually make all the decisions, or even most of the decisions. It's unlikely that one person could have enough expertise to make consistently good decisions across all areas of the project, and anyway, quality developers won't stay around unless they have some influence on the project's direction. Therefore, benevolent dictators commonly do not dictate much. Instead, they let things work themselves out through discussion and experimentation whenever possible. They participate in those discussions themselves, but as regular developers, often deferring to an area maintainer who has more expertise. Only when it is clear that no consensus can be reached, and that most of the group wants someone to guide the decision so that development can move on, do they put their foot down and say "This is the way it's going to be." Reluctance to make decisions by fiat is a trait shared by virtually all successful benevolent dictators; it is one of the reasons they manage to keep the role.</p></blockquote>
<p>Because an OSS project's BD is not actually a dictator with swift and final say on all decisions, these community decision-making processes can take months and even years. After his logo design was rejected after a year of discussion by contributors to an open source project, Miliano says that on a non-OSS team, the contributors who spoke up wouldn't have had a say at all:</p>
<blockquote><p>I would wager that as most of the developers of any given open source project are not representative of its end-users, the developers wouldn’t even be involved in the design process in the first place. You can’t design by committee, only take into account the needs of the stakeholders, and if you don’t actually use the software, you might not be at that table. The designer would, essentially, only be generating work for them.</p></blockquote>
<p>I think there's an in-between here, and at ThinkUp, we're still finding it. We're working with <a href="http://muledesign.com">Mule Design</a> to redesign the app's look and feel and interface. While we're only at the beginning of that process, in the kickoff we decided that design by committee was not an option. The community will not vote on a list of design options. Instead, Mule will create a design and <i>sell</i> it to the community at large, citing what they learned about the app from its stakeholder and end-user research. To keep the community informed along the way and encourage buy-in on the process, they'll share what they learned and what they made as they reach milestones. Because <a href="http://expertlabs.org">Expert Labs</a> funds ThinkUp development, contracted Mule, and acts as ThinkUp's benevolent dictator, there is no question: we will implement Mule's redesign with community buy-in&mdash;even if everyone doesn't agree on every single pixel.</p>
<h3>Your Community Is Your Best Feature</h3>
<p>On the modern web, where far-flung strangers collaborate on things like authoring an encyclopedia and overthrowing abusive governments, it's still too hard for most people to contribute to open source projects. It's ironic, too, because open source collaboration was happening on the internet way before tools like Facebook, wikis, Twitter, and Google Docs existed. It's not for lack of tools, it's because of broken culture. Miliano <a href="http://vi.to/designers-and-women-in-open-source.html">writes</a>:</p>
<blockquote><p>Open source platforms are a community in the traditional sense of something you pretty much have to be internally motivated to join. Joining an open source community is closer to joining a church or moving into a neighborhood, and, let’s be honest, these neighborhoods are sexist boy’s clubs with no facility for mentoring, no respect for design, and mailing lists that are 50% dick-measuring contests.</p></blockquote>
<p>But that's not the way it has to be. If OSS projects do what it takes to welcome contributors of <i>all</i> stripes, not just the usual suspects, they'll produce better software. At least, that's <a href="http://thinkupapp.com">our bet</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/7550/designers-women-and-hostility-in-open-source/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Todo.txt Touch in the Amazon Appstore</title>
		<link>http://smarterware.org/7635/todo-txt-touch-in-the-amazon-appstore</link>
		<comments>http://smarterware.org/7635/todo-txt-touch-in-the-amazon-appstore#comments</comments>
		<pubDate>Tue, 22 Mar 2011 20:10:55 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Amazon Appstore]]></category>
		<category><![CDATA[brief]]></category>
		<category><![CDATA[Todo.txt Touch]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=7635</guid>
		<description><![CDATA[Good news! The Amazon Appstore for Android launched today. Bad news: even though I submitted it last Thursday, they haven't yet approved the latest version 0.6 of Todo.txt Touch, so they're selling an outdated one. Argh. Happily, my app is for sale there. Here's where to get it: Todo.txt Touch at the Amazon Appstore for [...]]]></description>
			<content:encoded><![CDATA[<p>Good news! The <a href="http://www.amazon.com/mobile-apps/b/">Amazon Appstore for Android</a> launched today. <strike>Bad news: even though I submitted it last Thursday, they haven't yet approved the latest version 0.6 of Todo.txt Touch, so they're selling <a href="http://www.amazon.com/Gina-Trapani-Todo-txt-Touch/dp/B004MNQTVU/ref=nosim/lifehackerboo-20">an outdated one</a>. Argh.</strike> Happily, my app is for sale there. Here's where to get it: <a href="http://www.amazon.com/Gina-Trapani-Todo-txt-Touch/dp/B004MNQTVU/ref=nosim/lifehackerboo-20">Todo.txt Touch at the Amazon Appstore for Android</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/7635/todo-txt-touch-in-the-amazon-appstore/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ThinkUp&#8217;s iPad 2 Bounty</title>
		<link>http://smarterware.org/7537/thinkups-ipad-2-bounty</link>
		<comments>http://smarterware.org/7537/thinkups-ipad-2-bounty#comments</comments>
		<pubDate>Wed, 09 Mar 2011 20:28:20 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Expert Labs]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPad 2]]></category>
		<category><![CDATA[Motivation]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[ThinkUp]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=7537</guid>
		<description><![CDATA[I don't have any experience with open source bounties, but I'm about to get some thanks to my employer, Expert Labs. We're offering some special motivation to ThinkUp contributors as we work our way to ThinkUp's 1.0 release: Get a wow-worthy contribution accepted into ThinkUp&#0160;and earn yourself a brand new iPad 2 on top of [...]]]></description>
			<content:encoded><![CDATA[<p>I don't have any experience with <a href="http://en.wikipedia.org/wiki/Open_source_bounty">open source bounties</a>, but I'm about to get some thanks to my employer, <a href="http://expertlabs.org">Expert Labs</a>. We're offering some special motivation to <a href="http://thinkupapp.com">ThinkUp</a> contributors as we work our way to <a href="http://groups.google.com/group/thinkupapp/browse_thread/thread/bd3280a511ecc3fa">ThinkUp's 1.0 release</a>:  Get a wow-worthy contribution accepted into <a href="http://thinkupapp.com" target="_self">ThinkUp</a>&#0160;and earn yourself a <a href="http://www.apple.com/ipad/" target="_self">brand new iPad 2</a> <em>on top of</em> &quot;I made a great open source project better&quot; bragging rights.&#0160;</p>
<p>Expert Labs is offering a new iPad 2 (16GB, Wi-Fi only) to a community member who makes a significant contribution in the next month and a half. Here&#39;s how it will work:</p>
<p><span id="more-7537"></span></p>
<ul>
<li>Developers get 4 weeks to <a href="https://github.com/ginatrapani/ThinkUp/wiki/Developer-Guide%3A-Get-the-Source-Code-from-GitHub-and-Keep-It-Updated" target="_self">issue a GitHub pull request</a> for a new ThinkUp feature or fix of their choice (by April 6th); plus another 2 weeks (April 20) to get that code reviewed, accepted and merged into master. As always, tests must be included in your patch submissions, and all code must comply with our style guide.</li>
<li>After all the submissions are in, the developer will post screenshots or a screencast plus an explanation of what the new feature/fix adds to the project on the mailing list. The community will then vote on what their favorite new feature or fix is. With the community&#39;s help, Expert Labs&#39; employees (Gina, Anil, and Andy) will determine the iPad winner.&#0160;</li>
<li>The developer who has the feature which was both merged and deemed most useful gets a brand spanking new iPad 2. Expert Labs will cover international shipping, and we&#39;ll do our best to order the iPad in your local Apple Store; if not, we&#39;ll ship you a U.S., WiFi-only version from the States.</li>
</ul>
<p>What should you build? Here are a few ideas:</p>
<ul>
<li>Create a new new data visualization that displays post statistics, analysis, or information in a useful way</li>
<li>Create a JSON API for ThinkUp post replies (<a href="https://github.com/ginatrapani/ThinkUp/issues/#issue/565" target="_self">Issue #565</a>)</li>
<li>Improve the ThinkUp Facebook plugin so it offers the same features as the Twitter plugin does</li>
<li>Create a mobile CSS stylesheet to make ThinkUp easy to use on an iPhone or other smartphone</li>
<li>Create a Bit.ly plugin which stores click count statistics in ThinkUp&#39;s link database, and add a list of most-clicked links for a ThinkUp account (<a href="https://github.com/ginatrapani/ThinkUp/issues/#issue/354" target="_self">Issue #354</a>)</li>
<li>Create an email invitation system so it&#39;s easy to invite people to register on a TU install without having to open registration to all (<a href="https://github.com/ginatrapani/ThinkUp/issues/#issue/42" target="_self">Issue #42</a>)</li>
<li>Redesign ThinkUp&#39;s user page to use the standard dashboard/post page template (<a href="https://github.com/ginatrapani/ThinkUp/issues/#issue/256" target="_self">Issue #256</a>)</li>
<li>Add the ability to see replies from multiple posts in one view (<a href="https://github.com/ginatrapani/ThinkUp/issues/#issue/407" target="_self">Issue #407</a>)</li>
</ul>
<p>These are just a few ideas. If there&#39;s something else you&#39;re inspired to work on, go with it. But remember, to win the iPad you&#39;ve got to wow the community with your work and be able to sell use cases when you post your submission to the list.</p>
<p>Not a developer? Here are some ways you can get yourself that iPad:</p>
<ul>
<li>Make a killer screencast of ThinkUp features or use cases</li>
<li>Draft new documentation or improve existing pages&#0160;<a href="https://github.com/ginatrapani/ThinkUp/wiki" target="_self">on the ThinkUp wiki</a>&#0160;with complete, well-annotated screenshots and clear, step-by-step instructions</li>
<li>Mock up a new and improved <a href="http://thinkupapp.com" target="_self">thinkupapp.com</a> which sells ThinkUp and makes it easier for visitors to understand and get started using</li>
<li>Mock up a new visualization of ThinkUp data</li>
</ul>
<p>This is our first time doing a bounty like this, so let us know if you have any questions <a href="http://groups.google.com/group/thinkupapp/browse_thread/thread/c2794efbe563c6d5" target="_self">on the ThinkUp mailing list</a>. Can&#39;t wait to see April&#39;s submissions. Good luck!</p>
<p><i>Cross-posted to the <a href="http://expertlabs.org/2011/03/announcing-the-thinkup-ipad-2-bounty.html">Expert Labs blog</a></i></p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/7537/thinkups-ipad-2-bounty/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Notice the ASCII art rendering of a floppy drive&#8221;</title>
		<link>http://smarterware.org/7507/notice-the-ascii-art-rendering-of-a-floppy-drive</link>
		<comments>http://smarterware.org/7507/notice-the-ascii-art-rendering-of-a-floppy-drive#comments</comments>
		<pubDate>Thu, 03 Mar 2011 22:36:11 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[backwards compatibility]]></category>
		<category><![CDATA[brief video]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=7507</guid>
		<description><![CDATA[Watch as a modern PC gets Windows 1.0 installed, and upgraded through every major version up to Windows 7. Not sure what's more amazing; that this screencast is possible today in a VMware virtual machine, or that applications installed in Windows 3.1 still worked through every upgrade to Windows 7, representing nearly 20 years of [...]]]></description>
			<content:encoded><![CDATA[<p><object width="500" height="400"><param name="movie" value="http://www.youtube.com/e/vPnehDhGa14"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/e/vPnehDhGa14" type="application/x-shockwave-flash" width="500" height="400" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Watch as a modern PC gets Windows 1.0 installed, and upgraded through every major version up to Windows 7. Not sure what's more amazing; that this screencast is possible today in a VMware virtual machine, or that applications installed in Windows 3.1 still worked through every upgrade to Windows 7, representing nearly 20 years of compatibility. (via <a href="http://kottke.org/11/03/upgrading-windows-from-10-to-70">kottke</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/7507/notice-the-ascii-art-rendering-of-a-floppy-drive/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The Case Against Drop-down Identities</title>
		<link>http://smarterware.org/7388/the-case-against-drop-down-identities</link>
		<comments>http://smarterware.org/7388/the-case-against-drop-down-identities#comments</comments>
		<pubDate>Thu, 03 Mar 2011 21:23:07 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[gender]]></category>
		<category><![CDATA[Google Profiles]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[social software]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=7388</guid>
		<description><![CDATA[Human beings and their relationships are complex and nuanced, so the software that attempts to describe them must accomodate a wide range of expression. Last night, Google rolled out an update to the Google Profiles product, which I've promoted for for almost 2 years. The revamp is surely part of a larger movement at Google [...]]]></description>
			<content:encoded><![CDATA[<p>Human beings and their relationships are complex and nuanced, so the software that attempts to describe them must accomodate a wide range of expression. Last night, Google rolled out an update to the <a href="http://profiles.google.com">Google Profiles</a> product, which I've promoted for <a href="http://smarterware.org/1409/google-profiles-now-the-best-way-to-get-in-search-results-for-your-name">for almost 2 years</a>. The revamp is surely part of a larger movement at Google to add more <a href="http://smarterware.org/6561/what-to-expect-from-google-me">people-centric social features</a> to search and beyond.</p>
<p>In the new Google Profiles, I like that you can enter more information about yourself: work history, "words that describe you," brag-worthy facts, gender, relationship status. What I don't like is that a few of these fields have a limited range of possible values, defined in a drop-down list. Before I realized this was worthy of a full blog post, I had <a href="http://www.flickr.com/photos/ginatrapani/5493081089/">a bit of a rant about it last night</a>, which went like this. </p>
<p><span id="more-7388"></span></p>
<p><a href="http://www.flickr.com/photos/ginatrapani/5493081089/"><img src="http://farm6.static.flickr.com/5138/5493081089_e8e09d776e.jpg" alt="It&#039;s complicated, on Google Profiles" width="500" height="476" /></a></p>
<p>The screenshot above is Google Profiles' Relationship field drop-down of possible responses. For me, relationship status is a minefield of potential misunderstanding, because if I select "married," people often assume I'm heterosexually married. If I could answer this question in an open text field, I'd fill in "gay-married." That's how I want to characterize and specify my relationship status, not the overly cutesy and vague "it's complicated," or the doesn't-give-us-enough-credit-for-all-the-crap-we-went-through-to-get-legally-married "In a relationship."</p>
<p>"Why not just choose married?" a few people have asked. That's the response I ultimately (and begrudgingly) <a href="https://profiles.google.com/u/0/ginatrapani/about">chose</a>. Yes: married is married is married. But I like to be specific, because the majority of marriages are heterosexual, so when people know I'm female and find out I'm married, they assume I have a husband. My "married" identity can eclipse my "gay" identity. The fact that I'm legally gay-married in California, one of only 19,000 couples in the U.S., is something I'm proud of, and a way I like to identify myself and my relationship. Isn't Google Profiles' whole purpose to provide a way for me to publicly identify myself?</p>
<p>Same goes for gender, where the drop-down choices are Male, Female, and Other. ("Other" at least indicates that Google is aware gender is not a binary thing.) This should also be an open text field. Gender is not sex. I might list myself as a "tomboy," and I'm not <i>that</i> weird. Regarding the gender field, my friend Mitch Wagner, who is a "regular guy" by conventional definition, <a href="http://www.flickr.com/photos/ginatrapani/5493081089/comment72157626189072664/">asks</a>:</p>
<blockquote><p>Does "gender" include a spot for: "Cisgendered male but nonetheless often feels alienated and constrained by traditional societal frat-boy/sitcom-dad notions of gender. AND mostly I connect better with women than with men."?</p></blockquote>
<p>Some might argue that if Mitch entered that phrase into a gender text field it would make search results worse. In fact, it would make them <i>better</i>. That response says a hell of a lot more about Mitch than simply "Male" (and it also confirms to me why I like the guy so much).</p>
<p>Google Profiles (and Facebook) could learn <a href="http://www.sarahmei.com/blog/2010/11/26/disalienation/">from Diaspora's decision to make gender a text field</a>.</p>
<h2>Justifications for drop-down identities</h2>
<p>Lots of techie types are quick to justify drop-down identities. Here are some comments I got last night on making gender and relationship status a text field:</p>
<p><!-- http://twitter.com/joshfraser/statuses/43185047435616256 --><br />
<style type='text/css'>.bbpBox43185047435616260 {background:url(http://a1.twimg.com/profile_background_images/140224032/nasa5_796_84.jpg) #030103;padding:20px;} p.bbpTweet{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} p.bbpTweet span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6} p.bbpTweet span.metadata span.author{line-height:19px} p.bbpTweet span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px} p.bbpTweet a:hover{text-decoration:underline}p.bbpTweet span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox43185047435616260'>
<p class='bbpTweet'>@<a class="tweet-url username" href="http://twitter.com/ginatrapani" rel="nofollow">ginatrapani</a> structured data is easier to advertise against.<span class='timestamp'><a title='Thu Mar 03 05:44:52 +0000 2011' href='http://twitter.com/joshfraser/statuses/43185047435616256'>less than a minute ago</a> via <a href="http://twitter.com/" rel="nofollow">Twitter for iPhone</a></span><span class='metadata'><span class='author'><a href='http://twitter.com/joshfraser'><img src='http://a0.twimg.com/profile_images/1227910547/Screen_shot_2011-01-27_at_11.19.33_PM_normal.png' /></a><strong><a href='http://twitter.com/joshfraser'>Josh Fraser</a></strong><br/>joshfraser</span></span></p>
</div>
<p> <!-- end of tweet --></p>
<p><!-- http://twitter.com/clindhartsen/statuses/43168413811621888 --><br />
<style type='text/css'>.bbpBox43168413811621890 {background:url(http://a3.twimg.com/profile_background_images/191698437/Background.png) #121212;padding:20px;} p.bbpTweet{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} p.bbpTweet span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6} p.bbpTweet span.metadata span.author{line-height:19px} p.bbpTweet span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px} p.bbpTweet a:hover{text-decoration:underline}p.bbpTweet span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox43168413811621890'>
<p class='bbpTweet'>@<a class="tweet-url username" href="http://twitter.com/ginatrapani" rel="nofollow">ginatrapani</a> Constrained options makes search ability easier, most likely, plus avoids people, likely kids, putting in stupid things there.<span class='timestamp'><a title='Thu Mar 03 04:38:46 +0000 2011' href='http://twitter.com/clindhartsen/statuses/43168413811621888'>less than a minute ago</a> via <a href="http://www.metrotwit.com/" rel="nofollow">MetroTwit</a></span><span class='metadata'><span class='author'><a href='http://twitter.com/clindhartsen'><img src='http://a1.twimg.com/profile_images/1246314531/twitter_normal.png' /></a><strong><a href='http://twitter.com/clindhartsen'>Chris Lindhartsen</a></strong><br/>clindhartsen</span></span></p>
</div>
<p> <!-- end of tweet --></p>
<p><!-- http://twitter.com/Turtwig/statuses/43173391980699648 --><br />
<style type='text/css'>.bbpBox43173391980699650 {background:url(http://a3.twimg.com/a/1298664727/images/themes/theme1/bg.png) #C0DEED;padding:20px;} p.bbpTweet{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} p.bbpTweet span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6} p.bbpTweet span.metadata span.author{line-height:19px} p.bbpTweet span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px} p.bbpTweet a:hover{text-decoration:underline}p.bbpTweet span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox43173391980699650'>
<p class='bbpTweet'>@<a class="tweet-url username" href="http://twitter.com/ginatrapani" rel="nofollow">ginatrapani</a> less garbage data they'd have to sort through for targeted advertising?<span class='timestamp'><a title='Thu Mar 03 04:58:33 +0000 2011' href='http://twitter.com/Turtwig/statuses/43173391980699648'>less than a minute ago</a> via <a href="http://twitter.com/" rel="nofollow">Twitter for iPhone</a></span><span class='metadata'><span class='author'><a href='http://twitter.com/Turtwig'><img src='http://a3.twimg.com/profile_images/1145748090/image_normal.jpg' /></a><strong><a href='http://twitter.com/Turtwig'>Turtwig</a></strong><br/>Turtwig</span></span></p>
</div>
<p> <!-- end of tweet --></p>
<p>As a programmer, I deeply understand the desire for and satisfaction of neatly structured data, and drop-downs make it easier on programmers to get that data. But you should <a href="http://smarterware.org/6884/designing-for-humans-not-databases">design your product for humans, not databases</a>. Making a great product is more important than making life easy on programmers or advertisers. </p>
<p><a href="http://smarterware.org/wp-content/uploads/2011/03/mygenderisagoogle.png"><img src="http://smarterware.org/wp-content/uploads/2011/03/mygenderisagoogle-700x158.png" alt="" title="My gender is" width="700" height="158" class="aligncenter size-large wp-image-7517" /></a><br />
<i>Thx, <a href="http://twitter.com/#!/shangle/status/43425359705817088">shangle</a></i></p>
<p>If there's any company who has the technology to map "garbage data" entered into an open text field to something advertisers can target, it's Google. There's plenty of precedence for this, too. At <a href="http://metafilter.com">MetaFilter</a> gender is a text field and its creators are able to determine male or female sex <a href="http://smarterware.org/6884/designing-for-humans-not-databases#comment-2774" rel="nofollow">over 75% of the time using a crazy thing called <i>technology</i></a>. If a tiny indie startup can do that, Google could do the same. They just have to care enough about the users who don't want to choose the most common drop-down options to do it.</p>
<h2>Why Google should care</h2>
<p>Facebook is king of the social networking hill because Zuckerberg is a great editor with a sharp eye for product. When he was building Facebook, he looked at the leading social networks at the time&mdash;Friendster and MySpace&mdash;and purposefully exploited their weaknesses. Friendster was constantly down; MySpace was ugly. So Zuck made Facebook's design white and clean, launched it only at Harvard first, and scaled to other universities slowly to keep the site fast, stable, and reliable at all times.</p>
<p>Similarly, to beat Facebook at social you have to look at <i>its</i> faults, and capitalize on them. Facebook's Achilles heel is the how it imposes a certain worldview on its users. On Facebook, you can only "like" something. You can't love it, or hate it, or say it made you laugh, or made you sad or angry, or unequivocally recommend it to your friends, or recommend it with some caveats. You can only "friend" someone, you can't make someone's acquaintance, or say they're an old high school classmate, or the annoying guy who sat behind you in one lecture in college, or an ex-lover.  </p>
<p>In her excellent review of the movie about Facebook, <i>The Social Network</i>, <a href="http://www.nybooks.com/articles/archives/2010/nov/25/generation-why/?pagination=false">Zadie Smith makes the point</a>:</p>
<blockquote><p>Shouldn’t we struggle against Facebook? Everything in it is reduced to the size of its founder. Blue, because it turns out Zuckerberg is red-green color-blind. “Blue is the richest color for me—I can see all of blue.” Poking, because that’s what shy boys do to girls they are scared to talk to. Preoccupied with personal trivia, because Mark Zuckerberg thinks the exchange of personal trivia is what “friendship” is. A Mark Zuckerberg Production indeed! We were going to live online. It was going to be extraordinary. Yet what kind of living is this? Step back from your Facebook Wall for a moment: Doesn’t it, suddenly, look a little ridiculous? Your life in this format?</p></blockquote>
<p>It should look less ridiculous.</p>
<p>The best way to innovate in social is make a product that helps people express themselves and identify themselves more freely and fully, to <a href="http://www.slideshare.net/padday/the-real-life-social-network-v2">capture nuances in identity and relationships</a> that other networks don't. The first step is admitting that <b>making good social software is hard.</b> In a <a href="http://www.mercurynews.com/business/ci_17484161?nclick_check=1">recent interview</a>, Gmail creator Paul Bucheit, who's now at Facebook, discussed Google's flippant attitude toward social:</p>
<blockquote><p>Facebook is growing very fast, and obviously, Google would like to compete in the social-networking space. They have finally realized its importance, and they are finding themselves, maybe for the first time, with the realization that there is someone who is way, way ahead of them. There was a moment with Microsoft that they assumed, "Well, yeah, search isn't that important. And if it does become important, we'll just hire some people and we'll take over." They kind of thought it was something they could win really easily, and they underestimated the difficulty of it. I kind of feel like Google may have reached that same moment with social networking, where they realized, A, it's important, and B, it's really hard to win.</p></blockquote>
<p>People are complex beings. Designing good software that describes them and their relationships is a hard problem to solve. When I saw that Google copied Facebook's and Friendster's "It's complicated" in the list of relationship drop-down options, my heart sank. Google should try to solve the hard problems of social, not just copy what the other products have.</p>
<h2>None of the above: Let me explain</h2>
<p>Back to drop-down identities, and one possible solution.</p>
<p>Usability is the most valid argument against replacing the gender and relationship status drop-downs with text fields. Male/Female or Single/In a Relationship/Engaged/Married/Divorced/Widowed may describe the majority of users' gender or relationship. Why make the majority stop and type into an open text field just so the minority of weird people like me can identify how they want? </p>
<p>Fair point. But we can have both, if we put a little thought into it. I like <a href="http://www.flickr.com/photos/ginatrapani/5493081089/#comment72157626060220909">TheJeremyP's suggestion</a>, which is a drop-down list that offers the most common choices <b>as well as</b> a "None of the above; Let me explain..." choice. When you click on "None of the above; Let me explain," you get a freeform text field to describe yourself in your own words, not the product's creators' words. This approach encourages use of stock responses for people who are comfortable with them, but gives those who are not the choice to define their own.</p>
<p>Social software <i>should</i> let you explain. But as the drop-down option says, it's complicated.</p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/7388/the-case-against-drop-down-identities/feed</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>Code and Community: A Year in Numbers</title>
		<link>http://smarterware.org/7325/code-and-community-a-year-in-numbers</link>
		<comments>http://smarterware.org/7325/code-and-community-a-year-in-numbers#comments</comments>
		<pubDate>Sun, 27 Feb 2011 20:25:28 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Expert Labs]]></category>
		<category><![CDATA[ThinkUp]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=7325</guid>
		<description><![CDATA[One year ago today, ThinkUp's first official release, alpha 1, quietly became available. I'd been building the app mostly solo during my spare time since August of 2009, but when Expert Labs took on the project in February of 2010, things got really fun. Here are a few representative numbers on how ThinkUp's first year [...]]]></description>
			<content:encoded><![CDATA[<p>One year ago today, <a href="http://thinkupapp.com">ThinkUp</a>'s first official release, alpha 1, quietly became available. I'd been building the app mostly solo during my spare time since <a href="http://smarterware.org/2877/twitalytic-alpha-preview-archiving-curating-and-threading-tweets">August of 2009</a>, but when <a href="http://smarterware.org/5187/thinktank-is-now-at-expert-labs">Expert Labs took on the project</a> in February of 2010, things got <i>really</i> fun. Here are a few representative numbers on how ThinkUp's first year of releases went.</p>
<p>In terms of ThinkUp's codebase, in the past year:</p>
<ul>
<li>The source code changed <a href="https://github.com/ginatrapani/ThinkUp/compare/v0.001...v0.8.1">664 times</a>, an average of about 1.8 commits per day. <sup><a href="#foot1" name="note1">1</a></sup></li>
<li>1,002 out of about 5,500 <sup><a href="#foot2" name="note2">2</a></sup> files in ThinkUp's codebase changed: specifically, there were 165,583 lines added and 29,904 lines deleted. <sup><a href="#foot3" name="note3">3</a></sup></li>
<li>ThinkUp had 16 releases: 8 alpha releases from February of 2010 until September, and 8 beta releases from September 2010 to February of 2011, which is an average of 1.3 releases per month.</li>
<li>ThinkUp releases and related plugins have been <a href="https://github.com/ginatrapani/ThinkUp/downloads">downloaded</a> almost 11,000 times. <sup><a href="#foot4" name="note4">4</a></sup></li>
<li>ThinkUp's automated test coverage skyrocketed to <a href="https://groups.google.com/a/expertlabs.org/group/thinkup-dev/browse_thread/thread/2ba201d09a66815b">3,485 passing tests</a>.</li>
<li>Out of 648 items in <a href="https://github.com/ginatrapani/ThinkUp/issues">ThinkUp's issue tracker</a>, 94 are open, and 554 are closed.</li>
<li>ThinkUp has spawned two separate open source software projects which it uses: <a href="https://github.com/ginatrapani/GitHub-Pull-Request-Email-Bot">the GitHub pull request email bot</a> by Sam Rose, and Mark Wilkie's <a href="https://github.com/ginatrapani/ThinkUp/tree/master/tests/fixtures">Fixture Builder library</a>.
</ul>
<p>Source code is one thing, but ThinkUp's best feature is its community. In the past year:</p>
<ul>
<li>26 programmers made changes to <a href="https://github.com/ginatrapani/ThinkUp">ThinkUp's codebase</a>. <sup><a href="#foot5" name="note5">5</a></sup></li>
<li>42 community members helped write <a href="https://github.com/ginatrapani/ThinkUp/wiki">ThinkUp's documentation</a>. <sup><a href="#foot6" name="note6">6</a></sup></li>
<li>The project's main hub, the <a href="http://groups.google.com/group/thinkupapp">ThinkUp general mailing list</a>, grew to 483 subscribers.</li>
<li>Community members discussed about 510 topics (not including replies) on that mailing list, an average of about 9.8 conversations per week.</li>
<li>Of those 510 discussion threads, there were a total of 0 <a href="http://en.wikipedia.org/wiki/Flame_war">flame wars</a>.</li>
<li>On Twitter, <a href="http://twitter.com/thinkupapp">@thinkupapp</a> gained 2,944 followers. On Facebook, 143 people "liked" <a href="https://www.facebook.com/pages/ThinkUp/162504567094163">ThinkUp's page</a>.</li>
<li>Community members established the <a href="https://github.com/ginatrapani/ThinkUp/wiki/IRC">#thinkup IRC channel</a>, in which developers and users are available to chat in realtime almost around the clock.</li>
<li><a href="http://soundcloud.com/thinkup/thinkup-1-dec-10-2010">Two</a> <a href="http://expertlabs.org/2011/01/january-episode-of-thinkup-talks.html">episodes</a> of the community-run ThinkUp podcast have been broadcast.</li>
<li>Just this month, we established a brand new <a href="https://groups.google.com/a/expertlabs.org/group/thinkup-dev/topics">developer-specific ThinkUp mailing list</a>. So far it has 24 subscribers and lots of high-quality, technical discussion.</li>
</ul>
<p>We've also had some incredible users beta-test the ThinkUp application in the past year, from civic and government organizations to Hollywood celebrities and tech journalists. Take a look at the the <a href="http://thinktank01.aaas.org/thinkup01/?u=whitehouse&#038;n=twitter">White House's ThinkUp</a>, <a href="http://expertlabs.org/2010/10/code-for-america-hosts-an-open-cities-thinkup.html">Code for America's ThinkUp</a>, <a href="http://thinktank01.aaas.org/thinkup02/?u=SteveMartinToGo&#038;n=twitter">Steve Martin's ThinkUp</a>, <a href="http://smarterware.org/thinkup/?u=wilw&#038;n=twitter">Wil Wheaton's ThinkUp</a>, and <a href="http://thinktank01.aaas.org/thinkup02/?u=leolaporte&#038;n=twitter">Leo Laporte's ThinkUp</a>. (Are you running ThinkUp? Post a link to your installation in the comments.)</p>
<p>Building software and community around ThinkUp has been one of the most gratifying "jobs" I've ever had. Here's to an even better second year of ThinkUp releases.</p>
<hr />
<ol>
<li id="foot1">At first ThinkUp's commit log was busier and messier than it should have been because we weren't "squashing" related commits into a single patch. Later in the year, when the community defined <a href="https://github.com/ginatrapani/ThinkUp/wiki/Developer-Guide%3A-Get-the-Source-Code-from-GitHub-and-Keep-It-Updated">our git/GitHub process</a>, the commit log became much cleaner, and commits to the master branch increased in quality but decreased in quantity. <a href="#note1">&#8617;</a></li>
<li id="foot2">Counted using the command <code>$ find "thinkup/" \! -name ".*" | wc -l</code> <a href="#note2">&#8617;</a>
<li id="foot3">Lines of code and number of commits are not indicators of software quality, but they are indicators of project activity. <a href="#note3">&#8617;</a></li>
<li id="foot4"> We're not tracking individual ThinkUp installations yet. This number is a total of <a href="https://github.com/ginatrapani/ThinkUp/downloads">GitHub's download counts</a>. <a href="#note4">&#8617;</a></li>
<li id="foot5">As per <a href="https://github.com/ginatrapani/ThinkUp/compare/v0.001...v0.8.1">GitHub's comparison of alpha 1 and beta 8.1</a>. <a href="#note5">&#8617;</a></li>
<li id="foot6">Give or take a few authors due to multiple email addresses/GitHub accounts. <a href="#note6">&#8617;</a></li>
</ol>
<p><i>Cross-posted to the <a href="http://expertlabs.org/2011/02/code-and-community-a-year-in-numbers.html">Expert Labs blog</a>.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/7325/code-and-community-a-year-in-numbers/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing Gingerbread on the Nexus One</title>
		<link>http://smarterware.org/7322/installing-gingerbread-on-the-nexus-one</link>
		<comments>http://smarterware.org/7322/installing-gingerbread-on-the-nexus-one#comments</comments>
		<pubDate>Fri, 25 Feb 2011 22:09:49 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[brief]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=7322</guid>
		<description><![CDATA[Thanks to a heads-up from _MikeBroderick that the official Gingerbread update .zip file is now available, I'm manually updating my Nexus One as I type. Finally!]]></description>
			<content:encoded><![CDATA[<p>Thanks to a heads-up from <a href="http://twitter.com/#!/_MikeBroderick/status/41248834118098944">_MikeBroderick</a> that the official Gingerbread update .zip file is now available, I'm <a href="http://www.intomobile.com/2011/02/24/how-to-manually-update-your-nexus-one-to-android-2-3-3/">manually updating my Nexus One</a> as I type. Finally!</p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/7322/installing-gingerbread-on-the-nexus-one/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>FAQ On Standing, Conferences, App Development</title>
		<link>http://smarterware.org/7279/faq-on-standing-conferences-app-development</link>
		<comments>http://smarterware.org/7279/faq-on-standing-conferences-app-development#comments</comments>
		<pubDate>Wed, 09 Feb 2011 17:48:16 +0000</pubDate>
		<dc:creator>Gina Trapani</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[brief]]></category>

		<guid isPermaLink="false">http://smarterware.org/?p=7279</guid>
		<description><![CDATA[Answers to a few questions I've gotten asked more than once lately. Are you still standing at your desk? Yes I am. I haven't mentioned it because I've kind of forgotten about it&#8212;once you get over the hump, it becomes the norm. I probably stand about 60-70 percent of my workday (generally 8am to 5pm), [...]]]></description>
			<content:encoded><![CDATA[<p>Answers to a few questions I've gotten asked more than once lately.</p>
<p><span id="more-7279"></span></p>
<p><b>Are you still <a href="http://smarterware.org/7102/how-and-why-i-switched-to-a-standing-desk">standing at your desk</a>?</b></p>
<p>Yes I am. I haven't mentioned it because I've kind of forgotten about it&mdash;once you get over the hump, it becomes the norm. I probably stand about 60-70 percent of my workday (generally 8am to 5pm), with many breaks for lunch, pacing, and meetings. I sit everywhere except in my office, and when I work/code/write at night I do it curled up on the couch. I lost three pounds in the first three weeks of standing (and watching what I eat), no gym. </p>
<p><b>Are you going to <a href="http://www.google.com/events/io/2011/">Google I/O</a>? How'd you get in? It <a href="http://twitter.com/#!/vicgundotra/status/34680121109516288">sold out in 59 minutes</a>, during which time the registration site was mostly down.</b></p>
<p>I am going to Google I/O, and here's how I got in: a week before registration opened to everyone, Google opened registration to 2010 attendees, and I jumped on it. (Read: the event didn't <i>really</i> sell out in only 59 minutes.) Relatedly, Google offered me a free press pass, but I turned it down to pay the $450 to register as an attendee. It was a matter of identity (and giveaways).</p>
<p>I'm not speaking at Google I/O, but I am speaking at <a href="http://sxsw.com/interactive">SXSW Interactive</a> and at <a href="http://codeconf.com/">CodeConf</a>. Here are <a href="http://lanyrd.com/people/ginatrapani/">all the when's and where's of the conferences I'm going to and speaking at this year</a>.</p>
<p><b>How's that whole selling-an-app-in-the-Android-Market going?</b></p>
<p>Much better than I anticipated. I was hoping to sell 500 copies in the first month. Even with a free web download available, we've sold close to 2,000 copies of <a href="https://market.android.com/details?id=com.todotxt.todotxttouch">Todo.txt Touch in the Android Market</a> and gotten an average 4.5 star rating from almost 150 user reviews in 2.5 weeks. Honestly I'm embarrassed that the app is so beta and rough around the edges. Then again, <a href="http://ma.tt/2010/11/one-point-oh/">if you’re not embarrassed when you ship your first version you waited too long</a>. We're iterating quickly, releasing an update every Sunday.</p>
<p>Overall, besides <a href="http://twitter.com/#!/ginatrapani/status/30734625592573952">an initial hiccup or two</a>, it's been a great experience. The Android Market let us release early, iterate often, gather feedback, and fund development without any delay inherent in an approval process. Speaking of approval, I submitted Todo.txt Touch for approval to the <a href="https://developer.amazon.com/welcome.html">upcoming Amazon Appstore</a>, and about 8 days later, I received notification that it has been approved. I have no idea when the Amazon Appstore will launch, or how it will work.</p>
<p><b>Are you making an iOS/WebOS/web-based/AIR version of Todo.txt tools?</b></p>
<p>The <a href="https://github.com/ginatrapani/todo.txt-touch-ios">iOS native app is underway</a>, which I'm committed to releasing because I want to learn iOS development. There's <a href="http://tech.groups.yahoo.com/group/todotxt/">plenty of discussion</a> about other versions. Thing is, I have <a href="http://expertlabs.org">a full-time job</a>, and Todo.txt apps are spare-time projects. In other words, unless other developers step up to lead other versions, there are no guarantees.</p>
<p>Follow <a href="http://twitter.com/todotxtapps">@todotxtapps on Twitter</a> to keep up with news on the projects.</p>
<p><b>What <a href="http://smarterware.org/7259/best-books-for-learning-ios-development">iPhone dev books</a> did you wind up getting?</b></p>
<p>I'm anxiously awaiting the arrival of my copy of the newly-published <i><a href="http://www.amazon.com/gp/product/143023024X/ref=nosim/lifehackerboo-20">Beginning iPhone 4 Development</a></i>, as well as the <i><a href="http://www.bignerdranch.com/book/iphone_programming_the_big_nerd_ranch_guide">iPhone Programming: The Big Nerd Ranch Guide</a></i>. I've watched the first two <a href="http://www.youtube.com/watch?v=xQzLHgls63E">Stanford lectures</a> and created and tinkered with a few "hello world"-level iOS apps so far.</p>
<p><b>Speaking of the full-time job, how's <a href="http://thinkupapp.com">ThinkUp</a> going?</b></p>
<p>Incredibly well. We're doing some neat stuff with <a href="http://www.flickr.com/photos/ginatrapani/5413706109/">conversation analysis</a>, you can now <a href="http://smarterware.org/7259/best-books-for-learning-ios-development">embed conversations on any web page</a>, and we're in the process of testing real-time Twitter support. Check out our <a href="http://groups.google.com/group/thinkupapp/browse_thread/thread/6931355e49a546f5">latest beta release changelog</a>&mdash;it's a long list of impressive work by a brilliant community. </p>
<p>Thanks for asking.</p>
]]></content:encoded>
			<wfw:commentRss>http://smarterware.org/7279/faq-on-standing-conferences-app-development/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

