<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Dinosaurs with Laserz</title>
	<atom:link href="http://dinosaurswithlaserz.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dinosaurswithlaserz.com</link>
	<description></description>
	<lastBuildDate>Mon, 14 May 2012 00:27:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='dinosaurswithlaserz.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/77b53cf9ade739945bb35547eb4047f9?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Dinosaurs with Laserz</title>
		<link>http://dinosaurswithlaserz.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dinosaurswithlaserz.com/osd.xml" title="Dinosaurs with Laserz" />
	<atom:link rel='hub' href='http://dinosaurswithlaserz.com/?pushpress=hub'/>
		<item>
		<title>How much does it cost to use a font in my iOS app?</title>
		<link>http://dinosaurswithlaserz.com/2011/11/06/how-much-does-it-cost-to-use-a-font-in-my-ios-app/</link>
		<comments>http://dinosaurswithlaserz.com/2011/11/06/how-much-does-it-cost-to-use-a-font-in-my-ios-app/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 03:49:07 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=1444</guid>
		<description><![CDATA[Note: I&#8217;m in no way trying to be vindictive towards the typographer, font foundry or anyone in this post. Pricing fonts for use in apps is still new territory for everyone. Also, bold formatting in pasted emails is mine. The Setup If you&#8217;ve read my earlier posts you&#8217;d know I&#8217;m working on the design for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1444&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Note: I&#8217;m in no way trying to be vindictive towards the typographer, font foundry or anyone in this post. Pricing fonts for use in apps is still new territory for everyone. Also, bold formatting in pasted emails is mine.</em></p>
<h3>The Setup</h3>
<p>If you&#8217;ve read my earlier posts you&#8217;d know I&#8217;m working on the design for an iOS app, a companion for the website surftourist.com.</p>
<p>The website uses a font called Crete Rounded via Typekit, it&#8217;s become part of the Surftourist brand. Naturally I wanted to use the font in the app, and I purchased the Open Type version for €35, using it liberally.</p>
<h3>You got a licence for that?</h3>
<p>It occurred to me that the license I got with my purchase might not cover me for app use, so I tracked down the foundry, TypeTogether, and it turned out I was right.</p>
<p>On 11 Oct 2011 at 17:45, Veronika wrote:</p>
<blockquote><p>Dear Craig,</p>
<p>thank you for your email.</p>
<p>The license you would need is a Limited Commercial Basic License, meaning that the fonts are embedded as static gifs (or similar). They are not used interactively, i.e. the user can&#8217;t type with the font within the app.</p>
<p><strong>The license fee for this use is €900 per font and per application</strong>, valid for the life-time of the product.</p></blockquote>
<h3>Wait, what?</h3>
<p>1. Using the font on a website via Typekit, 25,000 page views a month, <strong>free</strong><br />
2. Print, unlimited distribution, <strong>€35</strong><br />
3. iOS app, no interactive use, <strong>€900</strong></p>
<p>How could you justify that? Apps sell at extremely tight margins. If I sold my app for a dollar, I would have to sell it about 1200 times just to break even on a font? I wrote another email, which subtly pointed out the pricing anomaly, noting that for €35 I could distribute it in its printed form to as big an audience as I pleased:</p>
<p>On 12 Oct 2011, at 08:46, Craig wrote:</p>
<blockquote><p>Hi Veronika,</p>
<p>Just to clarify, if I don&#8217;t currently have a &#8216;Limited Commercial Basic License&#8217;, does the license I purchased with Crete for €35 allow me to use it in commercial print projects, or on slides in a public event presentation?</p></blockquote>
<p>On 12 Oct 2011, at 17:19, Veronika wrote:</p>
<blockquote><p>Hi Craig,</p>
<p>the Limited Commercial Basic License applies only to mobile, online apps. It refers to the actual font software being embedded within the product. You can use the print fonts to create any printed materials, embed in pdfs, use in a presentation and more. For more details please read our EULA: <a href="http://www.type-together.com/resources/eula/TT-EULA.pdf">http://www.type-together.com/resources/eula/TT-EULA.pdf</a></p></blockquote>
<h3>Enter Mobile FontFonts</h3>
<p>Coincidentally this happened just as Fontshop released <a title="Mobile FontFonts" href="http://www.fontshop.com/fontlist/applications/mobile_fonts">Mobile FontFonts</a> in October 2011. Fontshop&#8217;s communication was a little misleading – they seemed to be taking credit for making custom fonts available in iOS when it had been possible since iOS3 – but what&#8217;s great about these fonts is their price. For around $170 each, a team of up to 5 developers can use the font to their hearts content in as many apps as they want.</p>
<p>These two vast differences in pricing got me worked up, so I wrote another email.</p>
<p>On 11 Oct 2011, at 23:52, Craig wrote:</p>
<blockquote><p>Hi Veronika,</p>
<p>Thanks for your quote of €900 per font per application.</p>
<p>FontShop International now offer 14 fonts which they claim are specifically designed for iOS. They&#8217;re priced at about $170 each.  <a href="http://www.mobilefontfonts.com/font/2346/usecases">http://www.mobilefontfonts.com/font/2346/usecases</a></p>
<p>I would prefer to use Crete, but due to this project&#8217;s budget it looks like I&#8217;ll be using Tisa instead.</p>
<p>I don&#8217;t want to sound flippant, I just want to alert you to the immense price difference. Licensing fonts for apps is still new territory for everyone.</p></blockquote>
<p>On 13 Oct 2011, at 5:28, Veronika wrote:</p>
<blockquote><p>Dear Craig,</p>
<p>we have priced our fonts in tune with market standards so far. I am sorry, but for now i can offer you only a 15% discount on the license fee.</p></blockquote>
<p>Even with a 15% discount (€765) this font would have to be freaking amazing for me not to resort to a $170 alternative.</p>
<p>Mobile FontFonts have hopefully set the margin for font pricing. Unfortunately at the moment we&#8217;re only given 14 fonts to play with. All we can do is hope it&#8217;s a roaring success and other font foundries take note. Currently the app marketplace runs on low margin/high volume. While foundries continue to price high margin/low volume, the system won&#8217;t work.</p>
<p>Mobile FontFonts<br />
<a href="http://www.fontshop.com/fontlist/applications/mobile_fonts">http://www.fontshop.com/fontlist/applications/mobile_fonts</a></p>
<p>TypeTogether and Crete<br />
<a href="http://www.type-together.com/crete">http://www.type-together.com/crete </a></p>
<p>Using custom fonts in iOS4<br />
<a href="http://stackoverflow.com/questions/360751/can-i-embed-a-custom-font-in-an-iphone-application/3198821#3198821">http://stackoverflow.com/questions/360751/can-i-embed-a-custom-font-in-an-iphone-application/3198821#3198821<br />
</a><a href="http://blog.beefyapps.com/2010/06/custom-fonts-in-ios-4/">http://blog.beefyapps.com/2010/06/custom-fonts-in-ios-4/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/1444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/1444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/1444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/1444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/1444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/1444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/1444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/1444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/1444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/1444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/1444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/1444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/1444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/1444/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1444&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/11/06/how-much-does-it-cost-to-use-a-font-in-my-ios-app/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>
	</item>
		<item>
		<title>What&#8217;s a good file size for an email design?</title>
		<link>http://dinosaurswithlaserz.com/2011/09/22/whats-a-good-file-size-for-an-email-design/</link>
		<comments>http://dinosaurswithlaserz.com/2011/09/22/whats-a-good-file-size-for-an-email-design/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 06:53:29 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=1418</guid>
		<description><![CDATA[This morning it occurred to me that there was a lack of good information around for what we can get away with when using images in an email design. I&#8217;m missing my images Images not loading in an email is sucky, especially when it&#8217;s an email you&#8217;ve designed. Top of mind is the one pictured [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1418&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This morning it occurred to me that there was a lack of good information around for what we can get away with when using images in an email design.</p>
<h2>I&#8217;m missing my images</h2>
<p>Images not loading in an email is sucky, especially when it&#8217;s an email you&#8217;ve designed. Top of mind is the one pictured below (not one of mine) which arrived in my inbox recently.</p>
<p><img class="alignnone" title="Oh dear" src="https://img.skitch.com/20110922-c9yi5dhrpiuq671u1dnrmpabyt.jpg" alt="" width="581" height="359" /></p>
<p>We have to assume that no matter what we do we&#8217;re going to have to live with the occasional missing image, which is why we should always avoid splitting images up into separate parts. This stops photographs of products being cut in half, and rasterized text becoming unreadable.</p>
<h2>How big?</h2>
<p>I decided to ask <a href="http://twitter.com/campaignmonitor">@campaignmonitor</a> what their opinion was on acceptable file size was:</p>
<blockquote><p><em><a href="http://twitter.com/craigrozynski">@craigrozynski</a> Generally, we say keep the email as light as possible &#8211; image-heavy emails are slow-loading and can burden mobile users ^RH</em></p></blockquote>
<p>Nothing we didn&#8217;t already know right? Is it possible that no one has done conclusive testing? How can we be this far down the evolutionary path of email design and still be this vague?</p>
<p>I don&#8217;t think I&#8217;ve ever built an email larger than 200kB, but what if I&#8217;ve been needlessly paranoid, compressing product shots down all this time?</p>
<p>It&#8217;s all well and good to say &#8220;Dude your email should be like, 20kB tops. Draw it with CSS or something&#8221;, but when you&#8217;re selling products based on their aesthetic value, a heavily compressed jpg is dumb.</p>
<p>What I want to know is – <em>how big a file size can I get away with?</em></p>
<h2>How many times?</h2>
<p>But wait, there&#8217;s another factor that may play a part here. Do email clients have an aversion to how many http requests I make? Obviously a single 100kB image will load better than 100 1kB images, but I want to know – <em>what are the margins I should be working within</em>? If my EDM has over 20 images in it should I be worried that some won&#8217;t load?</p>
<h2>To the laboratory!</h2>
<p>Okay I don&#8217;t have a laboratory. In fact I kinda hoped that by raising the issue with Campaign Monitor they might carry the torch, but alas:</p>
<blockquote><p><em>@craigrozynski I&#8217;ll let you know if anything comes across my desk, def one to think about here <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ^RH</em></p></blockquote>
<p>They are certainly better equipped to produce meaningful results, but they&#8217;re all very busy people. So, what&#8217;s the best I can do to get the ball rolling?</p>
<h2>The criteria</h2>
<p><span style="color:#c0c0c0;">1.</span> What is a safe file size limit for an email design?<br />
<span style="color:#c0c0c0;">2.</span> Does the number of http requests have an impact on loading images?<br />
<span style="color:#c0c0c0;">3.</span> How do they compare on different connections?</p>
<h4>1. Image size test file</h4>
<p><span style="color:#c0c0c0;">1.1</span> 100kB image<br />
<span style="color:#c0c0c0;">1.2</span> 200kB image<br />
<span style="color:#c0c0c0;">1.3</span> 500kB image<br />
<span style="color:#c0c0c0;">1.4</span> 1000kB image</p>
<h4>2. Http requests test file</h4>
<p><span style="color:#c0c0c0;">2.1</span> 5 images totaling 200kB<br />
<span style="color:#c0c0c0;">2.2</span> 10 images totaling 200kB<br />
<span style="color:#c0c0c0;">2.3</span> 30 images totaling 200kB</p>
<h4>3. Connection type</h4>
<p><span style="color:#c0c0c0;">3.1</span> Standard cable connection (100mbps)<br />
<span style="color:#c0c0c0;">3.2</span> Mobile 3G<br />
<span style="color:#c0c0c0;">3.3</span> Mobile Wifi</p>
<p>I&#8217;ve only tested with one email client, Apple Mail for the standard cable connection, and iPhone iOS for mobile 3G and Wifi. Given that different email clients use different rendering engines, I can only assume results vary across email clients, but that&#8217;s a test for another day.</p>
<h2>Results</h2>
<table width="560" cellspacing="0" cellpadding="10">
<tbody>
<tr>
<td style="background-color:#ffc205;" colspan="5" height="40">Image size test file  (Ranked out of 10, where 10 is the fastest load)</td>
</tr>
<tr>
<td height="40"></td>
<td style="background-color:#eee;">100kB</td>
<td>200kB</td>
<td style="background-color:#eee;">500kB</td>
<td>1000kB</td>
</tr>
<tr>
<td height="40">Cable</td>
<td style="background-color:#eee;">10</td>
<td>10</td>
<td style="background-color:#eee;">10</td>
<td>10</td>
</tr>
<tr>
<td height="40">3G</td>
<td style="background-color:#eee;">10</td>
<td>7</td>
<td style="background-color:#eee;">7</td>
<td style="background-color:#ffc1c1;">5</td>
</tr>
<tr>
<td height="40">Wifi</td>
<td style="background-color:#eee;">10</td>
<td>10</td>
<td style="background-color:#eee;">7</td>
<td>10</td>
</tr>
</tbody>
</table>
<div>
<table width="560" cellspacing="0" cellpadding="10">
<tbody>
<tr>
<td style="background-color:#ffc205;" colspan="4" height="40">Http requests test file (Ranked out of 10, where 10 is the fastest load)</td>
</tr>
<tr>
<td height="40"></td>
<td style="background-color:#eee;">5 images total 200kB</td>
<td>10 images total 200kB</td>
<td style="background-color:#eee;">30 images total 200kB</td>
</tr>
<tr>
<td height="40">Cable</td>
<td style="background-color:#eee;">10</td>
<td>10</td>
<td style="background-color:#eee;">10</td>
</tr>
<tr>
<td height="40">3G</td>
<td style="background-color:#eee;">7</td>
<td>7</td>
<td style="background-color:#eee;">7</td>
</tr>
<tr>
<td height="40">Wifi</td>
<td style="background-color:#eee;">10</td>
<td>10</td>
<td style="background-color:#eee;">10</td>
</tr>
</tbody>
</table>
</div>
<h2>Findings</h2>
<p>Judging by these results we should have no qualms about sending out a 500kB email. A 1000kB email would perhaps test the patience of someone checking their email on the move. Still, it was only a matter of seconds.</p>
<p>The amount of http requests made had no real effect. The most images used was 30, although they were all the same image. I&#8217;m not certain whether Mail and iOS redraw the same image from cache or call it from the server 30 times. A better test would&#8217;ve been 30 individual images.</p>
<p>What bothers me is there&#8217;s no evidence here of why images occasionally, and intermittently, fail to load in an email? That mystery is yet to be solved.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/1418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/1418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/1418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/1418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/1418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/1418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/1418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/1418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/1418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/1418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/1418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/1418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/1418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/1418/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1418&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/09/22/whats-a-good-file-size-for-an-email-design/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110922-c9yi5dhrpiuq671u1dnrmpabyt.jpg" medium="image">
			<media:title type="html">Oh dear</media:title>
		</media:content>
	</item>
		<item>
		<title>Fluid Squares V2</title>
		<link>http://dinosaurswithlaserz.com/2011/07/18/fluid-squares-v2/</link>
		<comments>http://dinosaurswithlaserz.com/2011/07/18/fluid-squares-v2/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 07:27:08 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Grids]]></category>
		<category><![CDATA[fluid grids]]></category>
		<category><![CDATA[media queries]]></category>
		<category><![CDATA[Mobile First]]></category>
		<category><![CDATA[responsive web design]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=1381</guid>
		<description><![CDATA[What is it? A HTML5 fluid grid framework whose units remain square. Column widths increase or decrease to suit your display size using Media Queries. It&#8217;s Mobile First, CSS is written for small displays, with Media Queries incorporated as display size increases. It works on all modern desktop browsers, as well as iOS, Android and BlackBerry&#8217;s mobile [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1381&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://fluidsquares.com"><img class="alignnone" title="Fluid Squares V2" src="https://img.skitch.com/20110718-b4k42dutduwy3fpf5j5np49rar.jpg" alt="" width="577" height="332" /></a></p>
<h4>What is it?</h4>
<ul>
<li>A HTML5 <a href="http://www.alistapart.com/articles/fluidgrids">fluid grid</a> framework whose units <a href="#what-problem-does-it-fix">remain square</a>.</li>
<li>Column widths increase or decrease to suit your display size using Media Queries.</li>
<li>It&#8217;s Mobile First, CSS is written for small displays, with Media Queries incorporated as display size increases.</li>
<li>It works on all modern desktop browsers, as well as iOS, Android and BlackBerry&#8217;s mobile WebKit browsers.</li>
<li>Uses css3-mediaqueries.js to work in IE or any browser that supports JavaScript but not Media Queries.</li>
</ul>
<p>Check it out here <a title="Fluid Squares" href="http://www.fluidsquares.com/">www.fluidsquares.com</a> or download <a href="http://fluidsquares.com/fluid-squares-v2.0.zip">fluid-squares-v2.0.zip</a> (24kb). Use it or modify it any way you wish.<br />
<a name="what-problem-does-it-fix"></p>
<h4>What problem does Fluid Squares fix?</h4>
<p>Without a fix, the result of reducing a browser window&#8217;s width squashes a fluid grid&#8217;s squares into rectangles:</p>
<p><img title="rectangles" src="http://craigrozynski.files.wordpress.com/2011/04/1.png?w=575&h=191" alt="" width="575" height="191" /></p>
<p>To fix this each unit&#8217;s padding-bottom size is set to match its width in percentages. On top of that each unit is a percentage of the global container to determine how many columns there are.</p>
<p>Setting a unit&#8217;s width to 25% and padding-bottom to 25% will give you four units in a row that will remain square regardless of screen size or browser window resizing.</p>
<h4>What changed in version 2?</h4>
<p>The <a href="http://dinosaurswithlaserz.com/2011/04/23/fluid-squares/">original version</a> of Fluid Squares used transparent images with max-width:100% to make a box stay square in a fluid grid. Thanks to Marco Lago’s (<a href="http://twitter.com/#!/marcolago">@marcolago</a>) clever update, transparent images are now history thanks to a few clever lines of CSS:</p>
<pre>#unit {
  width:50%;
  padding-bottom:50%; 
}</pre>
<p>Marco writes on <a href="http://absolide.tumblr.com/post/7317210512/full-css-fluid-squares">his blog</a>:</p>
<blockquote><p>It is possible to make full CSS fluid squares without images hack or javascript workarounds? YES! Just think how paddings (and margins) works in the <a href="http://www.w3.org/TR/CSS2/box.html">box-model definition</a>. If the vertical paddings (and margins) are specified in <strong>percent </strong>(%) values the <strong>size </strong>is a percent of the <strong>width </strong>of the <strong>containing element</strong>.<strong> </strong>So if you write: width: 50%; height: 0; padding-bottom: 50%; you get a fluid square box with only a three row CSS declaration.</p></blockquote>
<h4>The ingredients</h4>
<p><strong>HTML </strong></p>
<p><strong></strong>The basic structure of each unit is a div for content, which is nested in an anchor element:</p>
<pre>&lt;a href="url"&gt;
  &lt;div&gt;content&lt;/div&gt;
&lt;/a&gt;</pre>
<p>If you don&#8217;t want the entire unit to be a link, a class has been created for that purpose. Just add class=&#8221;category&#8221; to the div and remove the anchor element.</p>
<p><strong>CSS</strong></p>
<p><strong></strong>Media Queries control the number of columns displayed (1, 2, 3, and 4) on browser resize, as well as providing fine control over font sizes.</p>
<p>As far as support goes, Safari 3+, Chrome, Firefox 3.5+, Opera 7+, and IE9 all natively parse Media Queries, as do more recent mobile browsers such as Opera Mobile and all those that run on mobile WebKit. For older browsers and IE less than 9, Version 2 of Fluid Squares uses <a href="http://code.google.com/p/css3-mediaqueries-js/">css3-mediaqueries.js</a>, which makes any browser that supports JavaScript interpret Media Queries.</p>
<p>I&#8217;ve also cut down a css reset to bare basics to suit this bare bones grid, customise this to suit your needs.</p>
<p><em></em><strong>iOS Safari bug fix</strong></p>
<p><strong></strong>A bug in iOS Safari causes text to run off the screen when switching from portrait to landscape orientation. A JavaScript <a href="https://gist.github.com/901295">Safari zoom bug fix</a> fixes this, but I&#8217;ve used the non-JavaScript alternative, which is to disable user zooming: &lt;meta name = &#8220;viewport&#8221; content = &#8220;width=device-width, <em>maximum-scale=1</em>&#8220;&gt;. Preventing zooming generally isn&#8217;t a nice thing to do to a user, but because Fluid Squares uses Media Queries to tailor the layout and font sizes for the mobile device this isn&#8217;t a problem. If you wish to support mobile browsers that don&#8217;t run on mobile WebKit, use the JavaScript fix instead.</p>
<p><strong>No shiv?</strong></p>
<p><strong></strong>While it&#8217;s HMTL5, a shiv isn&#8217;t required because it doesn&#8217;t use any of the new HTML5 elements. If you want to user &lt;header&gt;, &lt;nav&gt; etc include a shiv. Browsers that don&#8217;t natively support new HTML5 elements will then treat them as blocks and allow styling. Consider <a title="Remy Sharp Shiv" href="http://remysharp.com/2009/01/07/html5-enabling-script/">Remy&#8217;s Shiv</a> and <a title="Modernizr" href="http://www.modernizr.com/">Modernizr</a>.</p>
<p><strong>No wrapper?</strong></p>
<p><strong></strong>It uses the <a href="http://camendesign.com/code/developpeurs_sans_frontieres">body tag as a wrapper</a>, but would certainly work within a standard div wrapper or new HTML5 block elements.</p>
<p><strong>Icons</strong></p>
<p><strong></strong>ico and webclip files are included in the directory. Frustratingly I could not get my Android emulator to display a Web Clip icon when saving a bookmark to the home screen, so removed the apple-touch-icon link rel tag from the head. Matthias Byens has written a thorough article, <a title="Everything you always wanted to know about touch icons" href="http://mathiasbynens.be/notes/touch-icons">&#8216;Everything you always wanted to know about touch icons&#8217;</a>, on a subject that is much more convoluted than it should be.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/1381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/1381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/1381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/1381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/1381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/1381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/1381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/1381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/1381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/1381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/1381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/1381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/1381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/1381/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1381&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/07/18/fluid-squares-v2/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110718-b4k42dutduwy3fpf5j5np49rar.jpg" medium="image">
			<media:title type="html">Fluid Squares V2</media:title>
		</media:content>

		<media:content url="http://craigrozynski.files.wordpress.com/2011/04/1.png" medium="image">
			<media:title type="html">rectangles</media:title>
		</media:content>
	</item>
		<item>
		<title>iOS App Design Workflow: Part 2</title>
		<link>http://dinosaurswithlaserz.com/2011/06/26/ios-app-design-workflow-part-2/</link>
		<comments>http://dinosaurswithlaserz.com/2011/06/26/ios-app-design-workflow-part-2/#comments</comments>
		<pubDate>Sun, 26 Jun 2011 04:19:23 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[app sketchbook]]></category>
		<category><![CDATA[case study]]></category>
		<category><![CDATA[Evernote]]></category>
		<category><![CDATA[Flairbuilder]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=1329</guid>
		<description><![CDATA[I’m turning a website for traveling surfers, www.surftourist.com, into an iOS app. It’s the first time I’ve designed for iOS, and I’m building my workflow – setting up shop – for future projects. This post follows on from iOS App Design Workflow: Part 1. Keeping in touch with the team online I&#8217;d recommend using Campfire [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1329&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>I’m turning a website for traveling surfers, <a href="http://www.surftourist.com" target="_blank">www.surftourist.com</a>, into an iOS app. It’s the first time I’ve designed for iOS, and I’m building my workflow – setting up shop – for future projects. This post follows on from <a title="iOS App Design Workflow: Part 1" href="http://dinosaurswithlaserz.com/2011/06/02/ios-app-design-workflow-part-1/">iOS App Design Workflow: Part 1</a>.</em></p>
<h3><img class="alignnone" title="screengrab" src="https://img.skitch.com/20110626-rd126sgg4rcbpgfbw7jnia368m.jpg" alt="" width="555" height="344" /></h3>
<h3>Keeping in touch with the team online</h3>
<p>I&#8217;d recommend using <a href="http://campfirenow.com/">Campfire</a> with <a href="http://propaneapp.com/">Propane</a> for online team communication, although on this project we&#8217;ve been using Skype — out of laziness perhaps — but as we&#8217;re building it for ourselves it&#8217;s a bit more of a casual arrangement. If you are using Skype with multiple users be careful – it doesn&#8217;t save the contents of a chat between more that two people. Yes, I did find that out the hard way.</p>
<h3>Remembering everything</h3>
<p>Ideas and key points from conversations get pasted into <a href="http://www.evernote.com/">Evernote</a>. I&#8217;ve tried Yojimbo and Together – digital scrapbooks – but settled on Evernote because it&#8217;s development cycle seems to be the most active. If you&#8217;d like to try an alternative check out Together. I also recommend <a href="http://facelikefizz.wordpress.com/2008/06/30/yojimbo-vs-together-vs-evernote-a-review/">Yojimbo vs Together vs Evernote: a review</a>.</p>
<h3>Information Architecture: Sketches</h3>
<p>The features and direction weren&#8217;t defined well enough to jump straight into wireframing, so I sought feedback from sketches first. The sketches were rough enough not to waste time but clear enough to get the ideas across.</p>
<p><img title="Sketch" src="https://img.skitch.com/20110607-q126qgwitirwg3ef8n1t73dk3s.jpg" alt="" width="584" height="352" /></p>
<p>For the novelty of it, and a little added convenience, I sketched on an iPhone App Sketchbook from <a href="http://appsketchbook.com/products/app-sketchbook">appsketchbook.com</a>. On standard delivery it arrived in two weeks – far too long. If you&#8217;re not in the States get it sent express.</p>
<p><img class="alignnone" title="UI Stencils" src="https://img.skitch.com/20110607-m634189njmwucah6wffrq4pjfb.jpg" alt="" width="561" height="328" /></p>
<p>Also check out <a href="http://www.uistencils.com/iphone-stencil-kit">UI Stencils&#8217;</a> stencils and notepads. UI Stencils iPhone Sketch Pad doesn&#8217;t provide enough room for adding comments and notes to screens for me, but they have got great products including a <a href="http://www.uistencils.com/collections/frontpage/products/browser-dry-erase-board-whiteboard">dry erase board with browser chrome</a>, a really great idea.</p>
<h3>Information Architecture: Wireframes</h3>
<p>The sketches triggered discussion. Once there was general agreement I produced a new round of rough sketches for my own use that covered every screen of the revised app.</p>
<p>The approach I&#8217;m taking to the user experience on this project is more casual than what you&#8217;d find at a UX studio, which would be defining personas, scenarios and user testing in a more scientific, methodical way. If you&#8217;re interested in those processes there&#8217;s plenty of fantastic resources online waiting to appear in a results listing. See <a href="http://commonknowledge.net.nz/2009/11/budget-usability-testing/">No excuses &#8211; budget usability testing</a> for a start.</p>
<p>Until this project I&#8217;ve used Indesign for creating IA documentation — very much a designer&#8217;s approach. Professionals advocate Axure, but I was hoping to find something that was more mobile app aware. See <a href="http://dinosaurswithlaserz.com/2011/02/18/the-search-for-the-perfect-ia-builder-for-mobile/">The search for the perfect IA application</a> if you want to read a little about Balsamiq, Omnigraffle and some of the other available options. The tool that best suited what I was looking for was <a href="http://flairbuilder.com/">FlairBuilder</a>.</p>
<p><img class="alignnone" title="Flairbuilder" src="http://img.skitch.com/20110219-1fapjnbdxcnkists2r8tct2k3p.jpg" alt="" width="590" /></p>
<p>The most attractive feature of Flairbuilder is the ability to push a working prototype online with the click of a button. This was a major plus not least of all because our team is spread across Australia, Scotland and Japan. Another great feature is a component library that includes mock iPhone UI elements and device artwork.</p>
<p>Flairbuilder runs on Adobe AIR. Despite some fiddly bugs, which were noted and sent to the developer (who has promised they&#8217;ll be ironed out in the next release – thanks Christian!), the app was intuitive enough that I had a 40 screen iPhone IA/prototype with site map built in two days.</p>
<p><img class="alignnone" title="IA sample" src="https://img.skitch.com/20110609-r3gtxs9wxuycm825utty1mxarg.jpg" alt="" width="589" height="562" /></p>
<p>Not only could I create a working (clickable if you like) prototype, the ability to add interactivity meant that I was able to create user scenario paths that the other team members could click through. The team could forget about navigating the IA and focus on experiencing how users would complete specific tasks.</p>
<p><img class="alignnone" title="User scenarios" src="https://img.skitch.com/20110609-e35ef797ccbu8i917qaiq7qbud.jpg" alt="" width="589" height="191" /></p>
<p>I love crafting user experiences, and writing front-end code too for that matter, but what people know me for is interface design. Looking ahead to commercial projects I&#8217;d like to partner with a UX team. If you have any recommendations leave a comment or dm me.</p>
<p>Thanks for reading. The next article will focus on interface design. Do you build apps and have suggestions for a mobile workflow? What&#8217;s your advice?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/1329/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1329&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/06/26/ios-app-design-workflow-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110626-rd126sgg4rcbpgfbw7jnia368m.jpg" medium="image">
			<media:title type="html">screengrab</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110607-q126qgwitirwg3ef8n1t73dk3s.jpg" medium="image">
			<media:title type="html">Sketch</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110607-m634189njmwucah6wffrq4pjfb.jpg" medium="image">
			<media:title type="html">UI Stencils</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20110219-1fapjnbdxcnkists2r8tct2k3p.jpg" medium="image">
			<media:title type="html">Flairbuilder</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110609-r3gtxs9wxuycm825utty1mxarg.jpg" medium="image">
			<media:title type="html">IA sample</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110609-e35ef797ccbu8i917qaiq7qbud.jpg" medium="image">
			<media:title type="html">User scenarios</media:title>
		</media:content>
	</item>
		<item>
		<title>WebInk vs TypeKit</title>
		<link>http://dinosaurswithlaserz.com/2011/06/13/webink-vs-typekit/</link>
		<comments>http://dinosaurswithlaserz.com/2011/06/13/webink-vs-typekit/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 05:45:47 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[typekit]]></category>
		<category><![CDATA[webink]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=1350</guid>
		<description><![CDATA[Extensis, the outfit known for its font management software Suitcase/Fusion, launched a web font service called WebInk in August 2010. After a quick snoop around WebInk&#8217;s website the two main differences when compared to Typekit are JavaScript not being required to run, and pricing structure. If you&#8217;re a Typekit user like me you&#8217;ve been adding two script [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1350&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="Typekit vs WebInk" src="https://img.skitch.com/20110613-ta9pgahg1am2kk9ycsm8f81n81.jpg" alt="" width="577" height="350" /></p>
<p>Extensis, the outfit known for its font management software Suitcase/Fusion, launched a web font service called <a href="http://www.webink.com">WebInk</a> in August 2010.</p>
<p>After a quick snoop around WebInk&#8217;s website the two main differences when compared to <a href="http://www.typekit.com">Typekit</a> are JavaScript not being required to run, and pricing structure.</p>
<p>If you&#8217;re a Typekit user like me you&#8217;ve been adding two script tags to every page that uses web fonts. Not particularly efficient. WebInk simply uses the @font-face rule in your CSS to load fonts from their server, like this:</p>
<pre>@font-face {
font-family: Grotesque;
src: url('http://fnt.webink.com/wfs/?drawer=SSDFR111-0000…&amp;font=ANRVDHQ-VFDSN…');
}</pre>
<p>BUT, (that&#8217;s a big but btw) one of the benefits of Typekit&#8217;s script is that it hides the Flash Of Unstyled Text (<a href="http://paulirish.com/2009/fighting-the-font-face-fout/">FOUT</a>) by concealing the text until it&#8217;s ready to display styled. Ironically WebInk provides a script called <a href="http://www.extensis.com/en/WebINK/fout-b-gone/">FOUT-b-gone</a> via its blog to fix this, so technically their &#8220;No JavaScript&#8221; claim is BS. The problematic browsers in question are IE 7-9 and FF 3.5 and 3.6. Other modern browsers have already pulled into line, so <em>eventually</em> FOUT will be a thing of the past, the script can be deleted and we can all forget it ever happened.</p>
<p>The next main difference is pricing. Typekit charges an annual fee, WebInk is monthly. Typekit calculates bandwidth based on page views, Webink on the actual amount of bandwidth that&#8217;s been used serving the fonts (at least that&#8217;s how they distinguish it in their plans).</p>
<p>WebInk&#8217;s <a href="http://www.extensis.com/en/WebINK/pricing/index.jsp">pricing plans</a>:</p>
<p><a href="http://www.extensis.com/en/WebINK/pricing/index.jsp"><img class="alignnone" title="WebInk pricing" src="https://img.skitch.com/20110613-qaaikrkuex66amqa36sjaimb37.jpg" alt="" width="579" height="300" /></a></p>
<p>If you&#8217;re hosting a personal site that&#8217;s getting less than 5000 visitors a months, Webink would be the marginally cheaper option at $23.88 to Typekit&#8217;s $24.99. Negligible. WebInk&#8217;s monthly pricing means if your bandwidth varies wildly from month to month your fee will too – check your credit card statements. Typekit state on their pricing page if your bandwidth is exceeded they&#8217;ll contact you to recommend a different plan. It does give the impression that WebInk&#8217;s fee is more prone to fluctuation.</p>
<p>Typekit&#8217;s <a href="https://typekit.com/plans">pricing plans</a>:</p>
<p><a href="https://typekit.com/plans"><img class="alignnone" title="Typekit pricing" src="https://img.skitch.com/20110613-pt1p2a342nb4r8u3eh698p6qww.jpg" alt="" width="579" height="178" /></a></p>
<p>Obviously other factors such as font libraries and their browsing experience, and account management also needs to be taken into account. WebInk isn&#8217;t ground breakingly different enough to Typekit for me to switch my existing sites over. I&#8217;m keen to give it a go on a future project to fully understand the subtle differences.</p>
<p>Personally I also prefer Typekit&#8217;s website to WebInk&#8217;s <del>(seriously guys, Futura?)</del>. Any product or service whose customer base are designers can&#8217;t afford not to be obsessive over their aesthetic presentation, and I find the WebInk site a little gloomy. <del>Was using Futura a conceptual statement? It&#8217;s a classic typeface but it just doesn&#8217;t work for me in this context.</del> (<em>Jim Kidwell from Extensis points out that the fonts used are Proxima Nova and Foco, my bad.</em>)</p>
<p><a href="http://www.typekit.com">Typekit.com</a> and <a href="http://www.webink.com">WebInk.com</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/1350/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1350&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/06/13/webink-vs-typekit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110613-ta9pgahg1am2kk9ycsm8f81n81.jpg" medium="image">
			<media:title type="html">Typekit vs WebInk</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110613-qaaikrkuex66amqa36sjaimb37.jpg" medium="image">
			<media:title type="html">WebInk pricing</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110613-pt1p2a342nb4r8u3eh698p6qww.jpg" medium="image">
			<media:title type="html">Typekit pricing</media:title>
		</media:content>
	</item>
		<item>
		<title>iOS App Design Workflow: Part 1</title>
		<link>http://dinosaurswithlaserz.com/2011/06/02/ios-app-design-workflow-part-1/</link>
		<comments>http://dinosaurswithlaserz.com/2011/06/02/ios-app-design-workflow-part-1/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 14:01:25 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[built-for-mobile]]></category>
		<category><![CDATA[design for mobile]]></category>
		<category><![CDATA[mobile prototypes]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=1325</guid>
		<description><![CDATA[I&#8217;m turning a website for traveling surfers, www.surftourist.com, into an iOS app. It&#8217;s the first time I&#8217;ve designed for iOS, and I&#8217;m building my workflow – setting up shop – for future projects. Step 1: Read the instructions It took a couple of afternoons to read Apple&#8217;s iOS Human Interface Guidelines. I got a bit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1325&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="Surftourist" src="https://img.skitch.com/20110602-g1up2dayknhi8gbnpdirj9ww6.jpg" alt="" width="566" height="152" /></p>
<p>I&#8217;m turning a website for traveling surfers, <a href="http://www.surftourist.com">www.surftourist.com</a>, into an iOS app. It&#8217;s the first time I&#8217;ve designed for iOS, and I&#8217;m building my workflow – setting up shop – for future projects.</p>
<h3>Step 1: Read the instructions</h3>
<p>It took a couple of afternoons to read Apple&#8217;s iOS Human Interface Guidelines. I got a bit carried away taking notes and ended up publishing a <a href="http://dinosaurswithlaserz.com/2011/03/05/ios-human-interface-guidelines-part-6-ui-element-usage/">seven part article</a>, which reformatted the guidelines specifically for designers. It&#8217;s been getting roughly 100 hits a day, and is the second result after Apple on Google for iOS Human Interface Guidelines. If you&#8217;re reading the HIG, check it out.</p>
<h3>Step 2: App Def</h3>
<p>Create an App Definition Statement. Challenge yourself to make it as short as possible.</p>
<p>We wanted our app to:</p>
<ul>
<li>Let surfers search for surf spots.</li>
<li>Create and maintain a surf trip itinerary.</li>
<li>Share their trip progress and surf spot discoveries.</li>
<li>Give surfers the ability to record their regular day to day surfs.</li>
</ul>
<p>If that sounds like a lot for a mobile app, you&#8217;re probably right. Regardless of it being ambitious or crazy, I managed to whittle it down to the following App Definition:</p>
<p style="padding-left:30px;"><em>Plan your surf trips. Share your surfs.</em></p>
<h3>Step 3: Feature List</h3>
<p><strong>1. Plan your surf trips</strong><br />
- Search surf spots via either map or country<br />
- Collect spots into trips, check in to those spots during a trip</p>
<p><strong>2. Share your surfs</strong><br />
- Share your regular surfs and trip surfs with comments, ratings and photos</p>
<p>For the purpose of this article that should do. I continued to break the features down into finer detail, turning features into functions, separating functions into groups, and began sketching a basic Information Architecture.</p>
<p>Next: iOS App Design Workflow: Part 2. See what tools I used to create the Surftourist Information Architecture.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/1325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/1325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/1325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/1325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/1325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/1325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/1325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/1325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/1325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/1325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/1325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/1325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/1325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/1325/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1325&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/06/02/ios-app-design-workflow-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110602-g1up2dayknhi8gbnpdirj9ww6.jpg" medium="image">
			<media:title type="html">Surftourist</media:title>
		</media:content>
	</item>
		<item>
		<title>Fluid Squares</title>
		<link>http://dinosaurswithlaserz.com/2011/04/23/fluid-squares/</link>
		<comments>http://dinosaurswithlaserz.com/2011/04/23/fluid-squares/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 06:19:35 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Grids]]></category>
		<category><![CDATA[fluid grids]]></category>
		<category><![CDATA[responsive web design]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=1245</guid>
		<description><![CDATA[Update: This version of Fluid Squares has been superseded by version 2. The original version documented below used transparent images with max-width:100% to make a box stay square in a fluid grid. Thanks to Marco Lago&#8217;s clever update, transparent images are now history thanks to a few clever lines of CSS. Fluid Squares is an HTML5 fluid grid with square [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1245&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1276" title="Fluid Squares" src="http://craigrozynski.files.wordpress.com/2011/04/up1.png?w=575&h=330" alt="" width="575" height="330" /></p>
<p><strong>Update:</strong> <a href="http://dinosaurswithlaserz.com/2011/07/18/fluid-squares-v2/">This version of Fluid Squares has been superseded by version 2</a>. The original version documented below used transparent images with max-width:100% to make a box stay square in a fluid grid. Thanks to Marco Lago&#8217;s clever update, transparent images are now history thanks to a few clever lines of CSS.</p>
<p>Fluid Squares is an HTML5 <a href="http://www.alistapart.com/articles/fluidgrids">fluid grid</a> with square units, whose layout switches from four to three to two to one columns depending on browser width. It works on the desktop, iOS, Android and BlackBerry&#8217;s mobile WebKit browsers. Check it out here <a title="Fluid Squares" href="http://www.fluidsquares.com/">www.fluidsquares.com</a> or download here <del>fluid-squares-v1.0.zip (20kb)</del>. fluid-squares-v2.o.zip. Feel free to use it, modify it any way you wish.</p>
<h4>Boxes that stay square in a fluid grid</h4>
<p>Without a fix, the result of reducing a browser window&#8217;s width squashes a fluid grid&#8217;s squares into rectangles:</p>
<p><img class="alignnone size-full wp-image-1280" title="rectangles" src="http://craigrozynski.files.wordpress.com/2011/04/1.png?w=575&h=191" alt="" width="575" height="191" /></p>
<p>To fix this:</p>
<ol>
<li>A square transparent placeholder image is used in each unit.</li>
<li>The image&#8217;s <a href="http://unstoppablerobotninja.com/entry/fluid-images/">max-width</a> is set to 100%.</li>
<li>The image&#8217;s actual size must match the size of the largest instance you intend to display a grid unit.</li>
<li>Content is laid over the top of each image using an absolutely positioned div.</li>
</ol>
<p>I can&#8217;t take the credit for this idea – see the &#8216;OUR WORK&#8217; text box on <a href="http://electricpulp.com/">electricpulp.com</a> – but as far as I can Google the method hasn&#8217;t been published before.</p>
<h4>The ingredients</h4>
<p><strong>HTML </strong>The basic structure of each unit is a placeholder img and a div for content, nested in an anchor element:</p>
<pre>&lt;a href="url"&gt;
  &lt;img src="img/solid.png" alt=""&gt;
  &lt;div&gt;content&lt;/div&gt;
&lt;/a&gt;</pre>
<p>If you don&#8217;t want the entire unit to be a link, see the .category div style. While I&#8217;ve used text, the grid unit could simply be an image, in which case the content div would be removed and placeholder image substituted with the image you wish to use. <strong>CSS</strong> Media queries control the number of columns displayed (4, 3, 2, and 1) on browser resize, with additional media queries providing fine control over font sizes, plus two media queries for mobile devices both portrait and landscape. Values for the mobile devices&#8217; max-device-width were taken from <a href="https://github.com/shichuan/mobile-html5-boilerplate/wiki">Shichuan&#8217;s MBP</a>. Which browsers support media queries? Safari 3+, Chrome, Firefox 3.5+, Opera 7+, and IE9 all natively parse media queries, as do more recent mobile browsers such as Opera Mobile and mobile WebKit. Older versions, notably IE, don’t support media queries. I&#8217;ve cut down a css reset to bare basics to suit this bare bones grid. Media queries and column widths have been commented. <strong>Older browsers</strong> IE 8 and below, which don&#8217;t support media queries, get the standard 990px four column version via a conditional stylesheet. It is possible to force non-supportive browsers to work with media queries using <a href="http://code.google.com/p/css3-mediaqueries-js/">css3-medaqueries.js</a>. <strong>iOS Safari bug fix</strong> A bug in iOS Safari causes text to run off the screen when switching from portrait to landscape orientation. A JavaScript <a href="https://gist.github.com/901295">Safari zoom bug fix</a> fixes this, but I&#8217;ve used the non-JavaScript alternative, which is to disable user zooming: &lt;meta name = &#8220;viewport&#8221; content = &#8220;width=device-width, <em>maximum-scale=1</em>&#8220;&gt;. Preventing zooming generally isn&#8217;t a nice thing to do to a user, but as media queries tailor the layout and font sizes for the mobile device this isn&#8217;t a problem. If you wish to support mobile browsers that don&#8217;t mobile WebKit, use the JavaScript fix instead. <strong>No shiv?</strong> While it&#8217;s HMTL5, a shiv isn&#8217;t required because it doesn&#8217;t use any of the new HTML5 elements. If you want to user &lt;header&gt;, &lt;nav&gt; etc include a shiv. Browsers that don&#8217;t natively support new HTML5 elements will then treat them as blocks and allow styling. Consider <a title="Remy Sharp Shiv" href="http://remysharp.com/2009/01/07/html5-enabling-script/">Remy&#8217;s Shiv</a> and <a title="Modernizr" href="http://www.modernizr.com/">Modernizr</a>. <strong>No wrapper?</strong> It uses the <a href="http://camendesign.com/code/developpeurs_sans_frontieres">body tag as a wrapper</a>, but would certainly work within a standard div wrapper or HTML5 new block elements. <strong>Icons</strong> ico and webclip files are included in the directory. Frustratingly I could not get my Android emulator to display a Web Clip icon when saving a bookmark to the home screen, so removed the apple-touch-icon link rel tag from the head. Matthias Byens has written a thorough article, <a title="Everything you always wanted to know about touch icons" href="http://mathiasbynens.be/notes/touch-icons">&#8216;Everything you always wanted to know about touch icons&#8217;</a>, on a subject that is much more convoluted than it should be.</p>
<h4>Testing on mobile emulators</h4>
<p>For those of us not lucky enough to own a pile of mobile devices to test on, we have emulators. If you&#8217;re on a Mac like me, you&#8217;ll need VMWare or Parallels to run the majority of them. You&#8217;ll need to be running Vista or Windows 7 for the Windows Phone 7 emulator, though note that WP7 browser doesn&#8217;t currently support media queries.</p>
<ul>
<li><a title="BlackBerry device simulators" href="http://www.blackberry.com/developers/downloads/simulators/">BlackBerry device simulators</a> (tested)</li>
<li><a title="iOS emulator" href="http://developer.apple.com/xcode/">iOS Safari iPhone emulator via xCode</a> (tested)</li>
<li><a title="iOS Safari iPad emulator" href="http://alexw.me/ipad2/">iOS iPad emulator</a> (tested)</li>
<li><a title="Android emulator" href="http://forum.xda-developers.com/showthread.php?p=4420071#post4420071">Android emulator</a> (tested)</li>
<li><a title="Windows Phone 7 emulator" href="http://www.redmondpie.com/standalone-windows-phone-7-series-emulator-9140536/">Windows Phone 7 emulator</a> and <a title="WP7 Developer Center" href="http://msdn.microsoft.com/en-us/windowsmobile">WP7 Dev Center</a></li>
<li><a title="Palm Pre emulator" href="https://developer.palm.com/content/resources/develop/sdk_pdk_download.html">Palm Pre emulator</a></li>
<li><a title="Opera mini " href="http://www.opera.com/mobile/demo/">Opera Mini browser</a> (browser based emulator that works in Safari, not Chrome for me)</li>
<li><a title="Symbian SDKs" href="http://www.forum.nokia.com/Library/Tools_and_downloads/Other/Symbian_SDKs/">Nokia Symbian SDKs</a></li>
</ul>
<p>Note that there is a <a title="Browser based iPhone Safari emulator" href="http://www.testiphone.com/">browser-based iPhone emulator</a> but I found it produced subtly different results to the actual device.</p>
<h4>Thoughts</h4>
<p>I have to leave Fluid Squares alone for now but it&#8217;s far from perfect. For instance the IE conditional stylesheet could easily be modified from serving a fixed layout to a fluid one. A grid of images which dim to show text on hover would be fantastic. If you&#8217;ve got any suggestions or improvements, speak up.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/1245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/1245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/1245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/1245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/1245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/1245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/1245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/1245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/1245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/1245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/1245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/1245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/1245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/1245/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=1245&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/04/23/fluid-squares/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>

		<media:content url="http://craigrozynski.files.wordpress.com/2011/04/up1.png" medium="image">
			<media:title type="html">Fluid Squares</media:title>
		</media:content>

		<media:content url="http://craigrozynski.files.wordpress.com/2011/04/1.png" medium="image">
			<media:title type="html">rectangles</media:title>
		</media:content>
	</item>
		<item>
		<title>Saved by the Mobile Web</title>
		<link>http://dinosaurswithlaserz.com/2011/04/15/saved-by-the-mobile-web/</link>
		<comments>http://dinosaurswithlaserz.com/2011/04/15/saved-by-the-mobile-web/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 12:12:29 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Develop]]></category>
		<category><![CDATA[320 and Up]]></category>
		<category><![CDATA[Mobile Boilerplate]]></category>
		<category><![CDATA[Mobile First]]></category>
		<category><![CDATA[mobile web]]></category>
		<category><![CDATA[responsive web design]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=967</guid>
		<description><![CDATA[While I was busy relocating my physical self from Australia to Japan last year, mentally I was pushing web design into the back of my mind. It didn&#8217;t matter how I looked at it, after 14 years digital had started to feel stale. Learning a new way of life and studying a language in Japan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=967&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While I was busy relocating my physical self from Australia to Japan last year, mentally I was pushing web design into the back of my mind. It didn&#8217;t matter how I looked at it, after 14 years digital had started to feel stale. Learning a new way of life and studying a language in Japan was my ticket out of there.</p>
<p>That was over a year ago now. Life&#8217;s been challenging, but good. The one thing that rode me was eventually I was going to have to make a buck again, and the thought of going back to digital felt like dry toast.</p>
<p>I reluctantly returned to the knowledge web, and started reading. Turns out I had a hell of a lot of catching up to do. The smartphone was doing to the desktop web what the web had done to print 15 years ago. It was fresh again, and before I knew it I was hooked. I&#8217;d been saved by the mobile web.</p>
<p>I decided to write this article following Andy Clarke&#8217;s (<a title="Andy Clarke on Twitter" href="http://twitter.com/#!/Malarkey">@Malarkey</a>) release of <a title="Andy Clarke 320 and Up" href="http://www.stuffandnonsense.co.uk/blog/about/320_and_up/">320 and Up</a> this week, and thought it was a nice milestone to take stock. <a href="http://twitter.com/paul_irish">Paul Irish</a>, <a href="http://twitter.com/nimbupani">Divya Manian</a> and <a href="http://www.blog.highub.com/">Shi Chuan</a> created the <a title="Mobile Boilerplate" href="http://html5boilerplate.com/mobile/">Mobile Boilerplate</a> (based on their <a title="HTML5 Boilerplate" href="http://www.google.com/url?sa=t&amp;source=web&amp;cd=1&amp;sqi=2&amp;ved=0CB8QFjAA&amp;url=http%3A%2F%2Fhtml5boilerplate.com%2F&amp;ei=4BmoTYW2HoSgvgOf1YSCCg&amp;usg=AFQjCNG_h8w_gqtXq5GGOIUWhZBh2HNrmA">HTML5 Boilerplate</a>) to accumulate everything we&#8217;ve learned till now about designing for the mobile web. Andy&#8217;s 320 and Up is very much a <a title="Luke Wroblewski's Mobile First" href="http://www.lukew.com/presos/">Mobile First</a> Boilerplate, and takes a slightly different approach. Let&#8217;s take a step back and look at some of the milestones that have led to this point.</p>
<h3>Rethinking the Mobile Web</h3>
<p>Bryan Rieger (<a title="Bryan Rieger on Twitter" href="http://twitter.com/#!/bryanrieger">@bryanrieger</a>) from <a title="Yiibu website" href="http://Yiibu.com">Yiibu</a> reflects that due to the fragmentation of devices and device specs, web developers tend to focus on the iPhone. This is unfortunate, considering the iPhone has a very small piece of the smartphone market. The <a title="Rethinking the Mobile Web" href="http://www.webmonkey.com/2010/09/slide-show-time-rethinking-the-mobile-web/">Rethinking the Mobile Web slideshow</a> is a great piece of work, and the <a title="Rethinking the Mobile Web" href="http://yiibu.com/articles/rethinking-the-mobile-web/">related article</a> is a nice lead in. Here&#8217;s some of the things I took away from it:</p>
<ul>
<li>6.8 billion people in the world today,<br />
1.8 billion with internet connections,<br />
<strong>3.4 billion with mobile devices</strong><em>.</em></li>
<li>iPhone has less than 4% global market share.</li>
<li>Responsive websites work beautifully on the iPhone and Android, but not so on almost every other mobile device.</li>
<li>The absence of support for media queries is in fact the first media query you should be making.</li>
<li>Progressively enhance using JavaScript and media queries.</li>
<li>Adapt content (especially images) appropriately for each device.</li>
<li>Compress content where possible, and don&#8217;t include unnecessary data.</li>
</ul>
<p>Media queries work great on iPhone and Android, but are only a very small piece of the mobile web. Therefore:</p>
<blockquote><p>A desktop site + media queries does not equal a mobile website</p></blockquote>
<p>Thanks to modern desktop browser support for media queries, and the ability to retrofit less supportive desktop browsers with fallbacks, the correct equation is:</p>
<blockquote><p>Mobile site + media queries = desktop site</p></blockquote>
<p>And that&#8217;s the formula Andy Clarke&#8217;s 320 and Up is based on.</p>
<p>Bryan notes that the concept of designing for the lowest common denominator and working up to the desktop goes way back to 2003, with <a title="Progressive Enhancement" href="http://en.wikipedia.org/wiki/Progressive_enhancement">progressive enhancement</a>.</p>
<h3>Responsive design! One web! We&#8217;re saved!</h3>
<p>When I took notice of how CSS3 media queries could shape a desktop site for mobile, particularly thanks to Ethan Marcotte&#8217;s <a title="Ethan Marcotte's Responsive Web Design" href="http://www.alistapart.com/articles/responsive-web-design/">Responsive Web Design</a> article on A List Apart, I wondered whether building a separate .mobi or m. website for mobile users was a waste of time. It isn&#8217;t, as shown in Rethinking the Mobile Web and expanded on in Jason Grigsby&#8217;s article below. You can read more about the One Web idea at <a title="The One Web Debate" href="http://www.cloudfour.com/new-to-mobile-welcome-to-the-one-web-debate/">New to Mobile? Welcome to the One Web Debate</a>.</p>
<h3>No! No! No we&#8217;re not! Keep panicking!</h3>
<p>Unfortunately CSS media queries just aren&#8217;t well supported on mobile today, but that&#8217;s not the half of it. Cue Jason Grigsby&#8217;s <a title="CSS Media Queries is Fools Gold" href="http://www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/">CSS Media Queries is Fools Gold</a>. Jason&#8217;s assumption is that speed matters more on mobile:</p>
<ul>
<li>Letting the browser scale images is a bad idea</li>
<li>Using media queries to deliver different images doesn&#8217;t work</li>
<li>Media queries do not optimise HTML or JavaScript</li>
<li>Media queries aren&#8217;t supported well</li>
<li>The mobile context is ignored</li>
</ul>
<p>Trying to address these problems, do media query polyfills like <a title="CSS media query polyfill respond.js" href="https://github.com/scottjehl/Respond">respond.js</a>, and <a title="Responsive image solutions" href="http://filamentgroup.com/lab/responsive_images_experimenting_with_context_aware_image_sizing/">responsive image solutions</a> go far enough?</p>
<h3>Mobile First</h3>
<p>You&#8217;d be forgiven for thinking that when the web and smartphones first met, Luke Wroblewski (<a title="Luke Wroblewski on Twitter" href="http://twitter.com/lukew">@lukew</a>) slid out in a fetal position and rose to spread the word. Luke travels the globe evangelising the mobile web and we have him to thank for the concept of Mobile First. He argues that designing for mobile is a discipline that forces design teams to include only the most important aspects of their product, which equates to better user experiences. The salient points in his Mobile First presentation are:</p>
<ul>
<li>Smartphone sales will outpace PC sales by the end of 2011.</li>
<li>Mobile forces you to focus.</li>
<li>Mobile gives us locative, context-aware capabilities.</li>
</ul>
<p>Here&#8217;s the <a title="Luke Wroblewski's Mobile First article" href="http://www.lukew.com/ff/entry.asp?933">Mobile First article</a> with links to audio and video of the presentation. I personally found the <a title="Mobile First Presentation PDF" href="http://www.lukew.com/resources/articles/MobileFirst_LukeW.pdf">Mobile First presentation slides</a> (PDF) to be most useful.</p>
<h3>Boilerplates</h3>
<p>In 2011 version 1.0 of Paul Irish and gang&#8217;s Mobile Boilerplate was released. Andy Clarke&#8217;s release of 320 and Up has left me scratching my head whether the Mobile Boilerplate is now redundant, or whether I need to roll up my sleeves and bastardise the two of them to create something I&#8217;m satisfied with. On the other hand it is still very much reliant on CSS media queries and the One Web concept, which up to this point at least has been far from perfect too. Pulling the two boilerplates apart and putting them into practice will be great fodder for the next article.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/967/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/967/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/967/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/967/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/967/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/967/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/967/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/967/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/967/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/967/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/967/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/967/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/967/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/967/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=967&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/04/15/saved-by-the-mobile-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>
	</item>
		<item>
		<title>Mobile framework SMACKDOWN!</title>
		<link>http://dinosaurswithlaserz.com/2011/03/28/mobile-framework-throwdown/</link>
		<comments>http://dinosaurswithlaserz.com/2011/03/28/mobile-framework-throwdown/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 03:27:01 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Web app]]></category>
		<category><![CDATA[jQTouch]]></category>
		<category><![CDATA[jQuery Mobile]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[Rhodes]]></category>
		<category><![CDATA[Sencha Touch]]></category>
		<category><![CDATA[Titanium]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=916</guid>
		<description><![CDATA[As a web designer and developer moving into mobile, the first thing I want to know is whether I can use my current skillset to build apps myself, not just design them. I know that while a web app won&#8217;t perform, look or behave as well as a native one, I can have my very [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=916&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As a web designer and developer moving into mobile, the first thing I want to know is whether I can use my current skillset to build apps myself, not just design them. I know that while a web app won&#8217;t perform, look or behave as well as a native one, I can have my very own mobile app up and running relatively quickly without having to learn a native language. Let&#8217;s compare the most popular frameworks:</p>
<ul>
<li><a href="#jqtouch">jQTouch</a></li>
<li><a href="#jquerymobile">jQuery Mobile</a></li>
<li><a href="#phonegap">PhoneGap</a></li>
<li><a href="#senchatouch">Sencha Touch</a></li>
<li><a href="#titanium">Titanium</a></li>
</ul>
<p>These broadly fall into two categories:</p>
<ol>
<li><a href="#web">Web development frameworks</a><br />
Develop in HTML/CSS/JavaScript.<br />
jQTouch, jQuery Mobile, PhoneGap.</li>
<li><a href="#custom">Custom API frameworks</a><br />
Develop in JavaScript and the framework&#8217;s custom API.<br />
Sencha Touch, Titanium.</li>
</ol>
<p><a name="#web"></a><span class="rule"> </span></p>
<h3>Web development frameworks</h3>
<p>Web development frameworks are perfect for creating simple mobile apps quickly.</p>
<p><a name="jqtouch"></a><span class="rule"> </span></p>
<h4>jQTouch</h4>
<p><a title="JQTouch" href="http://www.jqtouch.com/">jQTouch</a> was created in 2009 by <a title="David Kaneda's website" href="http://9-bits.com/">David Kaneda</a>. It&#8217;s now being run by <a title="Jonathan Stark's blog" href="http://jonathanstark.com/">Jonathan Stark</a>. Jonathan&#8217;s outlined a roadmap for the library&#8217;s future on the <a title="jQTouch blog" href="http://blog.jqtouch.com/post/726299094/jqtouch-roadmap">jQTouch blog</a>. It has a dependency on the JQuery library (you&#8217;ll need both jQuery and jQTouch), and is solely for the iPhone and iPod Touch&#8217;s web browser (not iPad&#8217;s). <a title="jQTouch" href="http://9-bits.com/post/723711597/jqtouch-and-sencha-touch">David hints</a> support is coming for Android and Palm Pre&#8217;s webOS WebKit browsers, but as of March 2011 that hasn&#8217;t materialised.</p>
<p><strong>Nativeness<br />
</strong>UI controls look iOS-ish, but are undeniably jQTouch UI controls. Supports gestures, animations and transitions.</p>
<p><strong>Cross-browser support<br />
</strong>None. iPhone and iPod Touch only.<br />
<em>Updated 29 March 2011: JQTouch is getting close to supporting Android. <em>Michael Mullany, </em>comment #2.<br />
Updated 11 April 2011: You can download the Android-supported version of JQTouch on GitHub now: <a href="https://github.com/senchalabs/jQTouch">https://github.com/senchalabs/jQTouch</a> jqtouch.com&#8217;s download link will be updated shortly.</em></p>
<p><strong>Performance</strong><br />
Okay. It&#8217;s dependent on the jQuery library, a library built with the desktop browser in mind, and some question its efficiency. Some complain that animations aren&#8217;t smooth enough, although this is a complaint of web apps in general.</p>
<p><strong>Ease of development<br />
</strong>Probably the easiest way to build an iPhone app. Work directly with HTML, CSS and jQuery. If you&#8217;re developing something complex, you may find it limited.</p>
<p><strong>Accessible device hardware<br />
</strong>None. Possible by moving your project into the PhoneGap framework.</p>
<p><strong>Price of admission<br />
</strong>Open and free under an MIT license.<br />
<a name="jquerymobile"></a><span class="rule"> </span></p>
<h4>jQuery Mobile</h4>
<p><a title="jQuery Mobile website" href="http://jquerymobile.com/">jQuery Mobile</a>, developed by jQuery, was <a title="JQuery Mobile Framework Announced" href="http://news.ycombinator.com/item?id=1602169">announced</a> mid 2010 and is still in its early stages (Alpha C released February 2011). It&#8217;s very easy to use, and supports more platforms than any other framework by a mile.</p>
<p><strong>Nativeness<br />
</strong>Not very. jQuery Mobile aims to look consistent regardless of platform. UI controls are themeable with <a title="jQuery ThemeRoller" href="http://jqueryui.com/themeroller/">ThemeRoller</a>, but you won&#8217;t be able to create a proper native experience. Supports gestures, animations and transitions.</p>
<p><strong>Cross-browser support<br />
</strong>The best available. jQuery Mobile supports Android, bada, BlackBerry, iOS, MeeGo, Symbian, webOS, and Windows Phone. What you sacrifice in native experience you gain in coverage.</p>
<p><strong>Performance</strong><br />
Average. Apps created with web app frameworks don&#8217;t perform as well as those created with custom API frameworks. <a title="Comparing Mobile Web Frameworks" href="http://interfacethis.com/2011/adventures-in-html5-part-one/">Dave Feldman&#8217;s tests</a> indicated Sencha Touch (custom API framework) performed noticeably better and more reliably than either jQTouch or jQuery Mobile, with the exception of initial load time.</p>
<p><strong><strong><strong>Ease of development</strong><br />
</strong></strong>The easiest after jQTouch. Work directly with HTML, CSS and jQuery. If you&#8217;re developing something complex, you may find it limited.</p>
<p><strong>Accessible device hardware<br />
</strong>None. Possible by moving your project into the PhoneGap framework.</p>
<p><strong>Price of admission<br />
</strong>Open and free under an MIT and GPL license.<br />
<a name="phonegap"></a><span class="rule"> </span></p>
<h4>PhoneGap</h4>
<p>It&#8217;s currently the preferred way for wrapping jQTouch, jQuery Mobile and Sencha Touch web apps natively so they can be sold in app stores. It&#8217;s not just a wrapper though – you can create web apps from scratch in this framework writing HTML/CSS/JavaScript. PhoneGap allows you to access some device hardware features too, an advantage it has over jQTouch, jQuery Mobile and Sencha Touch.</p>
<p><strong>Nativeness<br />
</strong>PhoneGap&#8217;s API doesn&#8217;t let you access native UI elements like Titanium does, although plugins are available. It does provide (limited) access to a device&#8217;s hardware, unlike jQTouch and jQuery Mobile.</p>
<p><strong>Cross-browser support<br />
</strong>Very good. Android, BlackBerry, iOS, Symbian and webOS.</p>
<p><strong>Performance</strong><br />
Average. Despite being wrapped native, web apps still perform like web apps. You&#8217;ll find better performance with Titanium.</p>
<p><strong><strong>Ease of development</strong><br />
</strong>Good. If you&#8217;re a web developer you&#8217;ll be comfortable working directly with HTML, CSS and JavaScript.</p>
<p><strong>Accessible device hardware<br />
</strong>GPS, Vibration, Camera, Microphone, (plus Accelerometer and Compass on some devices).</p>
<p><strong>Price of admission</strong><br />
PhoneGap is free for all while in beta, and will remain that way always for open source projects.</p>
<p><a name="#custom"></a><span class="rule"> </span></p>
<h3>Custom API Frameworks</h3>
<p>Custom API frameworks are more powerful than web development frameworks. They claim to allow you to write once for multiple platforms, but in reality it&#8217;s not that simple. See <a title="Comparing Mobile App Frameworks" href="http://stackoverflow.com/questions/1482586/comparison-between-corona-phonegap-titanium">here</a> (search <em>iPhone Android dual targeting</em>) and <a title="Rhodes vs. Titanium, Round 2" href="http://surgeworksmobile.com/iphone/rhodes-vs-titanium-round-2">here</a> for examples showing there&#8217;s no such thing as a silver bullet.<br />
<a name="senchatouch"></a><span class="rule"> </span></p>
<h4>Sencha Touch</h4>
<p><strong>Overview</strong><br />
David Kaneda handed over maintenance of jQTouch to Jonathan Stark so he could focus on <a title="Sencha Touch website" href="http://www.sencha.com/products/touch/">Sencha Touch</a>. Sencha Touch is geared more towards software developers than web developers, with a pure JavaScript API.</p>
<p>Sencha Touch&#8217;s custom API framework offers more power and flexibility than web dev frameworks like jQuery Mobile or PhoneGap. A popular approach is to build an app with Sencha, then wrap it as a native app with PhoneGap.</p>
<p><strong>Nativeness<br />
</strong>Better than jQTouch or jQuery Mobile, but if you want your app to look native, it&#8217;s unlikely you&#8217;ll fool anyone.</p>
<p><strong>Cross-browser support<br />
</strong>Android, iOS, and BlackBerry (from Sencha 1.1).<br />
<em>Updated 29 March 2011: Intention to support Meego and IE9 mobile for Nokia once phones ship with them. Michael Mullany, comment #2.</em></p>
<p><strong>Performance</strong><br />
Better than jQTouch and jQuery Mobile, not as good as Titanium.</p>
<p><strong><strong>Ease of development</strong><br />
</strong>Steep learning curve. You&#8217;ll be working with Sencha&#8217;s API and JavaScript, with little to no HTML/CSS. <a title="Mobile Web App Framework comparisons" href="http://interfacethis.com/2011/adventures-in-html5-part-one/">Dave Feldman</a> says the framework feels huge compared to jQuery Mobile, and while the documentation is extensive there are &#8220;odd holes&#8221;. See Dave&#8217;s article <a title="Comparing Mobile Web Frameworks" href="http://interfacethis.com/2011/adventures-in-html5-part-one/">Comparing Mobile Web Frameworks</a> from February 2011.</p>
<p><strong>Accessible device hardware<br />
</strong>Apparently none, but PhoneGap could be used as a bridge to access device hardware.</p>
<p><strong>Price of admission<br />
</strong>The commercial license for Sencha Touch is free. A paid support option is also offered for US$300 per annum.</p>
<p><a name="titanium"></a><span class="rule"> </span></p>
<h4>Titanium</h4>
<p>Since its 1.0 release, <a title="Getting started with Titanium" href="http://wiki.appcelerator.org/display/guides/Getting+Started+with+Titanium">Titanium</a> shifted from producing apps that were native-wrapped web views (like PhoneGap&#8217;s), to being more natively integrated. Titanium&#8217;s JavaScript API acts as a bridge between you and the platform&#8217;s API, resulting in apps that perform better and feel more native. Incidentally you can also use Titanium to deploy desktop apps too (Windows/Mac/Linux).</p>
<p><strong>Nativeness<br />
</strong>Good. More than any other framework it comes closest to providing a native experience. Titanium has a comprehensive UI API that can control all kinds of native UI controls.</p>
<p><strong>Cross-browser support<br />
</strong>Weak. Limited to iOS (including iPad) and Android for now. BlackBerry may be in the works. A single development environment for both platforms, but getting your app working on both requires work, and can be a headache.</p>
<p><strong>Performance</strong><br />
As good as it gets without being native. Dave Feldman <a title="Comparing mobile web frameworks" href="http://interfacethis.com/2011/adventures-in-html5-part-one/">writes</a> his app&#8217;s performance under Titanium blew away the web app frameworks in comparison.</p>
<p><strong><strong>Ease of development</strong><br />
</strong>Steep learning curve. High proficiency in JavaScript and willingness to learn Titanium&#8217;s API required. Lack of ability to debug properly is cited as a problem.</p>
<p><strong><strong>Accessible device hardware</strong></strong><br />
GPS, Vibration, Accelerometer, Compass, Camera, Microphone.</p>
<p><strong>Price of admission</strong><br />
The fully supported Titanium option costs US $199 a month per developer.<br />
<span class="rule"> </span></p>
<h4>There&#8217;s also a Ruby-based framework, Rhodes</h4>
<p>If you&#8217;re into Ruby, you may want to consider <a title="Rhodes website" href="http://rhomobile.com/">Rhodes</a>. See Mauro Dalu&#8217;s article on <a title="Titanium versus Rhodes" href="http://surgeworksmobile.com/iphone/rhodes-vs-titanium-round-2">Titanium versus Rhodes</a>.<br />
<span class="rule"> </span></p>
<h3>Conclusion</h3>
<p>As it stands today, no framework is clearly better than its competition, and we&#8217;re left to weigh up which one is best on a project by project basis. If your JavaScript proficiency is basic your options are limited to jQTouch, jQuery Mobile and PhoneGap. If your JavaScript proficiency is high, Sencha Touch, Titanium and other custom JavaScript API frameworks allow you to build powerful apps that come close to the performance and feel of native apps. Titanium&#8217;s ability to deploy apps natively, performance and access to device hardware make it a stronger option that Sencha Touch, but its lack of device coverage and reported clunkyness in writing once for iOS and Android would make me seriously consider outsourcing native development as an alternative.</p>
<p><strong>Emulating a native experience </strong><br />
Best: Titanium<br />
Worst: jQuery Mobile</p>
<p><strong>Device support</strong><br />
Best: jQuery Mobile<br />
Worst: jQTouch and Titanium</p>
<p><strong>Flexibility and power</strong><br />
Best: Titanium<br />
Worst: jQTouch and jQuery Mobile</p>
<h3>Futher reading</h3>
<p>This article was written from the perspective of someone setting out to create a mobile app and trying to make sense of the various approaches to doing it. There was no comprehensive comparison online for hands-on experience with frameworks that I could find, which is why I wrote this. I&#8217;ve done the best I could to make sure information is accurate, but for the benefit of others who will read this article, please let me know if any information is incorrect. All sources are listed below:</p>
<p><a title="jQTouch blog" href="http://blog.jqtouch.com/">jQTouch blog</a><a title="jQuery Mobile blog" href="http://jquerymobile.com/blog/"><br />
jQuery Mobile blog<br />
</a><a title="jQuery Mobile's strategy" href="http://jquerymobile.com/strategy/">jQuery Mobile&#8217;s Strategy<br />
</a><a title="JQuery Mobile Framework Announced" href="http://news.ycombinator.com/item?id=1602169">JQuery Mobile Framework Announced</a> on Hacker News.<a title="jQuery Mobile blog" href="http://jquerymobile.com/blog/"></a><a title="jQuery Mobile's strategy" href="http://jquerymobile.com/strategy/"></a><br />
<a title="Sencha Touch blog" href="http://www.sencha.com/blog/">Sencha Touch blog<br />
</a><a title="jQTouch and Sencha Touch: Which is right for you?" href="http://9-bits.com/post/723711597/jqtouch-and-sencha-touch">jQTouch and Sencha Touch: Which is right for you?</a> by David Kaneda<a title="Sencha Touch blog" href="http://www.sencha.com/blog/"><br />
</a><a title="Appcelerator Titanium" href="http://www.appcelerator.com/">Appcelerator Titanium</a><br />
<a title="PhoneGap blog" href="http://www.phonegap.com/blog/">PhoneGap blog<br />
</a><a title="Rhodes blog" href="http://rhomobile.com/blog/">Rhodes blog</a><a title="Comparison between Corona, PhoneGap and Titanium" href="http://stackoverflow.com/questions/1482586/comparison-between-corona-phonegap-titanium"><br />
Comparison between Corona, PhoneGap and Titanium</a> at Stack Overflow.<br />
For specific information on PhoneGap vs Titanium in the link above, search <em>Now, are they any different?</em><br />
<a title="iWebKit vs jQTouch vs iUI" href="http://stackoverflow.com/questions/1980573/iwebkit-vs-jqtouch-vs-iui">iWebKit vs jQTouch vs iUI</a> at Stack Overflow.<br />
<a title="Comparing mobile web frameworks" href="http://interfacethis.com/2011/adventures-in-html5-part-one/">Comparing Mobile Web Frameworks</a> by Dave Feldman.<br />
<a title="Titanium versus Rhodes" href="http://surgeworksmobile.com/iphone/rhodes-vs-titanium-round-2">Titanium versus Rhodes</a> by Mauro Dalu.<br />
<a title="The difference between a JavaScript library and framework" href="http://www.quora.com/What-is-the-difference-between-a-JavaScript-framework-and-a-library">Comparing the difference between JavaScript libraries and frameworks</a> at Quora.<br />
<a title="Mobile Developer's Guide 7th edition" href="http://www.enough.de/about-us/latest-news/">Mobile Developer&#8217;s Guide 7th edition</a> at enough.de</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/916/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=916&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/03/28/mobile-framework-throwdown/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>
	</item>
		<item>
		<title>The problem with CSS media queries</title>
		<link>http://dinosaurswithlaserz.com/2011/03/23/the-problem-with-css-media-queries/</link>
		<comments>http://dinosaurswithlaserz.com/2011/03/23/the-problem-with-css-media-queries/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 02:45:11 +0000</pubDate>
		<dc:creator>crozynski</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Devices]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Web app]]></category>
		<category><![CDATA[CSS media queries]]></category>
		<category><![CDATA[fluid images]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[responsive web design]]></category>

		<guid isPermaLink="false">http://dinosaurswithlaserz.com/?p=909</guid>
		<description><![CDATA[I was blown away when first introduced to CSS media queries and Responsive Web Design in Ethan Marcotte&#8217;s ALA article. It&#8217;s been equally enlightening to read a counter-argument against media queries and Fluid Images in CSS Media Query for Mobile is Fool&#8217;s Gold by Jason Grigsby. Jason claims a one shoe fits all approach is lousy, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=909&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="arm wrestle" src="https://img.skitch.com/20110323-xmxw4gchfxu4ua31k9xc4iened.jpg" alt="" width="560" /></p>
<p>I was blown away when first introduced to CSS media queries and Responsive Web Design in <a title="Responsive Web Design by Ethan Marcotte" href="http://www.alistapart.com/articles/responsive-web-design/">Ethan Marcotte&#8217;s ALA article</a>.</p>
<p>It&#8217;s been equally enlightening to read a counter-argument against media queries and Fluid Images in <a title="CSS Media Query for Mobile is Fool's Gold" href="http://www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/">CSS Media Query for Mobile is Fool&#8217;s Gold</a> by Jason Grigsby.</p>
<p>Jason claims a one shoe fits all approach is lousy, and it&#8217;s difficult to argue with his logic. Using CSS media queries and <a title="Responsive Web Design: Fluid Image technique" href="http://unstoppablerobotninja.com/entry/fluid-images">Fluid Images</a> can compromise an efficient, snappy experience for mobile users. Not to mention it can <em>cost</em> them more.</p>
<p>The Fluid Images technique deliver images at the maximum size they will be used, and by omitting width and height values lets the browser resize them for you. The obvious problem with this is that serving large images used at a fraction of their size is as dumb and inefficient on mobile browsers as it was on desktop browsers.</p>
<p><em>But what if I&#8217;m using media queries and the visibility property to hide the images, I&#8217;m cool right?</em></p>
<p>Not quite. Jason&#8217;s tests with iPhone/iOS browser show that <em>despite setting display to none iOS will still download the images</em>. You can&#8217;t blame the browser for doing this – an event could switch an image&#8217;s visibility at any time and the browser wants that image to be ready to go, not flicker into existence.</p>
<p>However, Trygve Lie comments (9) that Opera Mini and Mobile <em>do not</em> load an image whose visibility is set to hidden. It&#8217;s not stated which way Android or webOS swing, but until proven otherwise assume the worst.</p>
<p>Similarly, CSS media queries don&#8217;t optimise HTML or Javascript. Despite hiding a div containing fancy functionality for the desktop version of your site, it won&#8217;t prevent the mobile browser from loading the scripts it relies on.</p>
<p>These considerations don&#8217;t write off CSS media queries altogether, just don&#8217;t use them at the expense of the mobile user. They were the reason we started using them in the first place.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/craigrozynski.wordpress.com/909/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/craigrozynski.wordpress.com/909/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/craigrozynski.wordpress.com/909/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/craigrozynski.wordpress.com/909/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/craigrozynski.wordpress.com/909/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/craigrozynski.wordpress.com/909/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/craigrozynski.wordpress.com/909/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/craigrozynski.wordpress.com/909/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/craigrozynski.wordpress.com/909/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/craigrozynski.wordpress.com/909/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/craigrozynski.wordpress.com/909/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/craigrozynski.wordpress.com/909/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/craigrozynski.wordpress.com/909/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/craigrozynski.wordpress.com/909/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dinosaurswithlaserz.com&#038;blog=20074417&#038;post=909&#038;subd=craigrozynski&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dinosaurswithlaserz.com/2011/03/23/the-problem-with-css-media-queries/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/13e14696d91986822372419eb8918c8e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">crozynski</media:title>
		</media:content>

		<media:content url="https://img.skitch.com/20110323-xmxw4gchfxu4ua31k9xc4iened.jpg" medium="image">
			<media:title type="html">arm wrestle</media:title>
		</media:content>
	</item>
	</channel>
</rss>
