<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
	<title>Kevin Burke</title>
	
	<link>http://kev.inburke.com</link>
	<description>The golden age is before us, not behind us</description>
	<lastBuildDate>Fri, 18 May 2012 02:12:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/kburke" /><feedburner:info uri="kburke" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>kburke</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/kburke" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fkburke" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>What will happen to house prices in the Bay Area after the Facebook IPO?</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/93ks0LH6DmU/</link>
		<comments>http://kev.inburke.com/kevin/what-will-happen-to-house-prices-in-the-bay-area-after-the-facebook-ipo/#comments</comments>
		<pubDate>Fri, 18 May 2012 02:12:28 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Improvement]]></category>
		<category><![CDATA[common sense]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[money]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2851</guid>
		<description><![CDATA[A lot of people seem to think that house prices in the Bay Area will rise significantly after the Facebook IPO. It's fun to speculate about, but those people seem to be assuming a lot. Here are some of those &#8230; <a href="http://kev.inburke.com/kevin/what-will-happen-to-house-prices-in-the-bay-area-after-the-facebook-ipo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A lot of people seem to think that <a href="https://twitter.com/#!/levie/status/203255002339360768">house prices in the
Bay Area will rise significantly after the Facebook
IPO</a>. It's fun to
speculate about, but those people seem to be assuming a lot. Here are some of
those assumptions I'm not so sure about:</p>
<ol>
<li><p>Facebook will add a significant number of new millionaires to the Bay Area.</p></li>
<li><p>Everyone that benefits from the Facebook IPO will want to invest that money
in a house, instead of into the stock market, retirement, cars, etc.</p></li>
<li><p>Everyone that wants to invest their option cash in a house will buy
shortly after they liquidate their options.</p></li>
<li><p>Most of Facebook's new millionaires will buy houses in the Bay Area.</p></li>
<li><p>The supply of housing for multi-millionaires is inelastic.</p></li>
<li><p>The people buying new houses will not be vacating their old ones.</p></li>
</ol>
<p>I'm not so sure that those assumptions are good ones. A San Francisco Chronicle
article from 2009 said that there were 136,000 millionaires in the Bay Area in
2009, a number that has surely risen since then. Facebook has 3500+ employees,
and on the high side I would guess maybe 1500 are going to earn enough money
from the IPO to change their lifestyle, This would add about 1% to the Bay's
total, assuming all of Facebook's newly minted millionaires live in the Bay
Area.</p>
<p>If anything the prices of houses at the very high end (10 million plus) will
rise. But it's hard to feel very sorry for people that are priced out of that
market. If anything a housing shortage here may help remove or loosen some of
the Bay's many restrictive housing and zoning laws.</p>
<img src="http://feeds.feedburner.com/~r/kburke/~4/93ks0LH6DmU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/what-will-happen-to-house-prices-in-the-bay-area-after-the-facebook-ipo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/what-will-happen-to-house-prices-in-the-bay-area-after-the-facebook-ipo/</feedburner:origLink></item>
		<item>
		<title>Virtualenv is an anti-pattern (for beginners)</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/3LLVh-siitM/</link>
		<comments>http://kev.inburke.com/kevin/virtualenv-is-an-anti-pattern-for-beginners/#comments</comments>
		<pubDate>Wed, 09 May 2012 15:32:38 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Usability]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2827</guid>
		<description><![CDATA[Every time I do a user test with a beginning programmer, I remember how hard computers are, how unforgiving the tools are, and end up wanting to apologize for how annoying and strict programming is. We are making progress with &#8230; <a href="http://kev.inburke.com/kevin/virtualenv-is-an-anti-pattern-for-beginners/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<p>Every time I do a user test with a beginning programmer, I remember how hard
computers are, how unforgiving the tools are, and end up wanting to apologize
for how annoying and strict programming is. We are making progress with
teaching people how to code, but it's still really hard.</p>
<p>For example, if you are just getting started with Python, here's a short list
of problems you might face when trying to set up Flask, which is by far the
easiest Python web server to set up.</p>
<ul>
<li>Learning how to cd in the terminal</li>
<li>How URL's requested by a user map to actual code</li>
<li>HTML, CSS and Javascript, because you actually want it to be pretty.</li>
<li>How to read and write things from a database</li>
<li>Installing Flask, so learning how to use <code>pip</code> or <code>easy_install</code></li>
<li>Python telling you your file is no good because it mixes tabs and spaces.</li>
<li>How to run Flask locally</li>
</ul>
<p><img src="http://s3-ec.buzzfed.com/static/imagebuzz/web03/2010/8/24/11/how-to-draw-an-owl-25123-1282662850-14.jpg"
alt="How to draw an owl: 1. Draw some circles 2. Draw the rest of the fucking owl" /></p>
<p>And that's not even counting <a href="http://kev.inburke.com/kevin/the-real-reasons-you-cant-figure-out-how-to-code/">the stuff that's so obvious to us we forget to
mention it</a>. Most quickstart guides also fail to help people
make incremental progress.</p>
<p>Game designers are great at teaching new, hard things. They have to be, or no
one will play their games. You will notice that games don't start with you
battling Ganon in an epic death match; they start with you learning how to use
the character and perform actions like make a kick, or open a door. Through
a series of incremental successes you become an expert in the game and can
tackle more and more complex tasks.</p>
<p>It bugs me to see so many Python tutorials mention <code>virtualenv</code> as a requirement
to get started. (<code>virtualenv</code> is a tool for sandboxing your Python apps, so
each Python project on your computer is using its own set of packages). The
biggest advantage of <code>virtualenv</code> is that you can have different versions of the
same Python package (like Flask or requests) that are required by different
projects, whereas if you install them system-wide you can't.</p>
<p>However, recommending <code>virtualenv</code> just adds <em>another</em> thing you have to do
before you can see pretty lights on the screen, and represents another possible
opportunity for people to lose interest, and start doing something else instead
of learning how to get a web server set up.</p>
<p>It also introduces a significant opportunity for confusion; the "It was working
yesterday, why isn't it working now?" problem. You need to remember to source
your <code>virtualenv</code> file in every Terminal shell where you're running Python, or
your terminal will tell you <strong>it can't find the library you literally just
installed.</strong> Needless to say this is confusing, the Terminal won't tell you
how to solve the problem, and Googling for the answer isn't likely to give you
the solution you need, because it's such a generic error message.</p>
<p>I've never seen beginners run into the problem of needing conflicting
versions of a Python package for two different projects. I was comfortable
dumping everything into site-packages for over two years of Python development;
only when I started working at Twilio did I need to start installing
<code>virtualenv</code>s for every project.</p>
<p>As a community, I believe we should stop recommending that beginners install
<code>virtualenv</code>. The faster we can get beginners to a Holy Shit, I Wrote Code That
Made Something Happen moment, the better, and <code>virtualenv</code> is a big block for
getting to that point. Instead I'd recommend installing <code>pip</code> using the one
line curl program in the second paragraph <a href="http://www.pip-installer.org/en/latest/installing.html">here</a>. <code>virtualenv</code> is something
that's more appropriate to learn about and use once you have a few Python
projects under your belt.</p>
<img src="http://feeds.feedburner.com/~r/kburke/~4/3LLVh-siitM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/virtualenv-is-an-anti-pattern-for-beginners/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/virtualenv-is-an-anti-pattern-for-beginners/</feedburner:origLink></item>
		<item>
		<title>#1 on HN for Six Hours: Postmortem</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/Gt5E0CrhiRs/</link>
		<comments>http://kev.inburke.com/kevin/hn-popular-post-stats/#comments</comments>
		<pubDate>Tue, 08 May 2012 03:59:00 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Improvement]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2834</guid>
		<description><![CDATA[On Saturday my post on how not to ask questions at a conference was the number one post on the site for a solid six hours, between four and ten PM. Here are some raw stats from the last day. &#8230; <a href="http://kev.inburke.com/kevin/hn-popular-post-stats/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On Saturday my post on <a href="http://kev.inburke.com/kevin/how-not-to-ask-questions-at-conference/">how not to ask questions at a conference</a>
was the number one post on the site for a solid six hours, between four and ten
PM. Here are some raw stats from the last day.</p>
<ul>
<li><p>Since the post was submitted, I've gotten 31,787 pageviews to my site; 14,478
in the nine hours between post submission and midnight, and another 15k on
Sunday. One post can bring in amazing amounts of traffic, and justify all of
the effort you've put into creating quality blog content.</p></li>
<li><p>In just the last two days I've gotten 50% as much traffic as I did in
the whole previous <em>year</em>.</p></li>
</ul>
<p><figure>
    <img src="https://img.skitch.com/20120507-m36uf37eps3tkqgypa3bcqp3x7.png"
    alt="Google Analytics Traffic" />
    <figcaption>Can you tell which days I made the frontpage of Hacker
    News?</figcaption>
</figure></p>
<ul>
<li><p>Of those pageviews, 30,807 were for the article itself. 414 people visited my
<a href="/">homepage</a> (1 in 72 people) and 253 people visited my <a href="/about">about</a> page
(1 in every 130). </p></li>
<li><p>8,142 visits (roughly 27%) came from mobile devices. I am really glad I added
a mobile/responsive view for smaller screens earlier this year, as this makes
the content much more consumable on a small screen.</p></li>
<li><p>69% of mobile visits (18% of the total) came from an iOS device.</p></li>
<li><p>Roughly 10,000 clicks came from Hacker News and 8,700 came from the
<a href="http://www.reddit.com/r/programming/">Programming subreddit</a>, where my post is still on the frontpage
a day and a half later. If your post is doing well on HN, it probably makes
sense to submit it to Proggit as well, as there's a large contingent of
people that use Proggit exclusively.</p></li>
<li><p>1,479 people have clicked on <a href="https://bitly.com/IDBIo3+">the aggregate Bit.ly link</a> and 97 people
have Tweeted the post (roughly 1 in 300).</p></li>
<li><p>I added 18 Twitter followers (about 1 in every 1800 visitors),
bumping my total to 418. I added one new Bitbucket follower and zero new
<a href="http://kev.inburke.com/letter/">newsletter</a> subscribers.</p></li>
<li><p>23 people left comments on the post (about 1 in every 1300). 156 people
left comments on Hacker News, off about 10k clicks, and ~160 people left
comments on Reddit, off of 9k clicks.</p></li>
</ul>
<p>I've posted my "conversion rate" in all cases because I don't feel like it's
amazingly high. This is probably the nature of this sort of traffic though;
there to read an article and learn something and then move on to the next
thing. I suppose if I can reach the frontpage a few times in short succession,
people may start to recognize my name and there would be a snowball effect, in
terms of the number of people signing up to follow me or posting comments.</p>
<p>I don't have the tools in place at the moment to be able to test my "conversion
rates" and see whether they can be improved. All in all though, the low rates
at which people are clicking through to other material on my site suggests that
I should put any information you'd like readers to know about yourself on the
post view page, or in the footer of the post itself.</p>
<img src="http://feeds.feedburner.com/~r/kburke/~4/Gt5E0CrhiRs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/hn-popular-post-stats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/hn-popular-post-stats/</feedburner:origLink></item>
		<item>
		<title>“The best recommendations have a lot of verbs”</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/J0Z8vkCp7jI/</link>
		<comments>http://kev.inburke.com/kevin/the-best-recommendations-have-a-lot-of-verbs/#comments</comments>
		<pubDate>Mon, 07 May 2012 17:00:05 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Improvement]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2821</guid>
		<description><![CDATA[Via Tyler Cowen, an author from the Wall Street Journal interviewed the head of admissions at the Harvard Business School. The whole article is good, but this particular line stood out: The best recommendations have a lot of verbs. They &#8230; <a href="http://kev.inburke.com/kevin/the-best-recommendations-have-a-lot-of-verbs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Via <a href="https://twitter.com/tylercowen">Tyler Cowen</a>, an author from the Wall Street Journal
<a href="http://online.wsj.com/article/SB10001424052970203833004577251490098811270.html">interviewed the head of admissions at the Harvard Business School</a>. The
whole article is good, but this particular line stood out: </p>
<blockquote>
The best recommendations have a lot of verbs. They say, "She did this," versus
adjectives that simply describe you.
</blockquote>
<p>I remember in 5th grade that we had to write Show Not Tell stories. The idea
was to get out of the habit of writing "Kyle is in 3rd grade and he is really
kind" - style stories and instead writing "When Joey's mom couldn't pick him
up, Kyle walked him all the way home, even though it was two miles in the wrong
direction."</p>
<p>I don't know why later teachers dropped the Show Not Tell agenda from the
curriculum, but apparently people still write in this style. Maybe recommenders
are lazy and it's easier to write "Shannon is a hard worker" than it is to come
up with a concrete example. Maybe the recommender doesn't know the
student very well, which is discussed in the article, and a problem.</p>
<p>The other possibility is that the person being recommended hasn't done anything
interesting. It's easy to tell, because if you have done things, people tend
to mention them when they're introducing you to someone, like "This is Jeff.
Jeff wrote the entire billing system." You can also tell because the bullet
points on your resume will have really bland verbs in them that don't really
say anything, like "Developed marketing skills" or "Monitored social analytics
tools for Company X".</p>
<p>One day you are going to have to wake up and decide to be Someone that Does
Things. The World of Doing can be scary at first because there are lots of
things that need to be done and no one is there to tell you how to do them.</p>
<p>So: what verbs to people use to describe you? Which of the versions below would
you rather someone used to describe you?</p>
<ul>
<li><p>"He's really good at finding tips and tricks to save time."</p></li>
<li><p>"He built a replacement for the school's calendar system and got 550 people to
sign up."</p></li>
</ul>
<p><br /></p>
<ul>
<li>"She is a really fierce competitor."</li>
<li>"She won the regional finals for her team by making free throws and getting
a key steal in the final minutes."</li>
</ul>
<p><br /></p>
<ul>
<li>"She's a hard worker."</li>
<li>"She rewrote the website to make it 100% faster, which boosted signups by 50%."</li>
</ul>
<p><br /></p>
<ul>
<li>"His code is always reliable."</li>
<li>"While he was in charge, the API was down for a total of three minutes in two
years."</li>
</ul>
<p><strong>Related</strong>: See <a href="http://lesswrong.com/lw/bc3/sotw_be_specific/?utm_source=twitterfeed&amp;utm_medium=twitter">Be Specific</a> at Less Wrong.</p>
<img src="http://feeds.feedburner.com/~r/kburke/~4/J0Z8vkCp7jI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/the-best-recommendations-have-a-lot-of-verbs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/the-best-recommendations-have-a-lot-of-verbs/</feedburner:origLink></item>
		<item>
		<title>How not to ask questions at a conference</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/E34wdO1SAZM/</link>
		<comments>http://kev.inburke.com/kevin/how-not-to-ask-questions-at-conference/#comments</comments>
		<pubDate>Sat, 05 May 2012 23:04:20 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Improvement]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2816</guid>
		<description><![CDATA[I went to Pycon last month (my first conference ever!) The conference was totally awesome and I met a lot of cool people. But I was also pretty appalled at the question asking at the end of each talk. Here's &#8230; <a href="http://kev.inburke.com/kevin/how-not-to-ask-questions-at-conference/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I went to <a href="https://us.pycon.org/2012/">Pycon</a> last month (my first conference
ever!) The conference was totally awesome and I met a lot of cool people. But I
was also pretty appalled at the question asking at the end of each talk. Here's
some stuff you should keep in mind before you ask a question at a conference.</p>
<ul>
<li><p>Ask questions that you believe would be relevant to at least a third of
the people in the room. Otherwise, avoid the temptation to show off your
specialized knowledge to the room and just ask the speaker afterwards. Most of
them are approachable on Twitter, email, or just in the hallways.</p></li>
<li><p>Ask only one question. If you have more than one question, pick the best and
ask the other one in private later. Or ask your first question and then go to
the back of the line. Other people have questions to ask as well and may not
get to ask one.</p></li>
<li><p>Avoid buzzword bingo. It feels like lots of people walk up to the microphone
just so the room can hear them mention some buzzword that indicates they know
something about the topic. If I am running a Scrum team should I use Soak
testing? How does Node.js influence the development of the PyPy project? If you
wouldn't ask the question without a room full of people present, then don't
ask.</p></li>
<li><p>Ask a question, don't make a comment. Talk time is for the speaker to be the
expert, not you. Write up your comment as a blog post and post it for everyone
to read later.</p></li>
<li><p>Be brief. After a talk, time is precious and many people may have
questions for the speaker, so don't ramble about how nice it is to finally see
the speaker in person, or how enlightening the talk is, even if those things
are true. It's a matter of courtesy to everyone else in the room.</p></li>
</ul>
<p>There is an easy solution to bad questions that no one has bothered to
implement yet. Have people submit questions anonymously and have the speaker
or a moderator choose which ones to answer, or have the room vote using a tool
like <a href="http://www.google.com/moderator/">Google Moderator</a>. This will solve the
problem of the question asker-bragger asking a trivial question. </p>
<p>The other solution is to charge money to ask a question, which could go to
whatever cause you want. If enough people in the room have the same question
they can contribute to the fee to ask the question and have it asked.</p>
<p><strong>Update:</strong> There's some <a href="http://news.ycombinator.com/item?id=3933574">good discussion on Hacker News</a>. "If the question
you're asking makes you look smart, there's a good chance you're being a
douchebag."</p>
<p>Also my friend Alan Shreve wants to know if it's appropriate to push back
if the speaker dodges your question.</p>
<img src="http://feeds.feedburner.com/~r/kburke/~4/E34wdO1SAZM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/how-not-to-ask-questions-at-conference/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/how-not-to-ask-questions-at-conference/</feedburner:origLink></item>
		<item>
		<title>How to use EC2 as a web proxy</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/iHR3HeJf7mE/</link>
		<comments>http://kev.inburke.com/kevin/how-to-use-ec2-as-a-web-proxy/#comments</comments>
		<pubDate>Sat, 07 Apr 2012 19:06:26 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Code]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2808</guid>
		<description><![CDATA[If KRON Channel 4 or KICU gave me the ability to stream A's games, I'd gladly pay for it, but they don't, and we're not going to pay for cable just to get baseball. MLB.tv is great and they allow &#8230; <a href="http://kev.inburke.com/kevin/how-to-use-ec2-as-a-web-proxy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If KRON Channel 4 or KICU gave me the ability to stream A's games, I'd gladly
pay for it, but they don't, and we're not going to pay for cable just to get
baseball.</p>
<p>MLB.tv is great and they allow you to stream games, but they have blackout
restrictions where you can't stream the game if it's also being shown on cable
locally.</p>
<p>Fortunately, there's a workaround. Because MLB.tv filters based on IP address,
you can get around the restriction by sending your Internet traffic through
a proxy computer, with an IP address that isn't blocked (this is how, for
example, people in China get on the internet). Most proxies are slow though and
become unwatchable if you try to stream a high-bandwidth video. If only you
could use a high-bandwidth proxy and not share it with anyone else...</p>
<p>Fortunately Amazon provides servers in the cloud that let you do exactly this.
People usually use them for running web servers, but you can use them for this
purpose just as easily.</p>
<ol>
<li><p>Go to <code>aws.amazon.com</code> and login using your Amazon credentials. They will
ask you for your credit card and to verify your phone number. As long as you
stay inside the Free Tier (roughly 30-40 games a month) you will not be
charged.</p></li>
<li><p>Click on EC2. Click "Create Instance," then use the Quick Launch wizard.
Create an Ubuntu instance (one of the "Free Tier eligible" ones) and make sure
you download the credentials, as you need them to log in and they won't be
available later.</p></li>
<li><p>On the next page click on "Edit Details," then on "Security Settings."
You need to create a new Security Group, that will allow computers from your
apartment to connect to your new computer in the cloud. Find your apartment's
IP address by visiting <a href="http://jsonip.com">http://jsonip.com</a>. Then fill out
the details like this:</p>
<p><img src="https://img.skitch.com/20120407-matmq1kgh6ptd8wgwjdaktxqdq.png"
class="inline" alt="EC2 Security Group Settings" /></p>
<p>Substitute in your own IP address. If you have a cool ISP like Sonic, you
can get a static IP address, which makes this much easier. Otherwise your
IP address may change from day-to-day, and you'll have to update this
setting, or provide a broader range of valid IP addresses in the form.</p></li>
<li><p>You need one other piece of information which is the
hostname for your EC2 instance. It will look something like this:
<code>ec2-12-34-56-789.compute-1.amazonaws.com</code>.</p></li>
<li><p>Now the fun parts! Open up the Terminal and type in:</p>
<p><pre class="brush: bash; title: ; notranslate">
ssh -i $HOME/.ssh/mlb.pem ubuntu@ec2-12-34-56-789.compute-1.amazonaws.com -D 2001
</pre></p>
<p>where <code>$HOME/.ssh/mlb.pem</code> is the route to the <code>.pem</code> file you downloaded
earlier, and the hostname is the hostname you got above. Go ahead and leave
this connection open. You need to leave this open while you're trying to
watch some baseball.</p>
<p>(This won't work for PC users. If you're on a PC you have to configure
PuTTY to use SSH, which is an unusable mess that I'm glad I don't have to
deal with anymore).</p></li>
<li><p>Now open Firefox Preferences, click "Advanced", click "Settings", then type
in these settings:</p>
<p><img src="https://img.skitch.com/20120407-thytcg1c2iw8akmspaj9kknt69.png"
class="inline" alt="Firefox proxy settings" /></p>
<p>To check that they were applied correctly, visit jsonip.com in your Firefox
browser. It should be a different IP than your apartment! Browse away!</p></li>
</ol>
<p>Some notes:</p>
<ul>
<li><p>The next time you set this up, all you have to do is run the SSH command in
your terminal, and set up Firefox to use the proxy. It won't hurt your computer
to kill either at any time, but the stream will stop working.</p></li>
<li><p>This uses <a href="http://aws.amazon.com/free/">the free tier</a> of Amazon Web
Services; if you go over your limits then Amazon will charge you. You can check
your usage in the "Account Activity" portal on aws.amazon.com.</p></li>
<li><p>I've only done this for one game, and the usage I checked was about 0.4 GB,
which means with 15 GB in/out per month, you should be able to stream about 30
games, assuming no other usage. The connection between MLB and Amazon is really
good; the connection between Amazon and your apartment may not be, depending on
your connection speed.</p></li>
<li><p>It may be better to configure these settings in your router so everyone can connect.
I'm not sure how to do that, however.</p></li>
<li><p>Again, I wish this weren't a problem but MLB blacks out games on their
streaming service, so there's no way to stream games that are on cable. I have
no problem paying for a stream, as we are in fact paying for MLB.tv. I'll take
this post down once someone figures out how I can pay to stream games in my
local market, without resorting to hacks like this.</p></li>
</ul>
<img src="http://feeds.feedburner.com/~r/kburke/~4/iHR3HeJf7mE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/how-to-use-ec2-as-a-web-proxy/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/how-to-use-ec2-as-a-web-proxy/</feedburner:origLink></item>
		<item>
		<title>Stop hurting my browser</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/C9JzyyPAfKE/</link>
		<comments>http://kev.inburke.com/kevin/hey-tweetdeck-stop-hurting-my-browser/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 19:42:34 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Usability]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2795</guid>
		<description><![CDATA[I love Tweetdeck. Well, I love parts of Tweetdeck. Specifically the side-by-side view makes it really easy to see my stream, my replies, people linking to my website and people talking about Twilio on one screen and I haven't found &#8230; <a href="http://kev.inburke.com/kevin/hey-tweetdeck-stop-hurting-my-browser/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I love Tweetdeck. Well, I love parts of Tweetdeck. Specifically the
side-by-side view makes it really easy to see my stream, my replies, people
linking to my website and people talking about Twilio on one screen and
I haven't found another tool that can do it. But Tweetdeck also breaks my
browser in really annoying ways. Here are the most annoying examples.</p>
<h4>Use of outline:none on buttons.</h4>
<p>When you tab through a form, Tweetdeck doesn't show you which button is
currently focused on the screen. I tend to stay on the keyboard wherever I can
because switching to the mouse is so slow. It's much faster to fill out forms
tabbing with the keyboard than clicking around with the mouse.</p>
<p>Operating systems have highlighters that show you which button is currently
focused - on Mac OS X they show a blue glow around the box that's currently
focused, like this:</p>
<p><img src="https://img.skitch.com/20120406-jwy6iw6mgq6kgnajxig139scwm.png"
class="inline" alt="Focused text box" /></p>
<p>Clearly you can see the US Dollar field is focused. Now if I tab again, the
"Measurement Units" button is focused:</p>
<p><img src="https://img.skitch.com/20120406-g1wf7y356kbj613k95ht45giy.png"
class="inline" alt="Focused select box" /></p>
<p>Tweetdeck doesn't like having outlines on their buttons. This is what you get
if you tab from the "Password" field:</p>
<p><img src="https://img.skitch.com/20120406-k2r4yiuffrm7raqb5bjtxyg7td.png"
class="inline" alt="Focused password field" /></p>
<p>See how the focus disappears:</p>
<p><img src="https://img.skitch.com/20120406-kx85kyhbxn75ydppe8rakc3mcc.png"
class="inline" alt="Focus disappears" /></p>
<p>It's not that annoying there. Where it's <em>really</em> annoying is when you are
trying to post a new tweet. In GMail when I press Tab from the message body,
the focus jumps straight to the "Send" button:</p>
<p><img src="https://img.skitch.com/20120406-nxtcjn8b338kc77h121we5c7fj.png"
class="inline" alt="Gmail focused send button" /></p>
<p>This is perfect because it makes sending emails really fast - I just hit Tab,
Enter and the email's sent and I'm back in my inbox.</p>
<p>When you press Tab + Enter from the "Tweet" field in Tweetdeck, instead of
posting your Tweet, they jump you to the Camera button:</p>
<p><img src="https://img.skitch.com/20120406-kfut55a3ga5nbpj22r7bgbjk6s.png"
class="inline" alt="tweet text focus, tab reveals.." /></p>
<p><img src="https://img.skitch.com/20120406-d7darembttg532qg32me434qhu.png"
class="inline" alt="tweetdeck camera upload page" /></p>
<p>Normally this is annoying, but it's not <em>that</em> annoying; I can just Tab
multiple times to get to the button. But Tweetdeck also hides the focus with
outline:none in their CSS, so you can't actually tell which button is currently
focused. This means you can't figure out how many times you need to Tab through
to get to the Tweet button.</p>
<p>It's really not that hard to fix, and it won't make a lick of difference to the
mouse-clicking hoi polloi. Just change the HTML tabindex of the form, and add
a focused style for the button.</p>
<h4>Using target=_blank for links.</h4>
<p>When I read my stream, I read through all the Tweets first, opening up
interesting links in new tabs to read later. I don't want to constantly be
jumping back and forth between my stream and articles, because I lose my place
in the stream.</p>
<p>Fortunately, browsers offer two methods for opening new tabs in the background.
One is to hold Cmd while clicking on a link. The second is to right click and
press "Open in new tab."</p>
<p>Neither of these is good enough for Tweetdeck; they force you to immediately
switch out of your stream into new articles by adding a <code>target="_blank"</code>
attribute to all links in the app. <code>target="_blank"</code> links override your
browser's default behavior and switch your focus immediately to the new tab or
window. </p>
<p>The reason they attach <code>target=_blank</code> attributes to their URL's is so that
all of their links open in a different tab, instead of the same and Tweetdeck
stays open in the browser. But that's also evil, because it breaks a user's
expectation about what's going to happen when they click on the link. I <em>want</em>
to open links in a different tab, I just don't want them to be focused, and
Tweetdeck makes this impossible.</p>
<h4>Completely breaking when Javascript is disabled.</h4>
<p>Lately I've been playing with disabling Javascript in my browser. Mostly I am
disappointed in how much of the Internet breaks when you disable Javascript,
especially pages that <em>only</em> show content like news articles or blog posts. </p>
<p>It's nice at least when a site includes a <code>&lt;noscript&gt;</code> tag telling you that
you need to enable Javascript for the site to function. Tweetdeck doesn't even
do this. Here is what you get if you browse to web.tweetdeck.com with
Javascript disabled:</p>
<p><img src="https://img.skitch.com/20120305-bas6p939gfir9hwtrg7eqij21h.png"
class="inline" alt="Empty Tweetdeck screen with Javascript disabled" /></p>
<p>That's a blank screen, with no notice or indication that your browser didn't
crap out.</p>
<p>They also detect your user agent, and error out if you try to access Tweetdeck
with Firefox or Opera, without even making an attempt to display the page.
I can understand not supporting IE, but I don't understand why they can't even
try Firefox.</p>
<p><img src="https://img.skitch.com/20120318-me6jtm7anfw7xgmr87t22syrxn.png"
class="inline" alt="Unsupported browser" /></p>
<h4>Conclusion</h4>
<p>Tweetdeck is good enough that I'll continue to use it, but there are some
simple things that make my experience a little miserable every time I click
on a link or try to write a new Tweet. I wish Twitter as a whole cared more
about accessibility and usability for all of its users (<a href="https://github.com/twitter/bootstrap/issues/2144">here's another
example</a>); with an estimated
100 million active users, even a small percentage of users who lack the fine
motor control to use a mouse (or even a keyboard) is still a large number of
people that are affected by problems like this.</p>
<img src="http://feeds.feedburner.com/~r/kburke/~4/C9JzyyPAfKE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/hey-tweetdeck-stop-hurting-my-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/hey-tweetdeck-stop-hurting-my-browser/</feedburner:origLink></item>
		<item>
		<title>Better to prevent mistakes than to fix them quickly</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/9MOS0lI8yO4/</link>
		<comments>http://kev.inburke.com/kevin/better-to-prevent-mistakes-than-to-fix-them-quickly/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 17:05:07 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Usability]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2780</guid>
		<description><![CDATA[Friday one of my favorite teams, St. Mary's, dropped an extremely close game to Purdue. They were up one point with 31 seconds to go when one of their senior players tried to run the baseline, something you can only &#8230; <a href="http://kev.inburke.com/kevin/better-to-prevent-mistakes-than-to-fix-them-quickly/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Friday one of my favorite teams, St. Mary's, dropped an extremely close game
to Purdue. They were up one point with 31 seconds to go when one of their senior
players tried to run the baseline, something you can only do after you have
scored a basket. Purdue took the ball and went on to win the game.</p>
<p><a href="http://kev.inburke.com/kevin/better-to-prevent-mistakes-than-to-fix-them-quickly/steindl/" rel="attachment wp-att-2781"><img src="http://kev.inburke.com/wp-content/uploads/2012/03/steindl.jpeg" alt="Client Steindl hangs his head" title="steindl" width="206" height="270" class="alignnone size-full wp-image-2781" /></a></p>
<p>Obviously it was a bad mistake for the player to make in that situation. But
there's another person who is to blame: the referee. Before inbounding the
ball, the referee will signal to the player that they either can or cannot run
the baseline. Sure, the referee can blow the whistle every time there is
a violation, but it's better to prevent the error in the first place. It would
be like letting players line up for a free throw in the wrong order, letting
the player shoot and then blowing the whistle for incorrect order.</p>
<p>Ultimately the blame belongs with the player who made the mistake; he
should have known better. But it was an awful way to decide the game; on a
technicality instead of through the actions on the court.</p>
<p>It's a known law of websites that any type of mistake that can be made by your
users (entering a username instead of an email address, entering a wrong phone
number, etc) will be. For those cases we write error handling code and prevent
incorrect data from being written to our database. But it's better to prevent
the error as quickly as you can - as soon as they make the mistake, if it's
possible. The more time that elapses between the error occurring and the time
you tell them about it, the more frustrated they are likely to be. Even better
is to design your form in a way that prevents them from making the mistake in
the first place.</p>
<p>Pretty much every site needs to validate form data on the server to make sure
it's correct. But the best sites will also validate data on the client side,
e.g. when the user is typing it into their computer. This way they can prevent
users from making dumb mistakes.</p>
<img src="http://feeds.feedburner.com/~r/kburke/~4/9MOS0lI8yO4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/better-to-prevent-mistakes-than-to-fix-them-quickly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/better-to-prevent-mistakes-than-to-fix-them-quickly/</feedburner:origLink></item>
		<item>
		<title>How beginning programmers should read a quickstart guide</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/k1rLFBEfSus/</link>
		<comments>http://kev.inburke.com/kevin/the-real-reasons-you-cant-figure-out-how-to-code/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 06:32:18 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Usability]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2768</guid>
		<description><![CDATA[Programming is hard. Especially when you are just getting started, there are a lot of things, in Donald Rumsfeld's words, that you "don't know that you don't know." Lots of quickstarts for beginners assume the reader knows things about how &#8230; <a href="http://kev.inburke.com/kevin/the-real-reasons-you-cant-figure-out-how-to-code/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<p>Programming is hard. Especially when you are just getting started, there are a
lot of things, in Donald Rumsfeld's words, that you "don't know that you don't
know." Lots of quickstarts for beginners assume the reader knows things about
how the command line works that my experience shows they don't. I do lots of
user tests with people new-to-programming and see these errors again and again.</p>
<p>I thought I'd put together a short list of things quickstart writers leave out,
that will still leave you totally stumped.</p>
<ul>
<li><p>Most of the time if you see an indented block of text in a fixed width font,
like this:</p>
<p><pre class="brush: bash; title: ; notranslate">
$ foo baz bang
</pre></p>
<p>It usually means you're supposed to do something with the text in the box.</p></li>
<li><p>If the text in the box has a dollar sign at the beginning of it, it
represents a command you are supposed to enter in your Terminal. If you get
an error that looks like this:</p>
<p><pre class="brush: bash; title: ; notranslate">
    bash: $: command not found
</pre></p>
<p>It means you aren't supposed to copy the dollar sign. Just type <code>foo baz
bang</code> and hit <code>&lt;Enter&gt;</code>. Unfortunately it's hard to Google for dollar signs,
so you can't really figure out what you did wrong.</p></li>
<li><p>If there's a dollar sign, followed by some more text on the lines below the
dollar sign, the lines below represent the output of running the command
correctly. For example:</p>
<p><pre class="brush: bash; title: ; notranslate">
    $ python run.py
     * Running on http://127.0.0.1:5000/
     * Restarting with reloader
</pre></p>
<p>You are only supposed to type in <code>python run.py</code> into your Terminal. The
rest of that stuff is the output of running the command correctly.</p></li>
<li><p>If the block of text doesn't have a dollar sign, it's <em>probably</em> a snippet of
code you are supposed to copy into a text editor and save into a file (On Mac,
use TextWrangler; on Windows use Notepad++). Hunt around the quickstart for a
filename you should use.</p></li>
<li><p>If they don't tell you <em>where</em> to save the files, create a new folder and
save all of the files in there, in the top level.</p></li>
<li><p>If the command line mentions a file you've recently created, like this:</p>
<p><pre class="brush: bash; title: ; notranslate">
    $ python run.py
</pre></p>
<p>You need to run the command from "inside" the same folder as the file. The
terminal has a notion of being "in" a directory (Directories and folders
are the same thing). Here's a short guide:</p>
<ul>
<li><p>To figure out which directory you are in, type <code>pwd</code> and press Enter.
(<code>pwd</code> stands for "print working directory"). </p></li>
<li><p>To list all files and folders in the current directory, type <code>ls -al</code> and
press Enter. </p></li>
<li><p>To go into a folder below the current one, type <code>cd Documents</code> (or
whichever folder you are trying to navigate to). To do more than one type
<code>cd Documents/code</code>.</p></li>
<li><p>To go up a level type <code>cd ..</code></p></li>
</ul>
<p><p>Once you're "in" the right place you should be able to run the command
properly.</p></li>
<li><p>If you feel like you are spinning your wheels, ask for help! It's important
to know how to ask. Make sure to tell people a) what you are trying to do, b)
what you expected to happen, and c) what actually happened. Bonus points if you
can talk about things you tried previously and why they failed to do what you
wanted.</p></li>
</ul>
As an author of a quickstart myself, I feel like I owe an apology to users
who are just getting started, for not including this information along with
our guide. Sadly the terminal is just about the least beginner-friendly piece
of software I can think of, and when you are just getting started, so-called
"simple" errors can totally derail you and make you want to go outside and play
Frisbee or roller blade. </p>
<p>Hopefully these tips will help you get started doing that cool tutorial you've
always wanted to do.</p>
<img src="http://feeds.feedburner.com/~r/kburke/~4/k1rLFBEfSus" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/the-real-reasons-you-cant-figure-out-how-to-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/the-real-reasons-you-cant-figure-out-how-to-code/</feedburner:origLink></item>
		<item>
		<title>CMC’s website shows vast improvements</title>
		<link>http://feedproxy.google.com/~r/kburke/~3/zpA3cOQ3vWg/</link>
		<comments>http://kev.inburke.com/kevin/cmcs-website-shows-vast-improvements/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 09:06:38 +0000</pubDate>
		<dc:creator>kevin</dc:creator>
				<category><![CDATA[Usability]]></category>
		<guid isPermaLink="false">http://kev.inburke.com/?p=2761</guid>
		<description><![CDATA[Last summer I tore into CMC's website redesign, saying that the new design emphasized looks over function and did a poor job of explaining what made CMC special. I recently visited the site and they've made a bunch of usability &#8230; <a href="http://kev.inburke.com/kevin/cmcs-website-shows-vast-improvements/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last summer I <a href="http://kev.inburke.com/kevin/cmcs-website-redesign-the-good-the-bad-and-the-ugly/">tore into CMC's website redesign</a>, saying that the new
design emphasized looks over function and did a poor job of explaining what
made CMC special. I recently visited the site and they've made a bunch of
usability improvements. </p>
<p>Here are some of the highlights. Again, I offer these up with the caveat that,
I haven't done any testing or looked at any data, but I do have a lot of
experience in this area.</p>
<ul>
<li><p>The old homepage, with only 14 links, call to action button that looked like
an ad, and incredibly-difficult-to-change photo content, is gone. Instead users
are redirected straight to http://cmc.edu/discovercmc, which is a much better
page.</p></li>
<li><p>The Discover CMC page has lots of dynamic content that promises to be much
easier to update; photos of speakers, links to events, a Twitter widget and a
sliding bar. It also has an updated meta description, so a Google search for
"Claremont McKenna" returns more contextual information about CMC.</p></li>
<li><p>Static assets (images, CSS, Javascript) are being cached with a Last-Modified
and an E-Tag header, so that browsers will not re-request the same images and
CSS every time a user requests the homepage. This will help with page load
times.</p></li>
<li><p>There's a call to action button on the homepage: "Plan your Visit to
Claremont McKenna today."</p></li>
<li><p>The "Student Gateway" replaced all of the stock photos with links
to useful content, like the login form for your email account, which
used to take around four clicks. That is outstanding. (For the record,
<a href="http://bit.ly/cmcmail">http://bit.ly/cmcmail</a> will take you right to the old
form - I set up that link junior year :)) It looks like a page I would
actually use to find things I was looking for - the maintenance request page,
the Collins menu, etc.</p></li>
<li><p>The calendar on the Student Gateway page <a href="https://www.google.com/calendar/b/0/embed?src=dos.sm@cmc.edu">uses Google
Calendar</a>,
instead of the old ASPX event calendar that no one used.</p></li>
<li><p>The "Prospective Students" page has an explanation of <em>why</em> you should apply
to CMC.</p></li>
<li><p>Skip links for disabled users!! These will help people skip to the main page
content and help CMC, a nonprofit, meet government standards for website
accessibility.</p></li>
<li><p>The professor home pages, which I singled out for SEO improvements, have
gotten about halfway there; it's clear someone is thinking about improvements
in that area. Pages now contain an h1 tag and some keywords describing what the
professor does; it's a lot of work, but the pages would be best with a unique
&lt;title> attribute and a meta description, however.</p></li>
</ul>
<p>These add up to amazing improvements in usability and discoverability; they've
addressed most of the problems with the old site. It also represents a
tremendous amount of effort on the website and whoever is responsible should be
proud. </p>
<p>That said, it's still not perfect, and there are some more quick usability/SEO
wins to accomplish. Here's a shorter, less urgent, list of areas
they could still improve upon:</p>
<ul>
<li><p>You can access the Discover CMC page from eight distinct URL's:</p>
<ul>
<li>www.cmc.edu/discovercmc</li>
<li>cmc.edu/discovercmc </li>
<li>claremontmckenna.edu/discovercmc </li>
<li>www.claremontmckenna.edu/discovercmc </li>
<li>www.cmc.edu/discovercmc/index.php</li>
<li>cmc.edu/discovercmc/index.php</li>
<li>claremontmckenna.edu/discovercmc/index.php</li>
<li>www.claremontmckenna.edu/discovercmc/index.php</li>
</ul>
<p>Google will sometimes interpret duplicate content as a sign that you're
trying to farm for content by placing the same text at different URL's. It
also means Google is unsure which version of the page to point people to. It's
better for Google rankings to redirect all duplicate content to one canonical
domain/URL with a 301 (and better still to serve it at the root - shorter URL's
rank more highly).</p></li>
<li><p>It feels odd to have distinct pages for Admission and for Prospective
Students; those two have a ton of overlap and it might be best to merge them.
Prospective students are the only group interested in Admissions information,
and the Admission pages may get more love (see the outdated Twitter feed on the
Prospective students page).</p></li>
<li><p>The dropdown menu is great and includes a ton of links to useful content.
However, I expected that when I hovered over the menu item, the menu would
appear automatically. Instead I had to click to make the menu appear. Normally
I expect when I click on something that looks like a link, I will be taken to
a different page, so I was hesitant to click on the link. </p>
<p><p>Dropdown menus have a usability problem where users scrolling the mouse
from above the menu to below the menu trigger the flyout, even though they
don't mean to. The best practice here is to <a href="http://www.useit.com/alertbox/mega-dropdown-menus.html">have the menu only appear after
the user has hovered over the item for around half a second</a>, so that
transient mousers don't trigger the flyout.</p></li>
</ul>
One of the reasons I set up <a href="http://goodmorningcmc.com">Good Morning CMC</a> was
to provide students with an actually useful calendar and a more accessible view
of the information that we needed on a daily basis. With these changes Good
Morning CMC is becoming close to redundant.</p>
<p>The number of CMC students interested in different tech fields - web design,
marketing, entrepreneurship - has been on the rise recently. I wouldn't be
surprised if the web team and some smart interns couldn't continue to improve
the site, boosting application rates, prospective student contact rates, and
alumni giving rates, through iterative improvements to the current site.</p>
<p><em>PS</em> Sorry I didn't include images or links - I am trying to blog more often
and cut down on the amount of time it takes to do so.</p>
<img src="http://feeds.feedburner.com/~r/kburke/~4/zpA3cOQ3vWg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kev.inburke.com/kevin/cmcs-website-shows-vast-improvements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kev.inburke.com/kevin/cmcs-website-shows-vast-improvements/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.104 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-05-20 19:05:15 -->

