<?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>StyleFeeder Tech Blog &#187; Misc</title>
	<atom:link href="http://blog.tech.stylefeeder.com/category/misc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tech.stylefeeder.com</link>
	<description>Bitheads Invade the Fashion World</description>
	<lastBuildDate>Mon, 02 Nov 2009 17:01:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>We&#8217;re a finalist for the MITX Awards, 2009</title>
		<link>http://blog.tech.stylefeeder.com/2009/10/15/mitx-awards-200/</link>
		<comments>http://blog.tech.stylefeeder.com/2009/10/15/mitx-awards-200/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 17:56:49 +0000</pubDate>
		<dc:creator>Philip Jacob</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[geolocation]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/?p=242</guid>
		<description><![CDATA[I just got an email that informed me we&#8217;re a finalist for the MITX Awards this year in the &#8220;applied technology&#8221; category, which is great news.  You may recall that we won at last year&#8217;s award ceremony.  The award nomination this year is for our new product browser and some of the underlying geotargeting technology, [...]]]></description>
			<content:encoded><![CDATA[<p>I just got an email that informed me we&#8217;re a <a href="http://www.mitxawards.org/interactive/Finalists.aspx">finalist for the MITX Awards</a> this year in the &#8220;applied technology&#8221; category, which is great news.  You may recall that <a href="http://blog.tech.stylefeeder.com/2008/06/04/stylefeeder-won-an-mitx-award/">we won</a> at last year&#8217;s award ceremony.  The award nomination this year is for our new <a href="http://www.stylefeeder.com/explorer">product browser</a> and some of the underlying geotargeting technology, which you should check out if you have not seen it already.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2009/10/15/mitx-awards-200/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>StyleFeeder on the 4th</title>
		<link>http://blog.tech.stylefeeder.com/2009/07/06/mit-fireworks-photo/</link>
		<comments>http://blog.tech.stylefeeder.com/2009/07/06/mit-fireworks-photo/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 15:42:51 +0000</pubDate>
		<dc:creator>Philip Jacob</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/?p=192</guid>
		<description><![CDATA[Last year, Kilby took some great shots of the Boston fireworks and MIT selected one of them for use on their homepage this weekend.  The photo was taken from StyleFeeder&#8217;s office in Central Square in Cambridge and shows the famous MIT dome underneath some fancy pyrotechnics.  You can see more from this year on his [...]]]></description>
			<content:encoded><![CDATA[<p>Last year, Kilby took some great shots of the Boston fireworks and MIT selected one of them for use on their homepage this weekend.  The photo was taken from StyleFeeder&#8217;s office in Central Square in Cambridge and shows the famous MIT dome underneath some fancy pyrotechnics.  You can see more from this year on his <a href="http://www.flickr.com/photos/ekilby/">Flickr photostream</a>.</p>
<p><a href="http://blog.tech.stylefeeder.com/wp-content/uploads/2009/07/kilbys-pic-on-mit-edu.png"><img class="alignnone size-full wp-image-193" title="kilbys-pic-on-mit-edu" src="http://blog.tech.stylefeeder.com/wp-content/uploads/2009/07/kilbys-pic-on-mit-edu.png" alt="kilbys-pic-on-mit-edu" width="614" height="461" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2009/07/06/mit-fireworks-photo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Steps to a Better Data Feed</title>
		<link>http://blog.tech.stylefeeder.com/2009/06/24/10-steps-to-a-better-data-feed/</link>
		<comments>http://blog.tech.stylefeeder.com/2009/06/24/10-steps-to-a-better-data-feed/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 22:18:08 +0000</pubDate>
		<dc:creator>kilby</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[affiliates]]></category>
		<category><![CDATA[affiliate]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[guidelines]]></category>
		<category><![CDATA[top 10]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/?p=185</guid>
		<description><![CDATA[Here at StyleFeeder we work with a staggering number of merchant data feeds from affiliate networks and other partners.  The data quality of these feeds varies quite a bit, sometimes by sins of commission (data where it doesn&#8217;t belong), sometimes by sins of omission (leaving out important information).  In an effort to get the word [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in;">Here at StyleFeeder we work with a staggering number of merchant data feeds from affiliate networks and other partners.  The data quality of these feeds varies quite a bit, sometimes by sins of commission (data where it doesn&#8217;t belong), sometimes by sins of omission (leaving out important information).  In an effort to get the word out, we&#8217;ve produced a top 10 list for retail merchants creating product data feeds.  This is not a comprehensive list but a quick overview.</p>
<p>1.  <strong>STOP YELLING! </strong><br />
It&#8217;s easy for us to capitalize your product names and categories for emphasis on the page, but very hard to do the opposite and get the original data back.</p>
<p>2. <strong> Item names should say what they are</strong><br />
If they&#8217;re pants, put that in the name.  If they&#8217;re wedge sandals, put that in the name.  If it&#8217;s a notebook computer, put that in the name.  Especially if there are multiple items in the shot, like a belt displayed with the top and the pants.</p>
<p>3.  <strong>Keywords should be descriptive and product-specific</strong><br />
Not a repeat of the item name, not all the words from the long description with delimiters between, not keywords about the store that don&#8217;t apply to the product.</p>
<p>4.  <strong>The longer the description, the better</strong><br />
People browsing your affiliates&#8217; sites want information, and the more you give them the more will click through and the more will buy.</p>
<p>5.  <strong>Categories should be set, and contain the relevant information</strong><br />
If things have gender relevance, include that in the category names.  If you sell different types of items, the category should reflect what type each one is.</p>
<p>6.<strong> Brand fields should be filled, and consumer friendly</strong><br />
Customers like to search and browse by brand, and we can&#8217;t do this if the field is blank.  Also, customers don&#8217;t know your brand with corp or inc or things like that tacked on the end, so fill your feed with the name they know.</p>
<p>7.  <strong>Use pricing fields in a standard way</strong><br />
If all of your items have a sale price filled in, it&#8217;s probably not a sale and it should probably be in the regular price column.  Save the sale price column for specials.</p>
<p>8. <strong> If an item doesn&#8217;t have a working image, leave the image URL blank</strong><br />
404 errors, “image not available” images, store logo images.  If you can&#8217;t leave them blank, use the same “noimage.gif” type URL for all the broken ones so we can code around it.</p>
<p>9.  <strong>Use identifier columns</strong><br />
UPC when available, ISBN for books, Manufacturer Part Numbers that you&#8217;d use to order the item from the manufacturer.  And consistent SKUs for your own store that stay the same over time for the same item.</p>
<p>10. <strong> Talk with your affiliates! </strong></p>
<p>This goes without saying, but just like shoppers are the customers of your products, your affiliates are the customers of your feed.   We may have good ideas, we may have terrible ideas, but either way we may tell you something you haven&#8217;t thought of.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2009/06/24/10-steps-to-a-better-data-feed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Irony of Facebook (aka Verified Apps Program FAIL)</title>
		<link>http://blog.tech.stylefeeder.com/2009/04/17/facebook-verified-apps-program/</link>
		<comments>http://blog.tech.stylefeeder.com/2009/04/17/facebook-verified-apps-program/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 22:13:22 +0000</pubDate>
		<dc:creator>Philip Jacob</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/?p=161</guid>
		<description><![CDATA[As you may know, StyleFeeder has a rather large Facebook application that we launched in the summer of 2007, just after the Facebook platform was announced.  We grew quickly, mainly because the application is actually useful (rather than the apps that let you throw electric sheep at people, which are fun but also tiresome) [...]]]></description>
			<content:encoded><![CDATA[<p>As you may know, StyleFeeder has a rather large Facebook application that we launched in the summer of 2007, just after the Facebook platform was announced.  We grew quickly, mainly because the application is actually useful (rather than the apps that let you throw electric sheep at people, which are fun but also tiresome) and lets you share your shopping activity with your friends in a non-beacony-big-brother kind of way.</p>
<p>Since then, Facebook has gone through several redesigns, each of which successively depresses the visibility of applications on Facebook.  It&#8217;s hard to find them, it&#8217;s hard to see them, they change the API willy-nilly and break all kinds of stuff and generally make app developers feel like we&#8217;re being slapped around.  Am I being harsh?  I&#8217;m not making this stuff up and <a href="http://blog.tech.stylefeeder.com/2008/10/02/how-not-to-migrate-your-api/">we&#8217;ve alluded to it</a> before.  Check out the <a href="http://forum.developers.facebook.com/">developer forums</a> and you&#8217;ll see what I mean.</p>
<p>It was with much amusement this week that we received not one but <em>two</em> emails from Facebook.</p>
<p><strong>I feel rejected</strong></p>
<p>The first was a rejection notice for our $375 application to the <a href="http://developers.facebook.com/verification.php">Facebook  Application Verification Program</a>.  We submitted this application weeks (possibly months?) ago, which Facebook kindly sat on for an extended period of time (but <a href="http://www.techcrunch.com/2009/03/11/facebook-developers-getting-antsy-over-verified-apps-program/">this is normal</a>, apparently).  Basically, this program is supposed to give your app extra visibility and a good ol&#8217; Facebook seal of approval because they&#8217;ve apparently checked to make sure you&#8217;re complying with their terms of service and making Facebook a better place.  It sounds like a good thing.  (I even have hope that they&#8217;ll make the big apps play by the rules and not let them be all spammy <a href="http://www.techcrunch.com/2008/07/07/facebook-continues-war-on-app-developers-this-week-super-wall/">like they&#8217;ve been in the past</a>.)</p>
<p>Why the rejection?  Two reasons, according to the email that we received:</p>
<blockquote><p>Policy Violations:<br />
1.      Please bring your application into compliance with Facebook Platform Policy section 2.4 (see http://wiki.developers.facebook.com/index.php/Platform_Policy#2._Platform_Policy_Overview:_What_Applications_Cannot_Do). Section 2.4 states applications cannot mislead, confuse, or defraud the user in any way.</p>
<p>Please make sure it is clear to the user that they are navigating away from Facebook.  For example, using the clicking on a product within the app should alert the user before bringing them away from Facebook.</p></blockquote>
<p>As for number one, well, I think that reasonable people could disagree that clicking on the products in our application take you off of Facebook, so I&#8217;ll simply disagree on the grounds that it&#8217;s not confusing at all.  But I&#8217;ll leave that one aside because the next one is awesome</p>
<blockquote><p>2.      Please bring your application into compliance with Facebook Platform Application Guidelines section I.1- I.3 (see http://developers.facebook.com/guidelines.php).  These sections mention that applications cannot promote, or contain content (including any advertising content) referencing, facilitating, promoting or using, the following:</p>
<ul>
<li>Adult content, including nudity, sexual terms and/or images of people in positions or activities that are excessively suggestive or sexual.</li>
<li>Obscene, defamatory, libelous, slanderous and/or unlawful content.</li>
<li>Hate speech, whether directed at an individual or a group, and whether based upon the race, sex, creed, national origin, religious affiliation, marital status, sexual orientation or language of such individual or group.</li>
<li>Content that is deceptive or fraudulent.</li>
<li>Content relating to the sale of liquor, beer, wine, tobacco products, ammunition and/or firearms.</li>
<li>Content relating to gambling, including without limitation, any online casino, sports books, bingo or poker.</li>
<li>Inflammatory religious content.</li>
<li>Politically religious agendas and/or any known associations with hate, criminal and/or terrorist activities.</li>
<li>Political content that exploits political agendas or uses &#8220;hot button&#8221; political issues for commercial use regardless of whether the Developer has a political agenda.</li>
<li>Illegal activity and/or illegal contests, pyramid schemes or chain letters.</li>
<li>Content from uncertified pharmacies.</li>
<li>Sale or use of web cams or surveillance equipment for non-legitimate use.</li>
<li>Spam&#8221; or other advertising or marketing content that violates applicable laws, regulations or industry standards.</li>
</ul>
<p><strong>Your application has images of adult content being added and shared by users (ex: search &#8220;thong&#8221;). Please remove all instances of this content from your application. </strong></p></blockquote>
<p>We have about 14M products on StyleFeeder from ~2500 reputable retailers along with a truckload of cool products that our users have added over the years.  It&#8217;s entirely conceivable that we have tens of thousands of thongs on our site.  I have no idea what the real number is, but I&#8217;m sure it&#8217;s a lot.  We also have our own <a href="http://www.stylefeeder.com/info/terms-of-service.html">Terms of Service</a> and don&#8217;t allow adult content on the site, but that&#8217;s really not what we&#8217;re talking about here.</p>
<p>I have a better idea: if you&#8217;re easily offended by seeing pictures of models wearing thongs, a good idea would be to <em>not search  for thongs</em>.  If this is an effort to protect underage children from seeing skimpy underwear, I have to wonder if Facebook is going to then go around policing all of the photos and textual content on their site? Because I&#8217;m quite sure that they&#8217;ve got much racier stuff than a few thongs&#8230; like, perhaps, Going.com&#8217;s <a href="http://www.wired.com/techbiz/people/news/2007/10/naughty_party">extremely popular</a> <a href="http://apps.facebook.com/naughtygifts/">Naughty Gifts</a> app (Hello Natasha!).</p>
<p>This really is a most perplexing reason to reject an application.  By way of comparison, check out what a search for &#8216;<a href="http://www.amazon.com/s/ref=nb_ss_gw?url=search-alias%3Daps&amp;field-keywords=thongs&amp;x=0&amp;y=0">thong</a>&#8216; on Amazon yields.  Guess what?   Models wearing thongs.  If Facebook thinks they&#8217;re going to become content police, they have a long way to go and they&#8217;d better stop allowing user-generated content on their own site.</p>
<p><strong>The Ironic Part</strong></p>
<p>This morning, we received our second communication from Facebook:</p>
<blockquote><p>My name is [redacted] and I&#8217;m writing from the Facebook advertising team.  Apps such as StyleFeeder have been particularly successful when advertised on Facebook, and our team would like to help you in developing a marketing strategy.</p></blockquote>
<p>Nice.  So they won&#8217;t give verified status to the the number one <a href="apps.facebook.com/stylefeeder">shopping application</a> on Facebook, but you will happily offer to take our advertising dollars.</p>
<p>The thing is that we&#8217;ve met a bunch of people at Facebook over the years and they&#8217;re all nice, helpful people.  But the clumsiness with which these application verification efforts has been managed is <em>vexing</em>, to say the least.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2009/04/17/facebook-verified-apps-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Most Trusted Name in &#8230; Search?</title>
		<link>http://blog.tech.stylefeeder.com/2009/03/05/the-most-trusted-name-in-search/</link>
		<comments>http://blog.tech.stylefeeder.com/2009/03/05/the-most-trusted-name-in-search/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 21:49:52 +0000</pubDate>
		<dc:creator>savage</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[search engines cnn]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/2009/03/05/the-most-trusted-name-in-search/</guid>
		<description><![CDATA[Lots of people find StyleFeeder via search engines, and the usual suspects top the list: Google, Yahoo, Ask, Live, etc.  Making an appearance in the top 10 this month: CNN.  
Appearing below CNN in number of search visits: Altavista, Lycos.  My how times have changed.
]]></description>
			<content:encoded><![CDATA[<p>Lots of people find StyleFeeder via search engines, and the usual suspects top the list: Google, Yahoo, Ask, Live, etc.  Making an appearance in the top 10 this month: <a href="http://www.cnn.com">CNN</a>.  </p>
<p>Appearing below CNN in number of search visits: Altavista, Lycos.  My how times have changed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2009/03/05/the-most-trusted-name-in-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>That&#8217;s one big cloud</title>
		<link>http://blog.tech.stylefeeder.com/2009/03/05/s3-bucket-256t/</link>
		<comments>http://blog.tech.stylefeeder.com/2009/03/05/s3-bucket-256t/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 21:43:15 +0000</pubDate>
		<dc:creator>Philip Jacob</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/?p=152</guid>
		<description><![CDATA[I just tried using a little utility called subcloud to mount an S3 bucket as a filesystem using fuse on a CentOS box.  I did &#8216;df -h&#8217; and I got this:
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  2.5G  7.0G  26% /
/dev/sda2             147G  6.9G  133G   5% /mnt
none                  851M     0  851M   0% /dev/shm
fuse                  256T     0  [...]]]></description>
			<content:encoded><![CDATA[<p>I just tried using a little utility called <a href="http://www.subcloud.com/">subcloud</a> to mount an <a href="http://aws.amazon.com/s3/">S3</a> bucket as a filesystem using <a href="http://fuse.sourceforge.net/">fuse</a> on a <a href="http://www.centos.org/">CentOS</a> box.  I did &#8216;df -h&#8217; and I got this:</p>
<pre>Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  2.5G  7.0G  26% /
/dev/sda2             147G  6.9G  133G   5% /mnt
none                  851M     0  851M   0% /dev/shm
<strong>fuse                  256T     0  256T   0% /s3pd

</strong></pre>
<p>Unfortunately, this bucket has so much data in it that I&#8217;m afraid my stupid attempt to see what happens when I type &#8216;ls&#8217; will end up burning me.  Curiosity killed the cat.</p>
<pre><strong>
</strong></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2009/03/05/s3-bucket-256t/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An easy VPN with DD-WRT</title>
		<link>http://blog.tech.stylefeeder.com/2009/03/03/dd-wrt-vpn/</link>
		<comments>http://blog.tech.stylefeeder.com/2009/03/03/dd-wrt-vpn/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 14:39:49 +0000</pubDate>
		<dc:creator>Philip Jacob</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/?p=148</guid>
		<description><![CDATA[ I&#8217;ve been using some ssh port forwards to get onto our office lan where we have our integration environment on days when I&#8217;m working remotely (i.e. we got 12 inches of snow yesterday).  But those are more complicated these days since I need to connect to four or five services (databases, web services, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.tech.stylefeeder.com/wp-content/uploads/2009/03/ddwrt-logo.gif"><img class="alignnone size-full wp-image-149" style="float: right; padding-left: 8px; padding-bottom: 8px" src="http://blog.tech.stylefeeder.com/wp-content/uploads/2009/03/ddwrt-logo.gif" alt="" width="210" height="40" /></a> I&#8217;ve been using some ssh port forwards to get onto our office lan where we have our integration environment on days when I&#8217;m working remotely (i.e. we got 12 inches of snow yesterday).  But those are more complicated these days since I need to connect to four or five services (databases, web services, etc.), so I thought I&#8217;d see if I could somehow coax <a href="http://www.dd-wrt.com/">DD-WRT</a> &#8211; the open source firmware on our router &#8211; to give me VPN functionality.  No coaxing required.  This couldn&#8217;t have been easier.  In fact, it&#8217;s downright impressive how easy it was.  It took me literally three minutes to get it working with my OS/X laptop and the same again for Savage on a Windows box.  Now, <strong>that&#8217;s</strong> cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2009/03/03/dd-wrt-vpn/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Some thoughts about Balsamiq</title>
		<link>http://blog.tech.stylefeeder.com/2008/12/05/some-thoughts-about-balsamiq/</link>
		<comments>http://blog.tech.stylefeeder.com/2008/12/05/some-thoughts-about-balsamiq/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 04:42:15 +0000</pubDate>
		<dc:creator>Philip Jacob</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/?p=124</guid>
		<description><![CDATA[Some of us spent the day doing some mockups of some new StyleFeeder features with Balsamiq.  I&#8217;ve done enough work with Adobe Flex to be slightly skeptical that it might have the polish enough to survive as a full-on desktop application, but there simply doesn&#8217;t seem to be any other good mockup applications out [...]]]></description>
			<content:encoded><![CDATA[<p>Some of us spent the day doing some mockups of some new <a href="http://www.stylefeeder.com/">StyleFeeder</a> features with <a href="http://www.balsamiq.com/">Balsamiq</a>.  I&#8217;ve done enough work with <a href="http://www.adobe.com/products/flex/">Adobe Flex</a> to be slightly skeptical that it might have the polish enough to survive as a full-on desktop application, but there simply doesn&#8217;t seem to be any other good mockup applications out there.  I have <a href="http://www.adobe.com/products/illustrator/">Illustrator</a> and <a href="http://www.omnigroup.com/applications/OmniGraffle/">Omni Graffle</a> on my laptop, but those are overkill.  Illustrator is too industrial-strength to be used to put together some something as trivial as mockups.  Graffle is great and I use it somewhat frequently, but I was looking for something ideally that was cross platform (I&#8217;m on a Mac while everybody else is on some flavor of Windows).</p>
<p>Since some of us have heard good things about Balsamiq recently, I figured it was worth a look, especially since their <a href="http://www.balsamiq.com/products/mockups/examples">examples</a> look fun and easy.  The installation didn&#8217;t work properly and froze up <a href="http://www.apple.com/safari/">Safari</a>, <a href="http://www.mozilla.com/en-US/firefox/">Firefox</a> and <a href="http://caminobrowser.org/">Camino</a> until after I&#8217;d rebooted.  After that, things were&#8230; well, great.</p>
<p><img class="aligncenter size-medium wp-image-126" title="mockup" src="http://blog.tech.stylefeeder.com/wp-content/uploads/2008/12/mockup.png" alt="" width="300" height="269" /></p>
<p>Savage and I made many pages of mockups today using this tool to further develop some ideas that have been sitting on a whiteboard for a few days.  During the course of this exercise, a number of questions and ideas came up, so it was really worthwhile, especially because we were able to focus on the ideas without getting stuck or sidetracked with the mockup tool.</p>
<p>The only thing that I found myself wanting with Balsamiq was a <em>Lorem Ipsum</em> text generator to fill out a paragraph of sample text, but that&#8217;s only available in the <a href="http://www.balsamiq.com/products/mockups/desktop/next">pre-release of the next version</a>.  I&#8217;m glad to know that it&#8217;s coming soon, though.</p>
<p>Balsamiq itself is full featured enough to actually do work with, but doesn&#8217;t have <em>so</em> many features that it causes you to spend hours perfectly aligning bulleted lists or other UI components.  And the output looks like a mockup &#8211; there&#8217;s no danger of mistaking it for a final product! (I can&#8217;t tolerate hearing &#8220;&#8230; but that&#8217;s not what it&#8217;s going to look like in real life, is it?&#8221;)</p>
<p>Balsamiq&#8217;s UI is good and it&#8217;s clear that <a href="http://www.balsamiq.com/company">Giacomo</a> paid a lot of attention to detail.  I noticed subtle things like a contextual copy/paste behavior that changed what was being pasted onto the canvas.  If you open up a third party application and select some text and copy that to the clipboard, but then copy a UI widget within Balsamic, you can then paste the original text into it when you start editing the text on that control.  It may sound hard to explain, but it was exactly the response I wanted from the application.</p>
<p>Balsamiq isn&#8217;t a lot of money: just $79, although we could have <a href="http://www.balsamiq.com/products/mockups/desktop">had it for free</a>.  Some of us contribute to open source projects, which qualifies us.  But if you write nice blog posts about it, they&#8217;ll also give it you.  Now, while I do appreciate the offer, I <em>really</em> object to the idea of reading a nice blog post and wondering if that&#8217;s effectively a PR placement or if it&#8217;s authentic (in the case of this writer, I assure you that we paid for our copies, so what I&#8217;m saying is not tainted).  While I don&#8217;t have a problem with people getting Balsamiq for free in exchange for a bit of word of mouth marketing, I think that the blogger should be required to disclose that they got it for free (are you listening, Giacomo?).</p>
<p>There were a few things that I&#8217;d like to see in the future, though:</p>
<ol>
<li>Printing &#8211; I wanted to print out the mockups and tape them on the wall so I could stare at them, but you can&#8217;t print from Balsamic!  So I had to export them all as PNG files and then print from another graphics application.</li>
<li>I&#8217;d like to be able to open multiple files at a time.</li>
<li>Diagonal lines &#8211; you can&#8217;t draw them.  I wanted to do this at least twice.</li>
<li>Unlocking locked components requires a trip to the &#8220;Edit&#8221; menu and wasn&#8217;t obvious at all.</li>
<li>Exporting a group of docs as a multi-page PDF would be super.</li>
</ol>
<p>I think that Savage summed it up best after I asked him what he thought of it at the end of the say.  &#8220;Well, it didn&#8217;t get in my way at all,&#8221; which is about as good a compliment as you can get from him!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2008/12/05/some-thoughts-about-balsamiq/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Parallel programming</title>
		<link>http://blog.tech.stylefeeder.com/2008/11/13/parallel-programmin/</link>
		<comments>http://blog.tech.stylefeeder.com/2008/11/13/parallel-programmin/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 17:56:07 +0000</pubDate>
		<dc:creator>Philip Jacob</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/?p=122</guid>
		<description><![CDATA[Hear, hear!
Sequential programming is one of those things that is nice for controlled examples, but is starting to look awfully impractical in the real world.  In fact, we&#8217;ve had some discussions at StyleFeeder lately where we were talking about the things that we as a company could not exist without.  Open source software is one, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://software.intel.com/en-us/blogs/2008/10/22/sequential-programming-is-dead-so-stop-teaching-it/">Hear, hear</a>!</p>
<p>Sequential programming is one of those things that is nice for controlled examples, but is starting to look awfully impractical in the real world.  In fact, we&#8217;ve had some discussions at <a href="http://www.stylefeeder.com/">StyleFeeder</a> lately where we were talking about the things that we as a company could not exist without.  Open source software is one, for example.  <a href="http://en.wikipedia.org/wiki/Shard_(database_architecture)">Sharding</a> is another.  Concurrent programming was also on the list.  And I don&#8217;t think that this is the result of a failure of imagination on our part, either: we really couldn&#8217;t exist without this stuff.</p>
<p>On almost any page on <a href="http://www.stylefeeder.com/">StyleFeeder</a>, there are a few threads at work doing things like data retrieval from multiple data sources, recordkeeping, updating caches, putting messages on queues and the like.  We&#8217;ve made some wonderful little constructs for making this kind of work easy, the heart of which is a little component called Assembler.</p>
<p>You give Assembler a few <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/FutureTask.html">FutureTask</a>s and a timeout.  Like, &#8220;go and do these four things and just stop doing whatever you&#8217;re doing after 1000ms since it&#8217;ll be too late at that point&#8221;.  In addition to helping keep the application profile level when we are under load, it also dramatically speeds up the page load time.</p>
<p>Of course, we also rely heavily on <a href="https://whirlycache.dev.java.net/">Whirlycache</a> and various message queues, too.  Both of those provide other benefits, but a solid understanding of concurrency is necessary in order to understand when you are seeing a problem and how to diagnose it.  Because, yes, we somtimes see funny race conditions that are really hard to reproduce.  In practice, you frequently have to be able to look at code and analyze execution paths to understand where things could possibly go wrong.</p>
<p>Experience with those skills is something that we all have &#8211; again, out of necessity.  Because I&#8217;m pretty sure that StyleFeeder can&#8217;t exist without threading at this point.  I&#8217;m eagerly watching Dan Milstein&#8217;s notes over at <a href="http://dev.lookery.com/">Lookery</a> with his <a href="http://www.erlang.org/">Erlang</a> adventures.  Concurrency, indeed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2008/11/13/parallel-programmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oil &amp; Water</title>
		<link>http://blog.tech.stylefeeder.com/2008/10/17/oil-water/</link>
		<comments>http://blog.tech.stylefeeder.com/2008/10/17/oil-water/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 02:39:03 +0000</pubDate>
		<dc:creator>savage</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[git svg]]></category>

		<guid isPermaLink="false">http://blog.tech.stylefeeder.com/?p=118</guid>
		<description><![CDATA[
This graphic also available as SVG.
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://lists.nongnu.org/archive/html/fab-user/2008-10/msg00069.html"><img class="aligncenter size-full wp-image-119" title="logo-git" src="http://blog.tech.stylefeeder.com/wp-content/uploads/2008/10/logo-git.png" alt="" width="362" height="431" /></a></p>
<p><a href="http://blog.tech.stylefeeder.com/wp-content/uploads/2008/10/logo-git.svg">This graphic also available as SVG.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tech.stylefeeder.com/2008/10/17/oil-water/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
