<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ryan Giglio &#124; Blog</title>
	<atom:link href="http://ryangiglio.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ryangiglio.com/blog</link>
	<description>My blog about the web and all its developments</description>
	<lastBuildDate>Wed, 19 Oct 2011 19:40:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Switching to Colemak &#8211; Part 1 of (?)</title>
		<link>http://ryangiglio.com/blog/switching-to-colemak-part-1/</link>
		<comments>http://ryangiglio.com/blog/switching-to-colemak-part-1/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 18:48:15 +0000</pubDate>
		<dc:creator>ryangiglio</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[colemak]]></category>
		<category><![CDATA[non-web]]></category>

		<guid isPermaLink="false">http://ryangiglio.com/blog/?p=449</guid>
		<description><![CDATA[For a rather significant portion of my life, I&#8217;ve spent most of my time on the computer. After I quit playing sports in high school I developed a rather violent MMO addiction, so between homework, RuneScape, and Counter-Strike (1.6, not Source, because I&#8217;m not a noob) I did a lot of sitting, mousing, and typing. [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>For a rather significant portion of my life, I&#8217;ve spent most of my time on the computer. After I quit playing sports in high school I developed a rather violent MMO addiction, so between homework, RuneScape, and Counter-Strike (1.6, not Source, because I&#8217;m not a noob) I did a lot of sitting, mousing, and typing. Then in college I naturally gravitated to a lot of programming, plus paper writing, later supplemented with freelance web development on the side. All of this has left me with a fun little Repetitive Strain Injury in my right wrist, which I have finally come to terms with and am making an effort to get rid of.</p>
<p>So I started thinking: what is the first thing I can change that will give me the most long term benefit? The answer to that was pretty clear to me, and if any of you have spent any length of time as a full time nerd you will probably agree. I do a LOT of TYPING. And because established standards are impossible to break, I&#8217;ve done all of this typing on a keyboard with the QWERTY layout. Chances are you have a QWERTY keyboard in front of you, so you can probably just look down to see it. However, here it is for reference:</p>
<p class="centered"><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/10/qwerty.png" alt="" title="qwerty" width="500" height="167" class="alignnone size-full wp-image-454" /></p>
<p><span id="more-449"></span> </p>
<h2>A Brief History Lesson</h2>
<p>In 1867, Christopher Latham Sholes filed a patent for the first typewriter (branded &#8220;Type Writer&#8221;). It worked pretty well, except for a small design flaw. When you rapidly pressed two keys that were adjacent to each other, the typewriter would jam. To combat this, Sholes designed a keyboard layout that placed common letter pairings (like st and th) so that they weren&#8217;t adjacent, ensuring this would happen as little as possible. Over the next few years he would refine this layout until eventually it became the QWERTY layout we are familiar with today.</p>
<p>That&#8217;s all well and good, except for the fact that this happened almost 150 years ago. Unfortunately, like the incredibly nonsensical system of imperial measurements, some things just stick. <strong>In a world</strong> where keyboards no longer have an issue with jamming, surely there is a better way!</p>
<h2>Enter Dvorak</h2>
<p>In 1936, Dr. August Dvorak decided to do something both logical and unprecedented &#8211; design a keyboard layout that made ergonomic sense. He studied the way people used their hands, as well as looking at letter frequency in the English language, and came up with the layout seen here:</p>
<p class="centered"><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/10/dvorak.png" alt="" title="dvorak" width="500" height="167" class="alignnone size-full wp-image-465" /></p>
<p>This layout is designed for keystrokes to alternate between hands as much as possible (because that&#8217;s faster and more natural), for people to do slightly more typing with their right hand (because most people are right handed), and for your fingers to move in an inward motion (rolling from pinkie to index is far easier than index to pinkie. try it). It has gained some notoriety among the tech world, but hasn&#8217;t ever gotten any kind of widespread adoption.</p>
<h2>Also, some guy named Coleman</h2>
<p>Because there&#8217;s nothing I enjoy more than researching interesting things, I discovered another much newer keyboard layout, released in 2006 by Shai Coleman. It&#8217;s called Colemak based on the Unix->Linux naming scheme &#8211; that is, take your inspiration&#8217;s name (Dvorak) and splice your own name into the front of it (Coleman). It was intended to be an improvement to Dvorak, based on a few differences in their design philosophy. I will quote this from the <a href="http://colemak.com" rel="external">Colemak website</a>, rather than present it as my own opinion.</p>
<blockquote><p>&#8220;Dvorak achieves significantly higher hand alternation in the expense of higher same-finger ratio, imbalanced hand load, heavy strain on the pinky, and less handroll combos (multiple keys hit on the same hand with one comfortable movement). Colemak wasn&#8217;t designed with hand alternation as a top priority.&#8221;</p></blockquote>
<p>While I don&#8217;t personally see this as a benefit, the Colemak layout also doesn&#8217;t differ as dramatically from QWERTY as Dvorak does &#8211; only 17 keys are displaced, rather than 24. Still, that may make it easier for me to learn, and I&#8217;m all for that.</p>
<p>Here it is:</p>
<p class="centered"><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/10/colemak.png" alt="" title="colemak" width="500" height="167" class="alignnone size-full wp-image-473" /></p>
<h2>Decision 2011</h2>
<p>Conceptually, I agree with the principles set forth in the Colemak layout, and I have read some statistics (various sources) that among the three keyboard layouts, Colemak is the most efficient in terms of finger movement. Also, since my RSI is in my right wrist, I want to reduce load on my right hand (especially the pinkie) rather than increase it. With this in mind, I&#8217;ve decided to try and switch to Colemak. I imagine it&#8217;s going to be quite a challenge, seeing that I have some really serious (~120 WPM) muscle memory for QWERTY, and I&#8217;m very interested to see how long it will take me to achieve that speed again (months, I&#8217;m guessing). Also, I can&#8217;t switch cold turkey since I still have to be productive during this experiment, so I will be moonlighting as a Colemak typist until I feel comfortable with all the letters, and I&#8217;m sure that will have a significant impact on my learning speed.</p>
<p>I plan on blogging about this somewhat regularly, although I expect the subject matter will wander between typing and learning in general. I&#8217;ve already spent some time with the Colemak home row (the rst and nei keys) and have noticed some really strange things going on in my brain. I&#8217;m excited to share them with everyone. Because brains are cool.</p>
<div class="shr-publisher-449"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fryangiglio.com%2Fblog%2Fswitching-to-colemak-part-1%2F' data-shr_title='Switching+to+Colemak+-+Part+1+of+%28%3F%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://ryangiglio.com/blog/switching-to-colemak-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Facebook iframe app development &#8211; even the smallest hiccup ruins a good yawn</title>
		<link>http://ryangiglio.com/blog/facebook-iframe-app-development-hiccups/</link>
		<comments>http://ryangiglio.com/blog/facebook-iframe-app-development-hiccups/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 03:35:13 +0000</pubDate>
		<dc:creator>ryangiglio</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://ryangiglio.com/blog/?p=380</guid>
		<description><![CDATA[Preface: This ended up being half rant, half analysis. Still, I&#8217;d love for you to read it and feel inspired to not make things more difficult than they need to be when creating a developer platform. Recently, I&#8217;ve been getting a lot of work making Facebook Pages for companies. More specifically, I&#8217;ve been developing tabs [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><i><em>Preface</em>: This ended up being half rant, half analysis. Still, I&#8217;d love for you to read it and feel inspired to not make things more difficult than they need to be when creating a developer platform.</i></p>
<p>Recently, I&#8217;ve been getting a lot of work making Facebook Pages for companies. More specifically, I&#8217;ve been developing tabs for the sidebar of their pages &#8211; essentially small websites inside of Facebook. Since February of 2011, Facebook recommends these pages to be built with standards compliant HTML, CSS, and Javascript, rather than the proprietary FBML (Facebook Markup Language, the cocky pricks) they&#8217;d been using before.</p>
<p>My thoughts: &#8220;Great! I already know how to build things in HTML, CSS and Javascript.&#8221;</p>
<p>Conceptually, this is a great idea. You build the page with technology you&#8217;re familiar with, host it wherever you&#8217;d like, and all Facebook does is embed your page in an iframe. Even in practice, the process is <em>mostly</em> smooth.</p>
<p>Unfortunately, I felt the need to emphasize &#8220;mostly,&#8221; and that means it wasn&#8217;t <em>totally</em> smooth. I ran into a few issues that fall into two categories. 1) Facebook&#8217;s confusing navigation, and 2) Facebook&#8217;s strange development decisions.</p>
<p><span id="more-380"></span></p>
<h2>Confusing Navigation: Adding the app as a tab on your page</h2>
<p>The instructions on Facebook&#8217;s developer documentation seem pretty clear about how to add the app to your page. It simply says &#8220;Facebook Page administrators can add your app directly to their Page by navigating to your app&#8217;s Profile Page and selecting &#8216;Add to my Page&#8217;&#8221;. Short and sweet. They even give you a screenshot of your app&#8217;s profile page with an arrow pointing to the link. &#8220;What&#8217;s the problem here?&#8221; you might be wondering.</p>
<p>The problem is a HUGE <a href="http://ryangiglio.com/blog/wp-content/uploads/2011/08/red-herring.gif" rel="lightbox">red herring</a> thrown at you by the Facebook app creation process. When you create your app, you have to give it a name <em>and a url</em> (http://apps.facebook.com/example). One would naturally assume this URL was your app profile page, but that would be too easy. In fact, by default that URL brings you to Facebook&#8217;s 404 page.</p>
<div class="media"><a href="http://ryangiglio.com/blog/wp-content/uploads/2011/08/Find-the-profile-page.png" rel="lightbox"><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/08/Find-the-profile-page-150x150.png" alt="" title="Find the profile page" width="150" height="150" class="alignnone size-thumbnail wp-image-394" /></a></div>
<p>Now it&#8217;s time to play a game called &#8220;what would you click on?&#8221; Looking at the page to the left, where would you click to try and find your app&#8217;s profile page after discovering that the obvious solution is the wrong one? If you answered &#8220;Edit Settings,&#8221; congratulations! You understand how to navigate confusing websites! Once you get to the &#8220;Edit Settings&#8221; page, on the bottom of the sidebar in a section labeled &#8220;related links&#8221; (which is something I&#8217;ve trained my brain to avoid, &#8220;related&#8221; often meaning &#8220;paid to be here&#8221;), below View Insights (what?), Promote With an Ad, and Translate your App, is a link to &#8220;View App Profile Page.&#8221;</p>
<p>Phew.</p>
<p>Fortunately for the future of Facebook app development, the &#8220;create a url&#8221; option has entirely disappeared, and its data has been put in a new field called &#8220;App Namespace&#8221; which you use to access their API (confusingly, called the Graph API. I ignored it for hours while looking for Facebook&#8217;s API, assuming it had something to do with creating graphs). Evidently Facebook didn&#8217;t know what it was for either.</p>
<h2>Confusing Navigation: Choosing which page visitors land on by default</h2>
<div class="media"><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/08/settings-nav.png" class="alignnone size-thumbnail wp-image-403" /></div>
<p>It&#8217;s time for another game of &#8220;what would you click on?&#8221; Looking at the navigation on the left, where would you go to choose what tab your users saw first when they visit your page.</p>
<p>A few logical answers:</p>
<ul>
<li>Your settings</li>
<li>Basic information</li>
<li>Featured</li>
</ul>
<p>An illogical, but correct answer? <em>Manage Permissions</em></p>
<p>Now, I understand that there&#8217;s a lot of options and you can&#8217;t possibly come up with a 100% self explanatory tab for each of them. However, did anyone stop to think for a moment how completely irrelevant &#8220;Manage Permissions&#8221; is to the page you want your visitors to see first? It&#8217;s not like this is a complex development task and they stuck it on a general settings page because they got lazy. In fact a general settings page would be better. Anything but Manage Permissions.</p>
<h2>WTF Development Decision: Your app is a maximum of 800px high before . You can only remove this limitation with Javascript.</h2>
<p>WHAT?!</p>
<p>There&#8217;s so many things wrong with this. Maybe I&#8217;m not being creative enough, but I can&#8217;t imagine a situation where you would want scrollbars inside your app (that is, in addition to Facebook&#8217;s scrollbars). It feels to me like having to specifically ask for utensils at a restaurant because you can eat some of the food on the children&#8217;s menu with your fingers. Wouldn&#8217;t it make more sense for the iframe to stretch to the size of its contents rather than being fixed at 800px high? It&#8217;s not like 800px is some kind of magical number on Facebook either, since both of its sidebars are taller than 800px most of the time.</p>
<p>There&#8217;s an easy solution to this problem, but it&#8217;s still more complicated than, say, not having to do it at all. There&#8217;s an option to make your app &#8220;auto-resize&#8221; rather than &#8220;show scrollbars,&#8221; which sounds like it would be enough, but it&#8217;s not. You also have to import a 143kb Javascript file, run a function at the head of your page, and run a function at the foot of your page.</p>
<p>I&#8217;m not saying that&#8217;s difficult. What I am saying is there&#8217;s absolutely no reason for it to be necessary. What designer would voluntary choose to have two sets of scrollbars on their page, completely confusing everyone whose mouse happens to hover in the wrong place at the wrong time? And it&#8217;s not like Facebook is exactly lightweight as it is, but a 143kb download just to remove unnecessary scrollbars? WHY?!</p>
<h2>Conclusion!</h2>
<p>The illustrious and inspirational <a href="http://aralbalkan.com/" rel="external">Aral Balkan</a> said it best in his talk at Future of Web Design NYC 2010: &#8220;At the very least, don&#8217;t infuriate the user.&#8221; Since I&#8217;ve just written an angry blog post about it, Facebook has utterly failed to do so. The thing is, when I first learned that you could make Facebook apps with the standard web stack I was legitimately excited to do so. As the process went on, my excitement turned to confusion, and then to frustration. The actually building of the app couldn&#8217;t be easier, but there&#8217;s a real problem when even the most simple integration requires the Googling of solutions.</p>
<div class="shr-publisher-380"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fryangiglio.com%2Fblog%2Ffacebook-iframe-app-development-hiccups%2F' data-shr_title='Facebook+iframe+app+development+-+even+the+smallest+hiccup+ruins+a+good+yawn'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://ryangiglio.com/blog/facebook-iframe-app-development-hiccups/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Complex border-image use</title>
		<link>http://ryangiglio.com/blog/complex-border-image-use/</link>
		<comments>http://ryangiglio.com/blog/complex-border-image-use/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 20:41:34 +0000</pubDate>
		<dc:creator>ryangiglio</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[border-image]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>

		<guid isPermaLink="false">http://ryangiglio.com/blog/?p=254</guid>
		<description><![CDATA[There&#8217;s something magical about finally getting the opportunity to use a new technique you&#8217;ve been reading about for months. Since CSS3 has been all the rage for a while now, I&#8217;ve heard a lot about how powerful the border-image property can be but I&#8217;ve never really had an opportunity to put it to use. Then, [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>There&#8217;s something magical about finally getting the opportunity to use a new technique you&#8217;ve been reading about for months. Since CSS3 has been all the rage for a while now, I&#8217;ve heard a lot about how powerful the border-image property can be but I&#8217;ve never really had an opportunity to put it to use.</p>
<p>Then, along came this design:</p>
<div class="media">
<a href="http://ryangiglio.com/images/projects/mindSmack.png" rel="lightbox"><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/07/mindSmack-thumb-e1309897472928.png" /></a>
</div>
<p>Immediately, my first thought was &#8220;how the hell am I going to make those tabbed boxes?&#8221; If the size was fixed it would be simple to add it as a background image, but they have to stretch horizontally AND vertically. So, I did what any good geek does in 2011; I tweeted about it.</p>
<p>&#8220;Web devs,&#8221; I asked, &#8220;I need some help. What&#8217;s the best way to implement these tabbed boxes with CSS?&#8221; Instantly, a wild <a href="http://jennschiffer.com/" rel="external">Jenn Schiffer</a> appeared, linking me to her <a href="http://pancaketheorem.com/2010/using-css-border-image-to-make-a-neat-wooden-frame/" rel="external"> excellent blog post</a>, explaining how to make a variable-sized wooden frame with border-image. The problem was, the frame she created in the blog post had an equal width on all sides, and it framed the content entirely. We hacked at it for an hour or so, and these are the steps that led us to my final, working, awesome code.</p>
<p><span id="more-254"></span></p>
<h2>Step 1: The Basics</h2>
<pre class="code"><code class="prettyprint">&lt;div class="boxModuleBorder"&gt;
     &lt;p&gt;...&lt;/p&gt;
&lt;/div&gt;
</code></pre>
<pre class="code"><code class="prettyprint lang-css">.boxModuleBorder {
    border-image: url('/images/blue-box-border.png') 15 37 15 104 repeat;
    -moz-border-image: url('/images/blue-box-border.png') 15 37 15 104 repeat;
    -webkit-border-image: url('/images/blue-box-border.png') 15 37 15 104 repeat;
    border-width: 15px 37px 15px 104px;
}</code></pre>
<p>The first challenge was simply to get the box with the tab to appear at all. Border-image requires you to have a source image that contains all the elements you want to use (kind of like a sprite). Then, you pass four values to border-image that slices it into 8 pieces &#8211; the 4 corners that will stay fixed, and the 4 sides that will stretch. <a href="http://ryangiglio.com/blog/wp-content/uploads/2011/07/blue-box-border.png" rel="lightbox">Here</a> is the actual image the site uses. Blown up and sliced, this is how the browser sees it:</p>
<p><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/07/boxSliceDetail.png" /></p>
<p>In order to make the slices show in their entirety, the border-width also has to be set to the same value. This is fine when you&#8217;re making something like a frame, but in this case, the text technically needs to go &#8220;over&#8221; the border. This is how it ended up looking:</p>
<p><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/07/Screen-shot-2011-07-05-at-3.49.02-PM.png" /></p>
<h2>Step 2: Making it useful</h2>
<pre class="code"><code class="prettyprint">&lt;div class="boxModuleBorder"&gt;
    &lt;div class="boxModuleContent"&gt;
        &lt;p&gt;...&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre>
<pre class="code"><code class="prettyprint lang-css">.boxModuleBorder {
    border-image: url('/images/blue-box-border.png') 15 37 15 104 repeat;
    -moz-border-image: url('/images/blue-box-border.png') 15 37 15 104 repeat;
    -webkit-border-image: url('/images/blue-box-border.png') 15 37 15 104 repeat;
    border-width: 15px 37px 15px 104px;
}
.boxModuleContent {
    margin: -7px -30px -6px -97px;
    position: relative;
    height: 100%;
}</code></pre>
<p>In order to offset the gaps around the text created by the width of the border, we came up with a content div inside the border that uses negative margins to offset the exact amount of spacing created. The exact values of -7, -30, -6, and -97 just came with some experimenting because I needed to find what would offset just the spacing and not the entire border image. The end result was text tucked very snugly against the border, which was exactly what I was looking for. These boxes were intended to hold many different kinds of content, and their padding was significantly varied. I subscribe to <a href="http://www.stubbornella.org/" rel="external">Nicole Sullivan&#8217;s</a> excellent &#8220;<a href="http://developer.yahoo.com/blogs/ydn/posts/2009/03/website_and_webapp_performance/" rel="external">object oriented CSS</a>&#8221; principles, so there will eventually be many &#8220;subclasses&#8221; of this module element that determines the behavior of the things inside.</p>
<p>This is the box after adding the content container:</p>
<p><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/07/Screen-shot-2011-07-05-at-4.01.27-PM.png" /></p>
<h2>Step 3: Matching the Design</h2>
<pre class="code"><code class="prettyprint">&lt;div class="boxModuleBorder"&gt;
    &lt;div class="boxModuleContent"&gt;
        &lt;h1 class="boxModuleHeader"&gt;Lorem Ipsum&lt;/h1&gt;
        &lt;p&gt;...&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre>
<pre class="code"><code class="prettyprint lang-css">.boxModuleBorder {
    border-image: url('/images/blue-box-border.png') 15 37 15 104 repeat;
    -moz-border-image: url('/images/blue-box-border.png') 15 37 15 104 repeat;
    -webkit-border-image: url('/images/blue-box-border.png') 15 37 15 104 repeat;
    border-width: 15px 37px 15px 104px;
}
.boxModuleContent {
    margin: -7px -30px -6px -97px;
    position: relative;
    height: 100%;
}
    .boxModuleContent p {
        padding:15px;
    }
.boxModuleHeader {
    background-image: url('/images/gradient-header-background.png');
    background-repeat: no-repeat;
    height: 20px;
    border-bottom: 1px solid #1e1e1e;
    padding-left: 30px;
    padding-top: 10px;
    font-size: 13px;
    text-transform: uppercase;
}</code></pre>
<p>In the actual design, the boxes also have a header that&#8217;s nestled tightly into the corner. This is where the no-default-padding principle came in handy. The header is simply a heading element (h1 in this case because they wanted to go with the HTML5 model of hierarchy) with a background image containing the gradient and an arrow, and when it was dropped into place it immediately stuck into the upper left corner of the box. Simple, clean, and beautiful.</p>
<p>Also, when there&#8217;s only a paragraph element inside the box it&#8217;s safe to give it padding, so this is where the whole basic style comes together.</p>
<p><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/07/Screen-shot-2011-07-06-at-4.02.31-PM.png" /></p>
<h2>Step 4: Extending</h2>
<pre class="code"><code class="prettyprint lang-css">.boxModuleBorder.small {
    width: 169px;
    height: 190px;
    float: left;
}
.boxModuleBorder.footer {
    margin-right: 14px;
}
.boxModuleBorder.sidebar {
    margin-bottom: 15px;
}
.boxModuleBorder.mainContentArea {
    width: 493px;
    margin-right: 15px;
    float: left;
    min-height: 210px;
}</code></pre>
<p>Using the object oriented CSS approach allowed me to create a few quick classes that would easily make the boxes adapt to the various tasks I needed them to do on the site. For example, when there was a box containing the main content area of the site (<a href="http://mindsmack.tv/about/" rel="external">http://mindsmack.tv/about/</a>) it needed to be a minimum height of 210px to prevent the floated sidebar from wrapping underneath. The boxes were either 1/3 of the page width of 2/3 of the page width, but the ones in the sidebar needed a bottom margin while the ones in the footer needed a right margin. Only a very small amount of CSS was necessary to reuse the boxes in all those different places.</p>
<h2>Step 5: Internet Explorer?!?!</h2>
<pre class="code"><code class="prettyprint lang-css">html.ie .boxModuleBorder {
    border-left: 5px solid #01224f;
    border-right: 5px solid #01224f;
    border-top: 5px solid #0b5696;
    border-bottom: 5px solid #0b5696;
    border-radius:6px
}</code></pre>
<p>Some of you are wondering: &#8220;sure this is nice, but what about Internet Explorer?!&#8221; I happen to be extremely lucky in the fact that MindSmack is an awesome client and doesn&#8217;t care about full Internet Explorer support on their portfolio site. They were perfectly happy with branded colors but absolutely nothing fancy, knowing what a task it would be to recreate the boxes in IE.</p>
<p><img src="http://ryangiglio.com/blog/wp-content/uploads/2011/07/Screen-shot-2011-07-06-at-2.51.46-PM.png" /></p>
<p>That kind of decision comes from knowing your target demographic, so people, look at your analytics! If you don&#8217;t have many IE-using visitors, don&#8217;t spend hours and hours perfecting your design in IE. It&#8217;s not worth it.</p>
<h2>Conclusions</h2>
<p>It seems that border-image is absolutely as awesome as people have been making it out to be. Without it, there would be dozens of &#8220;non-semantic styling divs of hideousness&#8221; scattered throughout the site to get things to stretch this way and that. Hopefully this post will be useful to someone trying to do something extra-fancy with border-image, since it&#8217;s really quite counter-intuitive and very-intimidating.</p>
<div class="shr-publisher-254"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fryangiglio.com%2Fblog%2Fcomplex-border-image-use%2F' data-shr_title='Complex+border-image+use'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://ryangiglio.com/blog/complex-border-image-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I Can&#8217;t Find Your RSS Link</title>
		<link>http://ryangiglio.com/blog/i-cant-find-your-rss-link/</link>
		<comments>http://ryangiglio.com/blog/i-cant-find-your-rss-link/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 05:05:17 +0000</pubDate>
		<dc:creator>ryangiglio</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://ryangiglio.com/blog/?p=151</guid>
		<description><![CDATA[Let me detail a situation that happens to me too frequently when browsing the web. On Twitter, someone links to an excellent blog post. I read the post and think that I would like to subscribe to this person&#8217;s blog. I glance around their site and see no RSS icon. I cmd-F and search for [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Let me detail a situation that happens to me too frequently when browsing the web.</p>
<p>On Twitter, someone links to an excellent blog post. I read the post and think that I would like to subscribe to this person&#8217;s blog. I glance around their site and see no RSS icon. I cmd-F and search for &#8220;RSS,&#8221; but nothing happens. I cmd-F again and search for &#8220;Subscribe&#8221; and find a tiny link hidden in the middle of a lot of other sidebar junk. I am relieved but frustrated.</p>
<p>Especially for small blogs like mine (and a few on my &#8220;the bad, the good, and some special exceptions&#8221; list coming up later in this post), every subscriber is precious. They are the magical gnomes who will read and comment on your posts, even when no one links to them. Please don&#8217;t make it hard for the gnomes.</p>
<p>Before I get into some examples, let me clarify a little bit what I am trying to demonstrate. Simply put: if you&#8217;re running a blog, it&#8217;s important for people to be able to subscribe to your blog. If you make it difficult for people to subscribe to your blog, you&#8217;re making it more difficult for your blog to be successful, and the difference is often a few simple design decisions.</p>
<p><span id="more-151"></span></p>
<h2>Bad: Gizmodo</h2>
<p><a href="http://gizmodo.com" rel="external">Gizmodo</a> (as well as the other Gawker sites) is an excellent blog, but it has a horrible information hierarchy in the sidebar. Especially on a news site, subscriptions should be a top priority, but Gizmodo&#8217;s design doesn&#8217;t seem to take this into consideration.</p>
<div class="media"><a rel="lightbox" href="http://ryangiglio.com/blog/wp-content/uploads/2010/12/gizmodo-top.png"><img src="http://ryangiglio.com/blog/wp-content/uploads/2010/12/gizmodo-top-150x150.png" alt="" /></a></div>
<p>Take a look at the screenshot on the left. They have a lot of great stuff at the top of the page &#8211; a popular posts section, a huge tips box, and a giant flash ad that probably nets them a lot of money. The top of the sidebar is another giant ad that also probably nets them a lot of money, and that&#8217;s okay. If it wasn&#8217;t for ads, most sites wouldn&#8217;t be able to survive.</p>
<p>The problems begin for me when you start looking for the feed link (which, of course, is what this post is about). For how important subscriptions and syndication are to a news blog, a &#8220;Subscribe to Gizmodo&#8221; link should be prominently featured in the header if at all possible. I would actually put it (and their other social media presences) underneath the Gizmodo logo in the black bar, but it&#8217;s not my decision to make.</p>
<p>Instead, you have to scroll an absolutely ridiculous <i>2819</i> pixels before you find &#8220;Subscribe to Gizmodo&#8221; and a very small RSS icon that you have to click (the text is not part of the link. nice). It is underneath the <i>INTERN&#8217;S EMAIL ADDRESSES</i>. I&#8217;m sure Casey Chan, Christina Bonnington, Adam Harris, and Andrew Tarantola are great people, and their internships are really cool, but emailing them isn&#8217;t a top priority to Gizmodo readers.</p>
<p><a href="http://ryangiglio.com/blog/wp-content/uploads/2010/12/gizmodo-sidebar1.png" rel="lightbox">Here&#8217;s a nice composite screenshot showing exactly how far down the page 2819 pixels is.</a></p>
<div class="clearLeft"></div>
<h2>Bad: MacRumors</h2>
<p><a href="http://macrumors.com" rel="external">MacRumors</a> is definitely a site that benefits from RSS subscribers. Look at those navigation tabs! They&#8217;re very &#8220;Webmonkey&#8221; circa 2001.</p>
<div class="media"><a href="http://ryangiglio.com/blog/wp-content/uploads/2010/12/macrumors-top.png" rel="lightbox"><img src="http://ryangiglio.com/blog/wp-content/uploads/2010/12/macrumors-top-150x150.png" alt="" title="macrumors-top" width="150" height="150" class="alignnone size-thumbnail wp-image-234" /></a></div>
<p>This isn&#8217;t a design critique, however. MacRumors happens to have pretty good information and I often see their articles get picked up by Gizmodo, a fellow RSS offender. Similarly to Gizmodo, if I want to subscribe to MacRumors&#8217; RSS feed I have to scroll down a whopping 2338 pixels. In fact, their &#8220;RSS/XML&#8221; link (which may confuse their visitors who don&#8217;t realize an RSS feed is actually just XML) is underneath a link to SETI @ Home and Folding @ Home. I&#8217;m all for the Search for Extra Terrestrial Intelligence and their distributed computing program, but it&#8217;s not more important to MacRumors than their RSS feed.</p>
<p><a href="http://ryangiglio.com/blog/wp-content/uploads/2010/12/macrumors-sidebar.png" rel="lightbox">This is how far down the sidebar the RSS/XML feed links are.</a></p>
<div class="clearLeft"></div>
<h2>Bad: AppStorm</h2>
<div class="media">
<a href="http://ryangiglio.com/blog/wp-content/uploads/2010/12/appstorm-top.png" rel="lightbox"><img src="http://ryangiglio.com/blog/wp-content/uploads/2010/12/appstorm-top-150x150.png" alt="" title="appstorm-top" width="150" height="150" class="alignnone size-thumbnail wp-image-200" /></a>
</div>
<p>I was debating whether or not I should include <a href="http://mac.appstorm.com" rel="external">Mac.Appstorm</a> in the &#8220;bad&#8221; category, but I specifically remember being confused by it. They do a really good job of hierarchy by putting their social media links and RSS feed link at the top of the sidebar in a nice offset box.</p>
<p>Unfortunately, they also do a really good job of designing their feeds box to look just like an ad in their sidebar that is otherwise entirely dedicated to advertising. Because of its position with relation to the post title, my eye enters the sidebar at the Chronicle and CleanMyMac ads and I immediately dismiss everything else in the column as ads also. It doesn&#8217;t hurt that the box has the same blue gradient, the same white text, and the same kind of colorful graphic.</p>
<p>Although the issue here is mostly the surrounding content, it doesn&#8217;t help that the actual RSS link is very small white text. There&#8217;s no trace of the iconic orange RSS Feed logo. If you&#8217;re going to make the text link hard to find, at least make sure the very noticeable logo is there to catch the user&#8217;s eye.</p>
<div class="clearLeft"></div>
<h2>Good: CSS Tricks</h2>
<div class="media">
<a href="http://ryangiglio.com/blog/wp-content/uploads/2010/12/css-tricks-top.png" rel="lightbox"><img src="http://ryangiglio.com/blog/wp-content/uploads/2010/12/css-tricks-top-150x150.png" alt="" title="css-tricks-top" width="150" height="150" class="alignnone size-thumbnail wp-image-187" /></a>
</div>
<p>I can&#8217;t say enough about how much I love the newest <a href="http://css-tricks.com/" rel="external">CSS-Tricks</a> design. There are so many little design and animation treats that I find myself exploring the site just to find all the nice touches Chris Coyier put into it.</p>
<p>One of the things I particularly enjoy is the way he handles the subscription links. There are multiple feeds on CSS-Tricks to subscribe to, but there isn&#8217;t a clutter of eight feed links, and there isn&#8217;t a page entirely dedicated to feeds. Instead, there is a shaded box at the very top of the sidebar with the iconic RSS icon and a bold &#8220;subscribe now.&#8221; If you&#8217;re looking for it, it&#8217;s impossible to miss. If you&#8217;re not looking for it at the moment, you still realize it&#8217;s there.</p>
<div class="clearLeft"></div>
<h2>Good: The Design Gnome</h2>
<p>I promise I didn&#8217;t include this one purely because its mascot is a gnome.</p>
<div class="media"><a href="http://ryangiglio.com/blog/wp-content/uploads/2010/12/designgnome-top.png" rel="lightbox"><img src="http://ryangiglio.com/blog/wp-content/uploads/2010/12/designgnome-top-150x150.png" alt="" title="designgnome-top" width="150" height="150" class="alignnone size-thumbnail wp-image-222" /></a>
</div>
<p><a href="http://thedesigngnome.com" rel="external">The Design Gnome</a> is a web design blog run by talented young designer <a href="http://www.maxluzuriaga.com/" rel="external">Max Luzuriaga</a>. This design perfectly illustrates the point I was making at the beginning of this post &#8211; if you&#8217;re site is a blog, make it easy to find the RSS link. There is a giant orange RSS button in the header of every page. That&#8217;s pretty hard to miss. There&#8217;s not really much else to say.</p>
<div class="clearLeft"></div>
</p>
<h2>Other: Discover Magazine</h2>
<div class="media">
<a href="http://ryangiglio.com/blog/wp-content/uploads/2010/12/discover-top.png" rel="lightbox"><img src="http://ryangiglio.com/blog/wp-content/uploads/2010/12/discover-top-150x150.png" alt="" title="discover-top" width="150" height="150" class="alignnone size-thumbnail wp-image-232" /></a>
</div>
<p><a href="http://discovermagazine.com" rel="external">Discover Magazine</a> has an interesting dilemma &#8211; their design uses &#8220;RSS Orange.&#8221; That means they can do an excellent job of placing the RSS link, with the logo, in their top navigation, and still have it entirely overlooked. I think in order to overcome this issue they need to do something to make it stand out. They could make the font and icon larger or offset the link from the rest of the navigation, but especially on a site with so many feeds to subscribe to (I highly recommend <a href="http://blogs.discovermagazine.com/badastronomy/" rel="external">Bad Astronomy</a>), it&#8217;s really important that people find that page.</p>
<div class="clearLeft"></div>
</p>
<h2>Other: Aral Balkan</h2>
<p>I didn&#8217;t actually need to include a screenshot of <a href="http://aralbalkan.com" rel="external">Aral Balkan&#8217;s</a> site because my point is about the absence of things, but I did anyway because it looks really nice. Aral is a wonderful User Experience designer who has inspired a lot of my interest in the field, and you should pay attention to everything he has to say.</p>
<div class="media">
<a href="http://ryangiglio.com/blog/wp-content/uploads/2010/12/aral-top.png" rel="lightbox"><img src="http://ryangiglio.com/blog/wp-content/uploads/2010/12/aral-top-150x150.png" alt="" title="aral-top" width="150" height="150" class="alignnone size-thumbnail wp-image-230" /></a>
</div>
<p>Interestingly enough, Aral&#8217;s site doesn&#8217;t have a link to his RSS feed. When I mentioned this to him, he told me that it was a deliberate decision because of the browser&#8217;s ability to include an RSS feed link in the location bar. Unfortunately, Google Chrome does not currently have this functionality by default. There is an <a href="https://chrome.google.com/webstore/detail/nlbjncdgjeocebhnmkbbbdekmmmcbfjd" rel="external">official extension written by Google to add it</a>, but no extension is ubiquitous.</p>
<div class="clearLeft"></div>
</p>
<p>Hopefully Aral&#8217;s solution to this problem will be practical and ubiquitous in the future. If everyone can use their location bar to subscribe to blogs, it would eliminate this issue entirely. For now, though, you can&#8217;t be sure what shortcuts users will have available to them. So please, if you&#8217;re going to have a blog, put your RSS link where your users can find it.</p>
<div class="shr-publisher-151"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fryangiglio.com%2Fblog%2Fi-cant-find-your-rss-link%2F' data-shr_title='I+Can%27t+Find+Your+RSS+Link'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://ryangiglio.com/blog/i-cant-find-your-rss-link/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Recursion &#8211; A Short Story</title>
		<link>http://ryangiglio.com/blog/recursion-story/</link>
		<comments>http://ryangiglio.com/blog/recursion-story/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 22:59:08 +0000</pubDate>
		<dc:creator>ryangiglio</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[non-web]]></category>

		<guid isPermaLink="false">http://ryangiglio.com/blog/?p=123</guid>
		<description><![CDATA[I&#8217;ve been working on this story for the past few months as an assignment for a fiction writing course I was taking. Now that it&#8217;s finished, I thought I might share it here. I&#8217;ve included the first 2.5 pages, and at the bottom you can download a PDF of the story in its entirety (12 [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>I&#8217;ve been working on this story for the past few months as an assignment for a fiction writing course I was taking. Now that it&#8217;s finished, I thought I might share it here. I&#8217;ve included the first 2.5 pages, and at the bottom you can download a PDF of the story in its entirety (12 pages total). Feel free to leave any comments or criticisms (I can take it!), I&#8217;m always open to more revising.</p>
<p><span id="more-123"></span></p>
<div id="story">
<hgroup>
<h1>Recursion</h1>
<h2>By: Ryan Giglio</h2>
</hgroup>
<p>Paul watched the lights fly past outside in the dark tunnel. He noticed small flickers in the stream of yellow. Some of the bulbs were burned out, and he suspected that no one really cared. <span class="thought">What was the point of lights in a tunnel where no one walked anyway? It’s just another thing for the city to waste money on. I should write a story about it.</span></p>
<p>Paul was a reporter, but preferred to be called a journalist. He was the office idealist. He wanted to write shocking political exposes, go undercover in corrupt organizations, tell people the things they really needed to know. Mostly, he wrote about things like the city wasting money on subway lights.</p>
<p>Today, Paul had an interview with the owner of a bakery that won a national cupcake contest. In his head he practiced the proper Italian pronunciation of her name, something he had spent hours on the night before. It was already perfect, as it always was with Paul, but he needed to do something to stop his mind from wandering. Sometimes he couldn’t get it back.</p>
<p class="elipsisDivide">. . .</p>
<p>&#8220;Hi Mrs. Filangieri, I called yesterday from the paper.&#8221;</p>
<p>&#8220;Ah, yes. Why don’t you come back here into the office?&#8221;</p>
<p>It went well. It always went well with Paul.</p>
<p class="elipsisDivide">. . .</p>
<p>Paul tried watching the lights fly past on his way home, but now he noticed nothing but the dead bulbs. It made him angry. He looked away. Sitting across from him was a girl in a black sweatshirt trying to keep herself busy. She was sitting with her head down, writing in a black leather notebook. The rest of the passengers were unremarkable, but he still felt obligated to observe everyone before coming back to the girl.</p>
<p>She had long brown hair and a pretty face, but Paul worked in a city of millions &#8211; he saw at least a hundred gorgeous women every day of his life. The way she swayed though, as the train rocked back and forth. And her unconscious smile, even while writing. Paul felt that his background qualified him as an expert on judging character; she looked to him like a writer type.</p>
<p><span class="thought">What was she writing?</span> The girl looked a few years younger than him, so she could be an intern somewhere. Maybe she was taking notes for a newspaper story? Paul remembered carrying a notebook like that when he was first trying to break into the business, practicing his casual observations and crafting wonderfully journalistic sentences. He wondered what she was doing with hers.</p>
<p>The girl put her notebook away, and Paul made sure she didn&#8217;t see him looking at her. In the city, anyone looking at you on the subway is immediately a creep, and a creep is the last thing he wanted to be.</p>
<p>She looked out the window. Paul wondered if she noticed the dead bulbs, and if she cared. He wondered if she would ever find him as interesting as he found her.<br />
That night, Paul dreamt about her.</p>
<p class="elipsisDivide">. . .</p>
<p>Paul was walking through the cars of the train, looking for a friend. He saw her sitting with her head down, writing in a black leather notebook.</p>
<p>&#8220;Hi Emily,&#8221; he said.</p>
<p>The girl looked up and smiled. Her smile was as bright as he imagined it would be.</p>
<p>&#8220;Hi Paul!&#8221; He sat down next to her.</p>
<p>&#8220;How&#8217;s the paper coming?&#8221;</p>
<p>&#8220;Really well, but I&#8217;m so glad it&#8217;s almost over. I love researching but I hate writing about it.&#8221;</p>
<p>&#8220;Don’t become a journalist, then. I spend all day writing up observations.&#8221; They laughed for different reasons.</p>
<p class="elipsisDivide">. . .</p>
<p>Emily? How did he know her name? <span class="thought">It was just a dream</span>. Paul wanted to tell himself that it didn&#8217;t matter, but he couldn&#8217;t. He put on his favorite shirt, in case she noticed him. He was nervous.</p>
<p>Walking to the train that morning, Paul wasn&#8217;t sure why he expected to see her again at all. He had never noticed her on the train before last night, and he surely wouldn&#8217;t have overlooked someone like that. By the time he arrived at the station, he had convinced himself that he was being silly. He was sure she was only visiting for the day.</p>
<p>Still, Paul felt obliged to browse through a few cars to keep himself honest. If anyone asked, he was looking for a friend. He didn&#8217;t expect to find her.</p>
<p>He did. The moment Paul saw the girl he looked away as if his gaze were burning her. <span class="thought">Don&#8217;t seem like a creep</span>. He glanced back up after taking a seat, and she was smiling at him. Paul almost forgot to smile back as he tried to make himself comfortable, his heart suddenly pounding. Paul had the feeling that she knew about his dream &#8211; that she was just as nervous as he was. He knew it was silly, but he couldn&#8217;t shake it. He hoped her smile meant she recognized him from yesterday.</p>
<p class="elipsisDivide">. . .</p>
<p>Today was one of those days for clerical work. Paul organized his notes from different stories. He typed up recent ideas from his notebook. He did a lot of gazing out the office window, too, looking for the girl writing. That was the only way he’d really seen her, so how else could she be? She was &#8220;the girl writing on the train.&#8221;</p>
<p>Paul spent most of the day waiting for it to be five. He practiced twenty different ways to break the ice. <span class="thought">Should I mention that I&#8217;ve seen her before? I don&#8217;t want to seem like a stalker</span>. He decided on &#8220;Hi. It seems like we take the same train, so I wanted to introduce myself. I&#8217;m Paul.&#8221; It was smooth and nonchalant, just like he wished he was.</p>
<p>During his six years at his job, Paul always waited for the train on the same bench. He always entered the train through the same door. Yesterday she was three cars up from there, so he found a pillar to lean on in what he thought was the right place.</p>
<p>&#8220;Hi. It seems like we take the same train, so I wanted to introduce myself. I&#8217;m Paul.&#8221; He muttered to himself as the train pulled up to the platform. <span class="thought">Make sure it doesn&#8217;t sound rehearsed</span>.</p>
<p>He found her right where he expected to, headphones in, staring out the window. His perfect introductory sentence had him feeling confident, and he sat down next to her. <span class="thought">Don&#8217;t make eye contact yet. It&#8217;ll be awkward if I say hi so long after we make eye contact</span>. Paul looked very hard at his feet.</p>
<p>&#8220;Hi.&#8221;</p>
<p>Paul looked up. She was smiling at him.</p>
<p>&#8220;It seems like we take the same train, so I wanted to introduce myself. I&#8217;m Emily.&#8221;</p>
<p>Paul looked at her for a moment in stunned silence. She blushed a little.</p>
<p>&#8220;I&#8217;m sorry, you must not have noticed me. I sat across fro-&#8221;</p>
<p>&#8220;No, sorry, I did. My name&#8217;s Paul. Nice to meet you.&#8221;</p>
<p><span class="thought">She noticed me. She remembered me and wanted to introduce herself. Paul&#8217;s hand was clammy as he reached to shake hers. So much for being smooth</span>. She didn&#8217;t seem to mind.</p>
<p>&#8220;So, Paul, what do you do?&#8221;</p>
<p>&#8220;I&#8217;m a journalist.&#8221; Paul knew he wasn&#8217;t much for small talk.</p>
<p>&#8220;That&#8217;s cool! I&#8217;m a grad student. Psychology.&#8221;</p>
<p>&#8220;Very nice.&#8221;</p>
<p>&#8220;Yeah, I love it, but it feels like I&#8217;ve been working on my thesis for far too long now.&#8221; Emily instinctively checked her phone and put it in her pocket. &#8220;I have to get off a few stops early today, so I&#8217;ll tell you more about it tomorrow if you want.&#8221;
<p>&#8220;I&#8217;d love to hear it,&#8221; said Paul as she stood up.</p>
<p>She smiled at him. &#8220;I&#8217;ll see you tomorrow.&#8221;</p>
<p>&#8220;See you tomorrow.&#8221; Paul smiled back. He kept smiling as she walked away, and after she got off the train. <span class="thought">I was right. Her name is Emily</span>. That night, Paul dreamt about her.</p>
</div>
<p>If you&#8217;d like to read the rest, you can download it here:</p>
<p><a href="http://ryangiglio.com/files/Recursion-by-RyanGiglio.pdf">Recursion-by-RyanGiglio.pdf</a></p>
<p>Enjoy!</p>
<div class="shr-publisher-123"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fryangiglio.com%2Fblog%2Frecursion-story%2F' data-shr_title='Recursion+-+A+Short+Story'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://ryangiglio.com/blog/recursion-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Disabled Google Instant</title>
		<link>http://ryangiglio.com/blog/why-i-disabled-google-instant/</link>
		<comments>http://ryangiglio.com/blog/why-i-disabled-google-instant/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 17:51:20 +0000</pubDate>
		<dc:creator>ryangiglio</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://ryangiglio.com/blog/?p=45</guid>
		<description><![CDATA[I know I&#8217;m late weighing in on this issue, but I&#8217;ve been thinking about it for a while. Google Instant is a very cool idea and I really don&#8217;t want to dislike it, but its frustrated me enough times that I finally turned it off. Pros and cons, shall we? Pro: Instant feedback can be [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>I know I&#8217;m late weighing in on this issue, but I&#8217;ve been thinking about it for a while. Google Instant is a very cool idea and I really don&#8217;t want to dislike it, but its frustrated me enough times that I finally turned it off.</p>
<p>Pros and cons, shall we?</p>
<p><span id="more-45"></span></p>
<h2><em>Pro: </em>Instant feedback can be very useful</h2>
<p>For situations where you aren&#8217;t exactly sure what to type in, instant feedback on your query is very useful. For example, the other day I was searching for the exact meaning of the phrase &#8220;canon,&#8221; since we were discussing it in a writing class and I like dictionary definitions. Searching for &#8220;canon&#8221; gives me nothing but cameras, but a few quick search refinements with Instant&#8217;s help led me to &#8220;literary canon&#8221; which was exactly what I was looking for.</p>
<h2><em>Con: </em>When I don&#8217;t need instant feedback (which is most of the time) it&#8217;s very annoying</h2>
<p>Generally my Google searches are pretty straightforward and don&#8217;t require a lot of refining. I shudder at the phrase &#8220;touch typist,&#8221; but since I look at the screen rather than the keyboard while I type, I find the page&#8217;s automatic search results very distracting and quite annoying. For example: say I&#8217;m trying to search for the &#8220;screenplay for Toxic Avenger Part 2.&#8221; Typing at my normal speed (pretty fast, I am a programmer after all) the page gave me four incorrect auto-completed results before I was finished typing. When I slowed down just a little bit (a totally reasonable speed for the average person), it gave me <em>eight</em> different pages of results before I was finished.</p>
<p>This is what it came up with; it sounds like one of those Bing TV ads. You can click the term to see the results page.</p>
<ul class="instantResults">
<li><a class="searchTerm" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/1-8.png" rel="lightbox">sc<span class="autocomplete">rabble</span></a></li>
<li><a class="searchTerm" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/2-8.png" rel="lightbox">screenplay</a></li>
<li><a class="searchTerm" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/3-8.png" rel="lightbox">screenplay for<span class="autocomplete">mat</span></a></li>
<li><a class="searchTerm" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/4-8.png" rel="lightbox">screenplay for <span class="autocomplete">inception</span></a></li>
<li><a class="searchTerm" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/5-8.png" rel="lightbox">screenplay for to<span class="autocomplete">y story</span></a></li>
<li><a class="searchTerm" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/6-8.png" rel="lightbox">screenplay for toxic</a></li>
<li><a class="searchTerm" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/7-8.png" rel="lightbox">screenplay for toxic avenger</a></li>
<li><a class="searchTerm" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/8-8.png" rel="lightbox">screenplay for toxic avenger part 2</a></li>
</ul>
<p>If you look at the images you&#8217;ll notice not only do the results change, but both sidebars change also. Sometimes there&#8217;s sponsored links, sometimes not. Sometimes the left column of search types includes 3 things, sometimes 4, sometimes 5. Seeing the content and structure of a page change eight times in a few short seconds, all while you&#8217;re concentrating on typing, is very annoying.</p>
<p>I understand that the point of Google Instant is to get results faster, but when the scenario above occurs, it feels to me like I&#8217;m getting them slower. There&#8217;s no way to scientifically test these millisecond differences, but feel is often more important than science. With Instant disabled I&#8217;m certain that the search performed is the search I had intended to make. However with Instant turned on I find myself reading the results over before I trust that they&#8217;re what I was looking for. On my painfully slow internet connection, it&#8217;s happened more than once that I&#8217;ve finished typing while a previous auto-search was still being displayed, and I had to wait for it to update.</p>
<h2><em>Con: </em>It&#8217;s very aggressive.</h2>
<p>This is the nature of auto-complete, and I think as far as text input is concerned Google does an excellent job with this &#8211; press enter if you want to search for what you typed, press tab if you want to use the auto-completed word. However basing the auto-search results on the phrase they think you meant often defeats the purpose of using Instant. For example:</p>
<p>Say I want to search for &#8220;fire.&#8221; If I type in &#8220;fire&#8221; it tries to auto-complete it to <a class="searchTerm" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/firefox.png" rel="lightbox">fire<span class="autocomplete">fox</span></a>. As I mentioned, all I have to do to search for &#8220;fire&#8221; is press enter, but if I&#8217;m pressing enter at the end of my search results and some of the page has to reload, why am I using Google Instant at all? It would seem like this is a picky issue to take with it, but it&#8217;s happened to me enough times that I think it still deserves mention.</p>
<p>The funny thing is, most of my Google searches are done from <a href="http://www.alfredapp.com/" rel="external">Alfred</a> (which every Mac user should use because it&#8217;s awesome) or the location bar of Google Chrome. Me and Google Instant don&#8217;t really rub elbows all that often. When we do though, it rubs me the wrong way.</p>
<div class="shr-publisher-45"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fryangiglio.com%2Fblog%2Fwhy-i-disabled-google-instant%2F' data-shr_title='Why+I+Disabled+Google+Instant'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://ryangiglio.com/blog/why-i-disabled-google-instant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Be Radical, Or Don&#8217;t</title>
		<link>http://ryangiglio.com/blog/be-radical-or-dont/</link>
		<comments>http://ryangiglio.com/blog/be-radical-or-dont/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 04:51:36 +0000</pubDate>
		<dc:creator>ryangiglio</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://ryangiglio.com/blog/?p=15</guid>
		<description><![CDATA[When a user arrives at a webpage, there a number of assumptions they immediately make. For example: User: &#8220;There&#8217;s a big logo at the top. That must be the name of this website.&#8221; Obviously this is subconscious; no user would go around the web repeating that to themselves. Try it. It gets old fast. The [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>When a user arrives at a webpage, there a number of assumptions they immediately make. For example:</p>
<blockquote><p>User: &#8220;There&#8217;s a big logo at the top. That must be the name of this website.&#8221;</p></blockquote>
<p>Obviously this is subconscious; no user would go around the web repeating that to themselves. Try it. It gets old fast. The point is, we&#8217;ve grown extremely accustomed to certain design patterns. One of these is having the site/company/individual logo and branding at the top of the page. Another, even older, is having your navigation at the top or down the left side of the page. When a user sees a list of links in one of these two places, they automatically assume it will lead them to new and exciting places.</p>
<p>Of course, all of this is common sense. As web designers and developers, we all know this information. That&#8217;s the point.</p>
<p><span id="more-15"></span></p>
<p>When a designer does something that drastically breaks this pattern, people have one of two reactions. Typically these get vented on Twitter:</p>
<p>User A: &#8220;Wow, (site here) is really outside the box. Brilliantly creative. 5 stars #loveit&#8221;<br />
User B: &#8220;Wow, (site here) is really trying too hard to be outside the box. What happened to usability? #badUX&#8221;</p>
<p>Neither of these reactions is necessarily a problem; many people react negatively to change without thinking about it first. However, a lot more confusion can come from sites where the paradigm is only broken slightly. Take this conversation I recently had with myself when visiting this site:</p>
<div class="media"><a rel="lightbox" href="http://ryangiglio.com/blog/wp-content/uploads/2010/09/redbankcreative1.jpg"><img src="http://ryangiglio.com/blog/wp-content/uploads/2010/09/redbankcreative1-150x150.jpg" alt="" /></a></div>
<p>*looks at the navigation at the top of the page*<br />
&#8220;Oh, great. There&#8217;s 3 pages on this site. Let me read this one first, and then go to the others&#8221;</p>
<p>*reads all the way to the bottom of the page*<br />
&#8220;Alright, I&#8217;m done with this page. Let me go to the others now&#8221;</p>
<p>*clicks on navigation. page scrolls me down to a section I already read*<br />
&#8220;Wait, what? Oh. Damn&#8221;</p>
<p>And I leave the site disappointed. I don&#8217;t think it&#8217;s in anyone&#8217;s best interest to disappoint our users, especially when they&#8217;re interested in your content enough to want to read all of your site.</p>
<p>There&#8217;s absolutely nothing wrong with an everything-visible-on-one-page site. If you don&#8217;t have a lot of content, there&#8217;s no need to make the user go to three different pages to read three paragraphs. If you want to do some creative design to tie all the sections together, go for it. However, if you&#8217;re not doing anything else radical on the page, don&#8217;t change the navigation paradigm without telling us. Something as simple as a &#8220;jump to section&#8221; note next to the links is sufficient to tell the user &#8220;these links scroll you down the page, not take you to a new one.&#8221; That&#8217;s all they need to know.</p>
<p>Note: Thanks <a href="http://montylounge.com/">Kevin Fricovsky</a> for letting me use the screenshot.</p>
<p><strong id="update">Update:</strong></p>
<p>The official site of <a rel="external" href="http://alfredapp.com">Alfred</a> (which I happened to link to in my blog post about Google Instant as well&#8230;I&#8217;m really giving them some love) has a fantastic execution of what I complained about here. Their site is all on one page, yes, but there is a distinction between the different sections as you scroll down, especially between the &#8220;homepage&#8221; section and the &#8220;features&#8221; section. It&#8217;s clear both by the large heading and the drastic color shift from Purple to Grey that you are in a different section of the site. This successfully discourages the pattern of &#8220;read the entire page before clicking the nav links.&#8221; Well done, Alfred team.</p>
<div class="shr-publisher-15"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fryangiglio.com%2Fblog%2Fbe-radical-or-dont%2F' data-shr_title='Be+Radical%2C+Or+Don%27t'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://ryangiglio.com/blog/be-radical-or-dont/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

