<?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>Ethan Hein&#039;s Blog &#187; super mario bros</title>
	<atom:link href="http://www.ethanhein.com/wp/tag/super-mario-bros/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ethanhein.com/wp</link>
	<description>Music, Technology, Evolution</description>
	<lastBuildDate>Fri, 18 May 2012 00:48:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>The desktop metaphor is, like, so five minutes ago</title>
		<link>http://www.ethanhein.com/wp/2009/the-desktop-metaphor-is-like-so-five-minutes-ago/</link>
		<comments>http://www.ethanhein.com/wp/2009/the-desktop-metaphor-is-like-so-five-minutes-ago/#comments</comments>
		<pubDate>Sat, 23 May 2009 21:00:49 +0000</pubDate>
		<dc:creator>Ethan</dc:creator>
				<category><![CDATA[Interfaces]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Video Games]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[eighties]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[metaphor]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[super mario bros]]></category>
		<category><![CDATA[visualization]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.ethanhein.com/wp/?p=643</guid>
		<description><![CDATA[Update: this was written before I ever touched an iPhone or iPad. These devices are major improvements over the desktop metaphor GUIs I complain about below. When you grow up playing video games, like I did, the primitiveness of office software user interface design comes as a shock. The desktop metaphor was a brilliant stroke [...]]]></description>
			<content:encoded><![CDATA[<p><em>Update: this was written before I ever touched an iPhone or iPad. These devices are major improvements over the desktop metaphor GUIs I complain about below.</em></p>
<p>When you grow up playing video games, like I did, the primitiveness of office software user interface design comes as a shock. The <a href="http://en.wikipedia.org/wiki/Desktop_metaphor">desktop metaphor</a> was a brilliant stroke back in 1970 when they thought it up at Xerox PARC, but I feel like it has outlived its usefulness.</p>
<p>User interfaces are the first and most immediate form of computer instruction, and for many people the only instruction they ever receive. Not every interface designer teaches their own products equally well. The problems mostly emerge from designers&#8217; presuming implicit knowledge from the user that might not really be there. There are plenty of computer science concepts that are common knowledge to programmers and engineers, but that are esoteric or totally opaque to the population at large. For example, the general public uses the terms memory and storage interchangeably, even though they refer to different computer components that function in very different ways. Most normal people don&#8217;t have mental models of a computer program&#8217;s inner workings, and rely entirely on the interface to provide the model.</p>
<p><a href="http://www.flickr.com/photos/ethanhein/2803814672/in/set-72157604970215586/"><img class="aligncenter" title="The user interface is the first and sometimes only computer science teacher" src="http://farm4.static.flickr.com/3243/2803814672_42438b7db6.jpg?v=0" alt="" width="360" height="216" /></a></p>
<p><span id="more-643"></span>The desktop metaphor treats the screen of a computer as if it&#8217;s the top of your desk. Great, except that it&#8217;s vertical instead of horizontal, and the laws of physics mostly don&#8217;t apply. A window in an operating system isn&#8217;t very much like a window in a wall and is even less like a sheet of paper. Typing some text on the screen only very superficially resembles typing it on paper. Unsaved text is in volatile memory that needs to be continuously powered to work. If you turn off the computer, intentionally or not, memory gets instantly blanked, and your text is gone forever. The only way to prevent this tragedy is to make sure to explicitly tell the computer to copy the text <a href="http://www.flickr.com/photos/ethanhein/2777020592/">from memory onto a storage device</a> like the hard disk.</p>
<p>Computer experts sneer at people who don&#8217;t understand the concept of saving, but it&#8217;s wrong to sneer, because there&#8217;s no reason for someone to intuit the difference between volatile memory and non-volatile storage unless they&#8217;ve had it carefully explained to them. We&#8217;re used to making marks on a surface and having them persist unless we take steps to erase them. There is a trend towards auto-saving in software, but it&#8217;s been absurdly slow in coming.</p>
<p>The filing cabinet analogy for hard drives made more sense back in the eighties, when disks were expensive and limited in their storage capacity. The first computer I was in charge of was the one I took to college in 1993. I knew intimately which programs I had installed on it at all times, because if I wanted to install a new one, I had to erase something first. Now the hard disk&#8217;s filing system has to contend with billions of bytes of data. In this era, a big searchable database is a better model than a filing cabinet. Instead of putting a file in a single, unambiguous location, you&#8217;re better off tagging it with descriptive metadata so you&#8217;ll be able to find it in a search later. The filing cabinet analogy has the virtue of accurately representing the file system&#8217;s actual organization, but it&#8217;s not very human-friendly. Our own minds are organized into associative networks, not hierarchical directories.</p>
<p><a title="Cortex by Ethan Hein, on Flickr" href="http://www.flickr.com/photos/ethanhein/2245074770/"><img class="aligncenter" src="http://farm3.static.flickr.com/2393/2245074770_c07eeab438_o.jpg" alt="Cortex" width="288" height="226" /></a></p>
<p>The most annoying aspect of the conventional desktop metaphor is its Escher-like recursiveness. Within the screen representing part of the computer is an icon representing the entire computer. The desktop folder appears to be inside itself. The recursion is interesting from a <a href="http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach">metaphysical perspective</a>, but deeply confusing if you&#8217;re just trying to understand your file system.</p>
<p><a href="http://www.flickr.com/photos/ethanhein/2679769337/in/set-72157604970179232/"><img class="aligncenter" title="Linux recursion" src="http://farm4.static.flickr.com/3246/2679769337_9eccfeb223.jpg?v=0" alt="" width="500" height="375" /></a></p>
<p>Much as I love the Mac OS, its recursiveness can be even more confusing than Windows. The Mac has two sets of folders called Applications, Documents, Library, and so on. Even though their names are identical, their identities and functions are totally separate.</p>
<p>For non-expert users, probably the most difficult aspect of the graphical user interface is keeping track of the <a href="http://en.wikipedia.org/wiki/Focus_(computing)">keyboard focus</a>. Even the Mac OS doesn&#8217;t always do a wonderful job of making it obvious which text field in which window has the keyboard focus. In the screenshot below, the text cursor could be subtly blinking in any of at least three different places.</p>
<p><a href="http://www.flickr.com/photos/ethanhein/2679768909/in/set-72157604970215586/"><img class="aligncenter" title="Wheres the keyboard focus?" src="http://farm4.static.flickr.com/3048/2679768909_ae91e5430e.jpg?v=0" alt="" width="500" height="375" /></a></p>
<p>As a teacher of novice users, the phrase you hear a lot is: &#8220;I don&#8217;t know where I am, I want to go here.&#8221; This is an interesting phrase to me. No one says, &#8220;I don&#8217;t know which task or process is set to receive text input.&#8221; People intuitively conceptualize computer interfaces as places inhabited by their own bodies. This intuition is misguided &#8211; even when you &#8220;surf&#8221; the web, you&#8217;re not going anywhere, bits are being transmitted to and fro from one computer disk to another. But there&#8217;s no talking people out of their intuition. Computer programs are easier and more fun to use when they present a user illusion that accommodates our instincts.</p>
<p>Windows represents your onscreen avatar as a little arrow, a little cartoon glove or a little hourglass. Macs represent you as an arrow or a psychedelic rotating rainbow ball. Efforts to make the computer into a &#8220;person&#8221; you&#8217;re talking to always fail. Everyone hates Microsoft&#8217;s anthropomorphic paper clip and dog, and people would rather interact with impersonal Google than to ask Jeeves. It would be better to represent the operating system as a place, with the user &#8220;embodied&#8221; by an avatar. It doesn&#8217;t have to be a person, or even humanoid. It can be a bird or a robot or whatever. But you do have to be able to easily control and manipulate it, and it needs to unambiguously represent the keyboard focus.</p>
<p>I think the future of interface design is to be found not in Apple&#8217;s products, but in video games, especially <a href="http://www.flickr.com/photos/ethanhein/tags/eighties/">eighties</a> <a href="http://www.flickr.com/photos/ethanhein/sets/72157602723530275/">video games</a>, most especially the ones by <a href="http://www.flickr.com/photos/ethanhein/tags/nintendo/">Nintendo</a>. The user interface of every Nintendo product has to be intelligible by semi-literate young children in every world culture. For the most part, they succeed heroically. Long before video games had any of their present lavish production values, they conveyed a strong sense of first-person experience that could be instantly grasped by preschool-aged children. This metaphor is as old as human consciousness, and we&#8217;re vastly more adept with it than we are with the metaphors of desktops, file cabinets and disembodied cartoon fingers. If I controlled the universe, I&#8217;d want my computer&#8217;s file system to look like this:</p>
<p><a href="http://www.flickr.com/photos/ethanhein/3552842584/"><img class="aligncenter" title="This how I wish my computers file system looked" src="http://farm4.static.flickr.com/3649/3552842584_176a26bc85.jpg?v=0" alt="" width="500" height="375" /></a></p>
<p><a href="http://www.flickr.com/photos/ethanhein/3557308959/"><img class="aligncenter" title="Super Mario Bros 3 - Skyland" src="http://farm3.static.flickr.com/2429/3557308959_91a3e8848d.jpg?v=0" alt="" width="500" height="418" /></a></p>
<p>The Mario games are models of clarity and graphic economy. One visual metaphor I&#8217;m particularly fond of is the level selection system in <a href="http://en.wikipedia.org/wiki/Super_Mario_64">Super Mario 64</a> &#8212; I&#8217;d include a screenshot but I can&#8217;t find a good one. You start the game in Princess Peach&#8217;s castle. Each level is represented by a painting hanging on the wall. To visit that level, you jump into the painting. I&#8217;m imagining a nice system for pointers and aliases where you could take the paintings off the wall, carry them around with you as you see fit, rearrange them, etc.</p>
<p>Mario 64 is a 3D game, but I&#8217;m not advocating the use of 3D spaces as interfaces generally. I think eighties video games are a better model for interface designers exactly because they&#8217;re limited to 2D spaces with limited attempts at depth. Unless it&#8217;s handled very expertly, illusory projections of 3D spaces onto a 2D screen cause a lot of confusion. Playing a game like Halo or Quake is a poor approximation of our actual 3D experience, it&#8217;s like viewing the world through a cardboard box with a little rectangular hole cut through it, and with only one eye. I think it&#8217;s better to look for creatively optimized plane layouts than to burden the user with a lot of projective geometry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethanhein.com/wp/2009/the-desktop-metaphor-is-like-so-five-minutes-ago/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The Minus World and the Blue Screen Of Death</title>
		<link>http://www.ethanhein.com/wp/2009/the-minus-world-and-the-blue-screen-of-death/</link>
		<comments>http://www.ethanhein.com/wp/2009/the-minus-world-and-the-blue-screen-of-death/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 18:31:47 +0000</pubDate>
		<dc:creator>Ethan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Video Games]]></category>
		<category><![CDATA[blue screen of death]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[crashes]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[looping]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[super mario bros]]></category>

		<guid isPermaLink="false">http://www.ethanhein.com/wp/?p=503</guid>
		<description><![CDATA[When the computer crashes, it seems like it&#8217;s frozen. Actually, it&#8217;s still working as fast as usual. It only appears to be stuck because it isn&#8217;t responding to you. The computer is too busy to take input because it&#8217;s in a loop, executing the same short list of instructions over and over. Computers have become [...]]]></description>
			<content:encoded><![CDATA[<p>When the computer crashes, it seems like it&#8217;s frozen. Actually, it&#8217;s still working as fast as usual. It only appears to be stuck because it isn&#8217;t responding to you. The computer is too busy to take input because it&#8217;s in a loop, executing the same short list of instructions over and over.</p>
<p><a href="http://www.flickr.com/photos/ethanhein/2269574538/in/set-72157604970179232/"><img class="aligncenter" title="The Blue Screen Of Death" src="http://farm3.static.flickr.com/2137/2269574538_f5198f128b.jpg?v=0" alt="" width="500" height="314" /></a></p>
<p>Computers have become so fast that you can&#8217;t see what they&#8217;re doing on an instruction-by-instruction basis, so it&#8217;s hard to get a feel for what&#8217;s going on in a looping failure.  Fortunately, <a href="http://www.flickr.com/photos/ethanhein/tags/supermario/">Super Mario Bros</a> has a famous bug known as the <a href="http://www.transmissionzero.co.uk/computing/mario-minus-world/">Minus World</a> that lets you study an infinite loop in an entertainingly interactive form.<span id="more-503"></span></p>
<p>If you haven&#8217;t had the pleasure, here&#8217;s the basic topology of Super Mario Bros. There are eight worlds of four sections each. Each world is progressively more difficult. Super Mario Bros was developed during the  arcade era, before the notion of saving your progress took hold. So every time you play, you have to start at the very beginning of world 1-1. This can get tedious, so out of sympathy to the player, Nintendo included a few shortcuts in the game called warp zones.<a href="http://www.flickr.com/photos/ethanhein/2784654021/"><img class="aligncenter" title="The topology of Super Mario Bros" src="http://farm4.static.flickr.com/3222/2784654021_8788eee50f.jpg?v=1242347696" alt="" width="500" height="367" /></a>The warp zones are hidden, and while it&#8217;s possible to discover them by accident, it&#8217;s unlikely. Back in the eighties it was easier to just subscribe to Nintendo Power magazine to find out where they were. This was a very clever business move on Nintendo&#8217;s part, because it was a way to get kids like me to pay to read advertising for Nintendo products.</p>
<p>The first warp zone is at the end of world 1-2, an underground dungeon. In this world, there are various places where you can get through holes in the ceiling, enabling you to run merrily along past all of the obstacles and foes. If you run along the ceiling past the exit, you come to a hidden room. In this room are three pipes leading to worlds 2-1, 3-1 and 4-1.</p>
<p>The &#8220;walls&#8221; in video games aren&#8217;t solid objects. There&#8217;s just a big database of all the screen regions, with some code specifying the collision rules for each region. Normally, when the Mario sprite occupies the same screen region as a brick sprite, the database specifies that Mario should bounce off. The Minus World bug lies in a particular entry in world 1-2&#8242;s list of bricks. If you jump at the buggy brick from the right angle, you slide right through it, passing through the wall and into the warp zone.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/ethanhein/2551847402/in/set-72157604970179232/"><img class="aligncenter" title="Jumping through the buggy brick" src="http://farm4.static.flickr.com/3177/2551847402_2ceec62b4a.jpg?v=0" alt="" width="256" height="224" /></a></p>
<p>Jumping through the wall interacts with other code in the game, so that instead of providing you with a shortcut to world 4-1, the rightmost pipe in the warp zone deposits you in what appears to be World -1.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/ethanhein/2551847382/in/set-72157604970179232/"><img class="aligncenter" title="Enter the minus world" src="http://farm4.static.flickr.com/3114/2551847382_c4d6681dc7.jpg?v=0" alt="" width="256" height="224" /></a></p>
<p>The level is actually numbered &#8220;36-1,&#8221; but the number 36 is represented by a blank tile for some reason, so it looks like level minus one. The so-called Minus World resembles the underwater levels 2-2 and 7-2.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/ethanhein/2551847356/in/set-72157604970179232/"><img class="aligncenter" title="Never-ending water world" src="http://farm4.static.flickr.com/3109/2551847356_54c2a83b85.jpg?v=0" alt="" width="256" height="224" /></a></p>
<p>When you reach the pipe at the end normally leading to the exit and the next level, you are instead deposited back at the beginning of the Minus World. There&#8217;s no escape from this loop, until you run out of time and the game ends.</p>
<p>Like most computer failures, the Minus World bug is a soft failure, a memory issue. When you turn off the computer, memory gets erased. That&#8217;s why rebooting the NES cures the Blue Screen Of Death, at the expense of whatever unsaved data you had in memory. You can cure the Minus World bug by rebooting your Nintendo, but like I said, Super Mario Bros offers no way to save your game state. Oh well, the zen Buddhists would approve.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethanhein.com/wp/2009/the-minus-world-and-the-blue-screen-of-death/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

