<?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>Simon Whatley &#187; Apple</title>
	<atom:link href="http://www.simonwhatley.co.uk/tag/apple/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simonwhatley.co.uk</link>
	<description>The opposite of every great idea is another great idea</description>
	<lastBuildDate>Wed, 02 Nov 2011 09:28:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mark Pilgrim &#8211; A Gentle Introduction to Video Encoding: Constraints</title>
		<link>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-constraints</link>
		<comments>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-constraints#comments</comments>
		<pubDate>Fri, 14 Oct 2011 09:00:05 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Audio codecs]]></category>
		<category><![CDATA[Codec]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[Flash Video]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mark Pilgrim]]></category>
		<category><![CDATA[Ogg]]></category>
		<category><![CDATA[Real Networks]]></category>
		<category><![CDATA[Theora]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Video codecs]]></category>
		<category><![CDATA[web video market]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=4811</guid>
		<description><![CDATA[I had lunch with my father the other day, and I explained this series as well as I could to someone who didn't start programming when he was 11. His immediate reaction was, "Why are there so many different formats? Why can't everybody just agree on a single format? It is political, or technical, or both?" The short answer is, it's both. The history of video in any medium — and especially since the explosion of amateur digital video — has been marred by a string of companies who wanted to use container formats and video codecs as tools to lock content producers and content consumers into their little fiefdoms. Own the format, own the future. And when I say "history" — well, it's still going on.]]></description>
			<content:encoded><![CDATA[<p><strong>This article was first published on 8th January 2009, on Mark Pilgrim&#8217;s website. That website no longer exists so this article serves as an historical record. I have preserved all emphasis and links as per the original article.</strong></p>
<p>I had lunch with my father the other day, and I explained this series as well as I could to someone who didn&#8217;t start programming when he was 11. His immediate reaction was, &#8220;Why are there so many different formats? Why can&#8217;t everybody just agree on a single format? It is political, or technical, or both?&#8221; The short answer is, it&#8217;s both. The history of video in any medium — and especially since the explosion of amateur digital video — has been marred by a string of companies who wanted to use container formats and video codecs as tools to lock content producers and content consumers into their little fiefdoms. Own the format, own the future. And when I say &#8220;history&#8221; — well, it&#8217;s still going on. Tried to play a Windows Media Video on Mac OS X lately? The <a href="http://www.telestream.net/flip4mac-wmv/overview.htm" title="Codec and container support" target="_blank" rel="nofollow">codec and container support is out there</a>, but it&#8217;s not baked in. Want to watch <a href="http://www.apple.com/trailers/" title="Movie trailers on Apple.com" target="_blank" rel="nofollow">movie trailers on Apple.com</a>? Please install QuickTime. And so forth and so on. The only thing that was pre-installed on both platforms was Flash, so when a few startups dipped their toes into the Internet video waters, the ones that used Flash Video won despite it being an objectively inferior codec. (Some revision of Flash 9 added support for H.264 video, AAC audio, and the MP4 container, which is what <a href="http://www.youtube.com/browse?s=mphd&#038;c=0&#038;l=&#038;b=0" title="YouTube HD" target="_blank" rel="nofollow">YouTube HD</a> uses.)</p>
<p>So that&#8217;s the politics. But there are also technical barriers. As with all engineering, video encoding is primarily about constraints. I can think of 10 just off the top of my head:</p>
<ol>
<li><strong>CPU capacity for decoding and playing in real time</strong>. This is one of the most important constraints, since <em>video is meant to be watched in real time</em>. That sounds simple, but it&#8217;s incredibly complex. Every video you&#8217;ve ever watched in your entire life had to be decoded and played in real time. Otherwise it stutters and the viewing experience sucks. And we&#8217;re talking about video here; if the viewing experience sucks, there&#8217;s nothing left. Some codecs are just more complex than others, and that translates into higher system requirements to decode videos in real time. As I&#8217;ve mentioned before, some codecs are now decoded by specialized hardware. iPhones have a little chip inside them that understands H.264 Baseline Profile; without that, the iPhone would need a Core 2 Duo processor to play movies, and it would have a battery life of 10 minutes.</li>
<li><strong>Codec compatibility</strong>. Normal people won&#8217;t download codecs or plug-ins just to watch a dog on a skateboard, or even to watch a trailer for a $100 million blockbuster. (Sadly, they <em>will</em> download plug-ins for porn, but those are invariably trojan horses. Or so I&#8217;ve read. Moving on&#8230;) The phone in your pocket can probably play AMR ringtones, maybe MP3 ringtones, but probably not Vorbis ringtones (unless you have an Android phone) — and you probably couldn&#8217;t download new codecs even if you wanted to (which, I must reiterate, nobody wants to). Apple and Real Networks tried for <em>years</em> to corner the web video market, but 99% of schmucks with a browser have Flash, so Flash video won on the web. Meanwhile, Firefox 3.1 will ship with support for the <code>&lt;video&gt;</code> element but will only support Theora and Vorbis in an Ogg container — even if your underlying operating system ships with other codecs.</li>
<li><strong>CPU capacity for encoding</strong>. Encoding takes a long time. Taking my home movie from iMovie to a DVD used to take 8 hours on a Powerbook G4 laptop. These days you can rip a DVD movie with Xvid in 30 minutes, or you can rip it with a more complex codec with all optional features turned on, and maybe it&#8217;ll still take 8 hours. It&#8217;ll look better, but will it look 16 times better? If you&#8217;re only doing it once, maybe you don&#8217;t care. If you&#8217;re running YouTube and people are uploading 13 hours of video every minute, maybe you do. CPU cycles aren&#8217;t free; at that scale, they&#8217;re not even cheap. (That&#8217;s a real statistic, by the way; I got it from the page on the Google intranet entitled &#8220;What can we tell non-Googlers?&#8221; and it&#8217;s accurate as of September 2008.)</li>
<li><strong>Acceptable delay between recording and delivery</strong>. In my own experience, videos I&#8217;ve uploaded on YouTube are available within minutes, which is just mind-boggling when you consider the volume. If you&#8217;re re-encoding a live stream, even a few minutes delay is probably unacceptable. That means you&#8217;ll need a faster encoder, a less complex codec, or lower quality settings.</li>
<li><strong>Audience size</strong>. It&#8217;s not a big secret that lots of video on the Internet looks like crap. Partly that&#8217;s because the video uploader uploaded crappy video, but it&#8217;s also because most Internet videos are only watched by a few people, and it&#8217;s just not a worthwhile tradeoff to spend 8 hours re-encoding it. On the other hand, if you&#8217;re mastering a DVD that&#8217;ll get sold to 10 million people, you&#8217;ll probably use higher quality settings.</li>
<li><strong>Screen dimensions</strong>. DVDs can&#8217;t store high-def 1920 x 1080 video because the standard doesn&#8217;t allow for it, which makes perfect sense because it was designed around the screen resolution of standard-def TVs. Blu-Ray ups the limit, but there&#8217;s still a limit. Screen sizes vary more for PC video, but there will always be practical upper limits depending on your audience.</li>
<li><strong>My bandwidth</strong>. If you&#8217;re streaming or downloading video, some percentage of your audience is probably living in a third-world country like the United States, with limited broadband access, slow speeds, and monthly bandwidth caps. Larger file size = longer wait to play = fewer videos watched overall.</li>
<li><strong>Your bandwidth</strong>. Obviously every bit I download is a bit that you upload, and bandwidth ain&#8217;t free either. &#8220;When I get a little money I buy bandwidth; and if any is left I buy food and clothes.&#8221; Or something like that.</li>
<li><strong>Hard limits on storage size</strong>. As I mentioned before, physical media has upper limits on total size. Commercial DVDs can hold upwards of 9 GB, which seems like a lot but really isn&#8217;t. Blu-Ray maxes out at 50 GB, which seems like a lot but really isn&#8217;t.</li>
<li><strong>Patents / licensing costs</strong>. Did I mention that most popular video codecs are patent-encumbered? This is why <a href="http://commons.wikimedia.org/wiki/Commons:Media_help" title="Wikimedia uses Theora exclusively" target="_blank" rel="nofollow">Wikimedia uses Theora exclusively</a>, and why Firefox can ship a native Theora decoder and but won&#8217;t ever ship H.264.</li>
</ol>
<p>&#8230;and that&#8217;s the short list.</p>
<p>All of which leads me to the Zen of video encoding, which is this:</p>
<p>There is no right or wrong. There is only what works and what doesn&#8217;t.</p>
<p>If you can find even one combination of tools, delivery devices, and target platforms that satisfies your constraints and still accomplishes your goals, congratulations. You&#8217;re ahead of 99% of the people who&#8217;ve tried.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-constraints/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mark Pilgrim &#8211; A Gentle Introduction to Video Encoding: Lossy Audio Codecs</title>
		<link>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-lossy-audio-codecs</link>
		<comments>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-lossy-audio-codecs#comments</comments>
		<pubDate>Wed, 12 Oct 2011 09:00:18 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AMR]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Audio codecs]]></category>
		<category><![CDATA[Audio file format]]></category>
		<category><![CDATA[AVI]]></category>
		<category><![CDATA[codecs]]></category>
		<category><![CDATA[Digital Theater System]]></category>
		<category><![CDATA[Dolby Digital]]></category>
		<category><![CDATA[Dolby Laboratories]]></category>
		<category><![CDATA[DTS]]></category>
		<category><![CDATA[DTS Inc .]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[lossless]]></category>
		<category><![CDATA[lossy]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mark Pilgrim]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[MPEG-1]]></category>
		<category><![CDATA[Musepack]]></category>
		<category><![CDATA[natively decoding core DTS]]></category>
		<category><![CDATA[Ogg]]></category>
		<category><![CDATA[PBX]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Vorbis]]></category>
		<category><![CDATA[Windows Media Audio]]></category>
		<category><![CDATA[WMA]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=4807</guid>
		<description><![CDATA[Unless you're going to stick to films made before 1927 or so, you're going to want an audio track. A future article will talk about how to pick the audio codec that's right for you, but for now I just want to introduce the concept and describe the playing field. (This information is likely to go out of date quickly; future readers, be aware that this was written in December 2008.)]]></description>
			<content:encoded><![CDATA[<p><strong>This article was first published on 30th December 2008, on Mark Pilgrim&#8217;s website. That website no longer exists so this article serves as an historical record. I have preserved all emphasis and links as per the original article.</strong></p>
<p>Unless you&#8217;re going to stick to films made before <a href="http://www.filmsite.org/jazz.html" title="Films made before 1927 or so" target="_blank" rel="nofollow">1927 or so</a>, you&#8217;re going to want an audio track. A future article will talk about how to pick the audio codec that&#8217;s right for you, but for now I just want to introduce the concept and describe the playing field. (This information is likely to go out of date quickly; future readers, be aware that this was written in December 2008.)</p>
<p>Like video codecs, <em>audio codecs</em> are algorithms by which an audio stream is encoded. Like video codecs, there are <em>lossy</em> and <em>lossless</em> audio codecs. Today&#8217;s article will only deal with lossy audio codecs. Actually, it&#8217;s even narrower than that, because there are different categories of lossy audio codecs. Audio is used in many places where video is not (telephony, for example), and there is an entire category of <a href="http://www.voip-info.org/wiki-Codecs" title="Audio codecs optimised for encoding speech" target="_blank" rel="nofollow">audio codecs optimized for encoding speech</a>. You wouldn&#8217;t rip a music CD with these codecs, because the result would sound like a 4-year-old singing into a speakerphone. But you <em>would</em> use them in an <a href="http://www.asterisk.org/" title="Asterisk PBX" target="_blank" rel="nofollow">Asterisk</a> PBX, because bandwidth is precious, and these codecs can compress human speech into a fraction of the size of general-purpose codecs.</p>
<p>And that&#8217;s all I have to say about speech-optimized audio codecs. Onward&#8230;</p>
<p>As I mentioned in part 2: lossy video codecs, when you &#8220;watch a video,&#8221; your player software is doing several things at once:</p>
<ol>
<li>Interpreting the container format</li>
<li>Decoding the video stream</li>
<li>Decoding the audio stream and sending the sound to your speakers</li>
<li>Possibly decoding the subtitle stream as well. (Tomorrow&#8217;s article will be all about subtitle formats! I can hardly wait!)</li>
</ol>
<p>The <em>audio codec</em> specifies how to do #3 — decoding the audio stream and turning it into digital waveforms that your speakers then turn into sound. As with video codecs, there are all sorts of tricks to minimize the amount of information stored in the audio stream. And since we&#8217;re talking about <em>lossy</em> audio codecs, information is being lost during the recording → encoding → decoding → listening lifecycle. Different audio codecs throw away different things, but they all have the same purpose: to trick your ears into not noticing the parts that are missing.</p>
<p>One concept that audio has that video does not is <em>channels</em>. We&#8217;re sending sound to your speakers, right? Well, how many speakers do you have? If you&#8217;re sitting at your computer, you may only have two: one on the left and one on the right. My desktop has three: left, right, and one more on the floor. So-called &#8220;<a href="http://en.wikipedia.org/wiki/Surround_sound" title="Wikipedia: Surround sound" target="_blank" rel="nofollow">surround sound</a>&#8221; systems can have six or more speakers, strategically placed around the room. Each speaker is fed a particular <em>channel</em> of the original recording. The theory is that you can sit in the middle of the six speakers, literally surrounded by six separate channels of sound, and your brain synthesizes them and feels like you&#8217;re in the middle of the action. Does it work? A multi-billion-dollar industry seems to think so.</p>
<p>Most general-purpose audio codecs can handle two channels of sound. During recording, the sound is split into left and right channels; during encoding, both channels are stored in the same audio stream; during decoding, both channels are decoded and each is sent to the appropriate speaker. Some audio codecs can handle more than two channels, and they keep track of which channel is which and so your player can send the right sound to the right speaker.</p>
<p>There are <em>lots</em> of audio codecs. Did I say there were lots of video codecs? Forget that. There are <a href="http://wiki.multimedia.cx/index.php?title=Category:Audio_Codecs" title="Audio codecs" target="_blank" rel="nofollow">a metric fuck-ton of audio codecs</a>. These are the ones you need to know about:</p>
<ul>
<li>MPEG-1 Audio Layer 3</li>
<li>Advanced Audio Coding</li>
<li>Windows Media Audio</li>
<li>Vorbis</li>
<li>Dolby Digital</li>
<li>Digital Theater System</li>
</ul>
<h3>MPEG-1 Audio Layer 3</h3>
<p><a href="http://en.wikipedia.org/wiki/MPEG-1_Audio_Layer_3" title="Wikipedia: MPEG-1 Audio Layer 3" target="_blank" rel="nofollow">MPEG-1 Audio Layer 3</a>&#8230;colloquially known as &#8220;MP3.&#8221; If you haven&#8217;t heard of MP3s, I don&#8217;t know what to do with you. <a href="http://www.walmart.com/catalog/catalog.gsp?cat=96469" title="Walmart portable music players" target="_blank" rel="nofollow">Walmart sells portable music players</a> and calls them &#8220;MP3 players.&#8221; <em>Walmart</em>. Anyway&#8230;</p>
<p>MP3s can contain <strong>up to 2 channels</strong> of sound. They can be encoded at different <em>bitrates</em>: 64 kbps, 128 kbps, 192 kbps, and a variety of others from 32 to 320. Higher bitrates mean larger file sizes and better quality audio, although the ratio of audio quality to bitrate is not linear. (128 kbs sounds more than twice as good as 64 kbs, but 256 kbs doesn&#8217;t sound twice as good as 128 kbs.) Furthermore, the MP3 format allows for <em>variable bitrate encoding</em>, which means that some parts of the encoded stream are compressed more than others. For example, silence between notes can be encoded at a very low bitrate, then the bitrate can spike up a moment later when multiple instruments start playing a complex chord. MP3s can also be encoded with a constant bitrate, which, unsurprisingly, is called <em>constant bitrate encoding</em>.</p>
<p>The MP3 standard doesn&#8217;t define exactly how to encode MP3s (although it does define exactly how to decode them); different encoders use different psychoacoustic models that produce wildly different results, but are all decodable by the same players. The open source <a href="http://lame.sourceforge.net/" title="LAME Project" target="_blank" rel="nofollow">LAME project</a> is the best free encoder, and arguably the best encoder period for all but the lowest bitrates.</p>
<p>The MP3 format was standardized in 1991 and <strong>is patent-encumbered</strong>, which explains why Linux  can&#8217;t play MP3 files out of the box. Pretty much every portable music player supports standalone MP3 files, and MP3 audio streams can be embedded in any video container. Adobe Flash can play both standalone MP3 files and MP3 audio streams within an MP4 video container.</p>
<h3>Advanced Audio Coding</h3>
<p><a href="http://en.wikipedia.org/wiki/Advanced_Audio_Coding" title="Advanced Audio Coding (AAC)" target="_blank" rel="nofollow">Advanced Audio Coding</a>&#8230;affectionately known as &#8220;AAC.&#8221; Standardized in 1997, it lurched into prominence when Apple chose it as their default format for the iTunes Store. Originally, all AAC files &#8220;bought&#8221; from the iTunes Store were encrypted with Apple&#8217;s proprietary DRM scheme, called <a href="http://en.wikipedia.org/wiki/FairPlay" title="Wikipedia: FairPlay" target="_blank" rel="nofollow">FairPlay</a>. Many songs in the iTunes Store are now available as unprotected AAC files, which Apple calls &#8220;iTunes Plus&#8221; because it sounds so much better than calling everything else &#8220;iTunes Minus.&#8221; <strong>The AAC format is patent-encumbered</strong>; <a href="http://www.vialicensing.com/Licensing/AAC_fees.cfm" title="Licensing fees" target="_blank" rel="nofollow">licensing rates are available online</a>.</p>
<p>AAC was designed to provide better sound quality than MP3 at the same <em>bitrate</em>, and it can encode audio at any bitrate. (MP3 is limited to a fixed number of bitrates, with an upper bound of 320 kbs.) AAC can encode <strong>up to 48 channels of sound</strong>, although in practice no one does that. The AAC format also differs from MP3 in defining multiple <em>profiles</em>, in much the same way as H.264, and for the same reasons. The &#8220;low-complexity&#8221; profile is designed to be playable in real-time on devices with limited CPU power, while higher profiles offer better sound quality at the same bitrate at the expense of slower encoding and decoding.</p>
<p>All current Apple products, including iPods, AppleTV, and QuickTime support certain profiles of AAC in standalone audio files and in audio streams in an MP4 video container. Adobe Flash supports all profiles of AAC in MP4, as do the open source mplayer and VLC video players. For encoding, the FAAC library is the open source option; support for it is a compile-time option in mencoder and ffmpeg. (I&#8217;ll dive into all the different encoding tools in a future article.)</p>
<h3>Windows Media Audio</h3>
<p><a href="http://en.wikipedia.org/wiki/Windows_Media_Audio" title="Wikipedia: Windows Media Audio (WMA)" target="_blank" rel="nofollow">Windows Media Audio</a>&#8230;a.k.a. &#8220;WMA.&#8221; As you might guess from the name, Windows Media Audio was developed by Microsoft. The acronym &#8220;WMA&#8221; has historically referred to many different things: a lossless audio codec (&#8220;WMA Lossless&#8221;), a speech-optimized codec (&#8220;WMA Voice&#8221;), and several different lossy audio codecs (&#8220;WMA 1,&#8221; &#8220;WMA 2,&#8221; &#8220;WMA 7,&#8221; &#8220;WMA 8,&#8221; &#8220;WMA 9,&#8221; and &#8220;WMA Pro&#8221;). It is also (incorrectly) used to refer to the Advanced Systems Format, because WMA-encoded audio streams are usually embedded in an ASF container. Roughly speaking, the lossy audio codecs (WMA 1-9) compete with MP3 and low-complexity AAC; WMA Lossless competes with Apple Lossless and FLAC; WMA Pro competes with high-complexity AAC, Vorbis, AC-3, and DTS.</p>
<p>All the different codecs under the &#8220;WMA&#8221; brand are playable with Windows Media Player, which comes pre-installed on desktops and laptops running Microsoft Windows XP and Vista. Portable devices like the Zune and the ironically named &#8220;PlaysForSure&#8221; devices can play WMA 1-9; stores that allow you to &#8220;purchase&#8221; WMA files generally encrypt them with a Microsoft-proprietary DRM scheme. The open source ffmpeg project can play WMA 1-9, and <a href="http://www.flip4mac.com/" title="Flip4Mac" target="_blank" rel="nofollow">Flip4Mac</a> offers a commercial <a href="http://www.telestream.net/flip4mac-wmv/overview.htm" title="QuickTime component to encode and decode WMA audio on Mac OS X" target="_blank" rel="nofollow">QuickTime component to encode and decode WMA audio on Mac OS X</a>.</p>
<p>WMA 1-9 support up to <strong>2 channels of sound</strong>; WMA Pro supports up to <strong>8 channels of sound</strong>. <strong>All WMA formats are patent-encumbered</strong>; <a href="http://www.microsoft.com/windows/windowsmedia/licensing/licensing.aspx" title="Licensing information from Microsoft" target="_blank" rel="nofollow">licensing information is available from Microsoft</a>.</p>
<h3>Vorbis</h3>
<p><a href="http://en.wikipedia.org/wiki/Vorbis" title="Wikipedia: Vorbis" target="_blank" rel="nofollow">Vorbis</a>&#8230;known to many as &#8220;Ogg Vorbis,&#8221; although for some reason that pisses off both Ogg and Vorbis advocates. (Technically, &#8220;Ogg&#8221; is a container format, and Vorbis audio streams can be embedded in other containers.) <strong>Vorbis is not encumbered by any known patents</strong> and is therefore supported out-of-the-box by all major Linux distributions and by portable devices running the open source <a href="http://www.rockbox.org/" title="Rockbox firmware" target="_blank" rel="nofollow">Rockbox</a> firmware. Mozilla Firefox 3.1 will support Vorbis audio files in an Ogg container, or Ogg videos with a Vorbis audio track. <a href="http://code.google.com/android/" title="Google Android" target="_blank" rel="nofollow">Android</a> mobile phones can also play standalone Vorbis audio files. Vorbis audio streams are usually embedded in an Ogg container, but they can also be <a href="http://samples.mplayerhq.hu/MPEG-4/vorbis-in-mp4/" title="Vorbis embedded in an MP4" target="_blank" rel="nofollow">embedded in an MP4</a> or <a href="http://en.wikipedia.org/wiki/Matroska" title="Wikipedia: Matroska" target="_blank" rel="nofollow">MKV</a> container (or, with some hacking, <a href="http://www.alexander-noe.com/video/amg/" target="_blank" rel="nofollow">in AVI</a>).</p>
<p>There are open source Vorbis encoders and decoders, including <a href="http://oggconvert.tristanb.net/" title="OggConvert" target="_blank" rel="nofollow">OggConvert</a> (encoder), <a href="http://www.ffmpeg.org/" title="ffmpeg" target="_blank" rel="nofollow">ffmpeg</a> (decoder), <a href="http://www.geocities.jp/aoyoume/aotuv/" title="aoTuV" target="_blank" rel="nofollow">aoTuV</a> (encoder), and <a href="http://downloads.xiph.org/releases/vorbis/" title="libvorbis" target="_blank" rel="nofollow">libvorbis</a> (decoder). There are also <a href="http://www.xiph.org/quicktime/" title="QuickTime components for Mac OS X" target="_blank" rel="nofollow">QuickTime components for Mac OS X</a> and <a href="http://www.xiph.org/dshow/" title="DirectShow filters for Windows" target="_blank" rel="nofollow">DirectShow filters for Windows</a>.</p>
<p><strong>Vorbis supports an arbitrary number of sound channels</strong>.</p>
<h3>Dolby Digital</h3>
<p><a href="http://en.wikipedia.org/wiki/Dolby_Digital#Dolby_Digital" title="Wikipedia: Dolby Digital" target="_blank" rel="nofollow">Dolby Digital</a>&#8230;a.k.a. &#8220;AC-3.&#8221; AC-3 was developed by <a href="http://www.dolby.com/index.html" title="Dolby Laboratories" target="_blank" rel="nofollow">Dolby Laboratories</a>. AC-3 is most well-known for being a mandatory format in the DVD standard; all DVD players must be able to decode AC-3 audio streams. It is also mandatory for Blu-Ray players, and many digital TV broadcasts send AC-3 audio streams as well. AC-3 supports <strong>up to 6 channels of sound</strong> and bitrates of <strong>up to 640 kbps</strong>, although its most popular application — audio on DVDs — is officially limited to 448 kbps. (Blu-Ray discs may use the maximum 640 kbps.)</p>
<p>There are open source encoders and decoders for AC-3, including <a href="http://liba52.sourceforge.net/" title="liba52" target="_blank" rel="nofollow">liba52</a> (decoding), <a href="http://ac3filter.net/" title="AC3Filter" target="_blank" rel="nofollow">AC3Filter</a> (decoding), and <a href="http://aften.sourceforge.net/" title="Aften" target="_blank" rel="nofollow">Aften</a> (encoding). ffmpeg has a compile-time option to include liba52, which will allow all ffmpeg-based players and plugin chains (like GStreamer) to play AC-3 audio streams. However, <strong>the AC-3 format is patent-encumbered</strong>; licensing is brokered by <a href="http://www.dolby.com/professional/getting-dolby-technologies/" title="Dolby Laboratories" target="_blank" rel="nofollow">Dolby Laboratories</a>.</p>
<p>AC-3 is rarely seen in standalone audio files; it is designed to be embedded in a video container. Other than DVDs and Blu-Ray discs (which use a video container format I haven&#8217;t talked about yet), you can embed AC-3 audio streams in MKV, AVI, and — just standardized earlier this year — <a href="http://webapp.etsi.org/WorkProgram/Report_WorkItem.asp?WKI_ID=28541" target="_blank" rel="nofollow">in MP4 files</a> (<a href="http://forum.doom9.org/showthread.php?p=1168961#post1168961" target="_blank" rel="nofollow">discussion</a>). Apple&#8217;s AppleTV set-top box is the only hardware device I know of that supports AC-3 in MP4; you can encode AppleTV-compatible AC3-in-MP4 videos with <a href="http://handbrake.fr/" title="HandBrake" target="_blank" rel="nofollow">HandBrake</a>, or manually insert AC-3 audio into existing MP4 files with this <a href="http://mp4creator.sourceforge.net/" title="Windows-only fork of mp4creator" target="_blank" rel="nofollow">Windows-only fork of mp4creator</a>.</p>
<h3>Digital Theater System</h3>
<p><a href="http://en.wikipedia.org/wiki/DTS_%28sound_system%29" title="Wikipedia: Digital Theater System (DTS)" target="_blank" rel="nofollow">Digital Theater System</a>&#8230;a.k.a. &#8220;DTS.&#8221; As you might guess from the name, DTS is designed for real-life movie theaters. Like WMA, &#8220;DTS&#8221; is a brand name for a family of different audio formats. The &#8220;core&#8221; DTS format supports <strong>up to six channels</strong>; later extensions like DTS-HD support <strong>up to eight channels</strong>. There is also <a href="http://en.wikipedia.org/wiki/DTS-HD_Master_Audio" title="Wikipedia: DTS-HD Master Audio" target="_blank" rel="nofollow">DTS-HD Master Audio</a>, a lossless variant by the same company. Core DTS is designed for high bitrates (<strong>up to 1536 kbps</strong>, which is virtually indistinguishable from being there in the first place). DTS-HD Master Audio bitrates can go even higher, although at some point even audiophiles will wonder why they should bother.</p>
<p>Core DTS was not originally part of the DVD specification, so early DVD players did not support it. Most recent DVD players support natively decoding core DTS audio or passing the audio stream through to an external speaker system which decodes it, but relatively few DVDs include a DTS stream due to size constraints. Core DTS <em>is</em> a mandatory part of the Blu-Ray specification, and many Blu-Ray discs include a DTS audio track — sometimes the exact same stream that was originally played in the movie theater. (DTS-HD Master Audio is an optional part of the Blu-Ray specification, but few Blu-Ray discs include it due to — you guessed it — size constraints.)</p>
<p><strong>DTS is patent-encumbered</strong>; licensing is brokered by <a href="http://www.dts.com/" title="DTS, Inc" target="_blank" rel="nofollow">DTS, Inc</a>.</p>
<p><strong>And so forth and so on&#8230;</strong><br />
As with everything else in this series, this article barely scratches the surface. (Really!) If you like, you can read about other audio codecs: <a href="http://en.wikipedia.org/wiki/Adaptive_Transform_Acoustic_Coding" title="Wikipedia: Adaptive Transform Acoustic Coding (ATRAC)" target="_blank" rel="nofollow">ATRAC</a>, <a href="http://en.wikipedia.org/wiki/Musepack" title="Wikipedia: Musepack" target="_blank" rel="nofollow">Musepack</a>, <a href="http://en.wikipedia.org/wiki/MP2_%28format%29" title="Wikipedia: MP2" target="_blank" rel="nofollow">MP2</a>, <a href="http://en.wikipedia.org/wiki/RealAudio" title="Wikipedia: RealAudio" target="_blank" rel="nofollow">RealAudio</a>, <a href="http://en.wikipedia.org/wiki/Adaptive_Multi-Rate" title="Wikipedia: Adaptive Multi-Rate (AMR)" target="_blank" rel="nofollow">AMR</a>, <a href="http://en.wikipedia.org/wiki/ADPCM" title="Wikipedia: ADPCM" target="_blank" rel="nofollow">ADPCM</a>, and so forth and so on. Wikipedia has a <a href="http://en.wikipedia.org/wiki/Comparison_of_audio_codecs" title="Wikipedia: Comparison of audio codecs" target="_blank" rel="nofollow">comparison of common audio codecs</a>, <a href="http://wiki.hydrogenaudio.org/index.php?title=Category:Codecs" title="HydrogenAudio technical details on audio codecs" target="_blank" rel="nofollow">HydrogenAudio has lots of technical details</a>, and <a href="http://wiki.multimedia.cx/index.php?title=Category:Audio_Codecs" title="Multimedia Wiki: Audio codecs" target="_blank" rel="nofollow">wiki.multimedia.cx is always your friend</a> too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-lossy-audio-codecs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mark Pilgrim &#8211; A Gentle Introduction to Video Encoding: Lossy Video Codecs</title>
		<link>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-lossy-video-codecs</link>
		<comments>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-lossy-video-codecs#comments</comments>
		<pubDate>Tue, 11 Oct 2011 09:00:51 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[AVI]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[Codec]]></category>
		<category><![CDATA[Container formats]]></category>
		<category><![CDATA[Dirac]]></category>
		<category><![CDATA[DivX]]></category>
		<category><![CDATA[DivX-certified]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[H.264]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iTunes Store]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mark Pilgrim]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Corporation]]></category>
		<category><![CDATA[mobile devices]]></category>
		<category><![CDATA[MPEG]]></category>
		<category><![CDATA[MPEG-1]]></category>
		<category><![CDATA[MPEG-2]]></category>
		<category><![CDATA[MPEG-4]]></category>
		<category><![CDATA[Ogg]]></category>
		<category><![CDATA[open source decoder software]]></category>
		<category><![CDATA[Theora]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Video codecs]]></category>
		<category><![CDATA[WMV]]></category>
		<category><![CDATA[Xiph.org Foundation]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=4805</guid>
		<description><![CDATA[The most important consideration in video encoding is choosing a video codec. A future article will talk about how to pick the one that’s right for you, but for now I just want to introduce the concept and describe the playing field. (This information is likely to go out of date quickly; future readers, be aware that this was written in December 2008.)]]></description>
			<content:encoded><![CDATA[<p><strong>This article was first published on 19th December 2008, on Mark Pilgrim&#8217;s website. That website no longer exists so this article serves as an historical record. I have preserved all emphasis and links as per the original article.</strong></p>
<p>The most important consideration in video encoding is choosing a video codec. A future article will talk about how to pick the one that&#8217;s right for you, but for now I just want to introduce the concept and describe the playing field. (This information is likely to go out of date quickly; future readers, be aware that this was written in December 2008.)</p>
<p>When you talk about &#8220;watching a video,&#8221; you&#8217;re probably talking about a combination of one video stream, one audio stream, and possibly some subtitles or captions. But you probably don&#8217;t have two different files; you just have &#8220;the video.&#8221; Maybe it&#8217;s an AVI file, or an MP4 file. These are just container formats, like a ZIP file that contains multiple kinds of files within it. The container format defines how to store the video and audio streams in a single file (and subtitles too, if any).</p>
<p>When you &#8220;watch a video,&#8221; your video player is doing several things at once:</p>
<ol>
<li>Interpreting the container format to find out which video and audio tracks are available, and how they are stored within the file so that it can find the data it needs to decode next</li>
<li>Decoding the video stream and displaying a series of images on the screen</li>
<li>Decoding the audio stream and sending the sound to your speakers</li>
<li>Possibly decoding the subtitle stream as well, and showing and hiding phrases at the appropriate times while playing the video</li>
</ol>
<p>A <em>video codec</em> is an algorithm by which a video stream is encoded, i.e. it specifies how to do #2 above. Your video player <em>decodes</em> the video stream according to the <em>video codec</em>, then displays a series of images, or &#8220;frames,&#8221; on the screen. Most modern video codecs use all sorts of tricks to minimize the amount of information required to display one frame after the next. For example, instead of storing each individual frame (like a screenshot), they will only store the differences between frames. Most videos don&#8217;t actually change all that much from one frame to the next, so this allows for high compression rates, which results in smaller file sizes. (There are many, many other complicated tricks too, which I&#8217;ll dive into in a future article.)</p>
<p>There are <em>lossy</em> and <em>lossless</em> video codecs; today&#8217;s article will only deal with lossy codecs. A <em>lossy video codec</em> means that information is being irretrievably lost during encoding. Like copying an audio cassette tape, you&#8217;re losing information about the source video, and degrading the quality, every time you encode. Instead of the &#8220;hiss&#8221; of an audio cassette, a re-re-re-encoded video may look blocky, especially during scenes with a lot of motion. (Actually, this can happen even if you encode straight from the original source, if you choose a poor video codec or pass it the wrong set of parameters.) On the bright side, lossy video codecs can offer amazing compression rates, and many offer ways to &#8220;cheat&#8221; and smooth over that blockiness during playback, to make the loss less noticeable to the human eye.</p>
<p>There are <a href="http://samples.mplayerhq.hu/V-codecs/" title="Video codecs" target="_blank" rel="nofollow"><em>tons</em> of video codecs</a>. Today I&#8217;ll discuss five modern lossy video codecs: MPEG-4 ASP, H.264, VC-1, Theora, and Dirac.</p>
<h3>MPEG-4 ASP</h3>
<p>a.k.a. &#8220;MPEG-4 Advanced Simple Profile.&#8221; <a href="http://en.wikipedia.org/wiki/MPEG-4_Part_2" title="MPEG-4 ASP" target="_blank" rel="nofollow">MPEG-4 ASP</a> was developed by <a href="http://en.wikipedia.org/wiki/Moving_Picture_Experts_Group" title="The MPEG Group" target="_blank" rel="nofollow">the MPEG group</a> and standardized in 2001. You may have heard of <a href="http://en.wikipedia.org/wiki/DivX" title="Wikipedia: DivX" target="_blank" rel="nofollow">DivX</a>, <a href="http://en.wikipedia.org/wiki/Xvid" title="Wikipedia: Xvid" target="_blank" rel="nofollow">Xvid</a>, or <a href="http://en.wikipedia.org/wiki/3ivx" title="Wikipedia: 3ivx" target="_blank" rel="nofollow">3ivx</a>; these are all competing implementations of the MPEG-4 ASP standard. <a href="http://www.xvid.org/" title="Xvid" target="_blank" rel="nofollow">Xvid is open source</a>; DivX and 3ivx are closed source. The company behind DivX has had some mainstream success in branding &#8220;DivX&#8221; as synonymous with &#8220;MPEG-4 ASP.&#8221; For example, this <a href="http://www.amazon.com/Philips-DVP642-DivX-Certified-Progressive-Scan-Player/dp/B000204SWE" title="Amazon: DivX certifiied DVD Player" target="_blank" rel="nofollow">&#8220;DivX-certified&#8221; DVD player</a> can actually play <a href="http://www.jarnot.com/twiki/bin/view/Public/DVP642LisaBsAVIGuide" title="MPEG-4 ASP videos" target="_blank" rel="nofollow">most MPEG-4 ASP videos</a> in an AVI container, even if they were created with a competing encoder. (To confuse things even further, the company behind <a href="http://en.wikipedia.org/wiki/DivX#DivX_Media_Format_.28DMF.29" title="DivX has now created their own container format" target="_blank" rel="nofollow">DivX has now created their own container format</a>.)</p>
<p><strong>MPEG-4 ASP is patent-encumbered</strong>; licensing is brokered through the <a href="http://www.mpegla.com/" title="MPEG LA Group" target="_blank" rel="nofollow">MPEG LA group</a>. MPEG-4 ASP video can be embedded in most popular container formats, including AVI, MP4, and MKV.</p>
<h3>H.264</h3>
<p>a.k.a. &#8220;MPEG-4 part 10,&#8221; a.k.a. &#8220;MPEG-4 AVC,&#8221; a.k.a. &#8220;MPEG-4 Advanced Video Coding.&#8221; <a href="http://en.wikipedia.org/wiki/H.264" title="Wikipedia: H.264" target="_blank" rel="nofollow">H.264</a> was also developed by the <a href="http://en.wikipedia.org/wiki/Moving_Picture_Experts_Group" title="Wikipedia: Moving Picture Experts Group (MPEG)" target="_blank" rel="nofollow">MPEG group</a> and standardized in 2003. It aims to provide a single codec for low-bandwidth, low-CPU devices (cell phones); high-bandwidth, high-CPU devices (modern desktop computers); and everything in between. To accomplish this, the H.264 standard is split into &#8220;<a href="http://en.wikipedia.org/wiki/H.264#Profiles" title="Wikipedia: H.264 Profiles" target="_blank" rel="nofollow">profiles</a>,&#8221; which each define a set of optional features that trade complexity for file size. Higher profiles use more optional features, offer better visual quality at smaller file sizes, take longer to encode, and require more CPU power to decode in real-time.</p>
<p>To give you a rough idea of the range of profiles, <a href="http://www.apple.com/iphone/specs.html" title="Apple's iPhone supports Baseline profile" target="_blank" rel="nofollow">Apple&#8217;s iPhone supports Baseline profile</a>, the <a href="http://www.apple.com/appletv/specs.html" title="AppleTV supports Baseline and Main profiles" target="_blank" rel="nofollow">AppleTV set-top box supports Baseline and Main profiles</a>, and <a href="http://www.kaourantin.net/2007/08/what-just-happened-to-video-on-web_20.html" title="Adobe Flash supports Baseline, Main and High profiles" target="_blank" rel="nofollow">Adobe Flash on a desktop PC supports Baseline, Main, and High profiles</a>. YouTube (owned by Google, my employer) now uses H.264 to encode <a href="http://blog.wired.com/business/2008/12/youtube-adds-hd.html" title="high-definition videos" target="_blank" rel="nofollow">high-definition videos</a>, playable through Adobe Flash; YouTube also provides H.264-encoded video to mobile devices, including Apple&#8217;s iPhone and phones running Google&#8217;s <a href="http://code.google.com/android/" title="Android mobile operating system" target="_blank" rel="nofollow">Android mobile operating system</a>. Also, H.264 is one of the video codecs mandated by the Blu-Ray specification; Blu-Ray discs that use it generally use the High profile.</p>
<p>Most non-PC devices that play H.264 video (including iPhones and standalone Blu-Ray players) actually do the decoding on a dedicated chip, since their main CPUs are nowhere near powerful enough to decode the video in real-time. Recent high-end desktop graphics cards also support decoding H.264 in hardware. There are a number of <a href="http://compression.ru/video/codec_comparison/mpeg-4_avc_h264_2007_en.html" title="Competing H.264 encoders" target="_blank" rel="nofollow">competing H.264 encoders</a>, including the <a href="http://www.videolan.org/developers/x264.html" title="Open source x264 library" target="_blank" rel="nofollow">open source x264 library</a>. The <strong>H.264 standard is patent-encumbered</strong>; licensing is brokered through the <a href="http://www.mpegla.com/" title="MPEG LA Group" target="_blank" rel="nofollow">MPEG LA group</a>. H.264 video can be embedded in most popular container formats, including MP4 (used primarily by <a href="http://www.apple.com/itunes/whatson/movies.html" title="Apple iTunes Store" target="_blank" rel="nofollow">Apple&#8217;s iTunes Store</a>) and MKV (used primarily by video pirates).</p>
<h3>VC-1</h3>
<p><a href="http://en.wikipedia.org/wiki/VC-1" title="Wikipedia: VC-1" target="_blank" rel="nofollow">VC-1</a> evolved from Microsoft&#8217;s WMV9 codec and was <a href="http://www.betanews.com/article/Microsoft_VC1_Codec_Now_a_Standard/1144097224" title="Codec standardised in 2006" target="_blank" rel="nofollow">standardized in 2006</a>. It is primarily used and promoted by Microsoft for high-definition video, although, like H.264, it has <a href="http://www.microsoft.com/windows/windowsmedia/howto/articles/vc1techoverview.aspx#OverviewofVC1" title="VC-1 profiles" target="_blank" rel="nofollow">a range of profiles</a> to trade complexity for file size. Also like H.264, it is mandated by the Blu-Ray specification, and all Blu-Ray players are required to be able to decode it. <strong>The VC-1 codec is patent-encumbered</strong>, with licensing brokered through the <a href="http://www.mpegla.com/" title="MPEG LA Group" target="_blank" rel="nofollow">MPEG LA group</a>.</p>
<p>Wikipedia has a brief <a href="http://en.wikipedia.org/wiki/Comparison_of_H.264_and_VC-1" title="Wikipedia: Technical compariosn of VC-1 and H.264" target="_blank" rel="nofollow">technical comparison of VC-1 and H.264</a>; <a href="http://www.microsoft.com/windows/windowsmedia/howto/articles/vc1techoverview.aspx#VC1ComparedtoOtherCodecs" title="Microsoft comparison of VC-1 with other codecs" target="_blank" rel="nofollow">Microsoft has their own comparison</a>; Multimedia.cx has a <a href="http://wiki.multimedia.cx/index.php?title=H.264" title="Venn diagram outlining similarities and differences between codecs" target="_blank" rel="nofollow">pretty Venn diagram outlining the similarities</a> and differences. Multimedia.cx also discusses the <a href="http://wiki.multimedia.cx/index.php?title=VC-1" title="Technical features of VC-1" target="_blank" rel="nofollow">technical features of VC-1</a>. I also found this <a href="http://www.avsforum.com/avs-vb/showthread.php?p=9931723#post9931723" title="History of VC-1 and H.264" target="_blank" rel="nofollow">history of VC-1 and H.264</a> to be interesting (as well as <a href="http://archive2.avsforum.com/avs-vb/showthread.php?p=6594314#post6594314" title="Rebuttal" target="_blank" rel="nofollow">this rebuttal</a>).</p>
<p>VC-1 is designed to be container-independent, although it is most often embedded in an ASF container. An open source decoder for VC-1 video was a <a href="http://code.google.com/soc/2006/ffmpeg/appinfo.html?csaid=5AA777DB19E2BB24" title="2006 Google Summer of Code project" target="_blank" rel="nofollow">2006 Google Summer of Code project</a>, and the resulting code was added to the multi-faceted <a href="http://ffmpeg.mplayerhq.hu/" title="ffmpeg library" target="_blank" rel="nofollow">ffmpeg library</a>.</p>
<h3>Theora</h3>
<p><a href="http://en.wikipedia.org/wiki/Theora" title="Wikipedia: Theora" target="_blank" rel="nofollow">Theora</a> evolved from the VP3 codec and has subsequently been developed by the <a href="http://xiph.org/" title="Xiph Foundation" target="_blank" rel="nofollow">Xiph.org Foundation</a>. <strong>Theora is a royalty-free codec and is not encumbered by any known patents</strong> other than the original VP3 patents, which have been irrevocably licensed royalty-free. Although the standard has been &#8220;frozen&#8221; since 2004, the Theora project (which includes an open source reference encoder and decoder) <a href="http://lists.xiph.org/pipermail/theora-dev/2008-November/003736.html" title="Version 1.0 November 2008" target="_blank" rel="nofollow">only hit 1.0 in November 2008</a>.</p>
<p>Theora video can be embedded in any container format, although it is most often seen in an Ogg container. All major Linux distributions support Theora out-of-the-box, and <a href="https://developer.mozilla.org/web-tech/2008/10/14/firefox-31-beta-1-an-overview-of-features-for-web-developers/" title="Mozilla Firefox 3.1 includes native support for Theora video" target="_blank" rel="nofollow">Mozilla Firefox 3.1 will include native support for Theora video in an Ogg container</a>. And by &#8220;native&#8221;, I mean &#8220;available on all platforms without platform-specific plugins.&#8221; You can also play Theora video <a href="http://www.xiph.org/dshow/" title="Theora video on Windows" target="_blank" rel="nofollow">on Windows</a> or <a href="http://xiph.org/quicktime/" title="Theora video on Mac OS X" target="_blank" rel="nofollow">on Mac OS X</a> after installing Xiph.org&#8217;s open source decoder software.</p>
<p>The reference encoder included in Theora 1.0 is widely criticized for being slow and poor quality, but Theora 1.1 will include a new encoder that takes better advantage of Theora&#8217;s features, while staying backward-compatible with current decoders. (Info: <a href="http://web.mit.edu/xiphmont/Public/theora/demo.html" title="Demo 1" target="_blank" rel="nofollow">1</a>, <a href="http://web.mit.edu/xiphmont/Public/theora/demo2.html" title="Demo 2" target="_blank" rel="nofollow">2</a>, <a href="http://web.mit.edu/xiphmont/Public/theora/demo3.html" title="Demo 3" target="_blank" rel="nofollow">3</a>, <a href="http://web.mit.edu/xiphmont/Public/theora/demo4.html" title="Demo 4" target="_blank" rel="nofollow">4</a>, <a href="http://web.mit.edu/xiphmont/Public/theora/demo5.html" title="Demo 5" target="_blank" rel="nofollow">5</a>, <a href="http://svn.xiph.org/branches/theora-thusnelda/" title="source code" target="_blank" rel="nofollow">source code</a>.)</p>
<h3>Dirac</h3>
<p>Dirac was <a href="http://www.bbc.co.uk/rd/projects/dirac/" title="Dirac, developed by the BBC" target="_blank" rel="nofollow">developed by the BBC</a> to provide a royalty-free alternative to H.264 and VC-1 that the BBC could use to stream high-definition television content in Great Britain. Like H.264, Dirac aims to provide a single codec for the full spectrum of very low- and very high-bandwidth streaming. <strong>Dirac is not encumbered by any known patents</strong>, and there are two open source implementations, <a href="http://diracvideo.org/download/dirac-research/" title="Dirac research" target="_blank" rel="nofollow">dirac-research</a> (the BBC&#8217;s reference implementation) and <a href="http://www.diracvideo.org/download/schroedinger/" title="Schroedinger" target="_blank" rel="nofollow">Schroedinger</a> (optimized for speed).</p>
<p>The Dirac standard was only finalized in 2008, so there is very little mainstream use yet, although the <a href="http://www.ibc.org/cgi-bin/ibc_dailynews_cms.cgi?story_no=25368&#038;issue=4" title="Dirac used internally during the 2008 Olympics" target="_blank" rel="nofollow">BBC did use it internally during the 2008 Olympics</a>. Dirac-encoded video tracks can be embedded in several popular container formats, including <a href="http://www.diracvideo.org/wiki/index.php/DiracInISOM" title="MP4 format" target="_blank" rel="nofollow">MP4</a>, <a href="http://www.diracvideo.org/wiki/index.php/DiracInOgg" title="Ogg format" target="_blank" rel="nofollow">Ogg</a>, <a href="http://www.diracvideo.org/wiki/index.php/DiracInMatroska" title="MKV format" target="_blank" rel="nofollow">MKV</a>, and <a href="http://www.diracvideo.org/wiki/index.php/DiracInAVI" title="AVI format" target="_blank" rel="nofollow">AVI</a>. <a href="http://www.videolan.org/vlc/" title="VLC" target="_blank" rel="nofollow">VLC</a> 0.9.2 (<a href="http://www.diracvideo.org/node/19" title="VLC 0.9.2 released in September 2008" target="_blank" rel="nofollow">released in September 2008</a>) can play Dirac-encoded video within an Ogg or MP4 container.</p>
<p><strong>And on and on&#8230;</strong><br />
Of course, this is only scratching the surface of all the available video codecs. Video encoding goes way back, but my focus in this series is on the present and near-future, not the past. If you like, you can read about <a href="http://en.wikipedia.org/wiki/MPEG-2" title="Wikipedia: MPEG-2" target="_blank" rel="nofollow">MPEG-2</a> (used in DVDs), <a href="http://en.wikipedia.org/wiki/MPEG-1" title="Wikipedia: MPEG-1" target="_blank" rel="nofollow">MPEG-1</a> (used in Video CDs), older versions of Microsoft&#8217;s <a href="http://en.wikipedia.org/wiki/Windows_Media_Video#Windows_Media_Video" title="Wikipedia: Windows Media Video (WMV)" target="_blank" rel="nofollow">WMV</a> family, <a href="http://en.wikipedia.org/wiki/Sorenson_codec" title="Wikipedia: Sorenson codec" target="_blank" rel="nofollow">Sorenson</a>, <a href="http://en.wikipedia.org/wiki/Indeo" title="Wikipedia: Indeo" target="_blank" rel="nofollow">Indeo</a>, and <a href="http://en.wikipedia.org/wiki/Cinepak" title="Wikipedia: Cinepak" target="_blank" rel="nofollow">Cinepak</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-lossy-video-codecs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You&#8217;re Being Gamed</title>
		<link>http://www.simonwhatley.co.uk/you-are-being-gamed</link>
		<comments>http://www.simonwhatley.co.uk/you-are-being-gamed#comments</comments>
		<pubDate>Mon, 15 Aug 2011 14:25:25 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[behavioural economics]]></category>
		<category><![CDATA[buying]]></category>
		<category><![CDATA[Christopher Chabris]]></category>
		<category><![CDATA[Dan Ariely]]></category>
		<category><![CDATA[Daniel Simons]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[gamification]]></category>
		<category><![CDATA[Groupon]]></category>
		<category><![CDATA[Journal of Consumer Research]]></category>
		<category><![CDATA[Lovefilm]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[Psychology]]></category>
		<category><![CDATA[Robert Cialdini]]></category>
		<category><![CDATA[websites]]></category>
		<category><![CDATA[Zynga]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=4527</guid>
		<description><![CDATA[You, like many people, aren’t stupid, but it’s an unfortunate fact of life that you can be fooled. Since the dawn of time, the best salespeople, rightly or wrongly, have been known to exploit vulnerabilities and weaknesses of the human mind to their own gain.]]></description>
			<content:encoded><![CDATA[<p>You, like many people, aren&#8217;t stupid, but it&#8217;s an unfortunate fact of life that you can be fooled. Since the dawn of time, the best salespeople, rightly or wrongly, have been known to exploit vulnerabilities and weaknesses of the human mind to their own gain.</p>
<p>The thriving field of <a href="http://en.wikipedia.org/wiki/Behavioral_economics" title="Wikipedia: Behavioural Economics" target="_blank" rel="nofollow">behavioural economics</a> has begun to codify these mental weaknesses in terms of social, cognitive and emotional factors. Drawing from the insights of psychology, behavioural economists (such as Dan Ariely, Robert Cialdini, Christopher Chabris and Daniel Simons) have explained why we buy more things at 99p rather than £1 (the <a href="http://en.wikipedia.org/wiki/Psychological_pricing" title="Wikipedia: Psychological Pricing - left-digit effect" target="_blank" rel="nofollow">left-digit effect</a>), why we commit to memberships of clubs and other organisations that we&#8217;ll never use or attend (<a href="http://en.wikipedia.org/wiki/Optimism_bias" title="Wikipedia: Optimism Bias" target="_blank">optimism bias</a>), why we attribute more value to things we own than things we do not (<a href="http://en.wikipedia.org/wiki/Endowment_effect" title="Wikipedia: Endowment Effect" target="_blank" rel="nofollow">endowment effect</a>) and why we don&#8217;t return purchases nearly as often as we perhaps should (<a href="http://en.wikipedia.org/wiki/Post-purchase_rationalization" title="Wikipedia: Post-purchase Rationalisation" target="_blank" rel="nofollow">post-purchase rationalisation</a>).</p>
<p>Knowledge of human behaviour is now being used by the giants of the web, from Amazon and Apple to Groupon and Zynga, to keep us coming back to their websites, playing their games and buying their products and services.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h2>Amazon</h2>
<p>Amazon has mastered eliminating small frictions, which in turn radically alters decisions and behaviour. For millions of people, Amazon is the default purchasing solution because it has all our credit card and address details on file. Amazon has removed the pain of retyping these details each time we make a purchase. This may not sound like much since many other websites also allow us to save our details, but during the few seconds in which we make our buying decisions, when we are not thinking very deeply, the barrier to entering that data seems too forbidding and we default to Amazon.</p>
<p>That&#8217;s not the only friction that Amazon has eliminated, they&#8217;ve created smart solutions to the problem of shipping, which has always been one of the biggest psychological hurdles to buying online. The first is Super Saver delivery, which is free in the UK if dispatching to UK locations. This option often tempts customers to add an extra item to their order.</p>
<p>The second, more interesting shipping mechanism is Amazon Prime. For an upfront fee of £49 per year, you get free next-day delivery on the majority of items. Knowing that one shop has free shipping compared to another, makes us less likely to shop elsewhere and because the barrier of shipping is removed, we&#8217;re more likely to impulse buy. Furthermore, because investment in shipping is essentially made upfront, we try to offset the investment by purchasing more.</p>
<h2>Apple</h2>
<p>If, like millions of other people, you&#8217;re an Apple customer, you may have noticed that email receipts for your purchases don&#8217;t arrive immediately after you&#8217;ve made the purchase. Whilst the delay could be related to Apple batch-processing transactions, there is an important psychological benefit to the company: the delay reduces the pain of paying and hence the potential for customers to request refunds.</p>
<p>The mechanism of the transaction remains the same, money is still debited from your credit card, but by not receiving a receipt immediately, the payment is decoupled from consumption and the pain of paying, however small the value may be.</p>
<p>It&#8217;s not all bad news for the consumer. Apple made the mistake of allowing apps to sell too cheaply or even for free through the AppStore. There&#8217;s an economic phenomenon called <a href="http://en.wikipedia.org/wiki/Anchoring" title="Wikipedia: Cognitive Bias of Anchoring" target="_blank" rel="nofollow">anchoring</a>, which occurs when people overly rely on a specific piece of information to govern their thought-process. Once the anchor is set, there is a bias toward adjusting or interpreting other information to reflect the &#8220;anchored&#8221; information. Once a price point is set, it&#8217;s extremely difficult to displace the anchor. iPhone and iPad apps take many hours of work to design and build, but on the AppStore, the expectation now is that they can&#8217;t cost more than £4.99, whilst most should cost £0.69. The pull of free is just too strong—dragging down what people will pay for everything else.</p>
<h2>Facebook</h2>
<p>What has become increasingly clear is that the Facebook actively develops features that challenge our limited ability for self-control, since that is what will get us to come back again and again.</p>
<p>Much of Facebook&#8217;s genius revolves around the Wall: a public space that we curate but that other people can add to. Within the universe of the site, where everyone is a &#8220;friend&#8221;, you feel compelled to respond to Wall posts, to comment on others&#8217; posts to yours and to reciprocate by writing on theirs.</p>
<p>We want our Walls to reflect ourselves or certain persona. It&#8217;s analogous to the way we curate our belongings, which itself is a window into our personalities.</p>
<p>The psychologist <a href="http://homepage.psy.utexas.edu/homepage/faculty/gosling/" title="Sam Gosling" target="_blank" rel="nofollow">Sam Gosling</a> has shown you can learn more about people from their possessions than from spending time with them. Walls are basically the same—a storefront window to the self.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h2>Groupon</h2>
<p>Groupon has not just revolutionised social-buying websites through offering remarkable discounts, but more importantly by removing the embarrassment of coupon shopping.</p>
<p>The stigma of coupon use is real and broad-based. A <a href="http://dx.doi.org/10.1086/591102" title="Journal of Consumer Research - Stigma by Association in Coupon Redemption: Looking Cheap because of Others" target="_blank" rel="nofollow">2008 paper in the Journal of Consumer Research</a> found that shoppers would describe people standing near coupon users, not to mention the coupon users themselves, as &#8220;cheap&#8221; or &#8220;poor&#8221;. With Groupon, by contrast, the social acceptability is baked into the premise &#8211; into the name, even. The perception of crowd behaviour can be a powerful motivator when it comes to modifying people&#8217;s behaviour. </p>
<p>Groupon also uses time constraints to further influence behaviour. Consumers have one day to decide whether to buy a coupon. Usually, when we don&#8217;t buy something, we have the opportunity to go back and buy it later. But with Groupon, our choice becomes explicit. If we don&#8217;t buy the coupon now, we&#8217;ll never be able to buy it. Presented with that choice, many customers will consider how much they might regret the choice not to buy. And because people hate feeling regret, they become more inclined to buy it now. Amazon do a similar think by alerting the buyer to the fact that there are only n-number of items left, whilst &#8220;bricks and mortar&#8221; stores such as Zara regularly update their clothes range to drive demand.</p>
<h2>Lovefilm</h2>
<p>Lovefilm&#8217;s business model is based upon the simple premise: people hate late fees. With the traditional video shop model, customers had a simple choice: accumulate late fees or return the unwatched film. Added to this, traditional shops often only stocked a finite amount of &#8220;blockbuster&#8221; movies. Lovefilm not only resolved the late fee issue by allowing customers to return films whenever they wanted, but also created a <a href="http://en.wikipedia.org/wiki/Long_Tail" title="Wikipedia: Long Tail" target="_blank" rel="nofollow">long tail</a> of films; and exhaustive collection from which each customer could assemble a queue.</p>
<p>In practice though, Lovefilm customers end up watching fewer films than they might have expected. Why? One reason is that Lovefilm forces us to choose based on what we think we want to see in the future; and we&#8217;re bad at predicting our future habits. This isn&#8217;t bad for Lovefilm since it is based upon a subscription model, so it saves on postage whilst boosting profits.</p>
<p>The future for Lovefilm will be in the streaming business, much like Netflix does in the US. With streaming, consumers will no longer need to predict what they want to watch in the future. Instead, watching films becomes an on demand service; we&#8217;re paying for the right to watch any film at any time, regardless of whether that is what we end up doing.</p>
<h2>Twitter</h2>
<p>Much like with Facebook, users want to display a self that is somewhere between their real-life self and how they would like to be perceived, which creates a substantial motivation for constant monitoring and updates to their status list and Wall.</p>
<p>Perhaps the most addictive feature for both Twitter and Facebook is that it allows us to enhance our status relatively cheaply, in a way that was not possible 5 years ago, whilst also providing the ability to share; we get tremendous social capital from being seen as generous and as someone whom other people mention.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h2>Zynga</h2>
<p>People become emotionally invested in things they&#8217;ve built or created. This emotional investment leads people to value their own possessions or creations irrationally high. The longer the emotional investment, the higher the value. Dan Areily dubs this the &#8220;Ikea effect&#8221; in honour of how your rickety Swedish bookshelf seems perfect after you&#8217;ve put hours of frustrating work into assembling it.</p>
<p>This emotional investment is exactly what Zynga uses to great success with FarmVille, CityVille and other social games. Once someone takes a little time to start building a farm, they become invested in maintain it and hence value it more highly. The more complex and time-consuming the task, the more we fall in love with the creation (assuming the appropriate level of reward) and the more we become engrossed in the game.</p>
<p>The compulsion to create is reinforced by social interactions. Much of the action in these games is about reciprocity: people give you useful things and you&#8217;re expected to respond in kind. Reciprocity is a powerful motivator. When someone does us good, we want to return the favour; in FarmVille that translates into spending more and more time playing the game.</p>
<p><strong>Further reading:</strong></p>
<ul>
<li>Journal of Behavioural Decision Making &#8211; <a href="http://dx.doi.org/10.1002/(SICI)1099-0771(199912)12:4%3C257::AID-BDM327%3E3.0.CO;2-6" title="Mixing virtue and vice: combining the immediacy effect and the diversification heuristic" target="_blank">Mixing virtue and vice: combining the immediacy effect and the diversification heuristic</a></li>
<li>Journal of Consumer Research &#8211; <a href="http://dx.doi.org/10.1086/591102" title="Stigma by Association in Coupon Redemption: Looking Cheap because of Others" target="_blank" rel="nofollow">Stigma by Association in Coupon Redemption: Looking Cheap because of Others</a></li>
<li>Journal of Marketing Science &#8211; <a href="http://dx.doi.org/10.1287/mksc.1060.0254" title="Zero as a Special Price: The True Value of Free Products" target="_blank" rel="nofollow">Zero as a Special Price: The True Value of Free Products</a></li>
<li><a href="http://www.amazon.co.uk/gp/product/184668028X/" title="Snoop: What Your Stuff Says About You" target="_blank" rel="nofollow">Snoop: What Your Stuff Says About You</a> by Sam Gosling</li>
<li>Foundations of Human Sociality &#8211; <a href="http://www.hss.caltech.edu/~camerer/Camerer-Fehrjan30.pdf" title="Measuring social norms and preferences using experimental games: A guide for social scientists" target="_blank">Measuring social norms and preferences using experimental games: A guide for social scientists</a> by Colin Camerer and Ernst Fehr (PDF 150KB, pp.40)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/you-are-being-gamed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steve Jobs: Get Rid of the Crappy Stuff</title>
		<link>http://www.simonwhatley.co.uk/steve-jobs-get-rid-of-the-crappy-stuff</link>
		<comments>http://www.simonwhatley.co.uk/steve-jobs-get-rid-of-the-crappy-stuff#comments</comments>
		<pubDate>Wed, 25 May 2011 21:14:21 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[Steve Jobs]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/4167</guid>
		<description><![CDATA[People think focus means saying yes to the thing you've got to focus on. But that's not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I'm actually as proud of the things we haven't done as the things I have done. Innovation is saying 'no' to 1,000 things.]]></description>
			<content:encoded><![CDATA[<p>&#8220;People think focus means saying yes to the thing you&#8217;ve got to focus on. But that&#8217;s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I&#8217;m actually as proud of the things we haven&#8217;t done as the things I have done. Innovation is saying &#8216;no&#8217; to 1,000 things.&#8221;</p>
<p>Steve Jobs on product development, from &#8220;<a href="http://blogs.forbes.com/carminegallo/2011/05/16/steve-jobs-get-rid-of-the-crappy-stuff/" title="Steve Jobs: Get Rid of the Crappy Stuff" target="_blank" rel="nofollow">Steve Jobs: Get Rid of the Crappy Stuff</a>&#8221; in Forbes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/steve-jobs-get-rid-of-the-crappy-stuff/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apachectl Ulimit Error</title>
		<link>http://www.simonwhatley.co.uk/apachectl-ulimit-error</link>
		<comments>http://www.simonwhatley.co.uk/apachectl-ulimit-error#comments</comments>
		<pubDate>Tue, 15 Feb 2011 16:08:55 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[apachectl]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=3820</guid>
		<description><![CDATA[Restarting Apache on my MacBook Pro today, using the command line argument sudo apachectl -k start resulted in a rather strange error]]></description>
			<content:encoded><![CDATA[<p>Restarting Apache on my MacBook Pro today, using the command line argument <code>sudo apachectl -k start</code> resulted in a rather strange error:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument</pre></div></div>

<p>After a little investigating it turned out to be caused by an update in the <code>apachectl</code> script to OSX 10.6.5. </p>
<p>The <code>ULIMIT_MAX_FILES</code> variable increases the maximum number of file descriptors allowed per child process. This is critical for configurations that use many file descriptors, such as mass vhosting, or a multithreaded server.</p>
<p>A quick edit of the the <code>apachectl</code> script and it&#8217;ll be back working.</p>
<p>I use TextMate, so the command is:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo mate /usr/sbin/apachectl</pre></div></div>

<p>You&#8217;ll be prompted for your password.</p>
<p>Once the <code>apachectl</code> file is open, look for the following line (for me it was line 64):</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">ULIMIT_MAX_FILES=&quot;ulimit -S -n `ulimit -H -n`&quot;</pre></div></div>

<p>and replace with the following:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">ULIMIT_MAX_FILES=&quot;ulimit -S -n&quot;</pre></div></div>

<p>This will set the correct command that increases the maximum number of file descriptors allowed per child process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/apachectl-ulimit-error/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing MySQL on Mac OSX 10.6 (Snow Leopard)</title>
		<link>http://www.simonwhatley.co.uk/installing-mysql-on-mac-osx-10-6-snow-leopard</link>
		<comments>http://www.simonwhatley.co.uk/installing-mysql-on-mac-osx-10-6-snow-leopard#comments</comments>
		<pubDate>Wed, 31 Mar 2010 22:20:42 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Mac OSX]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=2194</guid>
		<description><![CDATA[If you’re comfortable with installing applications on your Mac and are reasonably familiar with MySQL, installing MySQL on Snow Leopard should be relatively simple. Here are the simple steps you need to do to get MySQL up and running on your local machine.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re comfortable with installing applications on your Mac and are reasonably familiar with MySQL, installing MySQL on Snow Leopard should be relatively simple.</p>
<ol>
<li>Download the Mac OSX disk image from the MySQL website:
<p><a href="http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg" title="MySQL package for Mac OSX" target="_blank" rel="nofollow">http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg</a></p>
<p>I used the <strong>mysql-5.1.42-osx10.5-x86_64.dmg</strong> disk image, which seems to work fine. The image contains 4 files including a ReadMe file.</li>
<li>Install the following packages found in the disk image to the default location and with the default options:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">mysql-5.1.42-osx10.5-x86_64.pkg
MySQLStartupItem.pkg</pre></div></div>

</li>
<li>Install the following profile found in the disk image to the default location and with the default options:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">MySQL.prefPanel</pre></div></div>

</li>
<li>Start the MySQL service in the System Preferences panel and check the <em>Automatically Start the MySQL Service on Startup</em> option.</li>
</ol>
<p>That is all you need to do. However, if you&#8217;re working with PHP, you will need to correctly reference the <code>mysql.sock</code> file in your <code>php.ini</code> file. To do this, find the following line and ensure the reference is correct:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">mysql.default_socket = /tmp/mysql.sock</pre></div></div>

<p>(Remember to restart Apache if you make changes to your <code>php.ini</code> file.)</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/installing-mysql-on-mac-osx-10-6-snow-leopard/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Thinking Mobile? If You Build It, They Will Come</title>
		<link>http://www.simonwhatley.co.uk/thinking-mobile-if-you-build-it-they-will-come</link>
		<comments>http://www.simonwhatley.co.uk/thinking-mobile-if-you-build-it-they-will-come#comments</comments>
		<pubDate>Thu, 04 Feb 2010 14:35:59 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[Appcelerator]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple iPhone]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[Brushes]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[ebay]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[HIG]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[human interface guidelines]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[IPhone OS]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile operating system]]></category>
		<category><![CDATA[Multi-touch]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Ovi Store]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[paypal]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[Qik]]></category>
		<category><![CDATA[RedLaser]]></category>
		<category><![CDATA[Rim]]></category>
		<category><![CDATA[RjDj]]></category>
		<category><![CDATA[Smartphones]]></category>
		<category><![CDATA[StreetCar]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[The Guardian]]></category>
		<category><![CDATA[User interface]]></category>
		<category><![CDATA[web-based application]]></category>
		<category><![CDATA[WebOS]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=2232</guid>
		<description><![CDATA[Smartphone applications are predicted to overtake the desktop software market. So who will win the multi-billion-pound [dollar] application economy, and what are the new rules?]]></description>
			<content:encoded><![CDATA[<p>Smartphone applications are predicted to overtake the desktop software market. So who will win the multi-billion-pound [dollar] application economy, and what are the new rules?</p>
<p>In January 2010, Apple announced to great fanfare that they had recently sold their 3 billionth iPhone application. Of course not all these applications are paid-for, but with a 30% levy taken on each and every paid-for application, Apple are taking a significant share of the revenue from the application pie. However, as a distribution channel, the AppStore is second to none, whilst <a href="http://metrics.admob.com/2010/01/mobile-browsing-trends-from-quantcast/" title="Mobile Browsing Trends from Quantcast" target="_blank" rel="nofollow">the iPhone uptake is staggering</a>, with a majority share of the smartphone market in many regions of the world. There is a significant opportunity for any developer to make a huge return on investment, assuming the idea is a winning one.</p>
<p>iPhone, Android, Windows Mobile, Blackberry, Nokia and now the larger form factor iPad and Kindle support the idea of applications, or will do in the near future. So what do you need to do to design and build your first application?</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<ol>
<li><strong>Familiarise yourself with the rules</strong><br />
Whether you&#8217;re going to build applications for the <a href="http://developer.apple.com/iphone/" title="Apple iPhone Developer Centre" target="_blank" rel="nofollow">iPhone OS</a>, <a href="http://developer.android.com/" title="Android Developer Resources"  target="_blank" rel="nofollow">Android OS</a> or any other of the mobile platforms, you will need to familiarise yourself with how each operating system does things. Smartphone development is different from the development we are accustomed with on the Web. Reading the user interface guidelines for each platform will go a long way to developing your first application. Smartphones are personal devices and know where you are almost all the time through <abbr title="Global Positioning System">GPS</abbr>. They have rotation detectors, compasses and multitouch screens with gestural interfaces. Only once you know what is possible with each smartphone platform can you begin to design your application.</li>
<li><strong>Brainstorm the issues</strong><br />
This is the creative part of your application development process. You have a basic idea, but you need to take it forward into something that has features and benefits. Will the application be paid-for or free? Will it provide a service or be a marketing channel? Will it be standalone or link closely with other online presences and networks? Smartphone applications, unlike <em>ordinary</em> websites, invariably need to actually do something. There is an element of artificial intelligence at play, whereby the phone can actually know where it is in the world and it&#8217;s orientation, whilst the user interface is remarkably different from that of simply a mouse and keyboard. Smartphone applications can&#8217;t simply be flat catalogues, they need to do something and do it well. Whether this is booking and accessing a car as with <a href="http://itunes.apple.com/gb/app/streetcar/id335331332" title="Apple AppStore: StreetCar" target="_blank" rel="nofollow">StreetCar</a>, buying something from <a href="http://itunes.apple.com/gb/app/ebay-mobile/id282614216" title="Apple AppStore: eBay" target="_blank" rel="nofollow">eBay</a>, paying with <a href="http://itunes.apple.com/gb/app/paypal/id283646709" title="Apple AppStore: PayPal" target="_blank" rel="nofollow">PayPal</a>, creating music with <a href="http://itunes.apple.com/gb/app/rjdj/id290626964" title="Apple AppStore: RjDj" target="_blank" rel="nofollow">RjDj</a>, drawing pictures with <a href="http://itunes.apple.com/gb/app/brushes/id288230264" title="Apple AppStore: Brushes" target="_blank" rel="nofollow">Brushes</a>, price comparison with <a href="http://itunes.apple.com/gb/app/redlaser/id312720263" title="Apple AppStore: RedLaser" target="_blank" rel="nofollow">RedLaser</a>, reading the latest news from <a href="http://itunes.apple.com/gb/app/the-guardian/id340425655" title="Apple AppStore: The Guardian" target="_blank" rel="nofollow">the Guardian</a>, video casting with <a href="http://itunes.apple.com/gb/app/qik-for-3gs/id302767821" title="Apple AppStore: Qik" target="_blank" rel="nofollow">Qik</a> or planning your journey with <a href="http://itunes.apple.com/gb/app/london-tube-deluxe/id300139358" title="Apple AppStore: Tube Deluxe" target="_blank" rel="nofollow">Tube Deluxe</a> your app needs to be compelling.</li>
<li><strong>Create a prototype</strong><br />
You have your compelling idea; create a proof-of-concept prototype. This prototype is used to test some or many aspects of the intended design without attempting to exactly simulate the visual appearance, content or intended interactions. Such prototypes can be used to &#8220;prove&#8221; out a potential design approach such as range of motion, mechanics, sensors, architecture, etc. Making paper prototypes, for example, is a great way to test the application rather than creating low or high fidelity wireframes and <em>hoping for the best</em>. Doing this also provides a perfect opportunity for people around you &#8212; friends, colleagues and family members &#8212; to try out the prototype with little fuss. Only once you&#8217;re happy with the design should you begin any form of coding.</li>
<li><strong>Submit early</strong><br />
You have your application working. You have conducted a number of usability tests and all is looking great. It&#8217;s time to submit it to the appropriate application store. Apple has its <a href="http://www.apple.com/iphone/apps-for-iphone/" title="Apple AppStore" target="_blank" rel="nofollow">AppStore</a>, Android its <a href="http://www.android.com/market/" title="Android Market" target="_blank" rel="nofollow">Market Place</a>, Nokia its <a href="https://store.ovi.com" title="Nokia Ovi Store" target="_blank" rel="nofollow">Ovi Store</a> and so on. Each store has its own nuiances, but if you&#8217;re considering an iPhone application, Apple has been know to <em>drag its feet</em> when approving applications for release. Apple has a <a href="http://news.cnet.com/8301-13579_3-10315328-37.html" title="CNet: Apple sheds light on App Store approval process" target="_blank" rel="nofollow">much discussed approval process</a>, with the possibility of rejection commonplace. Don&#8217;t make plans that depend on Apple. It is better to silently release the application, rather than creating a huge fanfare.</li>
<li><strong>Iterate often</strong><br />
Once your application has been launched your work is nowhere near over, indeed it has just begun! As you gain more and more users, improvements will suggest themselves not only from within your team, but more often, from your users. Here is where you go back to stage two and start brainstorming again. Version 2 may include bug fixes, but also major feature updates. For the latter, your brainstorming will decide what is most important for the next iteration. When your next iteration is complete, the AppStore, for example, makes upgrades far easier to achieve than for normal desktop software.</li>
</ol>
<p>If you&#8217;re planning an application that could disrupt one of the smartphones capabilities, such as <a href="http://www.google.com/mobile/voice/" title="Google Voice for Mobile" target="_blank" rel="nofollow">Google Voice for the iPhone</a>, it may be worth considering whether building an application specifically for that particular operating system is worthwhile. Google Voice was neither approved nor rejected by Apple for the iPhone, but has now been replaced by a fully featured <abbr title="HyperText Markup Language">HTML</abbr>5 web-based application; circumventing the Apple approval process. Of course this now means that the same web-based application can be used for not just the iPhone, but other smartphones.</p>
<p>Now go forth and build it!</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong>Resources</strong></p>
<p>Smartphone User Interface Guidelines:</p>
<ul>
<li><a href="http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html" target="_blank" rel="nofollow">Apple iPhone Human Interface Guidelines (HIG)</a></li>
<li><a href="http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html" target="_blank" rel="nofollow">Apple iPhone Application Programming Guide</a></li>
<li><a href="http://developer.android.com/guide/practices/ui_guidelines/index.html" target="_blank" rel="nofollow">Android User Interface Guidelines</a></li>
<li><a href="http://binarysheep.com/AndroidCode/AndroidHIG.pdf" target="_blank" rel="nofollow">Android Human Interface Guidelines (adapted from Apple)</a></li>
<li><a href="http://www.forum.nokia.com/Tools_Docs_and_Code/Documentation/Usability/UI_Style_and_Visual_Guidelines.xhtml" target="_blank" rel="nofollow">Nokia User Interface Style and Visual Guidelines</a></li>
<li><a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1606" target="_blank" rel="nofollow">Palm User Interface Guidelines</a></li>
<li><a href="http://docs.blackberry.com/en/developers/deliverables/6625/Screens_373681_11.jsp" target="_blank" rel="nofollow">RIM Blackberry User Interface Guidelines</a></li>
</ul>
<p>Application Development Frameworks:</p>
<ul>
<li><a href="http://phonegap.com/" title="PhoneGap: An open source development tool for building iPhone, Android, Blackberry and other mobile apps with JavaScript" target="_blank" rel="nofollow">PhoneGap</a> an open source development tool for building iPhone, Android, Blackberry and other mobile apps with JavaScript</li>
<li><a href="http://www.appcelerator.com/" title="Appcelerator: Mobile development platform for javascript developers" target="_blank" rel="nofollow">Appcelerator</a> a mobile development platform for javascript developers</li>
</ul>
<p>Mobile Web Application Frameworks:</p>
<ul>
<li><a href="http://www.jqtouch.com/" title="jQTouch: A jQuery plugin for mobile development" target="_blank" rel="nofollow">jQTouch</a> a jQuery plugin for mobile development</li>
<li><a href="http://code.google.com/p/iui/" title="iUI: iPhone User Interface Framework" target="_blank" rel="nofollow">iUI</a> an iPhone/iPod Touch user interface framework</li>
</ul>
<p>Other:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Mobile_development" title="Wikipedia: Mobile Development" target="_blank" rel="nofollow">Wikipedia article on Mobile Development</a></li>
</ul>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/thinking-mobile-if-you-build-it-they-will-come/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dieter Rams&#039; 10 Rules of Good Design</title>
		<link>http://www.simonwhatley.co.uk/dieter-rams10-rules-of-good-design</link>
		<comments>http://www.simonwhatley.co.uk/dieter-rams10-rules-of-good-design#comments</comments>
		<pubDate>Wed, 06 Jan 2010 10:28:30 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[User Experience]]></category>
		<category><![CDATA[aesthetic design]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Architectural design]]></category>
		<category><![CDATA[Braun]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[designed products]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[Dieter Rams]]></category>
		<category><![CDATA[environmentally friendly]]></category>
		<category><![CDATA[Industrial design]]></category>
		<category><![CDATA[industrial designer]]></category>
		<category><![CDATA[innovative]]></category>
		<category><![CDATA[Jonathan Ive]]></category>
		<category><![CDATA[less is more]]></category>
		<category><![CDATA[longevity]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[The Design Museum]]></category>
		<category><![CDATA[understandable]]></category>
		<category><![CDATA[unobtrusive]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[useful]]></category>
		<category><![CDATA[Vitsœ]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=2178</guid>
		<description><![CDATA[Dieter Rams is a German industrial designer closely associated with the consumer products company Braun and the Functionalist school of industrial design. Many of Rams’ designs — coffee makers, calculators, radios, audio/visual equipment, consumer appliances and office products — have found a permanent home at many museums over the world, including MoMA in New York.]]></description>
			<content:encoded><![CDATA[<p>Dieter Rams is a German industrial designer closely associated with the consumer products company Braun and the <a href="http://en.wikipedia.org/wiki/Functionalism_(architecture)" title="Wikipedia: Functionalism" target="_blank" rel="nofollow">Functionalist</a> school of industrial design. Many of Rams&#8217; designs &#8212; coffee makers, calculators, radios, audio/visual equipment, consumer appliances and office products &#8212; have found a permanent home at many museums over the world, including <abbr title="Museum of Modern Art">MoMA</abbr> in New York.</p>
<p>How does Rams&#8217; define <q>good design</q>?</p>
<ol>
<li><strong>Good design should be innovative</strong> &#8212; It does not copy existing product forms, nor does it produce any kind of novelty just for the sake of it. The essence of innovation must clearly be seen in all of a product&#8217;s functions. Current technological development keeps offering new chances for innovative solutions.</li>
<li><strong>Good design should make a product useful</strong> &#8212; The product is bought in order to be used. It must serve a defined purpose, in both primary and additional functions. The most important task of design is to optimise the utility of a product&#8217;s usability.</li>
<li><strong>Good design is aesthetic design</strong> &#8212; The aesthetic quality of a product is integral to its usefulness because products we use every day affect our well-being. But only well-executed objects can be beautiful.</li>
<li><strong>Good design will make a product understandable</strong> &#8212; It clarifies the product&#8217;s structure. Better still, it can make the product talk. At best, it is self-explanatory.</li>
<li><strong>Good design is honest</strong> &#8212; It does not make a product more innovative, powerful or valuable than it really is. It does not attempt to manipulate the consumer with promises that cannot be kept.</li>
<li><strong>Good design is unobtrusive</strong> &#8212; Products fulfilling a purpose are like tools. They are neither decorative objects nor works of art. Their design should therefore be both neutral and restrained, to leave room for the user&#8217;s self-expression.</li>
<li><strong>Good design is long lived</strong> &#8212; It does not follow trends that become out-dated after a short time. Well designed products differ significantly from short-lived, trivial products in today&#8217;s throwaway world.</li>
<li><strong>Good design is consistent in every detail</strong> &#8212; Nothing must be arbitrary. Thoroughness and accuracy in the design process shows respect towards the user.</li>
<li><strong>Good design should be environmentally friendly</strong> &#8212; Design must make contributions towards a stable environment and sensible raw material situation. This does not only include actual pollution, but also visual pollution and destruction of our environment.</li>
<li><strong>Good design is as little design as possible</strong> &#8212; Less is more &#8211; because it concentrates on the essential aspects and the products are not burdened with non-essentials. Back to purity, back to simplicity.</li>
</ol>
<p>Many people say it is obvious that Rams&#8217; designs have been influential on <a href="http://en.wikipedia.org/wiki/Jonathan_Ive" title="Wikipedia: Jonathan Ive" target="_blank" rel="nofollow">Jonathan Ive</a> of Apple, designer of such products as the iMac, iPod, and iPhone, as can be witnessed particularly in the iPhone&#8217;s calculator application, whose design is based on the Braun ET66 calculator designed by Rams.</p>
<p><strong>More</strong></p>
<p>The Design Museum in London are holding a <a href="http://designmuseum.org/exhibitions/2009/2009-dieter-rams" title="The Design Museum - Dieter Rams' exhibition" target="_blank" rel="nofollow">Dieter Rams&#8217; exhibition</a> between 19th November 2009 and 9th March 2010. The exhibition will showcase Rams&#8217; landmark designs for Braun and furniture manufacturer Vitsœ, examine how Rams&#8217; design ethos inspired Braun’s entire product range for over 40 years, and assess his lasting influence on today’s design landscape.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/dieter-rams10-rules-of-good-design/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>QR-kill &#8211; The Hi-tech Mobile Game</title>
		<link>http://www.simonwhatley.co.uk/qrkill-the-hi-tech-mobile-game</link>
		<comments>http://www.simonwhatley.co.uk/qrkill-the-hi-tech-mobile-game#comments</comments>
		<pubDate>Thu, 18 Sep 2008 16:57:05 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[barcode]]></category>
		<category><![CDATA[extra devices]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile phones]]></category>
		<category><![CDATA[mobile tagging]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Nokia N95]]></category>
		<category><![CDATA[QR-kill]]></category>
		<category><![CDATA[QRcode]]></category>
		<category><![CDATA[SMS]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=1121</guid>
		<description><![CDATA[Crossed between quasar and a game of tag, QR-kill is the new phenomenon spreading around the mobile community. Utilising high-end mobile phones like the Nokia N95 and Applie iPhone and 2-dimensional barcodes called QR-codes, this game is best played in public places like shopping centres or department stores for added amusement.]]></description>
			<content:encoded><![CDATA[<p>Crossed between quasar and a game of tag, QR-kill is the new phenomenon spreading around the mobile community. Utilising high-end mobile phones like the Nokia N95 and Applie iPhone and 2-dimensional barcodes called QR-codes, this game is best played in public places like shopping centres or department stores for added amusement.</p>
<p><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/09/qrcode.png" alt="" title="QR-code" class="aligncenter size-full wp-image-1160" /></p>
<h3>QR-Kill Rules</h3>
<ol>
<li>A QR-code with your name and phone (<abbr title="Short Message Service">SMS</abbr> format) will be printed in a 20cm minimum width sheet of white paper. It will be reinforced by a hard cardboard and stuck to the back using american tape.</li>
<li>The QR-code must be visible at all times. It cannot be covered by any means, wall, floor, etc.</li>
<li>Once you receive the deathly <abbr title="Short Message Service">SMS</abbr> you <strong>must leave the scenario right away.</strong></li>
<li>When team playing, members can only communicate by using same phone they use as a weapon.</li>
<li>Disguising is allowed as along as the QR-code is visible.</li>
<li>Unless playing <q>sniper mode</q> no extra devices can be used to capture the QR-codes (e.g. zoom photo cameras, videocams, etc.)</li>
<li>If there is a conflict deciding who killed first, <abbr title="Short Message Service">SMS</abbr> time will decide (we recommend synchronising watches before the game starts)</li>
<li>No one can assist you to kill the enemy with your phone. However you can hire spies, etc.</li>
</ol>
<p>You can create QR-codes on <a href="http://qrcode.kaywa.com/" title="Kaywa's QR-code generator" target="_blank" rel="nofollow">Kaywa&#8217;s website</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/qrkill-the-hi-tech-mobile-game/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.407 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-11 18:02:09 -->
<!-- Compression = gzip -->
