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

<channel>
	<title>Michael Barrett &#187; Work</title>
	<atom:link href="http://abouthalf.com/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://abouthalf.com</link>
	<description>@ Abouthalf.com</description>
	<lastBuildDate>Sat, 19 May 2012 17:04:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Managing your web app workflow with Browser Fairy and Fluid</title>
		<link>http://abouthalf.com/2012/04/27/managing-your-web-app-workflow-with-browser-fairy-and-fluid/</link>
		<comments>http://abouthalf.com/2012/04/27/managing-your-web-app-workflow-with-browser-fairy-and-fluid/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 15:13:38 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1390</guid>
		<description><![CDATA[At my job we use a number of web based applications for every-day work: a ticketing/bug tracking tool, a code review tool, a company wiki, a source control repository browser, a database administration tool, and of course the actual product we develop. I have most of these web sites open all day, every day. I [...]]]></description>
			<content:encoded><![CDATA[<p>At my job we use a number of web based applications for every-day work: a ticketing/bug tracking tool, a code review tool, a company wiki, a source control repository browser, a database administration tool, and of course the actual product we develop. I have most of these web sites open all day, every day. I would start my day launching my browser, then opening a bookmarked folder as tabs &#8211; so each little web app would have it’s own tab in the right order. Then I’d have <em>another</em> browser window open to my local copy of our product, with a tab open to the staging server. If I needed to go read documentation for something online, I’d have yet another browser window open for that.</p>
<p>This teetering arrangement of browser tabs would then fall apart when I clicked a link to a ticket in an email notification (opening yet another tab in the wrong browser window). Once I accidentally destroyed a live database table because I got my windows mixed up. Whoops.</p>
<p>With iron resolve and kung-fu like discipline you might be able to keep only one window or tab open at a time, closing out all others as soon as you’re focus shifts. Unfortunately I’m fresh out of iron resolve and my kung-fu is weak.</p>
<h2 id="fluid">Fluid</h2>
<p><a href="http://fluidapp.com/">Fluid</a> is a app that lets you turn websites into an app for your mac. Fluid creates a web browser that loads only one page. For example, if you use Google Docs you could launch Fluid, give it the URL for docs, give it a name (like ‘Docs’), and optionally give it an icon.</p>
<p>Fluid will create “Docs.app” and save it in your Applications folder. You can double click the app icon and go right to Google Docs. The app works just like any Mac app. It shows up in Launchpad, Spotlight search, in your dock, and when you Command-tab to switch applications.</p>
<p>At work I have a fluid app set up for all of our work apps. This way I always know what window is what (they have icons!) and it’s fast and easy to launch or shut down one of these apps without messing with my browser. If I crash my web browser while dinking around with JavaScript, my web apps stay open.</p>
<p>The basic version of Fluid is free, but for $4.99 you can upgrade to get features like full screen mode (in Lion) and other neato features. It’s cheap. Support your indie software developer.</p>
<h2 id="browserfairy">Browser Fairy</h2>
<p><img class="alignright size-medium wp-image-1391" title="browser_fairy_logo_big-300x300" src="/wp-content/uploads/2012/04/browser_fairy_logo_big-300x300-240x240.png" alt="" width="240" height="240" />Having all my web apps in their own application is great, but if I got an email notification to a bug or wiki update, the links would still open in my default browser. Now I’ve got the bug tracker open in two places. Boo.</p>
<p><a href="http://www.catchingtales.com/osx/browserfairy/">Browser Fairy</a> is an app available in the Mac App <a href="http://itunes.apple.com/us/app/browser-fairy/id483014855?mt=12">store</a> which sort of sits between links and any browser you have installed.</p>
<p>You set up Browser Fairy by making it your default browser. Then you tell Browser Fairy about all the browsers on your system. When you click on any URL anywhere, Browser Fairy intercepts it, and then re-routes it to a browser your choose.</p>
<p>For example, if your company’s timesheet tool only works in Firefox, you give Browser Fairy the base url (maybe http://timesheet.jobbity.job) and anytime you you click a link to the timesheet app, it will automatically open in Firefox, while all of your other links open in Safari.</p>
<p>Since Fluid apps are just single-serving web browsers, Browser Fairy treats them like Firefox, Chrome, or Safari. So I can configure wiki links to go to my wiki app, bug links to the bug tracker, code reviews to the code review app, etc. All other links go to Safari.</p>
<p>It takes a little bit of work to configure, but you only have to do it once &#8211; and once it’s done it’s like magic. Any time I get a bug notification email, the link opens my bug tracking app, not my main web browser. If the bug tracking app isn’t open…Browser Fairy will <em>open it</em> so I don’t have to keep 10 things open all the time.</p>
<p>Browser Fairy is $4.99 in the App Store &#8211; with Fluid apps they’re a super-duper productivity enhancing duo.</p>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1390" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2012/04/27/managing-your-web-app-workflow-with-browser-fairy-and-fluid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>via Asymco: Why was Wall Street surprised by Apple’s performance?</title>
		<link>http://abouthalf.com/2012/04/26/via-asymco-why-was-wall-street-surprised-by-apples-performance/</link>
		<comments>http://abouthalf.com/2012/04/26/via-asymco-why-was-wall-street-surprised-by-apples-performance/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 13:55:21 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1387</guid>
		<description><![CDATA[The subtle snark in this article is like the finest wine. It&#8217;s almost as if you can hear the author whispering &#8220;idiots&#8221; under his breath as you read. Why was Wall Street surprised by Apple’s performance?.]]></description>
			<content:encoded><![CDATA[<p>The subtle snark in this article is like the finest wine. It&#8217;s almost as if you can hear the author whispering &#8220;idiots&#8221; under his breath as you read.</p>
<p><a href="http://www.asymco.com/2012/04/26/why-was-wall-street-surprised-by-apples-performance/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Asymco+%28asymco%29">Why was Wall Street surprised by Apple’s performance?</a>.</p>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1387" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2012/04/26/via-asymco-why-was-wall-street-surprised-by-apples-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring your Dreamhost account for Silex</title>
		<link>http://abouthalf.com/2012/04/05/configuring-your-dreamhost-account-for-silex/</link>
		<comments>http://abouthalf.com/2012/04/05/configuring-your-dreamhost-account-for-silex/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 14:57:53 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1381</guid>
		<description><![CDATA[Recently I tried out the Silex micro framework, creating bGrounder in the process. Getting Silex up and running on my Mac was easy-peasy. Create a new directory in my ~/Sites folder. Download the Silex PHAR (PHP archive) file. Create an application bootstrap file. Go. I ran into trouble when I pushed my work up to [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I tried out the <a href="http://silex.sensiolabs.org/">Silex</a> micro framework, creating <a href="http://bgrounder.abouthalf.com/">bGrounder</a> in the process. Getting Silex up and running on my Mac was easy-peasy. Create a new directory in my ~/Sites folder. Download the Silex PHAR (PHP archive) file. Create an application <a href="http://silex.sensiolabs.org/doc/usage.html#bootstrap">bootstrap</a> file. Go.</p>
<p>I ran into trouble when I pushed my work up to my Dreamhost account. The application was failing silently. Running silex.phar on the command line resulted in meaningless errors.</p>
<p>After a fair bit of <a href="http://duckduckgo.com/">Duck-Duck-Go-ing</a> (Duck-Duck-Goosing? Quacking?) I found squat. After dumping out a PHP info page I realized that Dreamhost is using <a href="http://www.hardened-php.net/suhosin/">Suhosin</a> (which is a good thing). This was the culprit.</p>
<p>The Silex documentation provides <a href="http://silex.sensiolabs.org/doc/usage.html#php-configuration">configuration examples</a> showing how to configure PHP and Suhosin to work with the Silex framework. Fortunately, Dreamhost lets you override the system default PHP.ini with your own.</p>
<p>In order to this work you should have PHP 5.3.x FastCGI enabled for your domain. Leave “Extra web security” on so you feel snuggly and safe in your bed at night.</p>
<p><img class="aligncenter size-large wp-image-1382" title="Domain php settings" src="/wp-content/uploads/2012/04/domain-php-settings-480x111.png" alt="Settings for PHP" width="480" height="111" /></p>
<p>Make sure your login account (your FTP user) has shell access enabled &#8211; this configuration cannot be done without shell access.</p>
<p><a href="http://wiki.dreamhost.com/Php.ini#Replace_the_system_php.ini_entirely">Follow the instructions on the Dreamhost support wiki for replacing the system php.ini</a>. If you don’t know what any of those instructions mean, this is not for you. Contact support and ask nicely for them to do it for you.</p>
<p>Once you have a shiny new ini file (the file will be named “phpini”) look for the following line:</p>
<pre><code>;;; VALUES BELOW WILL OVERRIDE ANY SET ABOVE! </code></pre>
<p>Above this line are system defaults. Leave them be. Below this line you will add your customizations.</p>
<p>Add the following recommended configurations from the Silex documentation:</p>
<pre><code>detect_unicode = Off
phar.readonly = Off
phar.require_hash = Off
suhosin.executor.include.whitelist = phar </code></pre>
<p>And then add the following to ensure that the PHAR extension is loaded:</p>
<pre><code>extension=phar.so </code></pre>
<p>Then follow the <a href="http://wiki.dreamhost.com/Php.ini#Replace_the_system_php.ini_entirely">Dreamhost instructions</a> for forcing PHP to reload the configuration &#8211; or go make some coffee and come back in 15 minutes or so. Dreamhost will eventually reload the configs automatically.</p>
<p>Silex should now run fine, both in the browser and on the command line. Of course your mileage may vary.</p>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1381" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2012/04/05/configuring-your-dreamhost-account-for-silex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing bGrounder</title>
		<link>http://abouthalf.com/2012/03/28/introducing-bgrounder/</link>
		<comments>http://abouthalf.com/2012/03/28/introducing-bgrounder/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 14:52:25 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1360</guid>
		<description><![CDATA[I’ve been utilizing data URIs in more and more of my UI work. I use them to insert icons into tool bars, or to add graphical flourishes to elements without having to manage a large number of additional images. These elements are enhancements to otherwise functional designs, so I feel no remorse for IE 7’s [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been utilizing <a href="https://en.wikipedia.org/wiki/Data_Uri">data URIs</a> in more and more of my UI work. I use them to insert icons into tool bars, or to add graphical flourishes to elements without having to manage a large number of additional images. These elements are enhancements to otherwise functional designs, so I feel no remorse for IE 7’s inability to display them.</p>
<p><a href="http://bgrounder.abouthalf.com/"><img class="size-thumbnail wp-image-1361 alignleft" title="bGrounder" src="/wp-content/uploads/2012/03/256-144x144.png" alt="bGrounder" width="144" height="144" /></a> To produce the needed <a href="https://en.wikipedia.org/wiki/Base64">base64</a> encoded images, I’ve been relying on a tiny little command line script to encode the image and spit out the results. While this works, it’s not particularly convenient and it’s not something I can easily share with other developers and the graphic designers on my team.</p>
<p>So over the weekend I built <a href="http://bgrounder.abouthalf.com">bGrounder</a>.</p>
<p>bGrounder lets you upload images and convert them into CSS rules and HTML image tags with images embedded directly with data URIs. If you’re using a modern browser that isn’t Internet Explorer, you can click and drag images from your desktop right into the uploader. In all browsers you can add many images via the ‘Add images’ button (HTML5 browsers allow you to select multiple images at once).</p>
<p><a href="/wp-content/uploads/2012/03/Screen-Shot-2012-03-28-at-7.20.55-AM.png"><img class="aligncenter size-large wp-image-1362" title="bGrounder screen capture" src="/wp-content/uploads/2012/03/Screen-Shot-2012-03-28-at-7.20.55-AM-480x392.png" alt="" width="480" height="392" /></a></p>
<p>Process each image individually or do them all at once. The resulting code appears in the text boxes below the uploader. The CSS rules specify the encoded image as a background image, using a class name derived from the file name of the image. The HTML output is a simple IMG tag with width and height set. The IMG tag is probably less useful over all &#8211; generally inline images are part of actual content of the page and you probably don’t want to completely ignore older browsers. But maybe you do. Maybe that’s just <em>how you roll</em>. Additionally if you reuse the same IMG tag with embedded image data, you get no benefit from caching…the browser has no way to know that two embedded images are the same (whereas a single CSS sheet is loaded once).</p>
<p>Share and enjoy.</p>
<h2 id="technicalstuffs">Technical stuffs</h2>
<p>bGrounder gave me a chance to play with the <a href="http://silex.sensiolabs.org/">Silex</a> PHP “micro-framework”. I found it very easy to get up and running with Silex, surprisingly so. I rather liked the simplicity and minimalism of defining function closures which respond to URL patterns and HTTP methods. Very tidy. My main application file was only 50 lines long, including comments and generous whitespace. (this doesn’t include the Silex library itself, or the image processing classes I wrote, but still. Short.)</p>
<p>This also gave me the chance to work with this <a href="http://blueimp.github.com/jQuery-File-Upload/">jQuery File Upload</a> widget. This set of jQuery plugins enhances an existing file input to allow for multiple uploads in old browser, creates a rich UI with progress bars, and can even support cross domain uploading. It also ships with a number of server-side implementations to help you get started. Perhaps somewhat ironically, this was more complex than the PHP framework. Once I got my head around how it worked though, it was fairly easy to customize the UI and use my own server-side upload handler.</p>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1360" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2012/03/28/introducing-bgrounder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe not planning for the future? Unpossible</title>
		<link>http://abouthalf.com/2012/03/14/adobe-not-planning-for-the-future-unpossible/</link>
		<comments>http://abouthalf.com/2012/03/14/adobe-not-planning-for-the-future-unpossible/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 16:04:12 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1353</guid>
		<description><![CDATA[Shawn Blanc links to this article by David Sleight in which David talks about the logistical problems of publishing magazines suitable for the new iPad&#8217;s new Retina Display. The gist is that Adobe&#8217;s magazine app publishing platform (as well as other&#8217;s) creates a magazine by wrapping up a big stack of PNG image files in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://shawnblanc.net/2012/03/sleight-retina-reckoning/">Shawn Blanc</a> links to this article by <a href="http://stuntbox.com/blog/2012/03/retina-display-reckoning-for-magazine-publishers/">David Sleight</a> in which David talks about the logistical problems of publishing magazines suitable for the new iPad&#8217;s new Retina Display.</p>
<p>The gist is that Adobe&#8217;s magazine app publishing platform (as well as other&#8217;s) creates a magazine by wrapping up a big stack of PNG image files in a thin interactivity layer. On the new iPad, these images will be too small to be legible. I hinted at this <a href="http://abouthalf.com/2011/05/21/vanity-fair-for-ipad-review/" title="Vanity Fair for iPad: Review">problem</a> when I reviewed Vanity Fair&#8217;s iPad edition. Today each &#8220;magazine&#8221; is an enormous file (200MB to 400MB) with text that can&#8217;t be enlarged, selected, copied, exported, or read aloud by accessibility software. In order for this publishing format to work on high resolution displays, the images will have to be much higher resolution &#8211; and therefore much larger in file size. Otherwise the text will be blurry and hard to read. If you increase the size of the images making up each page, you increase the overall file size of each magazine. These things are already too big to store. I never keep more than an issue or two on my iPad. And of course, download times will increase as well.</p>
<p>I already find these magazines hard to read. Even my 37 year old web nerd eyes find the text in these magazines (on the original iPad) to be too blurry. Compared to iBooks, the Kindle App, or just any old web page in Safari, they look terrible (at least for reading). I came to the same conclusion that David did; they should have been using web technologies all along.</p>
<p>Vanity Fair has a decent web site already and they obviously have a CMS supporting it. Why not create a tablet optimized version of the site with the same content as the magazine then make that site an add-on to an existing subscription or create a partial pay-wall? That web content could be wrapped in an app and cached for offline use. Most graphics (borders, boxes, shapes, etc) could be delivered as tiny SVGs, photos could be delivered as hi-res JPGs. The end result would be much smaller than what they deliver now, but far more readable. It&#8217;s possible that they might have to sacrifice some fine layout control&#8230;but the result would be reasonably future proof content.</p>
<p>Vanity Fair and Conde Naste have already produced and killed one version of a magazine app. The current one is about to be obsoleted, as is all the content they&#8217;ve already produced for it. Why keep hitching their wagon to Adobe&#8217;s lame last century mentality mule?</p>
<hr />
<ul>
<li><a href="http://stuntbox.com/blog/2012/03/retina-display-reckoning-for-magazine-publishers/">A Retina Display Reckoning for Magazine Publishers</a></li>
<li><a href="http://shawnblanc.net/2012/03/sleight-retina-reckoning/">Via Shawn Blanc</a></li>
</ul>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1353" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2012/03/14/adobe-not-planning-for-the-future-unpossible/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>border-box FTW by Paul Irish</title>
		<link>http://abouthalf.com/2012/03/02/border-box-ftw-by-paul-irish/</link>
		<comments>http://abouthalf.com/2012/03/02/border-box-ftw-by-paul-irish/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 15:41:30 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1340</guid>
		<description><![CDATA[* { box-sizing: border-box } FTW « Paul Irish. I&#8217;ve been avoiding this technique for a while &#8211; in my professional work I&#8217;ve had to (and chosen to) support legacy browsers (koff IE 6) but perhaps it&#8217;s time.]]></description>
			<content:encoded><![CDATA[<p><a href="http://paulirish.com/2012/box-sizing-border-box-ftw/">* { box-sizing: border-box } FTW « Paul Irish</a>.</p>
<p>I&#8217;ve been avoiding this technique for a while &#8211; in my professional work I&#8217;ve had to (and chosen to) support legacy browsers (koff IE 6) but perhaps it&#8217;s time.</p>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1340" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2012/03/02/border-box-ftw-by-paul-irish/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two thoughts on the Path scandal</title>
		<link>http://abouthalf.com/2012/02/14/two-thoughts-on-the-path-scandal/</link>
		<comments>http://abouthalf.com/2012/02/14/two-thoughts-on-the-path-scandal/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 16:03:11 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1336</guid>
		<description><![CDATA[Path is a social networking application for iPhone and Android which emphasizes posting and sharing updates with a relatively small social circle. In contrast to Twitter or Facebook, where users may have thousands of friends or followers, Path tries to focus on actual family and friends and tries to keep things more personal. Unfortunately, to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://path.com/">Path</a> is a social networking application for iPhone and Android which emphasizes posting and sharing updates with a relatively small social circle. In contrast to Twitter or Facebook, where users may have thousands of friends or followers, Path tries to focus on actual family and friends and tries to keep things more personal.</p>
<p>Unfortunately, to accomplish this Path was <a href="http://mclov.in/2012/02/08/path-uploads-your-entire-address-book-to-their-servers.html">uploading your entire address book from your phone to their servers</a> without your explicit consent or knowledge. Since this has come to light, Path has <a href="http://blog.path.com/post/17274932484/we-are-sorry" title="Very sorry">apologized</a> (which is great) and updated their app so this behavior doesn&#8217;t happen without explicit user consent.</p>
<h2 id="weweretrainedforthismoment">We were trained for this moment</h2>
<p>For years now sites like Twitter, Facebook, LinkedIn, et al have been asking people to login to their email service (gmail, yahoo, or whatever) and allow contact information to be extracted and used to pre-populate your account with contacts (e.g. Find friends, find followers, find people in your network).</p>
<p>I always considered this action to be shady. How could I know they weren&#8217;t keeping that information and selling it to spammers? How could I know they weren&#8217;t, say, reading my email? Most people, though, thought it was an acceptable trade off. Their new account would be up and running quickly, and they wouldn&#8217;t have to manually enter contacts or track down their friends.</p>
<p>Even though I find this &#8220;feature&#8221; to be a bit sketchy, at least it was an explicit request, followed by an explicit login. It&#8217;s safe to assume that the user knows what he&#8217;s intending when he clicks the &#8220;Import your gmail contacts&#8221; button.</p>
<p>People have become accustomed to this behavior, having used it for years now, so when you launch Path for the first time and all your friends are already there…it&#8217;s easy to assume you must have logged in somehow, or, more likely, you don&#8217;t even care how all your contacts showed up.</p>
<h2 id="areyousurprisedbythis">Are you surprised by this?</h2>
<p>Path claims that they were only using address book data to help users find each other on their service. I believe this is true, today. The problem of course is what happens to that data tomorrow. If Path gets bought out, what do the new owners do with that data? They have no explicit contract with the users of the application, so are they legally bound in any way? Probably not.</p>
<p>All social networks<a href="#fn:fn-diaspora" id="fnref:fn-diaspora" title="see footnote" class="footnote">1</a> rely on vast amounts of demographic data as the basis of their business model. Facebook and Google use this demographic data to sell advertising. Twitter uses it to sell promoted tweets and trends.  This is why there are no well known, for-pay, public, social networks (that aren&#8217;t porn)<a href="#fn:fn-no-google" id="fnref:fn-no-google" title="see footnote" class="footnote">2</a>. </p>
<p>After all the privacy problems discovered with Facebook and Google you simply must regard any and all social networking applications to be systems designed to extract your personal data and sell it. You are &#8220;paid&#8221; in return with a service you hopefully find fun or useful<a href="#fn:fn-facebook" id="fnref:fn-facebook" title="see footnote" class="footnote">3</a>.</p>
<div class="footnotes">
<hr />
<ol>
<li id="fn:fn-diaspora">
<p>&#8220;What about Diaspora?&#8221;. Ha ha, funny.<a href="#fnref:fn-diaspora" title="return to article" class="reversefootnote">&#160;&#8617;</a></p>
</li>
<li id="fn:fn-no-google">
<p>This is also (partially) why I&#8217;m not on Google of Facebook any more. Another reason is that social networks feel like homework. I&#8217;m too old for homework.<a href="#fnref:fn-no-google" title="return to article" class="reversefootnote">&#160;&#8617;</a></p>
</li>
<li id="fn:fn-facebook">
<p>If facebook wants me back, they can consider cutting me a royalty check once a month. Pay me for my juicy details.<a href="#fnref:fn-facebook" title="return to article" class="reversefootnote">&#160;&#8617;</a></p>
</li>
</ol>
</div>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1336" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2012/02/14/two-thoughts-on-the-path-scandal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Private enterprise &#8211; The Daily</title>
		<link>http://abouthalf.com/2012/02/01/private-enterprise-the-daily/</link>
		<comments>http://abouthalf.com/2012/02/01/private-enterprise-the-daily/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 16:15:57 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1323</guid>
		<description><![CDATA[This is a nice little article discusses my new favorite search engine, DuckDuckGo. DuckDuckGo&#8217;s best two features are: It has no features It respects your online privacy Well. It&#8217;s not true that it has no features. DuckDuckGo just focuses entirely on web search. It doesn&#8217;t litter the page with garbage-ey social features and doesn&#8217;t filter your [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thedaily.com/page/2012/01/30/013012-tech-features-duckduckgo-1-2/">This is a nice little article</a> discusses my new favorite search engine, <a href="http://duckduckgo.com/">DuckDuckGo</a>.</p>
<p>DuckDuckGo&#8217;s best two features are:</p>
<ol>
<li>It has no features</li>
<li>It respects your online privacy</li>
</ol>
<p>Well. It&#8217;s not true that it has <em>no</em> features. DuckDuckGo just focuses entirely on web search. It doesn&#8217;t litter the page with garbage-ey social features and doesn&#8217;t filter your search results based upon your past search history.</p>
<p>And sure they have lots of little <a href="http://duckduckgo.com/goodies.html">goodies and widgets</a> but mostly it&#8217;s just a nice clean search engine with no BS.</p>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1323" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2012/02/01/private-enterprise-the-daily/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 Cut the rope</title>
		<link>http://abouthalf.com/2012/01/10/html5-cut-the-rope/</link>
		<comments>http://abouthalf.com/2012/01/10/html5-cut-the-rope/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 17:11:39 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1314</guid>
		<description><![CDATA[Microsoft is promoting an HTML port of the popular iPhone game &#8220;Cut the rope&#8221; as a part of their marketing and promotion of Internet Explorer 10. It works well in Safari (and probably Chrome too). They include a &#8216;behind the scenes&#8217; page where they discuss some of the technologies used. It&#8217;s fairly interesting but includes some [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft is <a href="http://www.cuttherope.ie/">promoting</a> an HTML port of the popular iPhone game &#8220;Cut the rope&#8221; as a part of their marketing and promotion of Internet Explorer 10. It works well in Safari (and probably Chrome too).</p>
<p style="text-align: center;"><a href="http://www.cuttherope.ie/"><img class="aligncenter size-large wp-image-1315" title="Cut the rope screen capture" src="/wp-content/uploads/2012/01/Screen-Shot-2012-01-10-at-9.05.57-AM-480x309.png" alt="Cut the rope screen capture" width="480" height="309" /></a></p>
<p>They include a &#8216;behind the scenes&#8217; page where they discuss some of the technologies used. It&#8217;s fairly interesting but includes some dumb marketing language:</p>
<blockquote><p>It was a daunting task: get this code into a browser while maintaining the unique personality and incredible quality that gamers are accustomed to. To accomplish this, we bet on JavaScript.</p></blockquote>
<p>Safe bet. When I have to choose between JavaScript or JavaScript I also bet on JavaScript.</p>
<p>&nbsp;</p>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1314" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2012/01/10/html5-cut-the-rope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Follow up to the update to the update</title>
		<link>http://abouthalf.com/2011/12/19/follow-up-to-the-update-to-the-update/</link>
		<comments>http://abouthalf.com/2011/12/19/follow-up-to-the-update-to-the-update/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 01:42:21 +0000</pubDate>
		<dc:creator>MB</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie9]]></category>

		<guid isPermaLink="false">http://abouthalf.com/?p=1294</guid>
		<description><![CDATA[I recently updated my update on working around Internet Explorer 9’s deficiencies with gradients and rounded corners. Based upon feedback from a friendly reader, I tweaked the HTC script to work when gradients are applied on hover or mouseover states &#8211; the sort of styling you might want to use on a big, friendly, rounded [...]]]></description>
			<content:encoded><![CDATA[<p>I recently <a title="Updated IE9 gradients with rounded corners" href="http://abouthalf.com/2011/10/04/updated-ie9-gradients-with-rounded-corners/">updated my update</a> on working around Internet Explorer 9’s deficiencies with gradients and rounded corners. Based upon feedback from a friendly reader, I tweaked the HTC script to work when gradients are applied on hover or mouseover states &#8211; the sort of styling you might want to use on a big, friendly, rounded form button. Very close to the time I created this HTC workaround, the fantastic <a href="http://www.colorzilla.com/gradient-editor/">Colorzilla</a> gradient editor was updated to support IE 9 in much the same way my script does.</p>
<p>The Colorzilla gradient editor is a visual gradient editor like you might find in <span title="Old busted">Photoshop</span> or <span title="New hotness">Pixelmator</span>. Once you’ve specified your gradient, you see an HTML preview plus CSS style rules to create that gradient in modern browsers, and a reasonable approximation using IE’s filter syntax.</p>
<div id="attachment_1295" class="wp-caption aligncenter  " style="width: 389px"><a href="/wp-content/uploads/2011/12/Screen-Shot-2011-12-19-at-8.33.27-AM.png"><img class="size-large wp-image-1295" title="Colorzilla interface" src="/wp-content/uploads/2011/12/Screen-Shot-2011-12-19-at-8.33.27-AM-389x480.png" alt="Colorzilla interface" width="389" height="480" /></a><p class="wp-caption-text">Click and draggy</p></div>
<p>A new checkbox toggles IE 9 support. Selecting this option includes a base64 encoded SVG background image along with the rest of the browser gradient definitions. In order for this to work properly it is necessary to include an IE9 specific style rule (in a conditional stylesheet) which disables the filter definition for legacy versions of IE. An example of this style rule is included in the application.</p>
<div id="attachment_1296" class="wp-caption aligncenter  " style="width: 458px"><a href="/wp-content/uploads/2011/12/Screen-Shot-2011-12-19-at-8.33.00-AM.png"><img class="size-full wp-image-1296" title="IE 9 feature" src="/wp-content/uploads/2011/12/Screen-Shot-2011-12-19-at-8.33.00-AM.png" alt="IE 9 SVG feature" width="458" height="398" /></a><p class="wp-caption-text">Click the box for IE 9 support</p></div>
<p>I have to confess that I’ve been using this tool in lieu of my own script. There are a few reasons.</p>
<h2 id="pros">Pros</h2>
<p>Having the SVG definition pre-built and available right in-line removes dependencies on JavaScript and means there’s no extra HTC file to keep up with. Additionally, since there’s no scripting involved, there’s no possibility of collisions with your any scripting in your application.</p>
<p>If one wanted, one could just use the SVG definition and remove all the other gradient definitions (except of course the filter rule). Any browser which supports CSS3 gradients will support an SVG background image. This would let you clean out redundant, browser specific style rules in all your gradient styles.</p>
<p>This technique is reasonably future proof, as it uses standard HTML and a standard SVG. If IE 10 fails to support gradients, this technique will still work.</p>
<p>I have no idea if my HTC script will work on the new mobile IE on Windows Phone 7and (hypothetically) Windows 8. (If someone wants to give me a free Windows Phone, I’ll be happy to test.)</p>
<h2 id="cons">Cons</h2>
<p>If you’re using CSS3 gradient definitions, it’s technically possible to tweak or edit them “by hand” without using a special tool. To make any changes to an encoded SVG image you’ll either have to decode, edit, and re-encode or you’ll have to create a new image from scratch. If you’re using a tool like the Colorzilla gradient editor, this isn’t a huge problem &#8211; but it’s still an extra step.</p>
<p>Since the SVG gradient is encoded inline in the main stylesheet, all browsers must download this image whether they use it or not. So in a way you’re punishing all users for IE 9’s sins. My dynamic solution targets IE 9 specifically.</p>
<p>It is possible that one day this tool will simply disappear. If that happens, then designers and developers might be scrambling for a replacement.</p>
<h2 id="irecommend">I recommend</h2>
<p>I recommend using Colorzilla’s tool over my script for supporting IE 9 gradients. In practice, I find it’s simply far easier for me to just define a gradient and copy/paste the generated CSS into mine, and follow up with a little clean up once the design is settled.</p>
<p>I’m happy with my script, and there may be cases where it’s preferred (smaller download sizes, targeting only modern desktop browsers, etc) but I think the Pros of using Colorzilla’s tool outweigh the Cons.</p>
 <img src="http://abouthalf.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1294" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://abouthalf.com/2011/12/19/follow-up-to-the-update-to-the-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

