<?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>BKWLD › Buk Life &#187; Development</title>
	<atom:link href="http://bkwld.com/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://bkwld.com/blog</link>
	<description>The blog from the staff of BKWLD</description>
	<lastBuildDate>Tue, 13 Jul 2010 18:52:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How many images will fit in my DOM?</title>
		<link>http://bkwld.com/blog/2010/07/how-many-images-will-fit-in-my-dom/</link>
		<comments>http://bkwld.com/blog/2010/07/how-many-images-will-fit-in-my-dom/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 18:52:43 +0000</pubDate>
		<dc:creator>Robert Reinhard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=1301</guid>
		<description><![CDATA[On a project we&#8217;re working on now, we need to place &#8220;pins&#8221; on a map.  There are some advantages for us not implementing the map with Flash.  Namely, the project has a Facebook app component and Facebook requires users to click to activate Flash on profile tabs.  I was curious to see [...]]]></description>
			<content:encoded><![CDATA[<p>On a project we&#8217;re working on now, we need to place &#8220;pins&#8221; on a map.  There are some advantages for us not implementing the map with Flash.  Namely, the project has a Facebook app component and Facebook requires users to click to activate Flash on profile tabs.  I was curious to see how many pins I could instantiate in the DOM before there was noticeable chug.  I made a test script that creates a bunch of img elements in the DOM.  You can try it out here: <a href="http://bkwld.com/blog/labs/dom_capacity">DOM Capacity Test</a>.</p>
<p><a rel="attachment wp-att-1302" href="http://bkwld.com/blog/2010/07/how-many-images-will-fit-in-my-dom/screen-shot-2010-07-13-at-11-12-36-am/"><img class="aligncenter size-medium wp-image-1302" title="Screen shot 2010-07-13 at 11.12.36 AM" src="http://bkwld.com/blog/wp-content/uploads/Screen-shot-2010-07-13-at-11.12.36-AM-590x426.png" alt="" width="590" height="426" /></a></p>
<p>Through some not very scientific testing, I found that 100-300 DOM elements is my sweet spot (though IE really needs it towards the low end of that range).  Any higher and the browser noticeably chugs during rendering. I was surprised that once rendered, the browser didn&#8217;t seem to perform any worse during scrolling or resizing.  Another thing I noticed was that Firefox visually added each element to the page iteratively (taking much more time), whereas all other browsers immediately showed all of them after the initial CPU churn.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2010/07/how-many-images-will-fit-in-my-dom/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Web Typography Roundup</title>
		<link>http://bkwld.com/blog/2010/06/web-typography-roundup/</link>
		<comments>http://bkwld.com/blog/2010/06/web-typography-roundup/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 22:09:42 +0000</pubDate>
		<dc:creator>Matt Abersold</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[@font-face]]></category>
		<category><![CDATA[cufón]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[sIFR]]></category>
		<category><![CDATA[Typography]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=1294</guid>
		<description><![CDATA[This subject matter is far from new, but quality typography on the web is such an important issue that it  deserves attention. There many resources and tutorials out there, but I rarely come across a top-level view of all the typography-related techniques. Therefore, I&#8217;ve compiled a roundup of the most popular methods for rendering [...]]]></description>
			<content:encoded><![CDATA[<p>This subject matter is far from new, but quality typography on the web is such an important issue that it  deserves attention. There many resources and tutorials out there, but I rarely come across a top-level view of all the typography-related techniques. Therefore, I&#8217;ve compiled a roundup of the most popular methods for rendering high-quality typography on the screen.</p>
<h2>Images</h2>
<p><img src="http://bkwld.com/blog/wp-content/uploads/although-590x26.png" alt="Although it seems archaic and old school," title="although" width="590" height="26" class="alignnone size-medium wp-image-1295" style="padding: 0px;" /></p>
<p>using images for custom typography doesn&#8217;t necessarily have a negative impact on a site&#8217;s performance and search engine optimization. If file size is carefully considered, and the proper alt text is used, typographic images can be a good solution. Of course, this technique should only be used for short bits of text, like page headings, pull quotes, and drop caps. I will argue that there are better options available today, but at the end of the day, images are a perfectly valid option.</p>
<h2>Flash</h2>
<p>The value of embedding fonts in your SWF files cannot be overlooked. Although it would be considered bad practice to utilize flash for only this purpose, if Flash is going to be used anyways, one of it&#8217;s major benefits is the cross-browser pixel perfection and ability to embed dynamic type.</p>
<h2>Web Safe Fonts &amp; the Font Matrix</h2>
<p>The list of &#8220;web-safe&#8221; fonts is very limited. Normally, most web designers don&#8217;t stray too far away from Helvetica, Verdana, and Georgia. <a href="http://24ways.org/2007/increase-your-font-stacks-with-font-matrix">This list from 24 Ways</a> helps expand that list to fonts that are common across many computers, operating systems, and installed software. Used correctly in font stacks, developers can target most computers that have software like Office and Creative Suite. Check out the list, you might be surprised by how many fonts are available.</p>
<p><a href="http://24ways.org/2007/increase-your-font-stacks-with-font-matrix"><img src="http://bkwld.com/blog/wp-content/uploads/Thumbnail-of-font-matrix.png" alt="" title="Thumbnail of font matrix" width="511" height="152" class="alignnone size-full wp-image-1300" /></a></p>
<h2>sIFR</h2>
<p><a href="http://www.mikeindustries.com/blog/sifr"><img src="http://bkwld.com/blog/wp-content/uploads/Screen-shot-2010-06-23-at-2.39.49-PM.png" alt="" title="Screen shot 2010-06-23 at 2.39.49 PM" width="199" height="121" class="alignnone size-full wp-image-1296" /></a></p>
<p>It&#8217;s worth mentioning <a href="http://www.mikeindustries.com/blog/sifr">sIFR</a> here, although many developers have abandoned this technology in favor of Cufon, which I will talk about later. sIFR (which stands for Scalable Inman Flash Replacement) is a flash replacement technology. The philosophy here is creating the ability to bring rich typography to web pages without compromising accessibility or semantics. Additionally, one of the great advantages of sIFR was it&#8217;s fallback to plain text if Flash is not supported. Although it&#8217;s been criticized as hard to implement and somewhat buggy, this was the first real jump forward for web typography, and is still very popular to this day. sIFR laid the foundation for many great resources for custom web typography. </p>
<h2>Cufon</h2>
<p><a href="http://cufon.shoqolate.com/generate/"><img src="http://bkwld.com/blog/wp-content/uploads/Screen-shot-2010-06-23-at-2.40.13-PM.png" alt="" title="Screen shot 2010-06-23 at 2.40.13 PM" width="188" height="59" class="alignnone size-full wp-image-1297" /></a></p>
<p>The best way to describe <a href="http://cufon.shoqolate.com/generate/">Cufon</a> is a next generation sIFR which is built with Javascript rather than Flash. This method has it&#8217;s benefits like not requiring the Flash plugin &#8211; good news for Apple devices. It&#8217;s also extremely easy to implement, and has very good performance, even for large amounts of text. You upload font files (with the proper licensing) through the Cufon site, and convert&#8217;s the file to SVG format. Then, the SVG file is converted to JSON which can be added to your site through simple Javascript. One downside to using Cufon is that many custom font licenses do not permit usage on web pages, so check the license or use a great free or open source typeface. There are many good ones out there. </p>
<p>If you&#8217;re looking for some high quality free fonts, <a href="http://www.smashingmagazine.com/category/design/">Smashing Magazine</a> is a great place to start your search.</p>
<h2>Font-Face</h2>
<p>This is by far the easiest method to integrate custom typography on the web. Using the @font-face property allows you to access fonts via CSS, and host the files on your web server. Of course, the same licensing issues remain, so make sure to chose a good typeface with no constraints. From there, you can use @font-face to access that font file for use with any CSS property. Add the font name on the top of your font stacks, and that&#8217;s it. There are a few hoops to jump through, mainly to accommodate Internet Explorer. IE requires a .eot file (Embed-able Open Type) to render custom fonts. Luckily, there are a few good online converters that will take common font files (.ttf and .oft) and convert the fonts to .eot. On a side note, I <a href="http://www.mattaebersold.net/blog/?p=1213">wrote a recent blog post</a> about getting @font-face to work correctly in all major browsers.</p>
<h2>TypeKit</h2>
<p><a href="http://typekit.com/"><img src="http://bkwld.com/blog/wp-content/uploads/Screen-shot-2010-06-23-at-2.40.45-PM.png" alt="" title="Screen shot 2010-06-23 at 2.40.45 PM" width="167" height="43" class="alignnone size-full wp-image-1298" /></a></p>
<p><a href="http://typekit.com/">TypeKit</a> aims to take all of the hassle out of setting up @font-face, and they do a killer job at it. For as little as $25 per year, you can use fully-licensed fonts which are hosted on TypeKit. All of the licensing issues as well as the compatability woes are taken care of, and in turn you get an incredibly easy-to-use and extremely large font library at your fingertips. It&#8217;s definitely work a second look.</p>
<h2>Google Font API &#038; Font Directory (beta)</h2>
<p><a href="http://code.google.com/apis/webfonts/"><img src="http://bkwld.com/blog/wp-content/uploads/Screen-shot-2010-06-23-at-2.41.08-PM-590x70.png" alt="" title="Screen shot 2010-06-23 at 2.41.08 PM" width="590" height="70" class="alignnone size-medium wp-image-1299" /></a></p>
<p>In the same veins as TypeKit, Google recently introduced their <a href="http://code.google.com/apis/webfonts/">font API and font directory</a>. Google hosts fonts that are licensed and ready to go, you just have to target these fonts on your site, and Google will do the rest. Their library is currently very conservative, but hopefully this will grow in the near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2010/06/web-typography-roundup/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8220;These are a few of our favorite&#8230; Apps&#8221;.</title>
		<link>http://bkwld.com/blog/2010/06/our-favorite-apps/</link>
		<comments>http://bkwld.com/blog/2010/06/our-favorite-apps/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 18:11:04 +0000</pubDate>
		<dc:creator>Jeff Toll</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=1172</guid>
		<description><![CDATA[

Here at BKWLD we like to keep things such as our everyday work flow and culture as transparent as possible. I thought it would be a fun idea for everyone whom wanted to take part to list their top 5 or so most used apps. 
Some of the apps listed are pretty standard and some [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bkwld.com/blog/2010/06/our-favorite-apps/bkwld_apps/" rel="attachment wp-att-1277"><img src="http://bkwld.com/blog/wp-content/uploads/bkwld_apps.jpg" alt="" title="bkwld_apps" width="580" height="348" class="alignnone size-full wp-image-1277" /></a><br />
<br />
Here at BKWLD we like to keep things such as our everyday work flow and culture as transparent as possible. I thought it would be a fun idea for everyone whom wanted to take part to list their top 5 or so most used apps. </p>
<p>Some of the apps listed are pretty standard and some not so much. We are always interested in exploring new apps so, please recommend away!<br />
</p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
</p>
<div class="clearfix">
	<img class="size-full wp-image-1194 alignleft" title="jeff" src="http://bkwld.com/blog/wp-content/uploads/jeff.png" alt="" width="70" height="92" /><br />
	<a href="http://bkwld.com/blog/author/jeff/">Jeff Toll &#8211; Creative Director</a>
</div>
<p><span style="color: #808080;"><a href="http://www.adobe.com/products/photoshop/family/"><strong>Photoshop</strong></a> - “Open and running every day, all day.”<br />
<strong>TextEdit</strong> &#8211; “I get grief for using this but it&#8217;s lightweight and simple, simple, simple. I&#8217;ll start using a more robust text editor sometime soon. I use it for writing quick storyboards and concept explanation etc. ʻPagesʼ is upon the horizon…”<br />
<a href="http://iconfactory.com/software/xscope"><strong>xScope</strong></a>- “Covers my ass for screen resolution guides at the very least.”<br />
<strong>iChat</strong>- “Communicating with our Seattle office and random jackasses.”<br />
<strong>iCal</strong> -“I&#8217;ve been getting better and better with my organization.</p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="size-full wp-image-1210 alignleft" title="robert" src="http://bkwld.com/blog/wp-content/uploads/robert.png" alt="" width="70" height="92" /><br />
<a href="http://bkwld.com/blog/author/robert/">Robert Reinhard- CTO &amp; Partner</a>
</div>
<p><a href="http://www.apple.com/iwork/pages/"><span style="text-decoration: none;"><strong>Pages</strong></span></a> - “I haven&#8217;t touched MS Word in over 2 years and haven&#8217;t looked back. I love how it handles styles, it&#8217;s like easy CSS in a word processor.”<br />
<a href="http://www.omnigroup.com/products/omnioutliner/"><span style="text-decoration: none;"><strong>OmniOutliner</strong></span></a><strong> </strong>- “For taking notes on conference calls.”<br />
<a href="http://www.mamp.info/en/index.html"><span style="text-decoration: none;"><strong>MAMP Pro</strong></span></a> - <span style="font-weight: normal;">“Powers My LAMP dev environment. Makes it easy to setup additional testing vhosts (test dev rather than local host).”<br />
</span><a href="http://macromates.com/"><span style="text-decoration: none;"><strong>TextMate</strong></span></a> &#8211; <span style="font-weight: normal;">“When is 2.0 gonna come out?! I&#8217;ve been flirting with switching to Coda, but I miss some of the hotkeys.”</span><br />
<a href="http://www.realmacsoftware.com/socialite/"><span style="text-decoration: none;"><strong>Socialite</strong></span></a> -<span style="font-weight: normal;">“Aggregates feeds from Facebook, Twitter, Google Reader, and Digg all in one place, plus allows me to post comments/tweets.”<br />
</span></p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="size-full wp-image-1212 alignleft" title="scott" src="http://bkwld.com/blog/wp-content/uploads/scott.png" alt="" width="70" height="92" /><br />
<a href="http://bkwld.com/blog/author/scott.thiessen/">Scott Thiessen &#8211; Flash Developer</a>
</div>
<p><a href="http://apple.com/safari"><strong>Safari</strong></a> -<span style="font-weight: normal;">“The Activity Window and Web Inspector alone are enough to make me feel like the king of the Internet.”</span><br />
<a href="http://macromates.com/"><strong>TextMate</strong></a> - <span style="font-weight: normal;">“Lots of power for so little toolbar.”</span><br />
<a href="http://www.sequelpro.com/"><strong>Sequel Pro</strong></a> &#8211; <span style="font-weight: normal;">“This is phpMyAdmin&#8217;s gorgeous, sophisticated sister. Unbelievable that this app is free!”</span><br />
<strong><a href="http://zachwaugh.com/spotcolor/">Spot Color </a>+ <a href="http://www.panic.com/~wade/picker/">Developer Color Picker</a></strong> - <span style="font-weight: normal;">“Slick way to grab colors from the screen, tweak them in your favorite gamut, and spit out hexadecimals.”</span><br />
<strong>Quick Look</strong> - <span style="font-weight: normal;">“Not really a stand-alone app, but I&#8217;ve definitely forgotten what it&#8217;s like to use a computer without it.”</span></p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="size-full wp-image-1231 alignleft" title="matt" src="http://bkwld.com/blog/wp-content/uploads/matt.png" alt="" width="70" height="92" /> <a href="http://bkwld.com/blog/author/matt.aebersold/"></a><br />
<a href="http://bkwld.com/blog/author/matt.aebersold/">Matt Aebersold &#8211; Flash Developer</a>
</div>
<p><strong><a href="http://www.adobe.com/products/flash/?promoid=BPDEE">Flash + AS3</a></strong> - <span style="font-weight: normal;">“Although thereʼs a steep learning curve, learning object-oriented AS3 has opened up so many doors, and is such an intricate and expansive programming language. Itʼs allowed me to create some kick-ass web designs.”<br />
<a href="http://panic.com/coda"><strong>Coda</strong></a> &#8211; <span style="font-weight: normal;">“Once a site project is completely set up, the complete integration is incredible, and so intuitive. Once I made the switch I&#8217;ve never looked back.”<br />
<a href="http://www.mamp.info/en/index.html"><strong>MAMP</strong></a> - <span style="font-weight: normal;">“Helped me do PHP dev on my local machine. Extremely helpful in every way.”<br />
<a href="http://culturedcode.com/things/"><strong>Things</strong></a> <span style="font-weight: normal;">-</span><span style="font-weight: normal;"> “Awesome to-do app. Easy to set up and manage. So simple, and It&#8217;s what&#8217;s not included that makes it great. plus syncing over dropbox has make this invaluable. That said&#8230;”<br />
<a href="http://dropbox.com"><strong>DropBox</strong></a> &#8211; <span style="font-weight: normal;">“Awesome cloud storage. If I point my apps there, than they sync on all my computers (iTunes, Things, etc&#8230;). Plus online file recovery is very easy.”</span></span></span></span></span></p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="size-full wp-image-1213 alignleft" title="sean" src="http://bkwld.com/blog/wp-content/uploads/sean.png" alt="" width="70" height="92" /><br />
<a href="http://bkwld.com/blog/author/sean/">Sean Monahan &#8211; Flex Developer</a>
</div>
<p><strong><a href="http://www.eclipse.org/">Eclipse</a> w/<a href="https://www.adobe.com/cfusion/tdrc/index.cfm?product=flash_builder">Flash Builder 4 Plugin</a></strong> - <span style="font-weight: normal;">“Paraphrasing a Josh Reddin-ism, ʻItʼs a text editor for fully grown men.ʼ Upgraded from Flex Builder 3 stand alone and my opinion of Eclipse has greatly increased. Eclipse also has plugins for PHP dev, Unfuddle (our ticket tracking software) and Ant (for oneclick builds)- all this allows for a one-step development environment for Elastic.</span><br />
<strong>Calculator</strong> -  <span style="font-weight: normal;">“Boring, I know, but good for doing quick math. I use this a lot when programming Uls. Bonus: it has a “programmer” view for doing fancy binary math.”</span><br />
<strong>Last.fm</strong> &#8211;  <span style="font-weight: normal;">“I like its music picks better than Pandora and the artist bios and photo streams are freaking sweet.”</span><br />
<a href="http://www.adobe.com/products/photoshop/family/"><strong>Photoshop</strong></a> &#8211; <span style="font-weight: normal;">“What doesnʼt it do?”</span><br />
<a href="http://adium.im/"><strong>Adium</strong></a> - “A slick IM client that supports just about every IM service in existence.”</p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="size-full wp-image-1173 alignleft" title="aaron" src="http://bkwld.com/blog/wp-content/uploads/aaron.png" alt="" width="70" height="92" /><br />
<a href="http://bkwld.com/blog/author/aaron/">Aaron Egaas &#8211; Web Applications Lead</a>
</div>
<p><a href="http://www.chromium.org/Home"><strong>Chromium</strong></a> - <span style="font-weight: normal;">“Browser of choice, nightly version of web inspector is as good as firebug without the performance hit.”</span><br />
<a href="http://macromates.com/"><strong>TextMate</strong></a> - “Code keeps me paid, and TextMate keeps me sane.”<br />
iChat - “Remote communication, PM requests.”<br />
<a href="http://mailplaneapp.com/"><strong>MailPlane</strong></a> - “Multiple Gmail accounts? Like to keep ‘em separate? Notifications? Native web app feel with label and everything? Gets me into GCal, too.”<br />
<strong>Terminal</strong> - “I gotta ssh into servers to push code, so I use some sweet aliases to keep it all organized.”</p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="size-full wp-image-1184 alignleft" title="dave" src="http://bkwld.com/blog/wp-content/uploads/dave.png" alt="" width="70" height="92" /><br />
<a href="http://bkwld.com/blog/author/dave/">Dave Brown &#8211; Senior Interactive Producer</a>
</div>
<p><a href="http://adium.im/"><strong>Adium</strong></a><br />
<a href="http://www.omnigroup.com/products/omnioutliner/"><strong>OmniOutliner</strong></a> - “Great for taking notes.”<br />
<a href="http://www.fontlab.com/font-editor/fontlab-studio/"><strong>FontLab Studio</strong></a> - “Converting fonts.”<br />
<a href="http://www.justinmind.com/"><strong>Justinmind Prototyper</strong></a> - “Havenʼt really used this yet, but Iʼve heard great things.”<br />
<a href="http://www.adobe.com/products/mediaplayer/"><strong>Adobe Media Player</strong></a> - “Checking/watching native flv.”</span></p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="size-full wp-image-1190 alignleft" title="george" src="http://bkwld.com/blog/wp-content/uploads/george.png" alt="" width="70" height="92" /><br />
<a href="http://bkwld.com/blog/author/george.pendl/">George Plendl &#8211; Front End Developer</a>
</div>
<p><a href="http://conceitedsoftware.com/products/linkinus"><strong>Linkinus</strong></a> - “Best IRC client for a mac. irc.freenode.net, #jquery is a great place to learn and ask questions.”<br />
<a href="http://www.alfredapp.com/"><strong>Alfred</strong></a> - “Quicklaunch application for which aims to save you time in searching your local computer and the web. Replaced ancient Quicksilver app!”<br />
<a href="http://code.google.com/p/snippely/"><strong>Snippley</strong></a> - “Basic text and organization app.”<br />
<a href="http://www.scootersoftware.com/"><strong>Beyond Compare</strong></a> - “Easily compare files, folders, images, anything. Itʼs great!”<br />
<a href="http://macromates.com/"><strong>TextMate</strong></a> - “The best text editor for Mac and a powerful abbreviation engine for HTML and CSS. Saves hours!”</p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="size-full wp-image-1215 alignleft" title="shelby" src="http://bkwld.com/blog/wp-content/uploads/shelby.png" alt="" width="70" height="92" /><br />
<a href="http://bkwld.com/blog/author/shelby/">Shelby White &#8211; Design Intern</a>
</div>
<p><a href="https://www.dropbox.com/"><strong>DropBox</strong></a> - “Best app for managing projects between projects. I also use it for freelance in getting assets.”<br />
<strong><a href="http://adium.im/">Adium</a>/iChat</strong> - “Adium manages contacts better but iChat actually sends files.”<br />
<a href="http://panic.com/coda"><strong>Coda</strong></a> - “My favorite app with FTP for html/css.”<br />
<a href="http://wordpress.org"><strong>Wordpress</strong></a> - “ Where I&#8217;ve spent most of my last year and a half.”<br />
<a href="http://www.tweetdeck.com/desktop/"><strong>TweetDeck</strong></a> - “Nice for managing my tweets&#8230;”</p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="size-full wp-image-1195 alignleft" title="joe" src="http://bkwld.com/blog/wp-content/uploads/joe.png" alt="" width="70" height="92" /><br />
<a href="http://bkwld.com/blog/author/joe/">Joe Leoni &#8211; Producer</a>
</div>
<p><a href="http://www.tweetdeck.com/desktop/"><strong>TweetDeck</strong></a> - “Best way to stay informed of Chad Ochocincoʼs daily workouts or Snoop Doggʼs ʻbreakfast activitiesʼ.”<br />
<strong>iChat</strong> - “Instant messaging: extreme convenience and extreme inconvenience all wrapped up into one.”<br />
<a href="http://www.apple.com/ilife/garageband/"><strong>Garageband</strong></a> - “Now anyone can be a MC, and youʼll probably be better than 99% of radio hip-hop.”<br />
<a href="http://www.apple.com/iwork/pages/"><strong>Pages</strong></a> - “Iʼd rather be using Word, but close enough.”<br />
<a href="http://www.apple.com/downloads/macosx/games/cards_puzzle/classicsolitaire.html"><strong>Solitaire</strong></a> - “The best way to play with yourself.”</p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
<img class="alignleft size-full wp-image-1228" title="veronica" src="http://bkwld.com/blog/wp-content/uploads/veronica.png" alt="" width="70" height="92" /><br />
<a href="http://bkwld.com/blog/author/veronica/">Veronica Skarshaug &#8211; Administrative Assistant</a>
</div>
<p><strong>Stickies</strong> - “Nice way to save on physical sticky pads, and info that I need on a daily basis is easily accessible.”<br />
<a href="http://gettaskmate.com/download"><strong>TaskMate</strong></a> - “Great for keeping my to-do’s in order.”<br />
<a href="http://apple.com/iwork/numbers"><strong>Numbers</strong></a> - “I like to make spreadsheets, I’m a total nerd.”<br />
<strong>Preview</strong> - “Makes things easy, easy, lemon squeezy.”<br />
<strong>iChat</strong> - “Because, duh.”</p>
<hr style="background-color:#CCC;height:1px;border:none;"/>
<div class="clearfix">
Chad Taffolla &#8211; Art Director
</div>
<p><a href="http://www.potionfactory.com/thehitlist/"><strong>The Hit List</strong></a> &#8211; “Awesome and free GTD app to keep my days/life organized.”<br />
<a href="http://panic.com/transmit"><strong>Transmit</strong></a> &#8211; “Gorgeous UI and experience to easily upload my files.”<br />
<a href="http://adium.im/"><strong>Adium</strong></a> &#8211; “My favorite chat client especially when used with the iPhone message style.”<br />
<a href="http://www.rahji.com/wordpress/2005/10/25/cicero-dashboard-widget/"><strong>Cicero</strong></a> &#8211; “Dashboard widget that fulfills my Lorem Ipsum needs. Used and abused daily.”<br />
<a href="http://www.adobe.com/products/photoshop/family/"><strong>Photoshop</strong></a> &#8211; “There is a light on under this icon all day. Content aware fill has come in handy on more than 1 occasion.”</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2010/06/our-favorite-apps/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Get SSL working on MAMP Pro</title>
		<link>http://bkwld.com/blog/2010/05/get-ssl-working-on-mamp-pro/</link>
		<comments>http://bkwld.com/blog/2010/05/get-ssl-working-on-mamp-pro/#comments</comments>
		<pubDate>Tue, 25 May 2010 22:58:09 +0000</pubDate>
		<dc:creator>Robert Reinhard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[mamp]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=1171</guid>
		<description><![CDATA[Here&#8217;s what I did to get MAMP Pro working so I could test the HTTPS pages of the site I&#8217;m working on.
1) Follow these instructions from Rocket Theme to the letter.  I didn&#8217;t need to deal with any of the &#8220;Possible Issues&#8221; section.
2) Go into &#8220;/Applications/MAMP/conf/apache/ssl.conf&#8221; and add a new vhost within the &#60;IfDefine&#62; blocks [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s what I did to get MAMP Pro working so I could test the HTTPS pages of the site I&#8217;m working on.</p>
<p>1) Follow <a href="http://www.rockettheme.com/blog/coding/310-getting-ssl-to-work-with-mamp-pro">these instructions</a> from Rocket Theme to the letter.  I didn&#8217;t need to deal with any of the &#8220;Possible Issues&#8221; section.<br />
2) Go into &#8220;/Applications/MAMP/conf/apache/ssl.conf&#8221; and add a new vhost within the &lt;IfDefine&gt; blocks at the end of the page.  This vhost will mirror the settings of the vhost you would have already setup in MAMP:</p>
<p><code>&lt;VirtualHost test.dev:443&gt;<br />
DocumentRoot "/Path/to/document/root"<br />
ServerName test.dev<br />
SSLEngine on<br />
SSLCertificateFile /Applications/MAMP/conf/apache/ssl_crt/server.crt<br />
SSLCertificateKeyFile /Applications/MAMP/conf/apache/ssl_key/server.key<br />
&lt;Directory "/Path/to/document/root"&gt;<br />
Options All<br />
AllowOverride All<br />
Order allow,deny<br />
Allow from all<br />
&lt;/Directory&gt;<br />
&lt;/VirtualHost&gt;</code></p>
<p>3) That&#8217;s really it.  Restart MAMP and you&#8217;re good to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2010/05/get-ssl-working-on-mamp-pro/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash SEO</title>
		<link>http://bkwld.com/blog/2010/05/flash-seo/</link>
		<comments>http://bkwld.com/blog/2010/05/flash-seo/#comments</comments>
		<pubDate>Tue, 11 May 2010 18:49:37 +0000</pubDate>
		<dc:creator>Matt Abersold</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=1150</guid>
		<description><![CDATA[Flash has a strong reputation for creating visually stunning websites, and rightfully so. Just head over to The FWA to see some of the best flash-based websites ever designed. As good as flash is at delivering rich media to the web, there are some serious downsides to consider.
One of the largest drawbacks to flash content [...]]]></description>
			<content:encoded><![CDATA[<p>Flash has a strong reputation for creating visually stunning websites, and rightfully so. Just head over to <a href="http://www.thefwa.com">The FWA</a> to see some of the best flash-based websites ever designed. As good as flash is at delivering rich media to the web, there are some serious downsides to consider.</p>
<p>One of the largest drawbacks to flash content is it&#8217;s relative invisibility to search engines and accessibility programs. The criticism is true when talking about Flash as a closed platform. The code written is compiled into a SWF, and then embedded online. This makes searching an indexing flash content extremely difficult for most search engines. Accessing Flash content is also a problem for screen readers and other accessibility programs. </p>
<p>These issues, combined with the popularity of the Apple devices, create a lot of hesitancy for companies to fully embrace  Flash content in their projects and sirs. I&#8217;m going to talk about a few key principals that will help Flash gain visibility and accessibility across multiple platforms, and at the same time make Flash content easier to update and maintain.</p>
<h2>Does it need to be Flash?</h2>
<p>The first step, of course, is to figure out what content needs to be in Flash, and what does not. There&#8217;s no point to constructing a site using flash if the same design can be achieved using more open, standards-compliant code. Once the decisions have been made as to what content will be built in Flash, than it&#8217;s time to start thinking along the same lines as proponents of web standards.</p>
<h2>Use the Principals of Web Standards</h2>
<p>The primary rule in web development today is the separation of content from presentation. The same principal can be applied to Flash projects. Separating the content from the design means updating and maintaining the Flash site will be much easier if the code doesn&#8217;t need to be recompiled and edited every time a change needs to be made. Making things like the navigation, links, and photos flexible and external are all great steps to create clean, smart, and flexible projects.</p>
<h2>Smart Degradation</h2>
<p>If the Flash content and design are properly separated, than re-purposing the content is extremely easy. If the content is in XML format, it can be applied to an XML site-map which will help search engines index the site&#8217;s content much easier. In addition, there are browser and platform detection scripts which could allow you to display the XML content in regular HTML format if the browser or device isn&#8217;t compatible with Flash. (iPad anyone?) You can also detect older browsers and Flash players. Content can then be delivered in the most efficient way possible to all users.</p>
<p>For example, head over to the <a href="http://www.bkwld.com">BKWLD</a> site on an iPad or iPhone, and you will see that the features on the homepage are still visible and interactive. This helps serve the most people possible the site&#8217;s content, no matter what environment they are using to visit the site.</p>
<h2>Hybrids</h2>
<p>There is also the option of creating hybrid sites, which are very popular because they combine flash elements with standard HTML markup. This allows the user to have a rich experience, as well as giving search engines easy access to the site&#8217;s content. Making use of flashvars and XML/JSON add to the flexibility of the site by allowing Flash to communicate directly with the rest of the site.</p>
<h2>SWFObject &#038; Deep Linking</h2>
<p><a href="http://www.asual.com/swfaddress/"><img src="http://bkwld.com/blog/wp-content/uploads/swfa.jpg" alt="" title="swfa" width="471" height="55" class="alignnone size-full wp-image-1151" /></a></p>
<p>Making use of programs like <a href="http://www.asual.com/swfaddress/">SWFAddress</a> and <a href="http://code.google.com/p/swfobject/">SWFObject</a> allow the Flash content to be more transparent and visible to search engines. SWFAddress will create a specific URL for each page in a full-browser Flash experience. Knowing what section the user is on, and showing that section in the browser&#8217;s address bar allow search engines to look at specific pages, and create extremely accurate analytical reports.</p>
<p><img src="http://bkwld.com/blog/wp-content/uploads/swfo.jpg" alt="" title="swfo" width="418" height="76" class="alignnone size-full wp-image-1152" /></p>
<p>SWFObject is a way to create valid code though the W3C Validation tools. Also, SWFObject has the ability to replace Flash content with a static image, which maintains the visual design if the user doesn&#8217;t have flash enabled.</p>
<h2>Conclusion</h2>
<p>It&#8217;s ultimately about choosing the right tool for the right project. Flash has many advantages, which need to be carefully weighed against the areas in which Flash falls short. The ideas described here can certainly help Flash communicate better with browsers, search engines, analytical tools, and accessibility programs. </p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2010/05/flash-seo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Simple Connections</title>
		<link>http://bkwld.com/blog/2010/04/simple-connections/</link>
		<comments>http://bkwld.com/blog/2010/04/simple-connections/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 23:10:18 +0000</pubDate>
		<dc:creator>MDavid</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Distractions]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=1095</guid>
		<description><![CDATA[I have been playing around with a handful of social integration plugins for Wordpress and so far "Simple Facebook Connect" is by far the easiest. ]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1096" href="http://bkwld.com/blog/2010/04/simple-connections/screen-shot-2010-04-28-at-3-52-53-pm/"><img class="alignnone size-medium wp-image-1096" title="Screen shot 2010-04-28 at 3.52.53 PM" src="http://bkwld.com/blog/wp-content/uploads/Screen-shot-2010-04-28-at-3.52.53-PM-590x203.png" alt="" width="590" height="203" /></a></p>
<p>I have been playing around with a handful of social integration utilities for Wordpress and so far the Simple Twitter/Facebook Connect plugins from <a href="http://wordpress.org/extend/plugins/profile/otto">Otto</a> are by far the easiest, most feature useful and stable that I have found.</p>
<p><a href="http://wordpress.org/extend/plugins/simple-facebook-connect/"></a>You will see that this post was simply, and easily posted to our FB Fan Page &#8211; <a href="http://www.facebook.com/BKWLD">http://www.facebook.com/BKWLD</a> and tweeted (<a href="http://twitter.com/BKWLD">http://twitter.com/BKWLD</a>)</p>
<p>The plugins have some really fun features &#8211; like automagically grabbing any &#8220;@&#8221; handles and linking them back to twitter &#8211; @BKWLD</p>
<p>Do you guys have any other favorite Wordpress plugins or add ons you find endlessly useful?</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2010/04/simple-connections/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>It&#8217;s the Idea, Not the Technology</title>
		<link>http://bkwld.com/blog/2010/04/its-the-idea-not-the-technology/</link>
		<comments>http://bkwld.com/blog/2010/04/its-the-idea-not-the-technology/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 18:14:53 +0000</pubDate>
		<dc:creator>Matt Abersold</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Planning]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=1020</guid>
		<description><![CDATA[There are so many arguments happening now about this technology and that development language. The battle for supremacy has led to some fairly bad blood between some amazing companies. Listening to the recent debates between Adobe and Apple about flash on the iPad and iPhone has got me thinking. It seems like no matter what, [...]]]></description>
			<content:encoded><![CDATA[<p>There are so many arguments happening now about this technology and that development language. The battle for supremacy has led to some fairly bad blood between some amazing companies. Listening to the recent debates between Adobe and Apple about flash on the iPad and iPhone has got me thinking. It seems like no matter what, there will be a problem and a battle until we as designers and developers get our heads in the right place.</p>
<p>This is because the debate is centered around technologies and programming languages. This strife is very prevalent in all areas of the web design industry. Should you use Flash or Javascript for that slideshow? Should we connect to this MySQL database, or this SQL server over here? .NET or PHP? There are some very opinionated groups, which is too bad because all of these technologies are amazing in their own right.</p>
<p>At the core of every project is an idea, and that is by far the most important thing to consider. Once the creative idea has been set, realizing that idea can happen any number of unique and innovative ways.</p>
<p>When figuring out how to produce the project, it&#8217;s all about what technology is best suited for the design. How much interactivity will it have? Of course you&#8217;re not going to utilize Flash for a site that is just plain, static text, and you&#8217;re not going to link up to a database when your site consists of two pages.</p>
<p>After these things have been sorted out, then pick the technology that you are most comfortable and efficient with. For example, I work really well in Flash and Actionscript. I am very comfortable with the language, and it comes naturally to me. That doesn&#8217;t mean that Flash should be used for everything, but in at the end of the day it&#8217;s all about the idea being produced, —not what technology was used to make it. If you need a slideshow, it can be written in Javascript, Flash, or hell even Lingo, as long as you end up with a killer slideshow.</p>
<p>It&#8217;s also not about the newest technology; it&#8217;s it&#8217;s about the best technology. My old college instructor is a professional type designer for a 1st-class graphic design agency. She stands by Freehand as the best tool out there for type and letterform design. It&#8217;s not a new program by any measure, but it works for her, and she produces some incredible work.</p>
<p>So we need to relax about the technology debates, and focus on making kick- ass designs, and have fun doing it.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2010/04/its-the-idea-not-the-technology/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Surprises with implementing Open Graph and the Like button</title>
		<link>http://bkwld.com/blog/2010/04/implementing-like-button/</link>
		<comments>http://bkwld.com/blog/2010/04/implementing-like-button/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 22:04:17 +0000</pubDate>
		<dc:creator>Robert Reinhard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[feature]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=995</guid>
		<description><![CDATA[I tried out some of the newly announced Facebook features today, specifically the Open Graph markup and the Like social plugin.  They were both technically simple to deploy, as promised.  You have less control over the appearance of the Like button than I&#8217;d like.  For instance, they don&#8217;t have an option to ONLY display the [...]]]></description>
			<content:encoded><![CDATA[<p>I tried out some of the <a href="http://apps.facebook.com/feightlive/">newly announced</a> Facebook features today, specifically the <a href="http://developers.facebook.com/docs/opengraph">Open Graph</a> markup and the <a href="http://developers.facebook.com/docs/reference/plugins/like">Like </a>social plugin.  They were both technically simple to deploy, as promised.  You have less control over the appearance of the Like button than I&#8217;d like.  For instance, they don&#8217;t have an option to ONLY display the like button without a list of total likes.  You can work around this by reducing the width of the iframe, but it was an unexpected restriction.  For us, the goal was to provide a handy way to Like us on Facebook; we don&#8217;t care to give screen real estate to showing your friends who have also Liked us (for the majority of visitors, I expect there would be none).</p>
<p>I initially went about including the Like button the wrong way.  In the demos they showed at the F8, it appeared that they would expect each deep linked article page in a blog to have a unique Like button, like how <a href="http://www.cnn.com/2010/POLITICS/04/23/obama.immigration/index.html">CNN is implemented</a>.  So I did this:</p>
<p style="text-align: center;"><a rel="attachment wp-att-1006" href="http://bkwld.com/blog/2010/04/implementing-like-button/attachment/2/"><img class="size-full wp-image-1006    aligncenter" title="2" src="http://bkwld.com/blog/wp-content/uploads/2.jpg" alt="" width="433" height="40" /></a></p>
<p>However, when you click Like, it adds a link in your profile section on Facebook for that specific deep link.  For example, check out the article link added here from CNN:</p>
<p style="text-align: center;"><a rel="attachment wp-att-999" href="http://bkwld.com/blog/2010/04/implementing-like-button/screen-shot-2010-04-23-at-2-30-58-pm/"><img class="size-full wp-image-999  aligncenter" title="Screen shot 2010-04-23 at 2.30.58 PM" src="http://bkwld.com/blog/wp-content/uploads/Screen-shot-2010-04-23-at-2.30.58-PM.png" alt="" width="559" height="141" /></a></p>
<p>You could imagine that very quickly this area would be cluttered with all the articles a person had liked on news sites and blogs.  Then I noticed this suggestion from the <a href="http://developers.facebook.com/docs/opengraph">Open Graph Best Practices</a>:</p>
<blockquote><p>Make only real-life things into objects. Users don&#8217;t want news articles and other transient content as objects on their profile.</p></blockquote>
<p>This advice makes sense, though it&#8217;s inconsistent that Facebook would tout their partner (CNN) whose implementation contradicts this.  Thus, I moved the Like button into the footer, making it site wide, and added a Digg link in it&#8217;s place.</p>
<p>Ideally, users clicking the Like button would be added to the <a href="http://www.facebook.com/pages/BKWLD/115935728430378?ref=ts">BKWLD Facebook page</a> (we previously had a group, which we&#8217;re deprecating).  So far, I&#8217;m not seeing this happen; users who Like our Facebook page and users who Like us on the BKWLD site appear to be dropped into separate buckets.  The Social Graph markup doesn&#8217;t have a field to specifically relate the object (our site) with a Facebook Page.  I assume that Facebook uses some black magic to join the references to BKWLD in the Social Graph metas with the BKWLD references in our Facebook Page.  Possibly this isn&#8217;t working because our Facebook page is so new.  Or possibly something got confused during my initial implementation that was per blog article.  It also doesn&#8217;t appear that the &#8220;fb:admins&#8221; meta tag is having any effect.  I&#8217;m curious to see if <a href="http://www.facebook.com/pages/BKWLD/110499588973708?ref=ts">this generated page</a> will be automatically merged into the official BKWLD Facebook Page in the next few days.  Or if a person Likes a site on the Facebook site and that site has Open Graph markup on the home page, does Facebook read it and pull that info in?</p>
<p>In sum, I think the social plugin and Open Graph standard are pretty great in terms of functionality for users that can be added with minimal effort by developers.  I hope some clarification comes from Facebook about how (or if) merging works between different pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2010/04/implementing-like-button/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Creating successful games</title>
		<link>http://bkwld.com/blog/2009/12/creating-successful-games/</link>
		<comments>http://bkwld.com/blog/2009/12/creating-successful-games/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 00:17:06 +0000</pubDate>
		<dc:creator>Dan Fields</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Staff Posts]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=867</guid>
		<description><![CDATA[Brace yourself &#8211; a lot of the people at BKWLD play and love video games. I know, shocker right? From PC to consoles, to MMOs to handhelds, like most interactive shops and people of our age group, we all play and love games. So it&#8217;s no surprise that we enjoy making online/web games, whether as [...]]]></description>
			<content:encoded><![CDATA[<p>Brace yourself &#8211; a lot of the people at BKWLD play and love video games. I know, shocker right? From PC to consoles, to MMOs to handhelds, like most interactive shops and people of our age group, we all play and love games. So it&#8217;s no surprise that we enjoy making online/web games, whether as full fledged mini-sites, or in banner ads.</p>
<p>Recently we were interviewed by .net Magazine and one of the questions was what sort of things we felt made an online/web game successful. I enjoyed the question, and thought I would expand on it a bit in a blog about what Robert and I shared with them.</p>
<p>We basically boiled it down to four points we felt made for fun and success.</p>
<p><strong>1. Competition &amp; Recognition</strong><br />
If there&#8217;s one thing Twitter, Facebook and frankly, this blog proves, it&#8217;s that people love attention. Even while I am typing this, I am hoping you are enjoying reading this! So it&#8217;s not a surprise that people love to see their name at the top of a scoreboard, or to blast on their &#8216;wall&#8217; that they just gained a level in Farmville. A game that doesn&#8217;t allow someone to &#8216;tell a friend&#8217; about their score and challenge that friend to beat them is missing out.</p>
<p><strong>2. Variables</strong><br />
I remember about 4 years ago we made a game for the California Tourism Committee that had you skiing against Governor Schwarzenegger down a mountain. Almost immediately, every high score on the board was &#8220;14 seconds&#8221;, because once you figured out the best path, that was the absolute best score you could get. Not very fun.</p>
<p>So by adding in some crazy score multipliers or jackpots, and things that might only show up in 1 out of every 100 games, you&#8217;re easily injecting not only variability, but also giving players a reason to keep trying.</p>
<p>Additionally, throwing in &#8216;bad&#8217; items like point subtractions also helps make the game not about just trying to gobble up every item on the screen, but gets a little strategy into play.</p>
<p><strong>3. Incentives</strong><br />
This is probably the most obvious of them all, but when someone is playing for an iPod/Corvette/cheeseburger, they are going to play. And play. And play. And tell their grandma to play too.</p>
<p>I think giving stuff away should be two pronged though &#8211; give something to the best, but also just give something randomly. In other words, you can give the Corvette to the person with the highest score, but also have 2nd and 3rd place prizes, and even a &#8216;boobie prize&#8217; where any person who plays, has a chance to win that cheeseburger.</p>
<p><strong>4. Keep it simple stupid</strong><br />
There&#8217;s a time and a place for an 80 hour epic gaming adventure. And that place is certainly not in a 300 x 250 banner on yahoo.com. If ever there was a time for a game to be &#8216;pick up and play&#8217; it&#8217;s when it&#8217;s a banner or a minisite game. I think a good rule of thumb is if you need more than one page of instructions, it’s going to be too complicated for a ‘casual gamer’ and not complicated enough for a ‘hardcore gamer’.</p>
<p>Overall, there&#8217;s plenty of examples however where a game shines in just ONE of these categories, and that&#8217;s enough to keep people playing. But if you try to intertwine all of these into your next game (and let&#8217;s not forget about the actual &#8216;design&#8217; of the game) you should have a winner on your hands.</p>
<p>We love making games, and for a while we always had at least one in development.  The demand has waned in the past year as companies focused on more direct kinds of marketing.  Here&#8217;s hoping we get more <span style="text-decoration: line-through;">excuses</span> opportunities to make games in the new year!</p>
<p>PS &#8211; here&#8217;s some of my faves we&#8217;ve done over the years.</p>
<ul>
<li><a href="http://funnevergrowsold.com/game/" target="_blank">http://funnevergrowsold.com/game/</a></li>
<li><a href="http://www.whodouwant2b.com/game/" target="_blank">http://www.whodouwant2b.com/game/</a></li>
<li><a href="http://yourcowtown.com/game/index.htm" target="_blank">http://yourcowtown.com/game/index.htm</a></li>
<li><a href="http://bkwld.com/work/indiana-jones-the-staff-of-kings" target="_blank">http://bkwld.com/work/indiana-jones-the-staff-of-kings</a></li>
<li><a href="http://www.firstbank.bkwlddev.com/728x315.php" target="_blank">http://www.firstbank.bkwlddev.com/728&#215;315.php</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/12/creating-successful-games/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Restoring a Minimized AIR App From the Mac OS Dock</title>
		<link>http://bkwld.com/blog/2009/11/restoring-a-minimized-air-app-from-the-mac-os-dock/</link>
		<comments>http://bkwld.com/blog/2009/11/restoring-a-minimized-air-app-from-the-mac-os-dock/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 23:02:55 +0000</pubDate>
		<dc:creator>Sean Monahan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Dock]]></category>
		<category><![CDATA[Mac OS]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=859</guid>
		<description><![CDATA[Those familiar with the Mac OS dock will know that clicking the dock icon of a minimized application will restore that application to it&#8217;s pre-minimized state.  This is a nice little feature as the minimize/tray area of the dock can quickly become a disorganized mess if you keep a lot of apps open.  [...]]]></description>
			<content:encoded><![CDATA[<p>Those familiar with the Mac OS dock will know that clicking the dock icon of a minimized application will restore that application to it&#8217;s pre-minimized state.  This is a nice little feature as the minimize/tray area of the dock can quickly become a disorganized mess if you keep a lot of apps open.  Those familiar with developing AIR apps will also know that AIR apps don&#8217;t do this out of the box.  This kinda sucks.</p>
<p>Fortunately there is a fairly easy way to implement this feature for yourself.  All you need to do is setup two event listeners and two properties.</p>
<p>The two properties you need are &#8220;isMinimized&#8221; and &#8220;isMaximized&#8221;.  Both are booleans, the first indicating the application is &#8230; drumroll &#8230; minimized and the section maximized.  While you could get away with just one of these having both offers more flexibility in the future should you need it.  For example: it is possible for an app to be neither maximized nor minimized.</p>
<p>The two events you need to listen for are NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING and InvokeEvent.INVOKE.  The first event is dispatched when the application&#8217;s display state changes (i.e., when maximized or minimized).  The second is dispatched when the dock icon is clicked.</p>
<p>With those few things all you need to do now is a few start up things:</p>
<pre>
<code>

/**
 * Event handler for the application's creationComplete event
 */
private function init():void
{
         // Check to see if we have a dock available for clicking
         if (NativeApplication.supportsDockIcon)
         {
               // Wire up a listener for the dock icon's invoke event
               NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onDockIconClick);
         }

         // Effectively, listen for minimize and maximize event.
         this.addEventListener(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING, onChanging);
}

/**
 * Event handler for display state change events
 */
private function onChanging(event:NativeWindowDisplayStateEvent):void
{
      switch (event.afterDisplayState) // &lt;-- our new state
      {
	case &quot;minimized&quot;:
		isMaximized = false;
		isMinimized = true;
		break;

	case &quot;maximized&quot;:
		isMaximized = true;
		isMinimized = false;
		break;
	}
}

/**
  * Called when the dock icon is clicked.
  */
private function onDockIconClick(event:InvokeEvent):void
{
	if (isMinimized)
	{
		// If the app is minimized call this
		stage.nativeWindow.restore();
		isMaximized = true;
		isMinimized = false;
	}
}

</code>
</pre>
<p>In the above code it&#8217;s assumed that <tt>init</tt> will be called by the app&#8217;s creationComplete event.  <tt>init</tt> then checks to see if the platform on which the app is running supports dock icons (that is, is Mac OS).  If it is we add an event listener for the InvokeEvent which is dispatched when the app&#8217;s dock icon is clicked.  After that <tt>init</tt> wires up a second event listener, this time listening for the NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING event.  This event is dispatched when the app is minimized or maximized.</p>
<p><tt>onChanging</tt> is our event handler for the display state change event.  We use this method to keep track of whether our app is maximized or minimized.  <tt>onDockIconClick</tt> is our event handler for the app&#8217;s InvokeEvent that will be dispatched when the dock icon is clicked.  This method checks to see if the app is currently minimized, and if it is it calls the window&#8217;s <tt>restore</tt> method.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/11/restoring-a-minimized-air-app-from-the-mac-os-dock/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating Application Menus in Mac OSX with Adobe AIR</title>
		<link>http://bkwld.com/blog/2009/11/creating-application-menus-in-mac-osx-with-adobe-air/</link>
		<comments>http://bkwld.com/blog/2009/11/creating-application-menus-in-mac-osx-with-adobe-air/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 21:19:55 +0000</pubDate>
		<dc:creator>Sean Monahan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Application Menu]]></category>
		<category><![CDATA[mac osx]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=826</guid>
		<description><![CDATA[Adobe AIR is a great tool for quickly creating cross platform desktop applications.  For the most part you can code once and deploy on any OS that AIR supports and you app will look and feel like a native app.  There are a few caveats of course and one of them is working with menus. [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe AIR is a great tool for quickly creating cross platform desktop applications.  For the most part you can code once and deploy on any OS that AIR supports and you app will look and feel like a native app.  There are a few caveats of course and one of them is working with menus.  In particular menus are handled somewhat differently in Mac OS than they are in Windows.  This post won&#8217;t get into the nitty gritty of actually creating and modifying menu items as that is <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=Menus_3.html" title="Creating Native Menus">covered</a> quite nicely in Adobe&#8217;s documentation on the subject, but I will tell you how to create native menus on Mac OS that are indistinguishable from those of native Mac apps.</p>
<p></p>
<h3>First, the Differences</h3>
<p>In Windows menus belong to each window.  So File, Edit, View and such are items in each open window of an application.  In AIR this corresponds to the <tt><a href="http://livedocs.adobe.com/flex/3/langref/flash/display/NativeWindow.html#menu" title="Flex 3.4 Docs">menu</a></tt> property of a <tt>NativeWindow</tt>.</p>
<p><img src="http://bkwld.com/blog/wp-content/uploads/windows_menus.png" alt="Windows menu example" width="405" height="175" class="aligncenter size-full wp-image-827" /></p>
<p>In Mac OS the corresponding menu is called an application menu and there is only one for all windows of the application.  In AIR this corresponds to the <tt>NativeApplication</tt>&#8217;s <tt><a href="http://livedocs.adobe.com/flex/3/langref/flash/desktop/NativeApplication.html#menu" title="Flex 3.4 Docs">menu</a></tt> property.</p>
<p><img src="http://bkwld.com/blog/wp-content/uploads/macos_menus.png" alt="Mac OS Application Menu" width="322" height="126" class="aligncenter size-full wp-image-833" /></p>
<p>So what you say? AIR has features that let you handle Windows vs. Mac menu differences quite easily.  This is true, a <a href="http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118666ade46-7de8.html" title="Creating Native Menus">quick check of the docs</a> will reveal how quickly this can be accomplished.  However, you&#8217;ll notice in the above screen grab that application menus on Mac OS list the application name in bold.  There is nothing in the AIR docs about how to accomplish this.</p>
<p></p>
<h3>What To Do?</h3>
<p>You can just ignore this and create a menu like the (quite nice) SQLite administration tool <a href="http://www.dehats.com/drupal/?q=node/58" title="Lita">Lita</a>.  Note Lita has &#8220;Lita&#8221; in the menu but it&#8217;s not bolded.</p>
<p><img src="http://bkwld.com/blog/wp-content/uploads/lita_menu.png" alt="Lita&#39;s Mac OS Menu" width="314" height="122" class="aligncenter size-full wp-image-836" /></p>
<p>Or you can not even bother with the application name like the (also extremely useful) <a href="http://demonsterdebugger.com/" title="MonsterDebugger">MonsterDebugger</a>.</p>
<p><img src="http://bkwld.com/blog/wp-content/uploads/monsterdebugger_menu.png" alt="MonsterDebugger&#39;s Mac OS Menu" width="334" height="107" class="aligncenter size-full wp-image-837" /></p>
<p>Both of these approaches are completely valid.  After all both Lita and MonsterDebugger are incredibly useful applications that make my life as a developer much easier and lacking a proper Mac OS application menu doesn&#8217;t detract from their utility in any way.  However it&#8217;s also quite simple to create application menus that look identical to a true native application.</p>
<p></p>
<h3>Creating Seamless Application Menus For Mac OS</h3>
<p>It&#8217;s so simple to create seamless application menus on Mac OS that you don&#8217;t even have to do anything!  That&#8217;s right, just create an application and AIR makes one for you:</p>
<p><img src="http://bkwld.com/blog/wp-content/uploads/default_air_macos_menu.png" alt="Default AIR Application Menu on Mac OS" width="262" height="52" class="aligncenter size-full wp-image-840" /></p>
<p>Everything you see above you get for free (note: adl is the AIR debugger.  If I were to publish a release build and install the application you&#8217;d see the name set in the application descriptor xml file).  You might now be saying that this is all good and well but what if you want to customize the menu at all?  The good news is you can, it just take a tad more work.  </p>
<p>To start you&#8217;ll need to note that AIR gives us three menu items in addition to the &#8220;Application Name&#8221; item (the bold one).  For this example I&#8217;ll assume you&#8217;re only interested in keeping the app name item so we&#8217;ll just get rid of everything but that one.</p>
<p>First you&#8217;ll need to get a reference to the application&#8217;s menu:</p>
<p><code><br />
// Get a reference to the NativeApplication's menu, if this is Mac OS<br />
// Note: you'll need to handle menus differently if you are on Mac OS or Windows.<br />
// See the AIR docs related to creating native menus for details.<br />
if (NativeApplication.nativeApplication.supportsMenu)<br />
{<br />
    var appMenu:NativeMenu = NativeApplication.nativeApplication.menu;<br />
}<br />
</code></p>
<p>If you were to loop over this you&#8217;d see all of the menu items from the above screen grab.  You&#8217;ll also notice that each of the items is a NativeMenuItem (more on this later).  Since we only want the first one we can now remove all the others:</p>
<p><code><br />
// Get rid of our unwanted menu items<br />
// The app name item is the first one<br />
while (appMenu.items.length &gt; 1)<br />
{<br />
   menu.removeItemAt(menu.items.length - 1);<br />
}<br />
</code></p>
<p>At this point our menu consists of one item: the application name menu item.  This menu item is pre-populated with some standard elements like &#8220;About&#8221; and &#8220;Quit&#8221;.  If you&#8217;re happy with this as-is, you can now freely add your own menu items.  If you need to customize this application name menu item a bit simply take advantage of the fact that it&#8217;s a <a href="http://livedocs.adobe.com/flex/3/langref/flash/display/NativeMenuItem.html" title="Flex 3.4 Docs for NativeMenuItem">NativeMenuItem</a> and go nuts.</p>
<p>Using this method you&#8217;ll now see your application&#8217;s name (that is, the name you set in the application descriptor xml file) up in bold when you publish a release build and install.  Here at BKWLD we&#8217;ve recently used this technique and here are the results:</p>
<p><img src="http://bkwld.com/blog/wp-content/uploads/spyder_menu.png" alt="Spyder Elastic Sales Application Menu on Mac OS" width="366" height="134" class="aligncenter size-full wp-image-844" /></p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/11/creating-application-menus-in-mac-osx-with-adobe-air/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Two requests per subdomain</title>
		<link>http://bkwld.com/blog/2009/11/two-requests-per-subdomain/</link>
		<comments>http://bkwld.com/blog/2009/11/two-requests-per-subdomain/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 20:35:13 +0000</pubDate>
		<dc:creator>Robert Reinhard</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=823</guid>
		<description><![CDATA[I recently learned that  the http spec suggests browsers only open two simultaneous connections to a given subdomain at a time.  I haven&#8217;t tested to see how widely adopted this is.  Though I have noticed in Safari, looking at the activity viewer, that if the page requests many large assets (like a flash audio player [...]]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://www.websiteoptimization.com/speed/tweak/parallel/">recently learned</a> that  the http spec suggests browsers only open two simultaneous connections to a given subdomain at a time.  I haven&#8217;t tested to see how widely adopted this is.  Though I <strong>have</strong> noticed in Safari, looking at the activity viewer, that if the page requests many large assets (like a flash audio player where the user has advanced through tracks quickly), file requests start to queue up.  In a <a href="http://www.campaignmonitor.com/blog/post/2889/huge-speed-improvements-to-campaign-monitor/?utm_medium=email&amp;utm_source=Email%20marketing%20software&amp;utm_content=425305307&amp;utm_campaign=OctoberNews-VersionA+_+urhlti">recent blog</a> by Campaign Monitor, they mention that they server images from multiple subdomains at a time so the web browser opens up more connections at time.  You don&#8217;t even need multiple servers.  You could wildcard the subdomains on your webserver and serve up a unique subdomain.  As pointed out on <a href="http://stackoverflow.com/questions/989513/routing-image-requests-to-separate-subdomains/989596#989596">Stack Overflow,</a> you don&#8217;t want to choose a completely random subdomain on every request or the browser can&#8217;t cache the image.  It&#8217;s a pretty extreme optimization technique , though something to keep in your toolbox.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/11/two-requests-per-subdomain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Polymorphic Associations</title>
		<link>http://bkwld.com/blog/2009/10/using-polymorphic-associations/</link>
		<comments>http://bkwld.com/blog/2009/10/using-polymorphic-associations/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 20:24:59 +0000</pubDate>
		<dc:creator>Garrett Bjerkhoel</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=798</guid>
		<description><![CDATA[One thing that has always impressed me with websites is how they present you with the most important information when you login. This could be a deadline, some updates from other users, or just general announcements.
Some of the sites I use at work and on a personal level are perfect examples, GitHub and Basecamp.


But how [...]]]></description>
			<content:encoded><![CDATA[<p>One thing that has always impressed me with websites is how they present you with the most important information when you login. This could be a deadline, some updates from other users, or just general announcements.</p>
<p>Some of the sites I use at work and on a personal level are perfect examples, GitHub and Basecamp.</p>
<p><img src="http://bkwld.com/blog/wp-content/uploads/github.png" border="0" alt="github.png" width="600" height="100" /><br />
<img src="http://bkwld.com/blog/wp-content/uploads/basecamp.png" border="0" alt="basecamp.png" width="600" height="100" /></p>
<p>But how is this technically feasible? Sure, you are probably thinking just gather all the data you need and loop through it. Right? No, I will explain why. I didn&#8217;t understand this for the longest time, and I hope to help solve any your questions about using them.</p>
<p><img style="margin: 0 15px 10px 0;" src="http://bkwld.com/blog/wp-content/uploads/Blog-Post.png" border="0" alt="Diagram" width="176" height="278" align="left" /><br />
With <span style="color: #000;">Garrett</span> and <span style="color: #000;">Larry</span> both having many comments, messages and connections, we already have the data we need.</p>
<p>Problem is we need to sort them accordingly (by date) and keep all associations tied. It is harder than it sounds.</p>
<p>In this case we have 3 datasets, some comments, some messages and some connections. If we were to put all 3 collections in a list in order of when we gather them, they will be out of order. What we need to do is make one collection that references any type of data we need to list out. What makes this useful is we can also track other information that is helpful to users and not possible if we loop through the actual data. That is what a <a href="http://en.wikipedia.org/wiki/Polymorphic_association">Polymorphic Association</a> is.</p>
<p>Within the Feed model we need to keep track of the model it will reference, the actual reference to the specific item within that model, and any other information you would like to have. I like to keep track of it&#8217;s action, as well as the user who performed that action.</p>
<p><img src="http://bkwld.com/blog/wp-content/uploads/reference1.png" border="0" alt="reference.png" width="600" height="265" /></p>
<p>How would this look like in the database?</p>
<p><script src="http://gist.github.com/222699.js"></script></p>
<p>For this example I will use Ruby to try to show you how easy it is to display a dashboard like interface for your users.</p>
<p><script src="http://gist.github.com/222701.js"></script></p>
<p>Within the view you can loop and render a custom template for each item, this will give you the desired look that simulates the dashboard feel.</p>
<p><script src="http://gist.github.com/222698.js"></script></p>
<p>I am going to leave this here, you can create the views however you want. I have this repo stored on <a href="http://github.com/dewski/polly">GitHub</a> so you can clone it and mess with it however you like. I have uploaded a demo on <a href="http://polly.heroku.com/">Heroku</a> for you to see as well. </p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/10/using-polymorphic-associations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual 3D Flickr Window</title>
		<link>http://bkwld.com/blog/2009/10/virtual-3d-flickr-window/</link>
		<comments>http://bkwld.com/blog/2009/10/virtual-3d-flickr-window/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 18:29:15 +0000</pubDate>
		<dc:creator>Max Folley</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flickr]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=777</guid>
		<description><![CDATA[
Recently, a port of OpenCV, a library of object detection functions, was created for AS3 which has sparked a lot of interest and creativity in the flash and flex community. Stemming from this came facial recognition for AS3.
It is often difficult to find useful applications for these new technologies. Luckily, BKWLD was recently approached by [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bkwld.com/headtracking/" target="_blank"><img src="http://bkwld.com/headtracking/img/screen_shot.jpg" alt="Headtracking Screen Shot" /></a><br />
Recently, a port of OpenCV, a library of object detection functions, was created for AS3 which has sparked a lot of interest and creativity in the flash and flex community. Stemming from this came facial recognition for AS3.</p>
<p>It is often difficult to find useful applications for these new technologies. Luckily, BKWLD was recently approached by .net magazine and was asked to write 2 articles. Jeff Toll, who&#8217;s article can be seen in this month&#8217;s issue, worked with me to come up with a design for a facial recognition application that will be featured in an upcoming issue of .net magazine. Together we came up with an idea for a virtual window, where the users can essentially fly through a 3D flickr gallery.</p>
<p>For the true experience you can visit the following link (you must have a web cam): <a href="http://bkwld.com/headtracking/" target="_blank">http://bkwld.com/headtracking/</a>. If you do not have a web cam, I have uploaded a demo video onto Vimeo at the following link: <a href="http://vimeo.com/7092048" target="_blank">http://vimeo.com/7092048</a>.</p>
<p>Here is the source if your feeling adventurous.<br />
<a href="http://bkwld.com/headtracking/assets/HeadTracking.zip">HeadTracking.zip</a></p>
<p>There are a couple things to note about the source code. First, this was developed using flex, so if you want use it in flash you will have to set HeadTracking.as as your document class. Second, I did not leave my Flickr API key in the source for obvious reasons. So, you will have to apply for a Flickr API key if you don&#8217;t already have one and enter it in the init function of the HeadTracking.as class file where it says &#8220;Enter your API key here&#8221;. If you find any errors in the source code be sure to yell at me in comments.</p>
<p>The following resources were used:<br />
<a href="http://www.squidder.com/2009/02/26/realtime-face-detection-in-flash/" target="_blank">http://www.squidder.com/2009/02/26/realtime-face-detection-in-flash/</a><br />
<a href="http://www.quasimondo.com/archives/000687.php" target="_blank">http://www.quasimondo.com/archives/000687.php</a><br />
<a href="http://www.youtube.com/watch?v=Jd3-eiid-Uw" target="_blank">http://www.youtube.com/watch?v=Jd3-eiid-Uw</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/10/virtual-3d-flickr-window/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>VPN through PHP on (MT)</title>
		<link>http://bkwld.com/blog/2009/10/vpn-through-php-on-mt/</link>
		<comments>http://bkwld.com/blog/2009/10/vpn-through-php-on-mt/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 17:12:02 +0000</pubDate>
		<dc:creator>Robert Reinhard</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=754</guid>
		<description><![CDATA[It&#8217;s been a two day quest, but I&#8217;ve finally gotten our web server to talk to a remote SQL server over VPN.  I wish I could document the steps as a how to (I&#8217;d like it for myself if I have have to do this again), but I&#8217;ve tried so many things I&#8217;m not sure [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a two day quest, but I&#8217;ve finally gotten our web server to talk to a remote SQL server over VPN.  I wish I could document the steps as a how to (I&#8217;d like it for myself if I have have to do this again), but I&#8217;ve tried so many things I&#8217;m not sure which steps are true dependencies and which are extraneous.  First, the server in question is a LAMP server, running Plesk, hosted at Media Temple.  For the most part, it&#8217;s a vanilla configuration.  Here&#8217;s some of the things I learned in the process of getting this up:</p>
<ul>
<li>The VPN is of the Cisco type, but using their linux software was a dead end.  I couldn&#8217;t get it to compile, it needed kernel headers and patches and on and on.  Eventually, I was <a href="http://www.kbrandt.com/2007/07/how-to-connect-to-cisco-vpn-with-ubuntu.html">directed to using VPNC</a>.  There are scripts that convert pcf files to the format VPNC uses.  Also, you can store the VPN password within the config file, which is perfect for my situation.  If I feel like enduring further pain, it may be useful to <a href="http://www.macosxhints.com/article.php?story=20090625012729678">get this working locally</a> and stop using the Cisco Mac client altogether.</li>
<li>It turns out you need to be running as root to use VPNC.  Thus, for the users that would be running this, I had to add entries <a href="http://itg.chem.indiana.edu/inc/wiki/software/165.html">to the sudoers</a> file.  I made it passwordless because I knew I&#8217;d be calling it from PHP.</li>
</ul>
<ul>
<li>I had to allow /usr/local/sbin as an open_basedir in php so that I could call VPNC.</li>
<li>From exec(), I needed to use the full path to VPNC.</li>
</ul>
<ul>
<li>Lastly, and this was particularly painful because I knew I was sooo close at this point, I had to comment out &#8220;<a href="http://www.gratisoft.us/sudo/man/sudoers.html">Defaults requiretty</a>&#8221; within sudoers.  When this is on, it prevents you from running sudo outside of the command line.</li>
</ul>
<p>This was a very frustrating journey so hopefully this helps someone else.  Or me in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/10/vpn-through-php-on-mt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Digital: Where the Wild Things Are &#8211; A day of reflection at SODA&#8217;s Click 2009</title>
		<link>http://bkwld.com/blog/2009/10/digital-where-the-wild-things-are-a-day-of-reflection-at-sodas-click-2009/</link>
		<comments>http://bkwld.com/blog/2009/10/digital-where-the-wild-things-are-a-day-of-reflection-at-sodas-click-2009/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:38:29 +0000</pubDate>
		<dc:creator>Ryan Vanni</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=728</guid>
		<description><![CDATA[We have the luxury of working in an industry that is defining itself each day, and that works for me.]]></description>
			<content:encoded><![CDATA[<div id="attachment_737" class="wp-caption alignnone" style="width: 343px"><img class="size-medium wp-image-737" src="http://bkwld.com/blog/wp-content/uploads/photo11-333x445.jpg" alt="SODA's Click 2009 - 10/01/2009" width="333" height="445" /><p class="wp-caption-text">SODA&#39;s Click 2009 - 10/01/2009</p></div>
<p>This past thursday (10/1/09) our creative directors, Jeff Toll and Demetre Agres and I had the pleasure of attending the Click 2009 SODA event at the Art Directors Club in NYC.  There we got to hear from amazing boutiques like Unit9 (particularly loved them), Syrup, and Poke, as well as from some of the agency juggernauts like Goodby, CP+B, JWT, and Ogilvy, all introduced and hosted by the after-hearing-him-talk-I-truly-get-why-he&#8217;s-such-a-likable-force-in-the-industry Michael Lebowitz (which I am pretty sure I learned is &#8220;lEbowitz, not lEEBowitz) from the infamous Big Spaceship.</p>
<p>The topic and discussion points varied from more granular subjects like &#8220;Branding with numbers&#8221; (which I found surprisingly intriguing) to more general monsters like &#8220;What is the future of entertainment&#8221;.</p>
<p>First off I have to say what a pleasure it is to hear from such talent in one room, on one day, and in person.  I mean Jason Zada, Lebowitz, and Mike Geiger to name a few&#8230;truly a pleasure.</p>
<p>Of all the nuggets of wisdom I can take away from the discussions, what is interesting to me is that despite agency head-counts, annual billings, specific focus, country of origin, or AOR vs. project-based orientation, we are all facing similar issues; digital agencies finding their autonomy from the traditional ones, an ever-changing set of tools, an even more-changing option of techniques and services we have the option to render should we decide to, and a myriad of ways we can manage the whole damn thing.  But here in-lies the beauty, though facing the same obstacles and issues, the lot of us are choosing completely different approaches to the hurdles, and its working.</p>
<p>We have the luxury of working in an industry that is defining itself each day, and that works for me.  After all, what are we if we are not problem solvers?  At the end of the day we are simply choosing what tool we want to solve the problem with.  So I welcome and embrace the luxury of being able to re-define, re-shape, and re-focus. What fun it is after all.</p>
<p>So after a wonderful day with our peers, and a couple others enjoying an amazing city with good colleagues and friends, I am glad our industry is a kid.  It has many options, and oh so much potential.  Im not sure if its the couple cups of coffee, or the Where the Wild Things Are soundtrack I am listening to as I type this, but I love this kid and want what&#8217;s best for him too.  So let&#8217;s keep talking.</p>
<div id="attachment_734" class="wp-caption alignnone" style="width: 343px"><img class="size-medium wp-image-734" src="http://bkwld.com/blog/wp-content/uploads/photo3-333x445.jpg" alt="Art Directors Club NYC" width="333" height="445" /><p class="wp-caption-text">Art Directors Club NYC</p></div>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/10/digital-where-the-wild-things-are-a-day-of-reflection-at-sodas-click-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Alphabetize a mysql table</title>
		<link>http://bkwld.com/blog/2009/09/alphabetize-a-mysql-table/</link>
		<comments>http://bkwld.com/blog/2009/09/alphabetize-a-mysql-table/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 01:51:26 +0000</pubDate>
		<dc:creator>Robert Reinhard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=704</guid>
		<description><![CDATA[Say you have a table of names that you want to alphabetize.  Of course you could SELECT and ORDER BY name ASC.  Lets assume that&#8217;s not an option and you want to save their alphabetical order in a special column so then you can ORDER BY this column.  This might be useful if you have [...]]]></description>
			<content:encoded><![CDATA[<p>Say you have a table of names that you want to alphabetize.  Of course you could SELECT and ORDER BY name ASC.  Lets assume that&#8217;s not an option and you want to save their alphabetical order in a special column so then you can ORDER BY this column.  This might be useful if you have an application where users can manually order their items but you give them them option to reset to alphabetical.  Here&#8217;s what your table looks like:</p>
<p><code>people<br />
- id (int)<br />
- name (varchar)<br />
- sort (int)</code></p>
<p>Here&#8217;s how you can populate that sort column with integers that, when ordered by, put the results in alphabetical order:</p>
<p><code>SET @i=0;<br />
UPDATE people<br />
INNER JOIN (<br />
SELECT id, @i:=@i+1 AS i FROM people ORDER BY name ASC<br />
) counter ON counter.id = people.id<br />
SET people.sort = counter.i;</code></p>
<p>The SET command initializes a variable.  The subquery orders the list and adds a new column (i) that counts off each row effectively.  Then the outer query joins on this by the PRIMARY id so that we match the ordered row from the subquery with the outer query.  And lastly, we store the i value back in the table.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/09/alphabetize-a-mysql-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Batch change collation</title>
		<link>http://bkwld.com/blog/2009/09/batch-change-collation/</link>
		<comments>http://bkwld.com/blog/2009/09/batch-change-collation/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 17:24:26 +0000</pubDate>
		<dc:creator>Robert Reinhard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=694</guid>
		<description><![CDATA[I&#8217;ve never understood (well, I&#8217;ve never looked into) why MySQL defaults to that swedish collation.  If your tables are a mix of collations, here is a nice php script that will convert all the tables to the collation of your choosing.  It even has a nice GUI you use in the web browser.  Download the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-699" title="Picture 1" src="http://bkwld.com/blog/wp-content/uploads/Picture-12-75x75.png" alt="Picture 1" width="75" height="75" />I&#8217;ve never understood (well, I&#8217;ve never looked into) why MySQL defaults to that swedish collation.  If your tables are a mix of collations, <a href="http://www.phoca.cz/phoca-changing-collation/">here is a nice php script</a> that will convert all the tables to the collation of your choosing.  It even has a nice GUI you use in the web browser.  Download the script <a href="http://www.phoca.cz/phoca-changing-collation/">here</a> (courtesy of phoca.cz).</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/09/batch-change-collation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Twitter Trident</title>
		<link>http://bkwld.com/blog/2009/07/the-twitter-trident/</link>
		<comments>http://bkwld.com/blog/2009/07/the-twitter-trident/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 21:57:41 +0000</pubDate>
		<dc:creator>Dan Fields</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[ramble]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=596</guid>
		<description><![CDATA[I&#8217;m not sure if it was Demetre&#8217;s last blog post or the deafening crush of hearing &#8220;Twitter&#8221; come from every web, marketing, entertainment etc. person for the last few months, but it&#8217;s abundantly clear that Twitter is not going anywhere, and that&#8217;s a good thing.
Not to recant on my previous post regarding Twitter&#8217;s penetration &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not sure if it was <a href="http://bkwld.com/blog/2009/07/best-buy-goes-social/" target="_blank">Demetre&#8217;s last blog post</a> or the deafening crush of hearing &#8220;Twitter&#8221; come from every web, marketing, entertainment etc. person for the last few months, but it&#8217;s abundantly clear that Twitter is not going anywhere, and that&#8217;s a good thing.</p>
<p>Not to recant on my <a href="http://bkwld.com/blog/2009/05/your-mom-is-on-twitter/" target="_blank">previous post</a> regarding Twitter&#8217;s penetration &#8211; and after re-reading it, I realized that I sounded as if &#8220;your mom having a twitter&#8221; was a bad thing. Quite the contrary, it&#8217;s a fabulous thing for the web and for my industry. For at it&#8217;s most basic level, anything that keeps people using and talking about the internet is good for interactive shops.</p>
<p>That&#8217;s why I was especially stoked to see <a href="http://www.nytimes.com/2009/07/23/business/smallbusiness/23twitter.html?_r=2&amp;ref=business" target="_blank">this New York Times article</a> talking about how small businesses are using Twitter to get their name out there and connect with other customers and businesses.</p>
<p>One quote I found particularly poignant was the following from Anamitra Banerji, who manages commercial products at Twitter:</p>
<blockquote><p>“We’re finding the emotional distance between businesses and their customers is shortening quite a bit.”</p></blockquote>
<p>I think this is the real value in Twitter &#8211; immediacy &amp; intimacy. Whether it&#8217;s breaking news spreading like wildfire through the &#8220;Twitterverse&#8221; (please slap me for using that term) like <a href="http://twitter.com/#search?q=michael%20jackson" target="_blank">Michael Jackson&#8217;s death</a>, or an<a href="http://www.huffingtonpost.com/2009/07/15/secret-chappelle-show-dra_0_n_234116.html" target="_blank"> impromptu Dave Chappelle appearance</a> turning into a gathering of thousands of people, to much smaller scale things like that New York city street vendor broadcasting his location and menu items for that day, there&#8217;s nothing fresher on the web than a tweet.<span id="more-596"></span></p>
<p>Whereas Twitter in these cases is harnessed for its immediate ability to break and trend a story, there&#8217;s also a very intimate side to Twitter that exists between friends who tweet to each other their banalities, and even more so, between celebrities and their followers.</p>
<p>For instance, consider how you used to get updates from your favorite bands, actors, artists etc. Maybe you followed their &#8216;news&#8217; section, maybe even signed up for an RSS feed. But more than likely, you read about them on another entertainment site like Perez Hilton or Defamer. Why Twitter is so great for celebs is now there&#8217;s no filter, no &#8216;official release&#8217;, no bullshit (for better or worse). As powerful as tweets are, they are also completely flimsy, flippant and often shallow. It&#8217;s these off-the-cuff and behind the scenes views into our fascination with celebrity that adds to its success.</p>
<p>It&#8217;s really as if Twitter is a trident of functionality:</p>
<ol>
<li>As a new business and news tool</li>
<li>As a celebrity/entertainment/artist &#8216;club&#8217; for fans</li>
<li>As an &#8216;I just ate a sandwich &amp; watched Lost&#8217; granulator amongst friends and family</li>
</ol>
<p>So when I hear people who only claim Twitter is only one of these (especially #3), I&#8217;m surprised there&#8217;s still a level of confusion as to who and why someone would tweet. Assuming that Twitter wondered the same thing, they&#8217;ve just released a &#8220;<a href="http://business.twitter.com/twitter101/best_practices" target="_blank">Twitter 101</a>&#8221; guide showing how businesses big and large have something to gain from Twitter.</p>
<p>Bottom line, if you&#8217;re a business looking into Twitter, read that document! It says exactly what I posted about earlier regarding giving your followers inside info, deals/coupons and creating a dialogue. But don&#8217;t let it replace your website, it&#8217;s a <em>supplement</em> to your site.</p>
<p>And if you&#8217;re an artist or a celeb, keep tweeting from your concert or that the sushi at Nobu is great &#8211; inquiring minds want to know.</p>
<p>And finally if you&#8217;re a &#8216;joe-schmo&#8217; like me, you can bet I will keep tweeting about my wife, my children and occasionally act like I know something about the internet.</p>
<p>So before this post becomes any more of a ramble, I&#8217;ll just say this: keep tweeting while it&#8217;s free. One of these days after we&#8217;re all enslaved and addicted to Twitter, throwing them $5 for a &#8216;pro&#8217; account will seem like no big deal. I mean hell, they certainly deserve it.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/07/the-twitter-trident/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Copy paste between Fireworks and Flash</title>
		<link>http://bkwld.com/blog/2009/07/576/</link>
		<comments>http://bkwld.com/blog/2009/07/576/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 23:39:23 +0000</pubDate>
		<dc:creator>Robert Reinhard</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe Fireworks]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://bkwld.com/blog/?p=576</guid>
		<description><![CDATA[I don&#8217;t often batch import layered files (PSD, PNG) into Flash or even copy graphics into it.  But what I DO find really handy is copying text between the apps.  This worked in CS3 but it&#8217;s gotten better (more accurate) in CS4.  You can copy a whole group in and the font, size, and color [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t often batch import layered files (PSD, PNG) into Flash or even copy graphics into it.  But what I <strong>DO</strong> find really handy is copying text between the apps.  This worked in CS3 but it&#8217;s gotten better (more accurate) in CS4.  You can copy a whole group in and the font, size, and color are all maintained (or close enough, you usually have to nudge line height).  This saves tons of time when you&#8217;re populating a whole FLA from a text heavy design while keeping the text editable for the inevitable copy change.  Notice in this video how I can bring in multiple text boxes at a time.</p>
<p><center><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="297" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5292083&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="297" src="http://vimeo.com/moogaloop.swf?clip_id=5292083&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></center></p>
]]></content:encoded>
			<wfw:commentRss>http://bkwld.com/blog/2009/07/576/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
