<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>Quasi Object Blog</title>
		<link>http://www.quasiobject.com/blog/</link>
		<description>Quasi Object provides freelance web development and interaction design</description>
		<item>
			<title>Minor Yet Irritating Flash Bug in Mac Firefox 3.6</title>
			<link>http://www.quasiobject.com/blog/51/minor-yet-irritating-flash-bug-in-mac-firefox-36/</link>
			<description><![CDATA[<p>Shortly after upgrading to Firefox 3.6 on the Mac, I noticed a lot of Flash elements <a href="https://support.mozilla.com/en-US/forum/1/570657">offset by one pixel on the top and left</a>. I thought I was going crazy, until I downgraded to 3.5.x and it went away. I tried to find a workaround or explanation, but there was none. Like I said, minor yet irritating.</p>
					<p>Apparently, it crops up if the elements are centered and if the browser window is sized to an even width. Thankfully, Mozilla now <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=550246">recognizes the bug</a>, it's become a priority and is working on a fix. (Note: this is not an issue with 'focus' or 'outline' CSS properties.)</p>
					<p>Indeed, this is a minor issue, but if you have any Flash elements that are width or height sensitive, chances are they're affected to this bug. I posted this note to save any of you Mac Firefox folks out there the headache of tracking down this issue.</p>]]></description>
			<pubDate>Fri, 09 Apr 2010 12:33:51 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/51/minor-yet-irritating-flash-bug-in-mac-firefox-36/#comment</guid>
		</item>
		<item>
			<title>Brantley Barefoot</title>
			<link>http://www.quasiobject.com/blog/49/brantley-barefoot/</link>
			<description><![CDATA[<p>Designer, art director and friend <a href="http://brantleybarefoot.com/">Brantley Barefoot</a> just launched a simple, new portfolio. I helped get him up and running, with ExpressionEngine as a back end. Toggle the background with "w" for some added fun.</p>]]></description>
			<pubDate>Tue, 06 Apr 2010 11:52:10 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/49/brantley-barefoot/#comment</guid>
		</item>
		<item>
			<title>Is it 2010 Already?</title>
			<link>http://www.quasiobject.com/blog/48/is-it-2010-already/</link>
			<description><![CDATA[<p>Last time we talked it was November 2009. I've been slack on the blogging and slightly overwhelmed with work (which I'll never complain about, just stating the facts). For brevity's sake, I'll just provide the highlights.</p>
					<p>I provided a little Flash and Papervision3D assistance to <a href="http://www.bignoise.com/">BigNoise</a> on the <a href="http://www.nascarhall.com/">NASCAR Hall of Fame</a> home page. Then, I worked with my pals at <a href="http://niceoutfit.com/">Nice Outfit</a>, handling development on a website for Los Angeles graffiti legend <a href="http://riskrock.com/">RISK</a>. After that, I helped launch a website and partnership with <a href="http://www.seriousandly.com/">Serious&amp;Ly</a> in Richmond, VA. Most recently, I built a website for African American string band <a href="http://www.carolinachocolatedrops.com/">Carolina Chocolate Drops</a> and Crips founding member <a href="http://gregbatmandavis.com/">Greg &#8220;Batman&#8221; Davis</a> (via <a href="http://www.rrockenterprises.com/">R. Rock Enterprises</a>).</p>
					<p>On the horizon is a web app launch for <a href="http://novelope.com">Novelope</a>. With Serious&amp;Ly, there are projects ongoing for <a href="http://worklabs.com/">Work Labs'</a> new, internal collaborative app, <a href="http://labrats.com">Lab Rats</a>, and the launch of a digital media label, <a href="http://theacmethunderer.com">The Acme Thunderer</a>. As well, I'm gearing up for a few in-house projects and will make an effort to keep the blog fresh with content. 2010 already sounds busy &mdash; I hope I can keep up.</p>]]></description>
			<pubDate>Fri, 05 Mar 2010 12:38:26 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/48/is-it-2010-already/#comment</guid>
		</item>
		<item>
			<title>Interaction Elasticity</title>
			<link>http://www.quasiobject.com/blog/47/interaction-elasticity/</link>
			<description><![CDATA[<p><a href="http://www.useit.com">Jakob Nielsen</a> occasionally drifts into utopian usability fantasies in which he tries to convince us that we should all stop using Flash and Photoshop. On the other hand, he occasionally publishes ideas that are valid.</p>
					<p>I recently browsed a year-old article on <a href="http://www.useit.com/alertbox/interaction-elasticity.html">Interaction Elasticity</a> that contained this:</p>
					<blockquote>
					  <p>A path with 5 easy clicks is vastly superior to one with 3 difficult clicks. And a menu with 10 easily understood items is better than a menu with 7 obscure ones.</p>
					</blockquote>
					<p>To put this in context, I was debating the use of a dreaded drop-down menu when I came across said article. For me, Nielsen's quote argued against things like drop-down menus, since providing a clear logical navigation path to subpages (even with 2 to 3 clicks) would be usable, clean and better for information architecture.</p>
					<p>Note: I'm downplaying the <a href="http://www.useit.com/alertbox/annoyances.html">traditional drop-down</a>. I think rollovers that are more akin to widgets or what Nielsen calls a <a href="http://www.useit.com/alertbox/mega-dropdown-menus.html">Mega Drop-Down</a> aren't so bad.</p>]]></description>
			<pubDate>Fri, 13 Nov 2009 00:34:56 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/47/interaction-elasticity/#comment</guid>
		</item>
		<item>
			<title>New Work in the Portfolio</title>
			<link>http://www.quasiobject.com/blog/46/new-work-in-the-portfolio/</link>
			<description><![CDATA[<p>I've updated the <a href="http://www.quasiobject.com/">Work</a> section with some recent projects. Amongst the added work, there's a trio of Richmond, VA based clients, with <a href="http://rvamag.com">RVA Magazine</a>, <a href="http://redsalonorganics.com/">Redsalon Organics</a> and <a href="http://www.ilovestickyrice.com/">Sticky Rice</a>. As well, I'm trying out an interaction video for Dalek&mdash;seems to showcase movement better than a series of images, natch.</p>]]></description>
			<pubDate>Fri, 13 Nov 2009 00:34:50 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/46/new-work-in-the-portfolio/#comment</guid>
		</item>
		<item>
			<title>How to Tween the Alpha Value of a Plane with MovieMaterial in Papervision 3D 2.0</title>
			<link>http://www.quasiobject.com/blog/44/how-to-tween-the-alpha-value-of-a-plane-with-moviematerial-in-papervision-3d-20/</link>
			<description><![CDATA[<p>I spent an inordinate amount of time figuring out how to tween the alpha value of a Plane with MovieMaterial in <a href="http://code.google.com/p/papervision3d/">Papervision 3D</a> today. In case it saves anyone out there some time, here's how to access it:</p>
					<pre><code>MovieMaterial(plane.material).movie.alpha</code></pre>
					<p>The <a href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/objects/DisplayObject3D.html">DisplayObject3D</a> class has an alpha property, but it doesn't seem to affect the material inside the object. I can't say I completely understand why it works, but it works. Note: The "animated" property of your MovieMaterial must be set to "true."</p>
					<p>Oddly, this does not work:</p>
					<pre><code>plane.material.movie.alpha</code></pre>
					<p>Even though "plane.material" seems to be a MovieMaterial object, "movie" comes back as an undefined property when compiling. I'm sure it has something to do with data type information in AS3 that I don't quite comprehend yet.</p>
					<p>In case this happens to be a weird version issue, I'm using OS X 10.5.8, Flash CS4 and Papervision3D 2.0.869. Lastly, here's the <a href="http://www.gotoandlearnforum.com/viewtopic.php?f=29&amp;t=18243&amp;p=91632#p91632">gotoAndLearn() forum thread</a> that pointed me in the right direction.</p>]]></description>
			<pubDate>Thu, 01 Oct 2009 19:15:47 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/44/how-to-tween-the-alpha-value-of-a-plane-with-moviematerial-in-papervision-3d-20/#comment</guid>
		</item>
		<item>
			<title>WordPress 2.8 Schema Change Bug</title>
			<link>http://www.quasiobject.com/blog/43/wordpress-28-schema-change-bug/</link>
			<description><![CDATA[<p>Normally, <a href="http://wordpress.org">WordPress</a> is a good platform to manage simple websites and blogs. Despite the recent <a href="http://wordpress.org/development/2009/09/keep-wordpress-secure/">worm outbreak</a>, if you keep it up to date, I still recommend it. However, when digging into the innards of the system, you occasionally come across a bug here or there that boggle the mind. Case in point, I recently stumbled across an attachment bug in the core files caused by a database schema change by the WordPress team. As far as I know, attachments have been a tried-and-true part of WordPress since version 2.5.</p>
					<p>I discovered the bug after a client started using the WordPress iPhone app to manage their blog. No matter what I tried, uploaded photos weren't being attached to posts. <a href="http://iphone.forums.wordpress.org/topic/attachments-post_parent">It became an issue</a>, because the theme I built required images to be attached to posts in order to display properly. Moreover, I started noticing many regular posts' images were randomly not attaching, even when posting through the regular admin.</p>
					<p>After an hour of scanning code and searching the web, I found out WordPress had changed their post ID fields to bigint(20) UNSIGNED as of version 2.8. Well, this change broke image attachments in the XML-RPC script and in the admin when uploading media prior to saving a draft. Coincidentally, it also broke attachments via the QuickPress feature on the on new WordPress Dashboard.</p>
					<p>To fix the XML-RPC page, I applied <a href="http://core.trac.wordpress.org/attachment/ticket/10521/xmlrpc-post_parent-patch.txt">this patch</a>. Since the field is UNSIGNED, the temporary ID of -1 the XML-RPC function uses is invalid. However, that didn't address the admin bug. That's when I found the MySQL workaround by <a href="http://www.3dogmedia.com/new-post-ghost-bug/">3 Dog Media</a>:</p>
					<pre><code>ALTER TABLE wp_posts MODIFY post_parent BIGINT(20) NOT NULL DEFAULT 0;</code></pre>
					<p>That query essentially removes the UNSIGNED attribute from the post_parent field in the wp_posts table, thus allowing the temporary negative IDs WordPress is still using, depsite the schema change. Note: The MySQL change fixes those all negative ID issues, so feel free to just apply that schema fix to your database.</p>
					<p>Normally, I don't recommend core changes, because future updates will wipe them out. However, according to <a href="http://core.trac.wordpress.org/ticket/9471">the bug ticket</a>, the issue is deemed an edge case and won't be addressed until version 2.9. It's up to you to handle it until then.</p>]]></description>
			<pubDate>Thu, 10 Sep 2009 13:48:24 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/43/wordpress-28-schema-change-bug/#comment</guid>
		</item>
		<item>
			<title>Activity Streams</title>
			<link>http://www.quasiobject.com/blog/41/activity-streams/</link>
			<description><![CDATA[<p>A couple months ago, I watched <a href="http://vimeo.com/4836101">David Recordon's presentation at Webstock 09</a> on Vimeo. He covered a lot of ideas about how to build a better open social web.</p>
					<p>A quick Google search on Recordon lead me to the <a href="http://diso-project.org/">Diso Project website</a>, which aims to "facilitate the creation of open, non-proprietary and interoperable building blocks for the decentralized social web." The DiSo Project lead me to <a href="http://factoryjoe.com/blog/2008/12/20/where-were-going-with-activity-streams/">a blog post from Chris Messina</a> about Activity Streams.</p>
					<p>From the <a href="http://martin.atkins.me.uk/specs/activitystreams/atomactivity">Activity Stream draft spec</a>:</p>
					<blockquote>
					  <p>For the purpose of this specification, an Activity is a description of an action that was performed (the Verb) at some instant in time by some actor (the Subject see Section 6.1 (Feed Subject)), usually on some social object (the Object). An Activity Feed is a feed of such Activities.</p>
					</blockquote>
					<p><a href="http://wiki.developers.facebook.com/index.php/Using_Activity_Streams">Facebook</a> and <a href="http://wiki.developer.myspace.com/index.php?title=Standards_for_Activity_Streams">MySpace</a> have already adopted Activity Streams as the standard way to disperse users' activity data out to the web.</p>
					<p>What Facebook and MySpace are doing is a great first step, but the usefulness of this format would be completely realized if we could work towards something like what Chris Messina described in his blog post (i.e., "consume activities based on human-readable content types, rather than by the service name on which they were produced"). Meaning, it wouldn't matter where you uploaded your photo, posted your blog or updated your status, we could all follow each other independently of which network we were on. Sure, this is like what FriendFeed now offers, but as Messina said, we could offer this without "hardcoding support" for the myriad social networks' API or feed format. It would just be up to the individual services to build in support for Activity Streams (which is merely a beefed up Atom feed).</p>
					<p>This may be another pie-in-the-sky movement for the social web, but this is the first one (since <a href="http://microformats.org/">Microformats</a>) I've seen that looks useful.</p>]]></description>
			<pubDate>Wed, 12 Aug 2009 12:14:18 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/41/activity-streams/#comment</guid>
		</item>
		<item>
			<title>Ongoing Web Fonts Coverage</title>
			<link>http://www.quasiobject.com/blog/40/ongoing-web-fonts-coverage/</link>
			<description><![CDATA[<p>Safari 4 and Firefox 3.5 are surely the impetus for all this web font discussion. Designers and developers can see the promised land, but it's just out of reach. Nevertheless, here are two more good articles on the current state of things:</p>
					<ul>
					<li><a href="http://ilovetypography.com/2009/07/20/web-fonts-%E2%80%94-where-are-we/">Web fonts &mdash; where are we?</a></li>
					<li><a href="http://nicewebtype.com/notes/2009/07/19/type-sellers-web-fonts-and-typekit/">Type sellers, web fonts, and Typekit</a></li>
					</ul>]]></description>
			<pubDate>Sat, 25 Jul 2009 14:59:49 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/40/ongoing-web-fonts-coverage/#comment</guid>
		</item>
		<item>
			<title>Paste Your Taste</title>
			<link>http://www.quasiobject.com/blog/39/paste-your-taste/</link>
			<description><![CDATA[<p><a href="http://www.last.fm/user/heyrevolver">Last.fm</a> recently added a feature to their profile pages that I thought was great. "Paste Your Taste" assembles a block of text describing your overall top music picks for use on social networking profiles.</p>
					<p>For example, my current selection is:</p>
					<blockquote>
					  <p>I'm into indie, rock, alternative, electronic and experimental, including:
  Thrice, Queens of the Stone Age, Squarepusher, Plaid, The Avett Brothers, Radiohead, dredg, The Dillinger Escape Plan, Poison the Well, Muse, Mastodon, The Books, The Walkmen, Shiner, Incubus, Against Me!, Spoon, mewithoutYou, Iron &amp; Wine, The Beatles, The Decemberists, Arcade Fire, He Is Legend, Death Cab for Cutie, Paul McCartney, The Smashing Pumpkins, Annuals, Codeseven, Slow Runner, Nine Inch Nails, Foo Fighters, Aphex Twin, The Knife, Ebu Gogo, Prefuse 73, Head Automatica, Silverchair, Deftones, Far-Less, Kaki King, Clark, Cory Branan, Killswitch Engage, Maximo Park, The Life and Times, Elliott Smith, Department of Eagles, Bloc Party, M83, The Streets.</p>
  
  <p>Check out my music taste: http://www.last.fm/user/heyrevolver</p>
					</blockquote>
					<p>Compared to the other technology working on their site, the "Paste Your Taste" functionality is nothing special. However, it solves a common problem&mdash;albeit a minor one&mdash;and makes it very easy to share your own taste in music. A great example of a feature that compliments the service while requiring minimal development.</p>]]></description>
			<pubDate>Tue, 07 Jul 2009 12:42:44 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/39/paste-your-taste/#comment</guid>
		</item>
		<item>
			<title>A2 Hosting July Discount</title>
			<link>http://www.quasiobject.com/blog/38/a2-hosting-july-discount/</link>
			<description><![CDATA[<p>I normally would not post this kind of thing here, but my hosting company, <a href="http://www.a2hosting.com/1528-5-3-31.html">A2 Hosting</a>, is offering a 40% discount on hosting purchases for the month of July. The coupon code is <strong>economystinks</strong> (expires 7/31/09). That will get you a technically unlimited, reputable shared hosting account for around $4.77/month. There have been a few hiccups along the way, but I've been very pleased with their support.</p>]]></description>
			<pubDate>Wed, 01 Jul 2009 15:30:35 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/38/a2-hosting-july-discount/#comment</guid>
		</item>
		<item>
			<title>Web Fonts Follow-Up</title>
			<link>http://www.quasiobject.com/blog/37/web-fonts-follow-up/</link>
			<description><![CDATA[<p>Since <a href="http://www.quasiobject.com/blog/29/web-fonts-sifr-alternatives/">my last post on web fonts</a>, a pair of new websites have launched related to the cause. One is proposing a big step forward, while the other is a nice resource.</p>
					<p><a href="http://typekit.com/">Typekit</a> from Small Batch Inc. aims "to develop a consistent web-only font linking license." According to <a href="http://blog.typekit.com/">their blog</a>:</p>
					<blockquote>
					  <p>We've built a technology platform that lets us to host both free and commercial fonts in a way that is incredibly fast, smoothes out differences in how browsers handle type, and offers the level of protection that type designers need without resorting to annoying and ineffective DRM.</p>
					</blockquote>
					<p>With a free version promised from the outset, it sounds like a great offering. However, the mentions of a "low-cost way to grow" and "scalable professional version" leaves me a little apprehensive. I'm not making any judgments until they launch the service, but facing recurring charges for the unforeseeable future doesn't sound like the best solution.</p>
					<p>Next, <a href="http://www.theleagueofmoveabletype.com">The League of Moveable Type</a> (no relation to the blogging platform) simply provides "well-made, free &amp; open-source, @font-face ready fonts." The fonts are available under a <a href="http://creativecommons.org/licenses/by-sa/3.0/">Attribution Share Alike</a> Creative Commons license for personal and commercial use. Most members just want to see what you do with their fonts, but a credit in your website's colophon couldn't hurt. The files themselves are either TTF or OTF&mdash;so, you'll just need to convert an EOT for Internet Explorer using <a href="http://www.microsoft.com/typography/WEFT.mspx">WEFT</a>.</p>]]></description>
			<pubDate>Wed, 24 Jun 2009 11:57:08 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/37/web-fonts-follow-up/#comment</guid>
		</item>
		<item>
			<title>Progressive Enhancement</title>
			<link>http://www.quasiobject.com/blog/36/progressive-enhancement/</link>
			<description><![CDATA[<p>David Bliss at <a href="http://odopod.com">Odopod</a> recently posted a rundown of <a href="http://odopod.com/blog/progressive-enhancement-adobe-flash-and-seo/">how his company handles Flash and SEO</a>. He used the term "progressive enhancement" to describe the technique. According to <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">Wikipedia</a>:</p>
					<blockquote>
					  <p>Progressive enhancement is a strategy for web design that emphasizes accessibility, semantic markup, and external stylesheet and scripting technologies. Progressive enhancement uses web technologies in a layered fashion that allows everyone to access the basic content and functionality of a web page, using any browser or Internet connection, while also providing those with better bandwidth or more advanced browser software an enhanced version of the page.</p>
					</blockquote>
					<p>This strategy is something I've been employing for a while, but without the terminology to succinctly describe it. As Bliss mentioned, with <a href="http://code.google.com/p/swfobject/">SWFObject</a>, <a href="http://www.asual.com/swfaddress/">SWFAddress</a> and the <a href="http://www.flashcharlotte.com/2008/12/swf-searchability/">Flash Search Player</a> from Google, it's becoming easier and easier to confidently sell SEO and Flash together. Next time you pitch a client, wrap this process up as "progressive enhancement." It would be nice to make the term an industry standard.</p>]]></description>
			<pubDate>Mon, 15 Jun 2009 12:46:30 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/36/progressive-enhancement/#comment</guid>
		</item>
		<item>
			<title>RVA Magazine</title>
			<link>http://www.quasiobject.com/blog/34/rva-magazine/</link>
			<description><![CDATA[<p>Back in April, I launched a redesign for <a href="http://rvamag.com/">RVA Magazine</a>. I collaborated with Richmond, VA designer Gabriel Ricioppo of <a href="http://brandbuilt.com/">Brandbuilt</a> on the project. RVA is one of the most widely known culture magazines in the Richmond area. Their old website didn't allow them to adequately showcase the massive amounts of content they generate on a weekly basis. I went with Drupal to deliver the amount of functionality the magazine required while staying on budget. The site also utilizes quite a bit of third-party services: Twitter, Flickr, Vimeo, Yahoo! Pipes, ShareThis and Issuu.</p>
					<p>Nearly two months after launch, the RVA staff is still publishing tons of weekly content, their sustained traffic is up over 100% and they're regularly the first result when searching for <a href="http://www.google.com/#hl=en&amp;q=rva">RVA</a> on Google.</p>]]></description>
			<pubDate>Mon, 01 Jun 2009 19:33:54 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/34/rva-magazine/#comment</guid>
		</item>
		<item>
			<title>Twitter is Not a Silver Bullet</title>
			<link>http://www.quasiobject.com/blog/33/twitter-is-not-a-silver-bullet/</link>
			<description><![CDATA[<p><a href="http://www.edreamz.com/">E-dreamz</a>, an interactive firm in Charlotte and where I interned at during college, recently published <a href="http://www.edreamz.com/blog/post.cfm/similarities-between-twitter-and-inbound-linking-strategies">a blog post</a> discussing the "similarities between Twitter and Inbound Linking strategies." Simply put, Twitter has mutated into another way for businesses to hock their wares, while the real draw of the service is from nothing of the sort.</p>
					<p>For me, Twitter is the asides between the conversation. Quick commentary and reflection, no matter how mundane, is what has made Twitter successful socially. Twitter is not a notification service for your latest blog post&mdash;that's RSS.</p>
					<p>Setting up a Twitter account doesn't automatically create the appearance that a business is "connected" to its customers either. As Merlin Mann commented in <a href="http://www.43folders.com/2009/03/25/blogs-turbocharged">a recent podcast from SXSW</a> (I'm paraphrasing): setting up an account on Twitter does not make you Zappos&mdash;putting resources behind serving your customers makes you Zappos. It takes time and effort, like everything else.</p>]]></description>
			<pubDate>Fri, 27 Mar 2009 15:35:58 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/33/twitter-is-not-a-silver-bullet/#comment</guid>
		</item>
		<item>
			<title>De Facto CMS for Bands</title>
			<link>http://www.quasiobject.com/blog/32/de-facto-cms-for-bands/</link>
			<description><![CDATA[<p>I'm a <em>big</em> fan of music. I'd like nothing more than to make a living developing websites for bands and helping them cultivate their online presence. Only one thing stands in my way: bands don't normally have a lot of money. If most local bands spend more than a couple thousand dollars on a website, it's just not going to be cost effective for them. Since the budgets are normally tight in comparison to the work involved, it's usually best to think creatively. With a little ingenuity, content management for band websites could be run completely off a few third-party services. The three services I've been looking at are <a href="http://virb.com">Virb</a>, <a href="http://muxtape.com">Muxtape</a> and <a href="http://www.reverbnation.com/">Reverbnation</a>.</p>
					<p><a href="http://virb.com">Virb</a> just launched a new version of their website, after an 18-month overhaul. Of the three, Virb seems to be the current, best option for the design conscious. As expected, you can manage news, tour dates and upload music. Additionally, Virb offers unlimited audio uploads, an RSS feed for news and a highly customizable, clean audio player, however no RSS or iCal feed for tour dates. While the social networking aspects are currently in place, using Virb as a band CMS is still not completely there. However, <a href="http://virb.com/brad/posts/text/2027123/hello-virbland">a Virb API and Virb Push service</a> are in development, which could provide direct access to content on Virb band profiles.</p>
					<p>Muxtape recently relaunched after completely switching gears. It's currently a public beta and invitation only, but there are seemingly big things going on behind the scenes. As hinted at on <a href="http://muxtape.com/information">the Muxtape website</a> and <a href="http://tlvx.net/post/74143734/the-technical-story-of-muxtape">a blog post</a> from lead developer, Luke Crawford, Muxtape is vying to become a one-stop shop for bands. It could potentially handle everything a band could require, but that capability has yet to materialize.</p>
					<p>As it stands, Reverbnation is the most complete resource. In addition to <a href="http://www.reverbnation.com/main/features_tabs">providing the basics</a>, the service provides FanReach mailing list management, distributed media tracking, street teams and digital distribution. They provide RSS feeds for news and tour dates. However, the provided widgets and embeds are not customizable and, frankly, pretty ugly. It's not so much that they're the most hideous widgets out there, but that they can't be integrated nicely into a design.</p>
					<p>I realize there are many other things to consider for bands, but I'm looking at these services stricly from the standpoint of providing basic content management. To make this type of thing work, you essentially just need RSS feeds or an API. The overall idea is to update one place and have that information distributed to the various endpoints through some kind of syndication and custom widgets. It would be greate to have everything in one place as well as have some control visually, which is why I will probably wait on Virb or Muxtape to get a little further along.</p>
					<p>One caveat is the management of photos and video. I always recommend utilizing <a href="http://muxtape.com/information">Flickr</a> and <a href="http://vimeo.com">Vimeo</a> (or YouTube), because I like the services and they are completely open. Virb already supports feeding in photos and video from said services. I'm sure Muxtape will follow suit. Reverbnation, however, is pretty closed, as they want to be a turnkey operation for bands. That makes Reverbnation a turnoff, in my opinion. I think bands should use every venue to promote themselves. If a photo on Flickr or a video on Vimeo leads someone to buy an album, I think it's worth managing those types of media separately. Especially, if everything is feeding into your website anyway.</p>]]></description>
			<pubDate>Tue, 17 Mar 2009 11:41:22 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/32/de-facto-cms-for-bands/#comment</guid>
		</item>
		<item>
			<title>Media Queries and the iPhone</title>
			<link>http://www.quasiobject.com/blog/31/media-queries-and-the-iphone/</link>
			<description><![CDATA[<p>Most of us are aware of <a href="http://www.w3.org/TR/CSS2/media.html">how to specify media types</a> to serve different stylesheets; the two types most used being 'print' and 'screen'. However, it wasn't until I researched a way to specify stylesheets <em>by device</em> that I stumbled across Media Queries.</p>
					<p><a href="http://www.w3.org/TR/css3-mediaqueries/">Media Queries</a> is currently a working W3C draft and part of the CSS3 effort, even though it was <a href="http://www.w3.org/TR/2001/WD-css3-mediaqueries-20010404/">originally submitted in 2001</a>.</p>
					<blockquote>
					  <p>A media query consists of a media type and zero or more expressions to limit the scope of style sheets. Among the media features that can be used in media queries are 'width', 'height', and 'color'. By using media queries, presentations can be tailored to a specific range of output devices without changing the content itself.</p>
					</blockquote>
					<p>An example of how to write a media query:</p>
					<pre><code>&lt;link rel="stylesheet" media="screen and (color)" href="example.css" /&gt;</code></pre>
					<p>Since this is a CSS3 feature, most browsers aren't going to support it <em>yet</em>. However, it works with Safari and should fail gracefully elsewhere. If you need to serve an iPhone-only stylesheet just set media to:</p>
					<pre><code>only screen and (max-device-width: 480px)</code></pre>]]></description>
			<pubDate>Mon, 09 Mar 2009 15:38:38 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/31/media-queries-and-the-iphone/#comment</guid>
		</item>
		<item>
			<title>Utilizing Google Custom Search</title>
			<link>http://www.quasiobject.com/blog/30/utilizing-google-custom-search/</link>
			<description><![CDATA[<p>In December, I followed along as <a href="http://24ways.org/">24 Ways</a> published their web geek advent calendar. It was one of the more helpful sets of "tips n' tricks" articles regarding web development and I recommend checking it out if you have not.</p>
					<p>One article that was particularly interesting to me was <a href="http://24ways.org/2008/sitewide-search-on-a-shoestring"><em>Sitewide Search On A Shoe String</em></a> by Christian Heilmann. Heilmann essentially explained how to build a sitewide search utilizing <a href="http://developer.yahoo.com/search/boss/">Yahoo! BOSS</a> (Build Your Own Search Service). However, I am not a Yahoo! fan and more interested in getting something like this working with Google Search.</p>
					<p>The idea was forgotten until I <a href="http://bit.ly/2mbyrt">searched for something</a> on <a href="http://www.seriouseats.com/">Serious Eats</a>, one of the better foodie blogs around. Serious Eats uses the <a href="http://code.google.com/intl/en/apis/customsearch/docs/dev_guide.html">Google Custom Search API</a> and integrates the search results directly into their own page style. Exactly what I was after.</p>
					<p>I hope to rework the search functionality on <a href="http://www.silentuproar.com">Silent Uproar</a> this year. There are tens of thousands of items posted on Silent Uproar and this type of solution suits the content perfectly. With over 50% of our traffic coming from Google Search, it just makes the most sense; Google clearly has the best search service, so it benefits me to utilize their technology. I realize this isn't the best solution for every website, but it's better than not including search services in a project&mdash;especially if you have a lot of static pages.</p>
					<p>On a related note, I was reading back through Jeff Atwood's <a href="http://www.codinghorror.com/blog/archives/001174.html"><em>The Importance of Sitemaps</em></a> from last year. In the post, Atwood discusses how Google drives over 50% of the traffic to <a href="http://stackoverflow.com/">Stack Overflow</a>, which parellels Silent Uproar quite well. He then goes on to talk about how sitemaps can help boost that traffic further. Putting two and two together: since Google Custom Search utilizes Google's index to display results, it would seem that creating sitemaps would give Custom Search a leg up. Low and behold, a quick Google search later and we have <a href="http://googlewebmastercentral.blogspot.com/2008/05/sitemaps-offer-better-coverage-for-your.html"><em>Sitemaps offer better coverage for your Custom Search Engine</em></a> from Google's Webmaster Central Blog.</p>
					<p>You still have to put the work into implementing Google Custom Search. However, do it once and you can use it over and over. If anything, it makes creating a sitewide search seem a lot less daunting.</p>]]></description>
			<pubDate>Tue, 03 Mar 2009 15:23:42 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/30/utilizing-google-custom-search/#comment</guid>
		</item>
		<item>
			<title>Web Fonts, sIFR Alternatives</title>
			<link>http://www.quasiobject.com/blog/29/web-fonts-sifr-alternatives/</link>
			<description><![CDATA[<p>Using custom fonts on the web, other than the dozen or so <a href="http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html">standards faces</a>, has been "the next big thing" for the past several years. We've been teased with the proposed ability to embed custom fonts into web pages since the <a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-selection">CSS2 specification</a> submitted in 1998. However, until a major font foundry or company (like Adobe or Microsoft) decides to release a new set of fonts for public use, we're probably out of luck.</p>
					<p><a href="http://www.mikeindustries.com/blog/sifr/">sIFR</a>, the brainchild of <a href="http://www.shauninman.com/">Shaun Inman</a>, has filled the void. Mike Davidson and Mark Wubben have picked up the torch and run with the technology. <a href="http://wiki.novemberborn.net/sifr3">sIFR 3.0</a> is currently in the works and addresses a bevy of issues, like consistent font tuning across platforms. However, sIFR is both a blessing and a curse. Since each instance of sIFR becomes an embedded Flash movie, excessive use of sIFR slows down page load. Basically, if you try to use sIFR for more than headlines, then it starts to become more of a problem. While everything is best in moderation, body copy could use a little love, too.</p>
					<p>Most folks are waiting on the <a href="http://www.w3.org/TR/css3-webfonts/">CSS3 @font-face module</a> to gain traction, but it's wrought with the same issues as the CSS2 spec. <a href="http://jontangerine.com/log/2008/10/font-face-in-ie-making-web-fonts-work">Jon Tan</a> covers the topic more thoroughly than I ever will on this blog, so I recommend reading his blog post <a href="http://jontangerine.com/log/2008/10/font-face-in-ie-making-web-fonts-work"><em>Making Web Fonts Work</em></a>. Essentially, it's come down to a Microsoft vs. Everyone Else issue again, with IE supporting .eot (Embedded Open Types) files and other browsers supporting .otf (OpenType Font) files.</p>
					<p>The latest buzz has been around <a href="http://cufon.shoqolate.com/generate/">Cuf&oacute;n</a>. As its <a href="http://github.com/sorccu/cufon">github page</a> describes, it provides "fast text replacement with canvas and VML." The Cuf&oacute;n method requires converting fonts into "a proprietary format" and then utilizing a JavaScript rendering engine to display the font in a browser. I've only tested it in Firefox, but I already prefer it's implementation to sIFR, despite the fact that the text is not selectable. Apparently, it already works well cross-browser, with some <a href="http://wiki.github.com/sorccu/cufon/known-bugs-and-issues">known issues</a>.</p>
					<p>Lastly, <a href="http://www.allcrunchy.com/Web_Stuff/sIFR_lite/">sIFR Lite</a>, <a href="http://facelift.mawhorter.net/">Facelift</a> and <a href="http://typeface.neocracy.org/">Typeface.js</a> are some other contenders. sIFR Lite is essentially just a reworking of sIFR, but object-oriented and only 3.7kb <em>uncompressed</em>. Sadly, each have their problems, but I'm keeping my eye on them.</p>
					<p>It's possible we may see some kind of resolution with CSS3's @font-face in the next wave of browser updates, but it really all comes down to licensing. Until a standard is settled upon, we'll continue to bootstrap custom fonts onto the web.</p>
					<p><strong>Related</strong>: Read the <a href="http://24ways.org/2007/increase-your-font-stacks-with-font-matrix"><em>Increase Your Font Stacks With Font Matrix</em></a> article on 24 Ways and learn how to construct a "font stack."</p>]]></description>
			<pubDate>Wed, 25 Feb 2009 17:56:21 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/29/web-fonts-sifr-alternatives/#comment</guid>
		</item>
		<item>
			<title>Specifying a Canonical URL</title>
			<link>http://www.quasiobject.com/blog/28/specifying-a-canonical-url/</link>
			<description><![CDATA[<p>Last week, Google introduced a format to publicly specify the preferred URL for a page. You simply add this link tag to any page:</p>
					<pre><code>&lt;link rel="canonical" href="http://www.example.com/page/" /&gt;</code></pre>
					<p>The "canonical" attribute tells the Googlebot which URL is the preferred address for any given page. This is perfect for me with a site like <a href="http://www.silentuproar.com">Silent Uproar</a>. We've changed our URLs several times over the 8+ years the site has been running and Google has cached 2-3 different URLs for a lot of our archived content (i.e., some with a PHP extension, query strings and/or mod_rewrite URLs).</p>
					<p>Not everyone is going to be able to utilize this update, but <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">Google has already fielded a lot of questions</a> for the people that will implement it. It's definitely a nice thing to have for sites with a bit of history and duplicate content issues.</p>]]></description>
			<pubDate>Wed, 18 Feb 2009 15:27:02 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/28/specifying-a-canonical-url/#comment</guid>
		</item>
		<item>
			<title>Click Here Links Must Die</title>
			<link>http://www.quasiobject.com/blog/27/click-here-links-must-die/</link>
			<description><![CDATA[<p>One of my biggest pet peeves are "click here" links. It's the lowest common denominator method for placing links in content. I never really liked them, but I vowed to never use them and rally against the practice starting about four years ago.</p>
					<p>Zach Dunn over at <a href="http://buildinternet.com">Built Internet!</a> apparently hates them as much as I do and <a href="http://buildinternet.com/2009/01/dont-click-here-placing-links-in-context/">wrote an article to that effect</a>. He makes the argument that "click here" links don't really mean anything in context and that if "the links are clear enough, a user should not have to be instructed where to click." Not to mention, "click here" does nothing towards improving search engine rank.</p>
					<p>It's such a small issue, but something that's very easy to remedy. Take a few minutes to rewrite a sentence next time you find yourself linking with "click here." Think of it as providing the user with a brief description of what it is they're about to see.</p>]]></description>
			<pubDate>Wed, 11 Feb 2009 13:08:20 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/27/click-here-links-must-die/#comment</guid>
		</item>
		<item>
			<title>MarkerManager</title>
			<link>http://www.quasiobject.com/blog/26/markermanager/</link>
			<description><![CDATA[<p>I've done some basic work with the <a href="http://code.google.com/apis/maps/">Google Maps API</a> before, but last year I helped <a href="http://www.niceoutfit.com">Nice Outfit</a> with some advanced map work on the <a href="http://visityorkcounty.com/maps-directions/">York County Visitors Bureau website</a>.</p>
					<p>We built an <a href="http://visityorkcounty.com/maps-directions/">interactive map</a> to mark locations based on category. The map needed to toggle sets of locations on and off through checkbox controls. I knew how to mark a single location, but was a little unsure about adding, tracking and removing multiple markers. As well, the functionality needed to scale as the bureau added partners.</p>
					<p>Luckily, Google provided a link to the open source <a href="http://code.google.com/p/gmaps-utility-library-dev/">MarkerManager</a>, since their GMarkerManager is deprecated. The tool is part of the <a href="http://code.google.com/p/gmaps-utility-library-dev/">GMaps Utility Library</a> project, which provides quite a few nice extensions to Google's functionality. As you'd imagine, the MarkerManager class allows for management of hundreds of map markers.</p>
					<p>While this is not the most exciting topic, I'd suggest bookmarking the library for when you need to do a little bit more with a Google Map than the built-in API offers. There's even <a href="http://code.google.com/p/gmaps-utility-library-flash/">an AS3 library</a> for Flash developers.</p>]]></description>
			<pubDate>Mon, 09 Feb 2009 17:45:01 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/26/markermanager/#comment</guid>
		</item>
		<item>
			<title>PHP Filter Functions</title>
			<link>http://www.quasiobject.com/blog/25/php-filter-functions/</link>
			<description><![CDATA[<p>Late last year, I bookmarked <a href="http://devolio.com/blog/archives/413-Data-Filtering-Using-PHPs-Filter-Functions-Part-one.html">a post on PHP filter functions</a>. I've been using PHP for about 8 years and I've never heard of them. According to the PHP manual, the "filter extension is enabled by default as of PHP 5.2.0." Beforehand, it was an "experimental PECL extension," which might explain its mystery. If you're stuck with less than PHP 5, you're probably out of luck.</p>
					<p>Technical details aside, the filters do what you'd expect: filter data. These filters could potentially replace most regular expression validation. Better yet, they provide a nice way to standardize this type of functionality. The <a href="http://us3.php.net/manual/en/function.filter-var.php">workhorse function</a> of this family is:</p>
					<pre><code>filter_var($value, $filter)</code></pre>
					<p>You simply pass it a variable and a <a href="http://us3.php.net/manual/en/filter.constants.php">predefined filter flag</a> (or flags). Common filters provide validation of just about anything can you think of: email address, URL, string, integer, float, et al. The function returns a boolean FALSE if a value doesn't pass the filter.</p>
					<p>In addition, the filters can also sanitize values. Those flags include sanitization for strings, quotes, special characters, et al. For starters, think of it as a replacement for cleaning GET/POST data with magic_quotes and/or mysql_real_escape_string.</p>
					<p>The <a href="http://us3.php.net/manual/en/function.filter-var-array.php">function that got me the most interested</a> is the big brother to filter_var:</p>
					<pre><code>filter_var_array($data, $defintion)</code></pre>
					<p>Pass it an array of values, an array of filter definitions and it will give you back an array of results. With a little work upfront, you could streamline form validation with this function. I've got a validation class that I've been using for the past 2-3 years and I'm ready to rework it completely in favor of these filter functions.</p>
					<p>I'll follow up this post with some impressions, once I get my hands dirty. However, I wanted to share this with anyone looking to step up their validation.</p>]]></description>
			<pubDate>Tue, 03 Feb 2009 16:16:10 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/25/php-filter-functions/#comment</guid>
		</item>
		<item>
			<title>New Work, I'm Alive</title>
			<link>http://www.quasiobject.com/blog/24/new-work-im-alive/</link>
			<description><![CDATA[<p>December and January were both busy months, hence the lack of posts. Though, that's not much of an excuse. It's not like I <em>can't</em> spare 15 minutes, but I digress.</p>
					<p>I've updated the <a href="/">Work page</a> to include the <a href="http://dalekart.com">new Dalek site</a> I worked on with <a href="http://www.niceoutfit.com">Nice Outfit</a>, a site for Ramseur Records' folk-rock band <a href="http://www.samanthacrain.com">Samantha Crain &amp; the Midnight Shivers</a>, a site for <a href="http://www.jimavett.com">Jim Avett's gospel album</a> and a little Google Maps API work on the <a href="http://www.visityorkcounty.com/maps-directions/">York County Visitors Bureau</a> website. I plan to discuss some of the nuts and bolts that went into these projects, but that's another post.</p>
					<p>I've got a few more projects in the works and slew of blog posts in the tank. Time to breathe some life back into this blog.</p>]]></description>
			<pubDate>Tue, 03 Feb 2009 13:52:57 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/24/new-work-im-alive/#comment</guid>
		</item>
		<item>
			<title>Google Analytics Tracking for Adobe Flash</title>
			<link>http://www.quasiobject.com/blog/23/google-analytics-tracking-for-adobe-flash/</link>
			<description><![CDATA[<p>This week at Adobe MAX, the Google Analytics team unveiled <a href="http://analytics.blogspot.com/2008/11/want-to-track-adobe-flash-now-you-can.html">Google Analytics Tracking for Adobe Flash</a>. According to Google:</p>
					<blockquote>
					  <p>This feature is a translation of the current Google Analytics tracking code into the ActionScript 3 programming language that dramatically simplifies the ability to track Flash, Flex and AS3 content. This new Flash tracking code provides all the rich features of the current JavaScript-based version, including campaign, pageview and event tracking and can be used to track Flash content such as embedded videos, branded microsites and distributed widgets, such as online games.</p>
					</blockquote>
					<p>Developers have the choice of using a Flash Component or a AnalyticsLibrary Component, for complete control over tracking objects directly in AS3.</p>
					<p>For more detailed information, check out the <a href="http://code.google.com/apis/analytics/docs/flashTrackingIntro.html">introduction and implementation guide</a> over on Google Code. Then, watch the <a href="http://www.youtube.com/watch?v=wXdV4LnF3v8">video demo on YouTube</a>.</p>]]></description>
			<pubDate>Thu, 20 Nov 2008 12:17:59 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/23/google-analytics-tracking-for-adobe-flash/#comment</guid>
		</item>
		<item>
			<title>Augmented Reality</title>
			<link>http://www.quasiobject.com/blog/22/augmented-reality/</link>
			<description><![CDATA[<p>As this blog is essentially my soapbox to nerd out on web development, I'm occasionally torn about where to write about Flash. Since a handful of us in the Charlotte area are trying to get <a href="http://www.flashcharlotte.com/">Flash Charlotte</a> off the ground, I usually tend to post most of my Flash related news items there.</p>
					<p>That said, I couldn't pass up the opportunity to mention the <a href="http://www.boffswana.com/news/?p=392">Augmented Reality</a> project from Digital Pictures Interactive. <a href="http://www.flashcharlotte.com/2008/11/augmented-reality/">You need to see it for yourself</a> to really understand, but they've found a way to insert Papervision 3D objects into a webcam stream. If you have a webcam, you can try out the demo on <a href="http://www.boffswana.com/news/?p=392">their website</a>.</p>
					<p>Be sure to check out <a href="http://www.flashcharlotte.com/">Flash Charlotte</a> from time to time (especially if you work with Flash and live in the Charlotte, NC area). The group is still growing, but the blog is fairly active.</p>]]></description>
			<pubDate>Thu, 20 Nov 2008 11:57:39 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/22/augmented-reality/#comment</guid>
		</item>
		<item>
			<title>High-Quality YouTube Hack</title>
			<link>http://www.quasiobject.com/blog/21/high-quality-youtube-hack/</link>
			<description><![CDATA[<p><a href="http://blog.jimmyr.com/High_Quality_on_Youtube_11_2008.php">Jimmy Ruska</a> (via <a href="http://www.kottke.org/08/11/high-quality-youtube-video-hack">Kottke</a>) discovered a nice query string hack to enable high-quality videos on YouTube. Basically, just append this to a YouTube video URL:</p>
					<pre><code>&amp;fmt=18</code></pre>
					<p>According to Ruska, the format 18 video is encoded using "H.264 with stereo AAC sound at 480x360." Following the Kottke post, a YouTube engineer responded with a <a href="http://www.youtube.com/watch?v=zlfKdbWwruY&amp;fmt=22">format 22 video</a>, which is encoded at 720p. The engineer also noted that not all videos have format 18 or 22 versions, dependent on the source file uploaded.</p>]]></description>
			<pubDate>Fri, 14 Nov 2008 12:03:44 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/21/high-quality-youtube-hack/#comment</guid>
		</item>
		<item>
			<title>MySpace Announces Profile 2.0</title>
			<link>http://www.quasiobject.com/blog/20/myspace-announces-profile-20/</link>
			<description><![CDATA[<p>Ladies and gentlemen, the day has finally come&mdash;MySpace has launched <a href="http://blog.myspace.com/index.cfm?fuseaction=blog.view&amp;friendID=6221&amp;blogID=447772043">a W3C standards compliant profile</a>. Here's the official word from Tom himself:</p>
					<blockquote>
					  <p>The new profile is fully W3C compliant. It allows profile creators much more granular control by giving names to more objects. We still expect the third party layout market to flourish and will still allow users to use themes from layout sites.</p>
					</blockquote>
					<p>I've yet to see it work, because I only have to music profiles and the new code is not yet available for those accounts. Though, it sounds like an answered prayer for anyone who has ever had to skin up a MySpace profile.</p>]]></description>
			<pubDate>Tue, 11 Nov 2008 00:00:06 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/20/myspace-announces-profile-20/#comment</guid>
		</item>
		<item>
			<title>Not Another Sign-Up Form</title>
			<link>http://www.quasiobject.com/blog/19/not-another-sign-up-form/</link>
			<description><![CDATA[<p>I bookmarked <a href="http://alistapart.com/articles/signupforms">a post on A List Apart</a> earlier this year by the name of "Sign Up Forms Must Die." In the article, author Luke Wroblewski makes a great case for rethinking the placement and overall necessity for sign-up forms.</p>
					<blockquote>
					  <p>When planning a customer's initial experience for your web service, think about how you can avoid sign-up forms in favor of gradual engagement.</p>
					</blockquote>
					<p>I've been brainstorming ways to skip the sign-up process for an upcoming project and I was reminded of said article. At the bottom of the page, Wroblewski provides a nice list of best practices to take away.</p>]]></description>
			<pubDate>Mon, 10 Nov 2008 22:24:06 -0500</pubDate>
			<guid>http://www.quasiobject.com/blog/19/not-another-sign-up-form/#comment</guid>
		</item>
		<item>
			<title>Accessing Trace Outside Flash</title>
			<link>http://www.quasiobject.com/blog/18/accessing-trace-outside-flash/</link>
			<description><![CDATA[<p>I recently upgraded to a new machine and <a href="http://get.adobe.com/flashplayer/">Flash Player 10</a>. Accordingly, I had to install a new debug Flash Player and setup my Flash log again. I figured I'd share the well-known setup, for posterity. As with most things on this blog, these instructions are for meant for those using OS X.</p>
					<p>First, <a href="http://www.adobe.com/support/flashplayer/downloads.html#fp10">grab the Flash Player 10 debugger</a> on the Adobe website and install.</p>
					<p>Second, create a file named mm.cfg in this location:</p>
					<pre><code>/Library/Application Support/Macromedia/mm.cfg</code></pre>
					<p>In the file, add the following three lines:</p>
					<pre><code>ErrorReportingEnable=1
TraceOutputFileEnable=1
MaxWarnings=0</code></pre>
					<p>The first two should be self-explanatory, however the final line just allows more than the default 100 errors and messages to be logged.</p>
					<p>Next time Flash fires a trace function, a file named flashlog.txt should be automatically created and begin logging output from Flash. Previous to Flash Player 9, you could specify the location of the log with TraceOutPutFileName. However, now it's created in an unchangeable location:</p>
					<pre><code>~/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt</code></pre>
					<p>Of course, if you're working within Flash, you can view these messages in the Output window. However, when previewing Flash in a browser or the standalone Flash Player, the Output window is not available.</p>
					<p>You have a few options for viewing the contents flashlog.txt. Usually, I go with <a href="http://en.wikipedia.org/wiki/Console_(application)">Console</a>. However, if you want to follow real-time, you can fire up Terminal and use <a href="http://en.wikipedia.org/wiki/Tail_(Unix)">tail</a>:</p>
					<pre><code>tail -f ~/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt</code></pre>
					<p>Note: flashlog.txt is overwritten by each Flash movie, so it's contents will be cleared out each time you load up a SWF.</p>]]></description>
			<pubDate>Mon, 27 Oct 2008 12:45:07 -0400</pubDate>
			<guid>http://www.quasiobject.com/blog/18/accessing-trace-outside-flash/#comment</guid>
		</item>
	</channel>
</rss>