<?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"?><!-- Generated by: http://www.phpclasses.org/rsswriter $Revision: 1.12 $ --><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
 <channel>
  <title>AlanHogan.com</title>
  <link>http://alanhogan.com/</link>
  <description>Alan Hogan's website - Web development, Mac user tips, etc.</description>
  <pubDate>Thu, 09 Jul 2009 18:36:51 -0400</pubDate>
  <ttl>5</ttl>
  <language>en-US</language>
  <copyright>Copyright 2009, AlanHogan.com</copyright>
  <image>
   <url>http://pan.alanhogan.com/ribbon/images/ribbonlogo2.gif</url>
   <title>AlanHogan.com</title>
   <link>http://alanhogan.com/</link>
  </image>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/alanhogan" type="application/rss+xml" /><feedburner:emailServiceId>alanhogan</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Falanhogan" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Falanhogan" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Falanhogan" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/alanhogan" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Falanhogan" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Falanhogan" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Falanhogan" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Falanhogan" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Falanhogan" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="https://intouch.particls.com/download/?mode=2&amp;feed=http%3A%2F%2Ffeeds.feedburner.com%2Falanhogan" src="https://intouch.particls.com/resources/buttons/it-button2.gif">Subscribe with Particls</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
   <description>&lt;h1&gt;iPhone Mobile Safari User Agent Faking&lt;/h1&gt;

&lt;p&gt;You can &lt;strong&gt;&lt;a href="http://alanhogan.com/files/iphone_user_agent.xml" title="XML import file for User Agent Switcher"&gt;import this XML file&lt;/a&gt;&lt;/strong&gt;
into your &lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/59"&gt;User Agent Switcher&lt;/a&gt; plugin for Firefox&lt;/strong&gt; so you can view and test the mobile or iPhone version of a site.  The user agent string is the one described in &lt;a href="http://paininthetech.com/2007/10/03/fake-iphone-user-agent/"&gt;this tip&lt;/a&gt;.  (After installing &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/59"&gt;User Agent Switcher&lt;/a&gt;, restart Firefox and go to Tools &amp;bull; User Agent Switcher &amp;bull; Options and click &amp;#8220;Import.&amp;#8221;)&lt;/p&gt;

&lt;p&gt;Also of note is that the iPhone Simulator (part of the iPhone SDK from Apple) does include Mobile Safari and can actually navigate to your local development site (e.g. localhost:3000 or any other server running on your computer), not to mention the Web at large.&lt;/p&gt;

&lt;p&gt;If this becomes painfully out of date, let me know by my &lt;a href="http://alanhogan.com/contact?reason=iphone_ua"&gt;contact form&lt;/a&gt; or &lt;a href="http://twitter.com/alanhogan"&gt;twitter&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=8JH7vAJLiGw:509rGz746zg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=8JH7vAJLiGw:509rGz746zg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=8JH7vAJLiGw:509rGz746zg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=8JH7vAJLiGw:509rGz746zg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=8JH7vAJLiGw:509rGz746zg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=8JH7vAJLiGw:509rGz746zg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=8JH7vAJLiGw:509rGz746zg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=8JH7vAJLiGw:509rGz746zg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=8JH7vAJLiGw:509rGz746zg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/8JH7vAJLiGw" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/tips/iphone-ua</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/8JH7vAJLiGw/iphone-ua</link>
   <category>iPhone</category>
   <category>web dev</category>
   <category>tips</category>
   <category>downloads</category>
   <title>Import the iPhone User Agent into the Firefox plugin User Agent Switcher (download)</title>
   <pubDate>Wed, 20 May 2009 15:11:58 -0400</pubDate>
  <feedburner:origLink>http://alanhogan.com/tips/iphone-ua</feedburner:origLink></item>
  <item>
   <description>&lt;h1&gt;Alan&amp;#8217;s Tips for Student Films&lt;/h1&gt;

&lt;p&gt;I&amp;#8217;m not a film student.  But I&amp;#8217;m the guy who mutters about how annoying your mistakes are while attending the &lt;a href="http://www.asufilm.com/"&gt;student film festival&lt;/a&gt; &amp;#8212; and I&amp;#8217;m the guy who can&amp;#8217;t stop talking about how great your film was when you get it all right.&lt;/p&gt;

&lt;p&gt;These are some tips to keep me happy.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I swear a bit in here, but you film students are used to that. Mom, skip to my next blog entry.&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Spend more time writing your script than creating a logo for yourself.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read your script out loud.&lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t be afraid to rewrite your whole script. No cut-copy-paste 
superficial editing: rewrite the whole damn thing.
After your first draft, you will have a better idea of what you are 
trying to say, and your next
draft will let you really focus on saying that.&lt;/li&gt;
&lt;li&gt;You had better have a great point or make me laugh. Nothing is worse
than a film with no point. I don&amp;#8217;t give a shit if you used
a camera angle you never used before. &lt;/li&gt;
&lt;li&gt;I&amp;#8217;m serious about revising. Otherwise, you might end up like the 
poor sap who was laughed at by the whole theater for simultaneously
attempting to reveal crucial plot information at the beginning
of the film and pretending that no one knew that information and
&amp;#8220;suspensefully&amp;#8221; building up to its disclosure at the climax.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; It&amp;#8217;s 
idiotic, but even an idiot would avoid this mistake once he/she 
decided he/she wanted to go for suspense and 
rewrote the script to eliminate the giveaways.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Seriously, about your logo. Don&amp;#8217;t over-do it.&lt;/p&gt;

&lt;p&gt;You can create a cutesy &amp;#8220;X Productions&amp;#8221; name and logo&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; for yourself
    if you really want, but if your film focuses on
    it for more than 2 seconds, I start choking on your delusions 
    of grandeur.  At 5 seconds, I throw up and can&amp;#8217;t finish my oversalted bag
    of popcorn (no butter, if you&amp;#8217;re buying to thank me for my brilliant
    and frank advice).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ask friends for feedback on for script.  Have them focus on plausibility 
and dialog (or humor, if that&amp;#8217;s what you&amp;#8217;re going for).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lighting matters.&lt;/p&gt;

&lt;p&gt;Don&amp;#8217;t half-ass it.  Keep your color balance consistent.  And if your dialogue indicates it&amp;#8217;s 3&amp;#160;A.M.,
don&amp;#8217;t let me see light shining through the goddamn window.&lt;/p&gt;

&lt;p&gt;Oh, and back-lighting is nearly always bad.  When done well, it can
really make your film shine; typically, though, it just makes it hard for us
to see your actors.  Which leads us to our next tip:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Do not use effects because they&amp;#8217;re cool.&lt;/p&gt;

&lt;p&gt;In web design, we have a maxim that no design element should be used
without a purpose. I imagine the same rule works for effects of all kinds
in films. What does it &lt;em&gt;do?&lt;/em&gt; Nothing? Take it out!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Spend a lot of time editing.&lt;/p&gt;

&lt;p&gt;Boring parts suck.  Wow, you zoomed out from the detailed
close-up to a wider action scene? Great, but if you take 30 seconds
to freaking zoom out, I&amp;#8217;ll pass out from a lethal case of boredom.
Stop wanking while thinking about how classy your zoom-out is and
cut to the chase already. If the audience is all aware of your camera
work, you&amp;#8217;re doing it wrong; they are missing your message.&lt;/p&gt;

&lt;p&gt;Long speeches suck.  You should have edited
your drafts enough to prevent that, but for a documentary that isn&amp;#8217;t
exactly how things work &amp;#8212; so play the money quote and skip the rambling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Get feedback on your edited film, then edit it some more.&lt;/p&gt;

&lt;p&gt;Your friends have eyes that haven&amp;#8217;t already seen this on-set,
in rough cuts, or the script.  Use those eyes.  Ask them what parts 
didn&amp;#8217;t make sense. DO NOT dismiss their concerns, as your ego 
will ask you to. Figure
out why your friends were confused. Was dialog ambiguous? Did it
contradict something visually? Fix it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Soundtracks are hard.&lt;/p&gt;

&lt;p&gt;I am impressed by how well-done many of your soundtracks are.&lt;/p&gt;

&lt;p&gt;Tips: Use music that suits your film, not just your taste.&lt;br /&gt;
Don&amp;#8217;t use a song if the lyrics don&amp;#8217;t fit.&lt;br /&gt;
Don&amp;#8217;t layer a song with lyrics over dialog.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The only default font you can use for your title and credits
is Helvetica.  If you haven&amp;#8217;t studied typography, you probably shouldn&amp;#8217;t pick
anything besides the following &lt;strong&gt;ridicule-safe&lt;/strong&gt; fonts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Helvetica (Arial works as a substitute. See &lt;a href="http://www.imdb.com/title/tt0847817/" title="Hustwit's 'Helvetica' on IMDB - greatest documentary ever?"&gt;Helvetica&lt;/a&gt; the 
movie if you have any doubts)&lt;/li&gt;
&lt;li&gt;Gotham (Though you should be aware this is now 
associated with Obama, at least when used in all caps)&lt;/li&gt;
&lt;li&gt;Gill Sans (for credits/scenes; great readability, but ugly for titles)&lt;/li&gt;
&lt;li&gt;Futura / Century Gothic / Neutra (for a modern feel; titles only, not credits)&lt;/li&gt;
&lt;li&gt;Large, beautiful, classical (not edgy) serifs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If all else fails, just remember to &lt;strong&gt;never&lt;/strong&gt; use any of the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copperplate&lt;/li&gt;
&lt;li&gt;Times New Roman&lt;/li&gt;
&lt;li&gt;Comic Sans (&lt;a href="http://bancomicsans.com/" title="Putting the sans in comic sans"&gt;seriously&lt;/a&gt;.)&lt;/li&gt;
&lt;li&gt;Courier or any other unforgivably ugly monospace or typewriter font&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.fontshop.com/fontcase/alternatives/bank_gothic/" title="Tempting, but no. (Click for a list of alternatives)"&gt;Bank Gothic&lt;/a&gt; (tempting since the pros use it, but it&amp;#8217;s the most over-used film font since &lt;a href="http://www.fontshop.com/fontcase/alternatives/trajan/" title="If you really want to use Trajan, here are some alternatives"&gt;Trajan&lt;/a&gt;, and it&amp;#8217;s wide as all hell anyway).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also &lt;strong&gt;avoid&lt;/strong&gt; &amp;#8220;pure&amp;#8221; (fully saturated) red, yellow, green, and blue (#ff0000, #ffff00, #00ff00, and #0000ff, respectively) for 
text.  You&amp;#8217;ll look like an amateur. Less-saturated colors, black, or white
will do fine. We&amp;#8217;re here for the movie, not to ooh and ahh over the fact
you figured out how to change the font color for no bloody reason.&lt;/p&gt;

&lt;p&gt;An uncommon font that directly relates to your subject is usually excusable,
but let me stress that while it is a boring, vanilla choice,
you can never go &lt;em&gt;wrong&lt;/em&gt; with Helvetica.&lt;/p&gt;

&lt;p&gt;Seriously, I cannot vote for you at
the film festival if you use Comic Sans, and I will laugh out loud
if your title is set in &lt;a href="http://new.myfonts.com/fonts/agfa/curlz-mt/" title="Don't."&gt;Curlz&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Do not over-compress your movie or edit at a low resolution.&lt;br /&gt;
Your film should not look like someone is playing a YouTube clip
on the big screen.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hope (or double-check well ahead of time) that the projectionist
will show your film with the proper aspect ratio.  Nothing is worse
than all your hard work being ruined by the fattened look of your
4:3 actors being shown in 19:6.  Yes, this happens, and it makes
jerks like me want to walk out.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If I forgot something, &lt;a href="/contact?reason=sff"&gt;let me know&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Good luck.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;div class="hr"&gt;&lt;hr /&gt;&lt;/div&gt;
&lt;ol&gt;

&lt;li id="fn:1"&gt;
&lt;p&gt;Oh, and his/her dialogue was tacky, canned, and unoriginal, and 
the plot was altogether weak, and the apparent message was 
exaggerated, and it wasn&amp;#8217;t funny. All of those things&lt;br /&gt;
would benefit from revision, but the attempt at suspense was the kicker.&amp;#160;&lt;a href="#fnref:1" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:2"&gt;
&lt;p&gt;Where &lt;var&gt;X&lt;/var&gt;
is your initials, a pun, or an in-joke, no doubt.&amp;#160;&lt;a href="#fnref:2" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=OD1GXaRvaec:fJao1UNS_-4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=OD1GXaRvaec:fJao1UNS_-4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=OD1GXaRvaec:fJao1UNS_-4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=OD1GXaRvaec:fJao1UNS_-4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=OD1GXaRvaec:fJao1UNS_-4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=OD1GXaRvaec:fJao1UNS_-4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=OD1GXaRvaec:fJao1UNS_-4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=OD1GXaRvaec:fJao1UNS_-4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=OD1GXaRvaec:fJao1UNS_-4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/OD1GXaRvaec" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/student-film-festival-tips</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/OD1GXaRvaec/student-film-festival-tips</link>
   <category>movies</category>
   <category>students</category>
   <category>film festivals</category>
   <title>Student film festival tips</title>
   <pubDate>Wed, 29 Apr 2009 10:23:15 -0400</pubDate>
  <feedburner:origLink>http://alanhogan.com/student-film-festival-tips</feedburner:origLink></item>
  <item>
   <description>&lt;h1&gt;The &amp;#8220;Yearbook Method&amp;#8221; of Graphic Design&lt;/h1&gt;

&lt;p&gt;One of the most meaningless, transient, amateur patterns in &amp;#8220;graphic design&amp;#8221; is the trend of adding extraneous punctuation all over the place.  The sad part is that this design sin ignores the meaning and history of the symbols it abuses.&lt;/p&gt;

&lt;p&gt;I once called this the &amp;#8220;yearbook method&amp;#8221; &lt;a href="https://twitter.com/alanhogan/statuses/1244521631"&gt;on Twitter&lt;/a&gt; 
because this &amp;#8220;technique&amp;#8221; was the hallmark of the yearbook team at my high school.  Each successive edition would shift focus from [hard brackets] to \&lt;angle brackets\&gt; to Â»double chevrons (actually Â«angle quotes,Â» not like we ever learned about those in public school).  There was no reason behind this except for the whim of an untrained, unstudied student designer.&lt;/p&gt;

&lt;p&gt;My good friend Kyle King finds this observation accurate (and embarrassing):&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;That&amp;#8217;s a fair critique, at least of our [yearbook]. I never want to have to say, &amp;#8220;Well, you know, semi-colons were big that year&amp;#8221; as an answer to a child&amp;#8217;s question, that&amp;#8217;s for sure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The reason I hate the yearbook method of graphic design is that is an abuse of symbols.  Each glyph we abused has a meaning, and we completely ignored its meaning to use it for decoration.  Heck, we didn&amp;#8217;t even learn the proper names of these characters.&lt;/p&gt;

&lt;p&gt;What really makes me said is that this trend isn&amp;#8217;t limited to yearbook design or even high-school efforts, but can be found in corporate America.&lt;/p&gt;

&lt;p&gt;Hereâs a lovely example: The current CVS logo.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/fredericksburg/3085671440/"&gt;&lt;img src="/images/ybk/cvs-pharmacy.jpg" alt="CVS logo in neon" title="Image &amp;copy; fredericksburg &amp;ndash; under a CC license" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Can you imagine what went through the designer&amp;#8217;s head?&lt;/p&gt;

&lt;p&gt;&amp;#8220;Alright, now sometimes we are a CVS, and sometimes we are a pharmacy. Like, CVS or pharmacy, right, slash! Slash-or! CVS-slash-pharmacy. Dig it?&amp;#8221;&lt;/p&gt;

&lt;p&gt;I would bet that wasn&amp;#8217;t the thought process. One would hope that if the designer had actually stopped to think about the real &lt;em&gt;meaning&lt;/em&gt; of a slash character, he/she would have avoided its abuse. Unfortunately, the thought process was probably just as Kyle described it:&lt;/p&gt;

&lt;p&gt;&amp;#8220;Well, slashes are &amp;#8216;in&amp;#8217; this year&amp;#8230; And they kind of remind us of the Internet, and look how big &lt;em&gt;that&lt;/em&gt; has gotten! So how about&amp;#8230; CVS-slash-pharmacy!&amp;#8221;&lt;/p&gt;

&lt;p&gt;Similarly, I have long hated LA|Fitness&amp;#8217; logo for the ugly and unnecessary pipe in the middle.&amp;nbsp; (And for what reason did they decide to extend the pipe downwards but not upwards?)&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/crazybobcat/403474686/"&gt;&lt;img src="/images/ybk/la-fitness.jpg" alt="LA|Fitness logo" title="Image &amp;copy; crazyBobcat &amp;ndash; used with permission" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The yearbook method of graphic design, ladies and gentlemen.&lt;/p&gt;

&lt;div class="hr"&gt;&lt;hr /&gt;&lt;/div&gt;

&lt;p&gt;&lt;small&gt;Images used with permission.&amp;nbsp; Hover or click for details.&lt;/small&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=rLuwTPq9-hY:6mrIAy-VFAI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=rLuwTPq9-hY:6mrIAy-VFAI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=rLuwTPq9-hY:6mrIAy-VFAI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=rLuwTPq9-hY:6mrIAy-VFAI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=rLuwTPq9-hY:6mrIAy-VFAI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=rLuwTPq9-hY:6mrIAy-VFAI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=rLuwTPq9-hY:6mrIAy-VFAI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=rLuwTPq9-hY:6mrIAy-VFAI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=rLuwTPq9-hY:6mrIAy-VFAI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/rLuwTPq9-hY" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/yearbook-method-of-graphic-design</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/rLuwTPq9-hY/yearbook-method-of-graphic-design</link>
   <category>design</category>
   <category>webdev</category>
   <title>The &amp;quot;yearbook method&amp;quot; of graphic design </title>
   <pubDate>Wed, 29 Apr 2009 10:21:54 -0400</pubDate>
  <feedburner:origLink>http://alanhogan.com/yearbook-method-of-graphic-design</feedburner:origLink></item>
  <item>
   <description>&lt;!-- 
  This document is written in Markdown. 
  Syntax: http://bit.ly/mkdnsyntax
  Converter &amp; cheatsheet: http://tinyurl.com/mkdndingus 
  Editor w/ instant preview: http://tinyurl.com/mkdnwmd
--&gt;

&lt;h1&gt;Bookmarklets&lt;/h1&gt;

&lt;p&gt;I wrote this first bookmarklet (or favelet) to make reading online as pleasurable as reading articles in &lt;a href="http://www.instapaper.com/"&gt;Instapaper&lt;/a&gt;, the iPhone app that lets you read long web pages later.  The second is a weaker byproduct of that effort.  Drag either to you bookmark bar.&lt;/p&gt;

&lt;dl&gt;

&lt;dt&gt;            
&lt;a class="bml"
href="javascript:(function(){var i,x;for(i=0;x=document.styleSheets[i];++i)x.disabled=true;         var newSS, styles='body { max-width: 25em !important; overflow: wrap; margin-left: auto; margin-right: auto; line-height: 1.4em;  } * { background: white ! important; color: black !important; font-face: Georgia !important; } :link, :link * { color: #0011aa !important } :visited, :visited * { color: #440590 !important; } pre, code, key, .code { font-family: monospace !important;}        '; if(document.createStyleSheet) { document.createStyleSheet(&amp;quot;javascript:'&amp;quot;+styles+&amp;quot;'&amp;quot;); } else { newSS=document.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,'+escape(styles); document.getElementsByTagName(&amp;quot;head&amp;quot;)[0].appendChild(newSS); } })();"&gt;&amp;agrave; la Instapaper&lt;/a&gt;
&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Modeled after the divine reading experience that is Instapaper for iPhone, this sets your page for maximum readability. Narrow columns help you read faster because your eyes never need to check where the next line starts. 
&lt;/p&gt;
&lt;p&gt;Disables all style sheets, sets text to black on white Georgia in the default font size, forces a narrow column for readability, and specifies a comfortable line-height of 1.4em.  It does not force &lt;code&gt;&amp;lt;pre&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;code&amp;gt;&lt;/code&gt; elements to be in Georgia.
&lt;/p&gt;
&lt;p&gt;(Updated 2009-05-04 to work better with &amp;lt;iframe&amp;gt;&amp;ndash;using pages.)
&lt;/p&gt;
&lt;/dd&gt;


&lt;dt&gt;
            
&lt;a class="bml"
href="javascript:(function(){var newSS, styles='body { width: 25em !important; overflow: wrap; margin-left: auto; margin-right: auto; }'; if(document.createStyleSheet) { document.createStyleSheet(&amp;quot;javascript:'&amp;quot;+styles+&amp;quot;'&amp;quot;); } else { newSS=document.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,'+escape(styles); document.getElementsByTagName(&amp;quot;head&amp;quot;)[0].appendChild(newSS); } })();"&gt;narrow page&lt;/a&gt;
&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;Just tries to force the page to be narrow. Doesn&amp;#8217;t work nearly as 
    well as the &amp;#8220;&amp;agrave; la Instapaper&amp;#8221; bookmarklet.&lt;/p&gt;&lt;/dd&gt;

&lt;/dl&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=ipIjZPtS5l8:MRNHz-J7PPU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=ipIjZPtS5l8:MRNHz-J7PPU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=ipIjZPtS5l8:MRNHz-J7PPU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=ipIjZPtS5l8:MRNHz-J7PPU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=ipIjZPtS5l8:MRNHz-J7PPU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=ipIjZPtS5l8:MRNHz-J7PPU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=ipIjZPtS5l8:MRNHz-J7PPU:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=ipIjZPtS5l8:MRNHz-J7PPU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=ipIjZPtS5l8:MRNHz-J7PPU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/ipIjZPtS5l8" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/bookmarklets</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/ipIjZPtS5l8/bookmarklets</link>
   <category>iPhone</category>
   <category>web</category>
   <title>Bookmarklets: a la Instapaper &amp;amp; limit page width</title>
   <pubDate>Wed, 29 Apr 2009 10:21:54 -0400</pubDate>
  <feedburner:origLink>http://alanhogan.com/bookmarklets</feedburner:origLink></item>
  <item>
   <description>&lt;!-- 
        This document is written in PHP Markdown Extra.
        Converter &amp; cheatsheet: http://tinyurl.com/extradingus 
        PHP Markdown Extra: http://tinyurl.com/mkdnextra
        Some syntax will not translate properly in 
        vanilla Markdown converters.
--&gt;

&lt;h1&gt;Making Opera #1&lt;/h1&gt;

&lt;p&gt;I frequently &lt;a href="http://alanhogan.com/opera" title="Why I like Opera"&gt;declare Opera my favorite browser&lt;/a&gt;, but it is hardly the most popular.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; &amp;nbsp; Here is what I would have the company do to gain browser market share.&lt;/p&gt;

&lt;h3&gt;Why isn&amp;#8217;t Opera any more popular than it is?&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Regular users don&amp;#8217;t know about it or have no reason to switch from MSIE (or Safari).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Power users bemoan the lack of Firefox-style extensions.&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Incompatibility with some websites, including some Gmail functionality.&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;The Game Plan&lt;/h3&gt;

&lt;p&gt;Like any reasonable plan, this one addresses the root issues.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Make the nerds &lt;strong&gt;love&lt;/strong&gt; it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create an extension system that is
compatible with the Firefox system.&amp;nbsp; Yeah.&amp;nbsp; Compatible.&amp;nbsp;
It&amp;#8217;ll be hard but we geeks will ooh and ahh over how
sweet that is.&lt;/li&gt;
&lt;li&gt;Release the really, really cool features that Opera
has already developed but not released yet.&amp;nbsp; This
includes border-radius (finally), rgba, and CSS animations
(which currently only WebKit supports; when used right &amp;#8212; and it&amp;#8217;s 
easy &amp;#8212; CSS animations 
can really add a nice touch).&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Bring &lt;a href="http://en.wikipedia.org/wiki/Gears_(software)" title="Gears is open-source software to make browsers AWESOME"&gt;Gears&lt;/a&gt;, which amazingly Opera has  &lt;a href="http://my.opera.com/ODIN/blog/gears-for-opera-mobile"&gt;implemented already&lt;/a&gt;
in their mobile browser, to the desktop for fun, nerdy, and useful
things like Gmail Offline and geolocation.&lt;sup id="fnref:6"&gt;&lt;a href="#fn:6" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Have features no one else has.&amp;nbsp; (Done! No one else has
such sublime mouse gestures or perfect speed dial knock-off, for
example, or the &amp;#8220;trash can&amp;#8221; for restoring closed tabs and windows.)&lt;/li&gt;
&lt;li&gt;Either fix their feed reader so it isn&amp;#8217;t &lt;em&gt;terrible&lt;/em&gt; or just kill it.&lt;/li&gt;
&lt;li&gt;Have top-notch standards support.&amp;nbsp;  They were probably #1 until
WebKit came out of nowhere and owned everyone.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Axe those compatibility issues.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Maybe the problem is Google breaking the standards.&amp;nbsp; Maybe it&amp;#8217;s 
a fault-tolerance difference instigated by a missing
semicolon somewhere.&amp;nbsp; I don&amp;#8217;t know.&amp;nbsp; It doesn&amp;#8217;t matter 
whose fault it is
as far as Opera&amp;#8217;s marketshare is concerned; the user sees it as
an Opera problem, and they need to take steps to quickly
minimize such problems.&lt;sup id="fnref:7"&gt;&lt;a href="#fn:7" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Compatibility is a feedback loop. &amp;nbsp; The more 
sites that don&amp;#8217;t work in Opera
(and it&amp;#8217;s not many, but Gmail is a biggie), the fewer people who
will use it. &amp;nbsp; The fewer people who use it, fewer developers 
will test in it and fewer sites will work in it.&lt;/li&gt;
&lt;li&gt;Display a little notice when seriously standards-ignorant
pages are loaded.&amp;nbsp;  Put the blame where it belongs: On shoddy
developers (I&amp;#8217;m looking at you, ASP.NET toolbags, BlackBoard, and
PeopleSoft. And Microsoft).&amp;nbsp; But do &lt;em&gt;not&lt;/em&gt; make this
an annoying feature (keep it subtle) and let 
users disable this feature (forever) with no more than 2 clicks.&lt;sup id="fnref:9"&gt;&lt;a href="#fn:9" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make the public aware Opera is here and it&amp;#8217;s awesome.&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" rel="footnote"&gt;8&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fight Microsoft&amp;#8217;s shady business practices. Oh right! &lt;em&gt;They are &lt;a href="http://tech.yahoo.com/news/nf/20090225/tc_nf/64932" title="Opera's EU antitrust complaint against Microsoft is backed by Mozilla and Google"&gt;already 
doing this&lt;/a&gt;, and it is awesome.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;I&amp;#8217;m not a marketer, so I won&amp;#8217;t make specific plans here,
but the general public should want Opera.&lt;/li&gt;
&lt;li&gt;That said, if you look at the success of Firefox, a lot of it
was nerds who really loved it who then shared it with 
all their friends and family.&amp;nbsp; So by winning the nerds&amp;#8217;
hearts, Opera will be well on its way to a respectable market share.&lt;/li&gt;
&lt;li&gt;Copy any Internet Explorer and Firefox features that people actually
find useful (perhaps MSIE 7&amp;#8217;s fit-to-page printing is an example).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It&amp;#8217;s worth a shot!&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;div class="hr"&gt;&lt;hr /&gt;&lt;/div&gt;
&lt;ol&gt;

&lt;li id="fn:1"&gt;
&lt;p&gt;In fact, &lt;em&gt;betas&lt;/em&gt; of Chrome and IE8 were reported to have more marketshare than the latest version of Opera at the time (just under 1%).&amp;#160;&lt;a href="#fnref:1" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:2"&gt;
&lt;p&gt;Note that this is sometimes pointless because many of the most popular and useful extensions replicate built-in Opera features. Adblock / &amp;#8220;Block content&amp;#8221;, Greasemonkey / user scripts, Add Bookmark Here, Speed Dial, mouse gestures: Opera had them first!&amp;#160;&lt;a href="#fnref:2" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:3"&gt;
&lt;p&gt;Saving events to Google calendars has not worked in Opera for years now (as of March 30, 2009).  Line spacing when composing e-mail is off.  The new drop-downs for selecting labels is &lt;em&gt;very&lt;/em&gt; slow in Opera and only Opera.&amp;#160;&lt;a href="#fnref:3" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:4"&gt;
&lt;p&gt;CSS inventor, Opera CTO, and all-around impressive figure &lt;a href="http://people.opera.com/howcome/"&gt;HÃ¥kon Wium Lie&lt;/a&gt; demoed these features in an unreleased build of Opera at &lt;abbr title="South by Southwest (Interactive), an industry conference."&gt;SXSW&lt;/abbr&gt; 2009. &lt;a href="http://people.opera.com/howcome/2009/talks/03-css3.html"&gt;Demo slides&lt;/a&gt;&amp;#160;&lt;a href="#fnref:4" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:6"&gt;
&lt;p&gt;This is &lt;a href="http://www.opera.com/press/releases/2008/05/29/"&gt;long promised&lt;/a&gt; but slow in coming. &amp;nbsp; Note also that Opera already has plans to &lt;a href="http://www.opera.com/press/releases/2009/03/26_2/"&gt;implement geolocation&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:6" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:7"&gt;
&lt;p&gt;Google has a very clear obligation to service the Opera users that they steadfastly ignore. &amp;nbsp;  Yahoo has a &lt;a href="http://developer.yahoo.com/yui/articles/gbs/" title="Yahoo! Graded Browser Support http://bit.ly/ygbs"&gt;very clear&lt;/a&gt; policy of supporting Opera fully, but Google has none, claiming the effort is not worth it for the &amp;#8220;small&amp;#8221; number of Opera users. &amp;nbsp; I have other thoughts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1% marketshare is a lot when you consider the millions
of users Google has. &lt;/li&gt;
&lt;li&gt;The effort to make pages compatible with Opera is exceedingly minimal, since their standards support is so good.&lt;/li&gt;
&lt;li&gt;Their logic ignores the feedback loop involved here.&lt;/li&gt;
&lt;li&gt;With Google&amp;#8217;s online
dominance and the fact Google now has their own browser, a case could be made that their behavior is now anticompetitive.&lt;/li&gt;
&lt;li&gt;Opera is the only real browser available on some systems, such as the Wii, the Nintendo DS (I think) and many mobile phones.&lt;/li&gt;
&lt;li&gt;You can bet they test in Chrome, but Chrome has barely more than
Opera&amp;#8217;s marketshare. (This is a weak point because Chrome is based
on the common WebKit rendering engine.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Talking to some Google employees at &lt;abbr title="South by Southwest (Interactive), an industry conference."&gt;SXSW&lt;/abbr&gt; 2009, I learned some of them 
personally test their work in Opera but 
they echoed the company line that it is unsupported
due to the supposed amount of work that it would take for the supposedly
tiny set of users.&amp;#160;&lt;a href="#fnref:7" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:9"&gt;
&lt;p&gt;Naturally the setting could also be reversed in preferences at will.&amp;#160;&lt;a href="#fnref:9" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:5"&gt;
&lt;p&gt;Apparently Europe is well aware (comparatively), so I would hope they focus a lot of effort on the Americas &amp;#8212; which I think they recently announced plans for, but I couldn&amp;#8217;t scrounge up a link.&amp;#160;&lt;a href="#fnref:5" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=Z0GiKz9Hm78:IqHnazypUSo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=Z0GiKz9Hm78:IqHnazypUSo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=Z0GiKz9Hm78:IqHnazypUSo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=Z0GiKz9Hm78:IqHnazypUSo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=Z0GiKz9Hm78:IqHnazypUSo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=Z0GiKz9Hm78:IqHnazypUSo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=Z0GiKz9Hm78:IqHnazypUSo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=Z0GiKz9Hm78:IqHnazypUSo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=Z0GiKz9Hm78:IqHnazypUSo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/Z0GiKz9Hm78" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/opera-marketshare</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/Z0GiKz9Hm78/opera-marketshare</link>
   <category>opera</category>
   <category>browsers</category>
   <category>webdev</category>
   <category>web design</category>
   <title>A Plan to Increase Opera's Marketshare</title>
   <pubDate>Tue, 31 Mar 2009 05:02:05 -0400</pubDate>
  <feedburner:origLink>http://alanhogan.com/opera-marketshare</feedburner:origLink></item>
  <item>
   <description>&lt;h1&gt;Must-have Mac Apps&lt;/h1&gt;

&lt;h2&gt;New Mac Users, Start Here!&lt;/h2&gt;

&lt;p&gt;Helping Kelley get up and running with her new MacBook, I came up with
the following list of apps (programs) which I think are useful for many, if not
most, people.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://getfirefox.com"&gt;Firefox&lt;/a&gt;, the famous open-source and extensible web browser.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://opera.com/browser"&gt;Opera&lt;/a&gt;, another &lt;a href="http://alanhogan.com/opera"&gt;great&lt;/a&gt; browser (change the theme from the default!)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.apple.com/iwork/"&gt;iWork&lt;/a&gt;, Apple&amp;#8217;s cheap ($39 for students, $60-ish for others) but amazing alternative to Microsoft Office (mostly compatible with Office documents).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://neooffice.org"&gt;NeoOffice&lt;/a&gt;, a free Office alternative whose interface is just like Office 97 and Office XP (and very compatible with Office documents).&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.vuze.com/Download.html"&gt;Vuze&lt;/a&gt;, a powerful &lt;a href="http://en.wikipedia.org/wiki/BitTorrent_(protocol)"&gt;BitTorrent&lt;/a&gt; client (or get &lt;a href="http://www.bittorrent.com/btusers/download"&gt;the slimmer official client&lt;/a&gt;). (In fact, you can use BitTorrent to download NeoOffice from other users in a way that verifies the official download but does not put a load on the NeoOffice website.)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.videolan.org/vlc/"&gt;VLC&lt;/a&gt;, the media player that plays almost every kind of video.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/windows/windowsmedia/player/wmcomponents.mspx"&gt;Flip4Mac&lt;/a&gt;, a plugin that lets you play Windows Media files.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These applications are useful as well, but I would consider them &lt;strong&gt;optional&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.barebones.com/products/TextWrangler/"&gt;TextWrangler&lt;/a&gt;, a free text and code editor, or if you are willing to pay for the best then get &lt;a href="http://macromates.org"&gt;TextMate&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;del&gt;&lt;a href="http://iconfactory.com/software/twitterrific"&gt;Twitterrific&lt;/a&gt;, a nice native Twitter client.&lt;/del&gt; &lt;ins&gt;&lt;a href="http://www.atebits.com/tweetie-mac/"&gt;Tweetie&lt;/a&gt; is now by far the best Mac Twitter client (and the best Twitter client in general).&lt;/ins&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.last.fm/group/iScrobbler/forum/35555/_/134630"&gt;iScrobbler&lt;/a&gt;, a tiny program that tells &lt;a href="http://www.last.fm/group/iScrobbler/forum/35555/_/134630"&gt;Last.FM&lt;/a&gt; what you are listening to in iTunes (to catalog your taste in music, find friends with similar taste, and more.).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.islayer.com/apps/istatnano/"&gt;iStat Nano&lt;/a&gt;, a Dashboard widget which shows hardware and OS stats for the curious.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some of those, like browsers and office suites, seem to have duplicate functionality, and indeed they do.  I still recommend both apps in all cases because sometimes you find one tool is better for the particular job, or is more compatible with some website or document standard. (That said, sticking with NeoOffice only saves you some money.)&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;div class="hr"&gt;&lt;hr /&gt;&lt;/div&gt;
&lt;ol&gt;

&lt;li id="fn:1"&gt;
&lt;p&gt;This is the Mac version of &lt;a href="http://openoffice.org/"&gt;OpenOffice.org&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:1" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=f8AZVZNtKkA:86mbV3W_8-c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=f8AZVZNtKkA:86mbV3W_8-c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=f8AZVZNtKkA:86mbV3W_8-c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=f8AZVZNtKkA:86mbV3W_8-c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=f8AZVZNtKkA:86mbV3W_8-c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=f8AZVZNtKkA:86mbV3W_8-c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=f8AZVZNtKkA:86mbV3W_8-c:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=f8AZVZNtKkA:86mbV3W_8-c:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=f8AZVZNtKkA:86mbV3W_8-c:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/f8AZVZNtKkA" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/starter-mac-apps</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/f8AZVZNtKkA/starter-mac-apps</link>
   <category>apple</category>
   <category>mac</category>
   <category>os x</category>
   <category>applications</category>
   <title>Mac Apps Starter Pack</title>
   <pubDate>Tue, 31 Mar 2009 05:02:05 -0400</pubDate>
  <feedburner:origLink>http://alanhogan.com/starter-mac-apps</feedburner:origLink></item>
  <item>
   <description>&lt;h1&gt;Recap of &amp;#8220;Being a UX Team of One&amp;#8221;&lt;/h1&gt;

&lt;p&gt;by Leah Buley of Adaptive Path - a talk given on March 15, 2009 at SXSW 2009.&lt;/p&gt;

&lt;h3&gt;Intro&lt;/h3&gt;

&lt;p&gt;There is lots  of stuff that goes into user experience (documentation, usability testing, prototyping, user research, competitive analysis, discovery)  but she is just talking about design, because that is the least-fleshed out process with the fewest tools and most &amp;#8220;magic.&amp;#8221;&lt;/p&gt;

&lt;h3&gt;Her story&lt;/h3&gt;

&lt;p&gt;Leah Buley of Adapting Path does design and IA (Information Architechture); she loves &amp;#8220;lo-fi methods, tools, and tricks&amp;#8221;&lt;/p&gt;

&lt;p&gt;She also worked at Barclays â and she did ALL the parts of UX (not just design, and also evangelism) by herself - she interacted with everyone else from biz dev to development&lt;/p&gt;

&lt;h3&gt;Forrester&amp;#8217;s CX (UX) Model&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Interested (Sounds cool, looking into it)&lt;/li&gt;
&lt;li&gt;Invested (Resources involved but no real authority)&lt;/li&gt;
&lt;li&gt;Committed (VP support)&lt;/li&gt;
&lt;li&gt;Engaged (Everyone knows they are working on UX stuff as a whole)&lt;/li&gt;
&lt;li&gt;Embedded (It&amp;#8217;s in &lt;strong&gt;everything&lt;/strong&gt; the organization does: examples - Virgin, ZipCar)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Leah says most folks are down at level 1, and many are at #2, and fewer at every point up. #2 is a common sticking point.&lt;/p&gt;

&lt;h3&gt;Her Story Again&lt;/h3&gt;

&lt;p&gt;Went to Adaptive Path to learn how to advance to higher levels of UX involvement (3, 4, 5)&lt;/p&gt;

&lt;p&gt;Working with others, they came up with &lt;strong&gt;tons&lt;/strong&gt; of ideas for each design problem.&lt;/p&gt;

&lt;p&gt;Doing work differently on her own: Coming up with many ideas before moving on for any part of the process.  Generative process: refine the best ideas.&lt;/p&gt;

&lt;h3&gt;Today&amp;#8217;s Tips&lt;/h3&gt;

&lt;p&gt;Three big ideas&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Brainstorm  a lot&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Assemble an ad hoc team&lt;/p&gt;

&lt;p&gt;Even if you are the only UX person, you can still ask those you work with for info, feedback, &amp;amp; thoughts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pick the best ideas&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Evite  is our example of a dream project; if Adaptive Path could work on anything, they might pick Evite.&lt;/p&gt;

&lt;p&gt;Process (currently) starts with you picking a design (using categories) for your evite, customize it, and then invite people (using address book import, etc.)&lt;/p&gt;

&lt;p&gt;How to redesign?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Brainstorm&lt;/p&gt;

&lt;p&gt;Here, using the 6-up template.&lt;/p&gt;

&lt;p&gt;Typically will start with 1 or 2 designs, will hit a wall. Your responsibility is to force yourself to have more ideas.  That&amp;#8217;s right, fill up all 6 boxes (at least).&lt;/p&gt;

&lt;p&gt;Spectrums.  Think about first timers AND experts, come up with different designs for them and in-between users! Don&amp;#8217;t worry about these designs too much, you just generating ideas!&lt;/p&gt;

&lt;p&gt;2x2s are like X-Y (Cartesian) plots, two spectrums. Consider novice vs. expert on one axis and automatic vs. manual (evite creation) on the other axis.&lt;/p&gt;

&lt;p&gt;Grids: Example has &amp;#8220;It&amp;#8217;s about design; it&amp;#8217;s about friends; it&amp;#8217;s about tracking; it&amp;#8217;s about fun&amp;#8221; across the top and things we just discussed along the side&lt;/p&gt;

&lt;p&gt;Word associations&amp;#8230; she has a bunch of design-related words (icons, modules, accordion, search, faq&amp;#8230;)&lt;/p&gt;

&lt;p&gt;She picks two at random - icons and modules - and comes up with an interested drag-and-drop mockup&lt;/p&gt;

&lt;p&gt;She also has an &amp;#8220;inspiration library&amp;#8221; of screenshots of websites she keeps in iPhoto. Maybe apply something you like to your current project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Assemble an ad hoc team&lt;/p&gt;

&lt;p&gt;Invite the project managers, developers in to come up with ideas.&lt;/p&gt;

&lt;p&gt;You can use sketchboards (a very standard practice at adaptive path). Pretty much paste tons of those designs up, and all stand up and talk about this! (she shows a video of making one - starts with a huge brown sheet of paper, put up requirements, then paste designs)&lt;/p&gt;

&lt;p&gt;Design workshops - lots of people come in and talk about it&amp;#8230; have it be informal (buy pizza) for best ideas&lt;/p&gt;

&lt;p&gt;Design a product box (esp. for those that don&amp;#8217;t come in one) to force you to think about why someone would want it&lt;/p&gt;

&lt;p&gt;Decorate your space with the stuff you&amp;#8217;ve been working on. It 1. gets supporters involved early on and 2. lets people understand what the hell you actually do.&lt;/p&gt;

&lt;p&gt;Tips for getting good feedback:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pass the pen (much more accurate then verbal descriptions)&lt;/li&gt;
&lt;li&gt;Black hat sessions - have everyone come up with &lt;strong&gt;everyone&lt;/strong&gt; come up with as many objections as possible - deals with the &amp;#8220;too &lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=eKHm0reE_j0:SWDEk2fGCAg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=eKHm0reE_j0:SWDEk2fGCAg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=eKHm0reE_j0:SWDEk2fGCAg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=eKHm0reE_j0:SWDEk2fGCAg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=eKHm0reE_j0:SWDEk2fGCAg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=eKHm0reE_j0:SWDEk2fGCAg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=eKHm0reE_j0:SWDEk2fGCAg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=eKHm0reE_j0:SWDEk2fGCAg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=eKHm0reE_j0:SWDEk2fGCAg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/eKHm0reE_j0" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/being-a-ux-team-of-one</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/eKHm0reE_j0/being-a-ux-team-of-one</link>
   <category>design</category>
   <category>user experience</category>
   <category>tips</category>
   <category>ux</category>
   <category>sxsw</category>
   <title>Being a UX Team of One (Panel by Leah Buley on User Experince at SXSW 09)</title>
   <pubDate>Sun, 15 Mar 2009 11:55:59 -0400</pubDate>
  <feedburner:origLink>http://alanhogan.com/being-a-ux-team-of-one</feedburner:origLink></item>
  <item>
   <description>&lt;h1&gt;Drop the &amp;#8220;WWW&amp;#8221;&lt;/h1&gt;

&lt;h2&gt;How and why to use example.com, not www.example.com.&lt;/h2&gt;

&lt;p&gt;Four trends. One solution.  Two implementations.  WWW is dead; long live WWW!&lt;/p&gt;

&lt;h3&gt;Trends:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Twitter, mobile, and other text forms of communication where space is at a premium mean shorter URLs facilitate sharing&lt;/li&gt;
&lt;li&gt;The availability of &lt;a href="http://www.searchenginejournal.com/top-3-search-engines-unite-on-canonical-url/8591/"&gt;one way to set the canonical URL of a page&lt;/a&gt; for search engines, making it possible to avoid ambiguity of which URL is the most correct for one page&lt;/li&gt;
&lt;li&gt;At least 99.9% of sites donât require a &amp;#8220;www.&amp;#8221; prefix in their domain. I&amp;#8217;ve only seen one exception, and it is my &lt;a href="http://www.greenville.k12.state.pa.us"&gt;high school&amp;#8217;s website&lt;/a&gt; (try it &lt;a href="http://greenville.k12.state.pa.us"&gt;without &amp;#8220;www.&amp;#8221;&lt;/a&gt;), run by an incompetent and nostalgic web developer who still uses &lt;code&gt;&amp;lt;font&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;frame&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;marquee&amp;gt;&lt;/code&gt; tags.&lt;/li&gt;
&lt;li&gt;The &lt;a href="http://no-www.org"&gt;depreciation of the &amp;#8220;www.&amp;#8221; subdomain&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Solution:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Accept requests for your site with a &amp;#8220;www.&amp;#8221; prefix but encourage the use of your domain without that prefix.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Implementation:&lt;/h3&gt;

&lt;p&gt;There are two main ways to implement this.  Each has slight advantages over the other.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Redirect all requests from your http://www.example.com domain to http://www.example.com.  This is the method preferred by &lt;a href="http://no-www.org"&gt;No-WWW.org&lt;/a&gt;, which suggests the following .htaccess rule (for Apache servers):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Benefit:&lt;/strong&gt; Using this method, no one will ever end up at or link to any page on your www.example.com domain. Ever!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; Forcing a redirect may increase page load time ever so slightly, but only for anyone requesting a page from www.example.com.  However, as noted above, there will never be any more new links to that domain (ever!), which minimizes the number of times this redirect will take place.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensure www.example.com and example.com both go to the same content (this is a default on most hosts), but designate example.com as preferred (or âcanonicalâ).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;To designate the canonical version of a page accessed at &lt;code&gt;http://www.example.com/products&lt;/code&gt;, you simply need the following line of code in your &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, as described &lt;a href="http://www.searchenginejournal.com/top-3-search-engines-unite-on-canonical-url/8591/"&gt;here&lt;/a&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;link rel="canonical" href="http://example.com/products" /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Generating this code is trivial in any scripting language (especially with a regular expression).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Optionally, make sure any internal relative links on your page go to your example.com domain even when the page was accessed from www.example.com.  To do this, use the &lt;code&gt;&amp;lt;base&amp;gt;&lt;/code&gt; tag (more information on &lt;a href="http://www.w3schools.com/TAGS/tag_base.asp"&gt;base&lt;/a&gt;):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;base href="http://example.com/" /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or simply include the domain in every link on the page, e.g. &lt;code&gt;&amp;lt;a href="http://example.com/products"&amp;gt;products&amp;lt;/a&amp;gt;&lt;/code&gt;, not
&lt;code&gt;&amp;lt;a href="/products"&amp;gt;products&amp;lt;/a&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;a href="products"&amp;gt;products&amp;lt;/a&amp;gt;&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Benefit:&lt;/strong&gt; Possibly faster initial page load time for users accessing the &amp;#8220;www.&amp;#8221; variant of your domain&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; Users who accessed a page on www.example.com &lt;em&gt;may create links to the &amp;#8220;www.&amp;#8221; variant of your site&lt;/em&gt;, perpetuating the usage of that domain.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; If you skip the &lt;code&gt;&amp;lt;base&amp;gt;&lt;/code&gt;, it is difficult to ensure all links start with your proper domain name; while many frameworks make this easy, some raw HTML or even an AJAX call may introduce non-canonical links.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For more information on how and why to deprecate the &amp;#8220;www.&amp;#8221; variant of your site, see &lt;a href="http://no-www.org"&gt;http://no-www.org&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Personally I think solution #1 is the strongest, but the choice is yours. Pursuing neither implementation is lazy and continues the trend of URLs which are longer than necessary.  In other words, if you do nothing, you canât call yourself a software artist or user-interface guru; you can call yourself a hack.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=jymL34j45qo:QQxqUkvtsLc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=jymL34j45qo:QQxqUkvtsLc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=jymL34j45qo:QQxqUkvtsLc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=jymL34j45qo:QQxqUkvtsLc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=jymL34j45qo:QQxqUkvtsLc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=jymL34j45qo:QQxqUkvtsLc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=jymL34j45qo:QQxqUkvtsLc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=jymL34j45qo:QQxqUkvtsLc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=jymL34j45qo:QQxqUkvtsLc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/jymL34j45qo" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/no-www</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/jymL34j45qo/no-www</link>
   <category>web</category>
   <category>www</category>
   <category>web development</category>
   <category>user interface</category>
   <category>tip</category>
   <category>rant</category>
   <category>webdev</category>
   <title>Drop the &amp;quot;WWW&amp;quot;: How and why to use example.com, not www.example.com.</title>
   <pubDate>Fri, 13 Feb 2009 17:03:09 -0500</pubDate>
  <feedburner:origLink>http://alanhogan.com/no-www</feedburner:origLink></item>
  <item>
   <description>&lt;h1&gt;Using TextExpander and Spotlight to replace Quicksilver (and the Little Snitch and TextExpander snafu)&lt;/h1&gt;

&lt;h3&gt;Replacing Quicksilver&lt;/h3&gt;

&lt;p&gt;I have used &lt;a href="http://quicksilver.en.softonic.com/mac" title="Quicksilver for Mac"&gt;Quicksilver&lt;/a&gt; primarily an application launcher for a long time.  Itâs great, but I have found it has gotten too slow for practical use lately; I have disabled it.&lt;/p&gt;

&lt;p&gt;Spotlight, the Macâs built-in computer search tool, was optimized for finding applications almost immediately in OS X 10.5, so itâs a viable alternative.&lt;/p&gt;

&lt;p&gt;The only downside is that &lt;a href="http://quicksilver.en.softonic.com/mac" title="Quicksilver for Mac"&gt;Quicksilver&lt;/a&gt; had a timesaving feature in that it could learn abbreviations.  For example, whenever I typed &amp;#8220;shop&amp;#8221; after the first few times, it knew I meant Photoshop; and whenever I typed &amp;#8220;nnw&amp;#8221;, Quicksilver knew to launch &lt;a href="http://alanhogan.com/ideal-mac-feed-reader" title="The Ideal Mac Feed Reader"&gt;my favorite&lt;/a&gt; Mac feed reader, &lt;a href="http://www.newsgator.com/INDIVIDUALS/NETNEWSWIRE/" title="NetNewsWire download page"&gt;NetNewsWire&lt;/a&gt;.  Spotlight would find NetNewsWire if I typed &amp;#8220;netn&amp;#8221;, but it would never learn to recognize &amp;#8220;nnw&amp;#8221;; similarly â and even worse â typing &amp;#8220;Photo&amp;#8221; finds things like Photo Booth and iPhoto along with Photoshop, and &amp;#8220;shop&amp;#8221; does nothing particularly useful.&lt;/p&gt;

&lt;p&gt;My solution was simple.  I used the useful application &lt;a href="http://www.smileonmymac.com/TextExpander/" title="TextExpander, a macro or abbreviation expanding program"&gt;TextExpander&lt;/a&gt;, which allows things like automatically shortening a URL in your clipboard, to add just a few short rules. For applications which I wanted to launch with a custom abbreviation, such as &amp;#8220;nnw&amp;#8221; for NetNewsWire, I just added the abbreviation as a TextExpander rule.  Examples: &amp;#8220;nnw&amp;#8221; expands to NetNewsWire; &amp;#8220;twr&amp;#8221; exands to Twitterrific; &amp;#8220;pshop&amp;#8221; exands to Photoshop.  (Note that having &amp;#8220;shop&amp;#8221; expand to Photoshop would have a lot of side effects.)  So now I just hit Cmd-Space and type &amp;#8220;twr&amp;#8221; to launch Twitterrific!&lt;/p&gt;

&lt;h3&gt;The Snitch and TextExpander Problem&lt;/h3&gt;

&lt;p&gt;Warning: Your computer will not accept any input â be it keyboard or mouse â if the Mac firewall program &lt;a href="http://www.obdev.at/products/littlesnitch/index.html" title="Little Snitch intercepts and filters Internet traffic on your computer"&gt;Little Snitch&lt;/a&gt; catches a request from TextExpander! You have to perform a hard reset. This can happen if you attempt to use a URL-shortening feature of Little Snitch.&lt;/p&gt;

&lt;p&gt;One &lt;strong&gt;workaround&lt;/strong&gt; is to add a rule to Little Snitch allowing any program to make calls to the domains &lt;code&gt;is.gd&lt;/code&gt;, &lt;code&gt;bit.ly&lt;/code&gt; or any other URLs that TextExpander might ever access.  This works.&lt;/p&gt;

&lt;p&gt;Another solution may or may not be to add a rule allowing the system process &amp;#8220;curl&amp;#8221; to access anything it wants.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=xHe2hrVd5mk:Rs0fMzRXuEs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=xHe2hrVd5mk:Rs0fMzRXuEs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=xHe2hrVd5mk:Rs0fMzRXuEs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=xHe2hrVd5mk:Rs0fMzRXuEs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=xHe2hrVd5mk:Rs0fMzRXuEs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=xHe2hrVd5mk:Rs0fMzRXuEs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=xHe2hrVd5mk:Rs0fMzRXuEs:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=xHe2hrVd5mk:Rs0fMzRXuEs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=xHe2hrVd5mk:Rs0fMzRXuEs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/xHe2hrVd5mk" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/textexpander-spotlight-quicksilver-little-snitch</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/xHe2hrVd5mk/textexpander-spotlight-quicksilver-little-snitch</link>
   <category>Mac</category>
   <category>OS X</category>
   <category>Spotlight</category>
   <category>TextExpander</category>
   <category>Little Snitch</category>
   <category>Quicksilver</category>
   <title>TextExpander tips: Replacing Quicksilver via Spotlight; Avoiding Little Snitch crashing</title>
   <pubDate>Thu, 12 Feb 2009 16:56:13 -0500</pubDate>
  <feedburner:origLink>http://alanhogan.com/textexpander-spotlight-quicksilver-little-snitch</feedburner:origLink></item>
  <item>
   <description>&lt;h1&gt;Rails: If &lt;code&gt;rake db:create:all&lt;/code&gt; yields &lt;code&gt;undefined method &amp;#96;collect'&lt;/code&gt; then update &lt;code&gt;gem&lt;/code&gt; itself.&lt;/h1&gt;

&lt;p&gt;Today the team was attempting to create a new Facebooker app in Rails 2.0 (actually 2.1.0) and we were running into the following problem (running on Mac OS X 10.5 Leopard, where the prompt is &amp;#8220;dir user$&amp;#8221;):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;dir user$ rake db:create:all
undefined method `collect' for #&amp;lt;Gem::Version::Requirement:0x148c7a8&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It took us a while, but we eventually figured out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Locking the Rails version wasn&amp;#8217;t the problem (apparently),&lt;/li&gt;
&lt;li&gt;Updating the json, haml, and facebooker gems didn&amp;#8217;t seem to help,&lt;/li&gt;
&lt;li&gt;Removing and reinstalling the Rails gem didn&amp;#8217;t help, but&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;updating &lt;code&gt;gem&lt;/code&gt; itself from version 0.8 to version 1.2.0 did help.&lt;/strong&gt;
The way to do that is simply:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;dir user$ sudo gem update --system
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To verify this worked, try the following:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;dir user$ gem -v
1.2.0
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At this point  we were able to then run &lt;code&gt;rake db:create:all&lt;/code&gt; successfully.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=uXvadRx63n8:_I6H1D8FOXo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=uXvadRx63n8:_I6H1D8FOXo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=uXvadRx63n8:_I6H1D8FOXo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=uXvadRx63n8:_I6H1D8FOXo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=uXvadRx63n8:_I6H1D8FOXo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=uXvadRx63n8:_I6H1D8FOXo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=uXvadRx63n8:_I6H1D8FOXo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alanhogan?a=uXvadRx63n8:_I6H1D8FOXo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/alanhogan?i=uXvadRx63n8:_I6H1D8FOXo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/alanhogan/~4/uXvadRx63n8" height="1" width="1"/&gt;</description>
   <guid isPermaLink="false">http://alanhogan.com/rails-db-create-all-gems</guid>
   <link>http://feedproxy.google.com/~r/alanhogan/~3/uXvadRx63n8/rails-db-create-all-gems</link>
   <category>facebooker</category>
   <category>rails</category>
   <category>ruby</category>
   <category>gem</category>
   <category>update</category>
   <category>bug</category>
   <category>error</category>
   <category>programming</category>
   <category>tip</category>
   <title>Rails 2.0 failure on db:create:all (undefined method `collect') fix: update gem</title>
   <pubDate>Wed, 06 Aug 2008 14:59:00 -0400</pubDate>
  <feedburner:origLink>http://alanhogan.com/rails-db-create-all-gems</feedburner:origLink></item>
 </channel>
</rss>
