<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">

    <title type="text">Viget Labs : Master Blog Feed</title>
    <subtitle type="text">Marketing Blog: Viget Labs:</subtitle>
    <link rel="alternate" type="text/html" href="http://www.viget.com/engage/" />
    <link rel="self" type="application/atom+xml" href="http://www.viget.com/site/atom/" />
    <updated>2009-07-02T17:21:37Z</updated>
    <rights>Copyright (c) 2009, Josh Chambers</rights>
    <generator uri="http://expressionengine.com/" version="1.6.2">ExpressionEngine</generator>
    <id>tag:viget.com,2009:07:02</id>


    <entry>
      <title>Clever Photographic Advertisements</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/engage/clever-photographic-advertisements/" />
      <id>tag:viget.com,2009:engage/17.1606</id>
      <published>2009-07-02T08:00:00Z</published>
      <updated>2009-06-24T13:09:32Z</updated>
      <author>
            <name>Josh Chambers</name>
            <email>josh.chambers@viget.com</email>
            <uri>http://www.viget.com/about/team/jchambers</uri>      </author>

      <category term="Favorites"
        scheme="http://www.viget.com/blog/category/favorites/"
        label="Favorites" />
      <category term="General"
        scheme="http://www.viget.com/blog/category/general/"
        label="General" />
      <category term="Opinions/Reviews"
        scheme="http://www.viget.com/blog/category/opinion/"
        label="Opinions/Reviews" />
      <category term="Trends"
        scheme="http://www.viget.com/blog/category/trends/"
        label="Trends" />
      <content type="html"><![CDATA[

                 <p>I recently wrote about <a href="http://www.viget.com/engage/branded-utility-the-already-happening-future-of-marketing/">branded utility</a>, and while many of the examples were full-on applications or products, I thought a more "simple" example of branded utility in advertisements would be a good follow-up. The photographs found in the article "<a href="http://justcreativedesign.com/2008/07/30/192-of-the-best-smart-clever-creative-advertisements/">192 Creative, Smart &amp; Clever Advertisements</a>" are indeed creative as well as inspirational, thought provoking, and useful. Many of the examples take a traditional issue and shed light from a new angle -- the kind of angle that makes you say, "Huh...I never thought of that..." That's what it's all about -- <a href="http://joshchambers.com/design-stragegy-surprising-and-delighting/">Advertising should surprise and delight.</a></p>
<p>Thanks <a href="http://www.twitter.com/avinashkaushik">@AvinashKaushik</a> for the link - it's old but it's good! For some of you, this will be a flashback, for others it will (hopefully) provide first time inspirations. Here are a few of my favorites:</p>
<p><img alt="use-only-what-you-need_380" height="214" src="http://www.viget.com/uploads/image/use-only-what-you-need_380.jpg" title="use-only-what-you-need_380" width="380" /></p>
                 <p><img alt="Paper Towels" height="277" src="http://www.viget.com/uploads/image/paper-towels_380.jpg" width="380" /></p>
<p><img alt="Plugged In" height="268" src="http://www.viget.com/uploads/image/plugged-in_380.jpg" width="380" /></p>
<p><img alt="Car Pollution" height="255" src="http://www.viget.com/uploads/image/005_plusodin_380.jpg" width="380" /></p>
<h4><a href="http://justcreativedesign.com/2008/07/30/192-of-the-best-smart-clever-creative-advertisements/">Check out the original aritcle for a lot of other great examples!</a><br /></h4>

      ]]></content>
    </entry>

    <entry>
      <title>Rails, Internationalization, and Tú</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/extend/rails-internationalization-and-tu/" />
      <id>tag:viget.com,2009:extend/4.1616</id>
      <published>2009-07-02T07:00:00Z</published>
      <updated>2009-07-01T21:19:24Z</updated>
      <author>
            <name>Clinton R. Nixon</name>
            <email>clinton.nixon@viget.com</email>
            <uri>http://www.viget.com/about/team/cnixon</uri>      </author>

      <category term="Ruby on Rails"
        scheme="http://www.viget.com/blog/category/ruby_on_rails/"
        label="Ruby on Rails" />
      <category term="Tips and Tricks"
        scheme="http://www.viget.com/blog/category/tips_and_tricks/"
        label="Tips and Tricks" />
      <content type="html"><![CDATA[

                 <p>Internationalization (or I18n if you&rsquo;re hep) is a bear of a problem to deal with in software development. I&rsquo;ve had to work with a multi-lingual site in PHP before. It wasn&rsquo;t painful, but it was constantly annoying. I just got a chance to work with internationalization in Rails for the first time, and I was pretty excited to see how it&rsquo;s been handled.</p>
<p>The good news that I found is that Rails&rsquo; I18n support is pretty great. The bad news is that it is overly integrated with the rest of Rails, making changing it in isolation difficult.</p>
                 <h3 id="the_basics_of_i18n_in_rails">The Basics of I18n in Rails</h3>
<p>There&rsquo;s <a href="http://guides.rubyonrails.org/i18n.html">a great Rails Guide on internationalization</a> that&rsquo;s required reading for anyone trying this at home. My brief nutshell of an explanation is that you create a Ruby or YAML file under <code>config/locales</code> that has a set of hashes of hashes pointing to a specific key. An example would be <code>{ 'en' =&gt; { 'activerecord' =&gt; { 'errors' =&gt; {'blank' =&gt; 'is required' } } }</code>. That sets the English translation for the key <code>activerecord.errors.blank</code> to &ldquo;is required.&rdquo;</p>
<p>You can set your Rails application&rsquo;s default locale like so:</p>
<pre name="code" class="ruby:nogutter">I18n.default_locale = :es</pre>
<p>That will set it to Spanish. There&rsquo;s not a definitive list of locales, so you could use <code>:lolcatz</code> or <code>:morlock</code> and it will work fine. You set the locale in a specific request like this:</p>
<pre name="code" class="ruby:nogutter">I18n.locale = :es</pre>
<p>When you do that, all keys called via <code>I18n.translate</code> (accessible as <code>t</code> in views because of helpers) will return the Spanish translation.</p>
<p>Overall, this is simple and easy. We found this to be helpful not only for Spanish translations, but setting English text as well. You can set the human-readable names of your ActiveRecord models and attributes through this facility, which is very nice for creating forms, especially with <a href="http://github.com/justinfrench/formtastic/tree/master">Formtastic</a>.</p>
<h3>Extending I18n</h3>
<p>Reading these YAML and Ruby files and holding the translations in memory is the job of the class <code>I18n::Backend::Simple</code>, which is what&rsquo;s written on the box: a simple backend for the I18n service in Rails. If you want translations to be editable by non-programmers, though, YAML and Ruby files won&rsquo;t cut it.</p>
<p>It is easy to extend <code>Simple</code> or write a new backend. Once you&rsquo;ve written one, you can tell `I18n` to use it:</p>
<pre name="code" class="ruby:nogutter">I18n.backend = I18n::Backend::SnippetBackend.new</pre>
<p>I wanted to store my translations in the database and knew I&rsquo;d only have English and Spanish translations forever. If you&rsquo;re supporting multiple languages, you&rsquo;ll obviously want to add another model to the following code. Here&rsquo;s the backend I wrote:</p>
<pre name="code" class="ruby:nogutter">module I18n
  module Backend
    class SnippetBackend &lt; Simple
      protected

      def init_translations
        load_translations(*I18n.load_path.flatten)
        load_translations_from_database
        @initialized = true
      end

      def load_translations_from_database
        data = { :en =&gt; {}, :es =&gt; {} }

        Snippet.all.each do |snippet|
          path = snippet.name.split(".")
          key = path.pop

          en = data[:en]
          es = data[:es]

          path.each do |group|
            en[group] ||= {}
            en = en[group]

            es[group] ||= {}
            es = es[group]
          end

          en[key] = snippet.english
          es[key] = snippet.spanish
        end

        data.each do |locale, d| 
          merge_translations(locale, d)
        end
      end
    end
  end
end
</pre>
<p id="where_my_problems_began">This code pulls all the translations I have stored as Snippet models out of the database and merges them into the translations already loaded from the YAML and Ruby files. The only piece of magic here is splitting the key's name. The period syntax to indicate nesting is used in the keys normally, so I continued it in my snippets. To make this match the data from the YAML and Ruby files, I have to transform it into nested hashes.</p>
<h3>Where My Problems Began</h3>
<p>I also used a plugin called <a href="http://intraducibles.com/projects/typus">Typus</a> for an administrative interface in this application. It&rsquo;s a great plugin, and I can recommend it if you want a Django-style interface for editing content without a lot of fuss. </p>
<p>When displaying a list of your editable models, it pluralizes those models&rsquo; human names; for example, <code>EmergencyContact</code> becomes &ldquo;Emergency contact&rdquo; and is then pluralized to &ldquo;Emergency contacts.&rdquo; This works perfectly with English. However, when using Spanish, I ended up with a slight problem:</p>
<pre><code>&gt;&gt; EmergencyContact.typus_human_name
=&gt; "Emergency contact"
&gt;&gt; EmergencyContact.typus_human_name.pluralize
=&gt; "Emergency contacts"
&gt;&gt; I18n.locale = :es
=&gt; :es
&gt;&gt; EmergencyContact.typus_human_name
=&gt; "contacto de emergencia"
&gt;&gt; EmergencyContact.typus_human_name.pluralize
=&gt; "contacto de emergencias"
</code></pre>
<p>&ldquo;Contacto de emergencias&rdquo; means something like, &ldquo;a contact for lots of emergencies,&rdquo; which wasn&rsquo;t my intention. What I need is &ldquo;contactos de emergencia,&rdquo; which would require Spanish pluralization rules. The Rails pluralization rules are based on English. That made sense to me, so I could go add pluralization rules for Spanish, just like you can add translations for Spanish, right?</p>
<p>Unfortunately, that&rsquo;s not true. Inflection rules in Rails don&rsquo;t take multiple languages into account, so you can&rsquo;t define new ones for a particular locale.</p>
<p>Quixotically, I decided to fix this. Here&rsquo;s the code I ended up with:</p>
<pre name="code" class="ruby:nogutter">module Inflector
   # Yields a singleton instance of Inflector::Inflections so you can specify additional
   # inflector rules.
   #
   # Example:
   #   ActiveSupport::Inflector.inflections do |inflect|
   #     inflect.uncountable "rails"
   #   end

    # Original method
   def inflections
     if block_given?
       yield Inflections.instance
     else
       Inflections.instance
     end
   end      

    # My crazy method
   def inflections(locale = nil)
     locale ||= I18n.locale
     locale_class = \
       if locale.to_s == I18n.default_locale.to_s
         ActiveSupport::Inflector::Inflections
       else
         ActiveSupport::Inflector.const_get("Inflections_#{locale}") rescue nil
       end

     if locale_class.nil?
       ActiveSupport::Inflector.module_eval %{
         class ActiveSupport::Inflector::Inflections_#{locale} &lt; ActiveSupport::Inflector::Inflections
         end
       }
       locale_class = \
         ActiveSupport::Inflector.const_get("Inflections_#{locale}")
     end

     if block_given?
       yield locale_class.instance
     else
       locale_class.instance
     end
   end

   # Returns the plural form of the word in the string.
   #
   # Examples:
   #   "post".pluralize             # =&gt; "posts"
   #   "octopus".pluralize          # =&gt; "octopi"

    # Original method
    def pluralize(word)
     result = word.to_s.dup

     if word.empty? || inflections.uncountables.include?(result.downcase)
       result
     else
       inflections.plurals.each do |(rule, replacement)| 
         break if result.gsub!(rule, replacement)
       end
       result
     end
   end

    # My method
   def pluralize(word, locale = nil)
     locale ||= I18n.locale
     result = word.to_s.dup

     if word.empty? || inflections(locale).uncountables.include?(result.downcase)
       result
     else
       inflections(locale).plurals.each do |(rule, replacement)|
         if replacement.respond_to?(:call)
           break if result.gsub!(rule, &amp;replacement)
         else
           break if result.gsub!(rule, replacement)
         end
       end
       result
     end
   end
end
</pre>
<p>This code is pretty complex, but there's only three major changes to the original methods. First, I added the ability to pass in a locale to use on each method, and made the current locale the default one. Second, I changed the behavior of the <code>Inflections</code> class. Instead of having one singleton class, I have a lot of singleton classes, each associated with a locale. These classes are created dynamically through a <code>module_eval</code>. Lastly, I added the ability for inflection transformations to be lambdas instead of just strings.</p>
<p>If you&rsquo;re shaking your head and asking, &ldquo;did he just create a new class for each different locale?&rdquo;, I don&rsquo;t blame you. It&rsquo;s a little crazy. Believe it or not, this works magically, though! Here it is at work:</p>
<pre name="code" class="ruby:nogutter">ActiveSupport::Inflector.inflections(:es) do |inflect|
  inflect.plural /$/, 's'
  inflect.plural /([^aeiou&eacute;])$/, '\1es'
  inflect.plural /([aeiou]s)$/, '\1'
  inflect.plural /z$/, 'ces'
  inflect.plural /&aacute;([sn])$/, 'a\1es'
  inflect.plural /&iacute;([sn])$/, 'i\1es'
  inflect.plural /&oacute;([sn])$/, 'o\1es'
  inflect.plural /&uacute;([sn])$/, 'u\1es'
  inflect.plural(/^(\w+)\s(.+)$/, lambda { |match|
                   head, tail = match.split(/\s+/, 2)
                   "#{head.pluralize} #{tail}"
                 })
end
</pre>
<p>You'll notice that lambda in there: I added that ability so that I could transform the first word in a string instead of the last.</p>
<h3 id="my_problems_compound">My Problems Compound</h3>
<p>The above works a little too magically, however. The <code>pluralize</code> method is used everywhere, particularly in changing model class names to table names. As you can imagine, I started seeing errors like &ldquo;No table found with name <code>emergency_contactes</code>.&rdquo; I spent a good day running into similar issues and fixing it with code like:</p>
<pre name="code" class="ruby:nogutter"># Create the name of a table like Rails does for models to table names. This method
# uses the +pluralize+ method on the last word in the string.
#
# Examples
#   "RawScaledScorer".tableize # =&gt; "raw_scaled_scorers"
def tableize(class_name)
  pluralize(underscore(class_name), I18n.default_locale)
end
</pre>
<p>Note that I called <code>pluralize</code> explicitly specifying that I want to use the default locale, which would be English. This is a simple fix, but I ended up having to repeat it multiple places in <code>ActiveRecord</code>, <code>ActiveSupport</code>, and <code>ActionController</code>.</p>
<h3 id="lessons_learned">Lessons Learned</h3>
<p>First, even though this post&rsquo;s talked about issues I had, the I18n support in Rails rocks, and I&rsquo;ve found it to be a bit of a universal solvent for form issues, which I hope to talk about in another post. The ability to add new backends is nice, and the combination of my backend and Typus is hot.</p>
<p>I&rsquo;ve learned that Rails&rsquo; inflections are used throughout the framework and trying to reuse them for automatic pluralization and singularization of non-English languages is hard. I think the results might be worth the effort, though. The translation system does have the ability to define singular and plural names for things, but they don&rsquo;t work through <code>pluralize</code>, so you&rsquo;d have to re-write how you generate plural names for model objects. That&rsquo;d be more local than my sweeping monkey-patches, however. Looking back over my code, I&rsquo;ve decided that it is full of red flags, but not altogether misguided.</p>
<p>How are you using Rails&rsquo; I18n? Have you had problems? Are the above fixes terrible hacks or awesome hacks? Let&rsquo;s talk in the comments.</p>
<p>(You can see all the code from this post at <a href="http://gist.github.com/138956">http://gist.github.com/138956</a>.)</p>

      ]]></content>
    </entry>

    <entry>
      <title>The Point of Pointless Corp.</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/blog/the-point-of-pointless-corp/" />
      <id>tag:viget.com,2009:blog/24.1617</id>
      <published>2009-07-01T16:20:00Z</published>
      <updated>2009-07-02T17:21:37Z</updated>
      <author>
            <name>Brian Wynne Williams</name>
            <email>brian.williams@viget.com</email>
            <uri>http://www.viget.com/about/team/bwilliams</uri>      </author>

      <category term="General"
        scheme="http://www.viget.com/blog/category/general/"
        label="General" />
      <content type="html"><![CDATA[

                 <p><img alt="A Pointless Logo" height="75" src="http://www.pointlesscorp.com/wp-content/uploads/2009/06/logo-pointless.gif" style="margin: 2px 12px; float: right;" width="172" />Back in January, <a href="http://www.viget.com/about/team/davery" target="_blank">Doug</a> let the ... uh ... bear out of the bag, so to speak, with <a href="http://www.viget.com/inspire/book-review-giveaway-the-geometry-of-design/" target="_blank">his post</a> about using geometry in design. &nbsp;In it, he showed his design process for the Pointless Bear -- the mascot of Pointless Corp. &nbsp;What's Pointless Corp. you ask? &nbsp;Well, it's neither pointless nor a corporation. &nbsp;But, first, some history.</p>
<p>Ever since we started Viget almost a decade ago, people have often said "you guys have all the talent to build web apps -- designers, developers, marketers -- and you must have ideas. &nbsp;Why don't you launch your own products?" &nbsp;It's a fair question with a simple answer: we don't want to be a product company. &nbsp;Our goal at Viget has always been to be a great consulting company, working with great clients on a wide variety of interesting projects.&nbsp;</p>
<p>Consulting isn't easy. &nbsp;There's a ton of work that goes into all aspects of the business, including traditionally boring things like accounting and operations and interesting things like how you can closely collaborate with clients with methods that are customized enough for their needs but still structured enough that you can count on the results. &nbsp;The standard advice we all give start-ups is to focus. &nbsp;Without focus, a business has no hope. &nbsp;At Viget, our focus has been consulting, and trying to build products would put that focus -- and our success -- at risk.</p>
<p>That's not to say we haven't built our own stuff. &nbsp;Like most web shops, we built our own content management system in 2002 (since phased out). &nbsp;Being open source advocates, we're constantly contributing code to the community. &nbsp;When we have time between client projects, we're always playing with new technologies and ideas in one way or another. &nbsp;Even with all that, we felt that we could be more effective with our downtime, learn more from our experiences, and become better consultants providing more value to our clients if we had a more structured approach to internal projects.</p>
<h3>Enter Pointless Corp.</h3>
<p>Pointless Corp. is a way for our teams to rally around an idea and work together to launch a web app independent of client work. &nbsp;It's not an original concept, but I think we have a slightly different take on the approach.</p>
                 <h3>Why "Pointless"?</h3>
<p>The name was inspired by Harry Nilsson's story <em><a href="http://en.wikipedia.org/wiki/The_Point%21" target="_blank">The Point!</a></em>
which includes a character called "The Pointless Man" who said "a point
in every direction is the same as no point at all." &nbsp;We want Pointless
Projects to take us in all kinds of experimental directions.</p>
<p>More importantly, the name is a constant reminder about focus. &nbsp;The
focus of Viget is working with great clients to build great products
and web sites. &nbsp;That's our point. &nbsp;Pointless Projects themselves are
far from pointless, though -- they're a chance for us to learn about
technologies and processes, to grow and experiment with new ideas, to
share and contribute to the web community, and to have fun working
together in tight teams. &nbsp;But, were we ever to prioritize Pointless
Projects over client work, we'd be putting everything we've
accomplished thus far as a company at risk.</p>
<p>We're proud of what we've done so far at Viget as a consultancy, and
we've still got a long way to go. &nbsp;By launching fun, useful projects
under a different "brand," we don't have to worry as much about people
misunderstanding Viget's purpose.</p>
<h3>How Does It Work?</h3>
<p>We've kicked around lots of details internally, but I'll cut to the chase:</p>
<ul>
<li>Anyone at Viget can spark an idea. &nbsp;That person then becomes the project champion.</li>
<li>The project champion "pitches" the idea either at a Pointless Party
(where interested folks come to discuss ideas and form teams over pizza
&amp; beer) or just in the hallway. &nbsp;Pitching first means getting at
least one other teammate involved (there are no solo Pointless
Projects), then selling <a href="http://www.viget.com/about/team/arankin" target="_blank">Andy</a> and me on making it an "official" Pointless Project.</li>
<li>Once official, the project has a slot on our weekly project schedule, just like any client. &nbsp;It also has deadlines.</li>
<li>Progress is shared at least weekly on our internal blog and during staff meetings.</li>
<li>Generally speaking, late nights are enjoyed by the team to hit
deadlines. &nbsp;The projects are labors of love, and since client work
(again, our point) takes precidence over Pointless Projects, we often
have to find extra time to get them done.</li>
</ul>
<h3>How Doesn't It Work?</h3>
<p>We've learned some good lessons there too, but that's for another post.</p>
<h3>Results?</h3>
<p>So far, we've launched four official Pointless Projects:</p>
<ul>
<li><a href="http://speakerrate.com/" target="_blank">SpeakerRate</a></li>
<li><a href="http://feedstitch.com/" target="_blank">FeedStitch</a></li>
<li><a href="http://heycraigapp.com/" target="_blank">HeyCraig</a></li>
<li><a href="http://tweetsoffury.com" target="_blank">Tweets of Fury</a></li>
</ul>
<p>Each one had a different team, approach, schedule, outcome, and set
of lessons to apply to the next one. &nbsp;We have a few more in the hopper
at various stages of completion. &nbsp;If you're interested in what we're
working on, you can check out the <a href="http://www.pointlesscorp.com/" target="_blank">Pointless site</a> (currently just a blog), follow <a href="http://twitter.com/pointlesscorp" target="_blank">Pointless on Twitter</a>,
or keep an eye out here at Viget. &nbsp;We'll make sure to spread the word
about any big things happening. &nbsp;If you have any questions or ideas
about Pointless, please drop a comment below or <a href="http://www.viget.com/contact" target="_blank">contact us</a>.</p>

      ]]></content>
    </entry>

    <entry>
      <title>What can the New AdWords Interface Search Query Report do for You?</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/engage/what-can-the-new-adwords-interface-search-query-report-do-for-you/" />
      <id>tag:viget.com,2009:engage/17.1614</id>
      <published>2009-06-29T18:44:00Z</published>
      <updated>2009-06-29T20:22:59Z</updated>
      <author>
            <name>Anjali Merchant</name>
            <email>anjali.merchant@viget.com</email>
                  </author>

      <category term="PPC"
        scheme="http://www.viget.com/blog/category/ppc/"
        label="PPC" />
      <content type="html"><![CDATA[

                 <p>The new Google AdWords interface has been around for a few of months now. While at first I was hesitant to make the switch over, I eventually made the jump and now I&rsquo;m starting too really like it, <a href="http://www.blogation.net/2009/02/new-adwords-user-interface-beta-review.html">as do others</a>. There are a few aspects I miss about the old interface (the Statistics drop down menu, faster loading times), but the new interface definitely has its pros. In my opinion, one of the best new additions to the interface is the integrated Search Query Report. </p>
                 <p>Now, instead of going into the Reports Tab, you can simply navigate to an ad group (or look at the entire account) go to your keyword tab, select the keywords you wish to run the report for and then click the &ldquo;See Search terms&hellip;&rdquo; dropdown. </p>
<p><img alt="search_query_dropdown" height="197" src="http://www.viget.com/uploads/image/search_query_dropdown.png" title="search_query_dropdown" width="380" /></p>
<p>AdWords will then display a pop-up of the search query report for your selected keywords, in real time. From there, you can see what search queries your selected keyword triggered, and easily add or negative out that keyword from your campaign. Last month Google even got rid of the &ldquo;other queries&rdquo; bucket that previously encompassed all search queries that did not generate enough clicks, thus leaving out valuable search query information. </p>
<p><img alt="search_query_report" height="304" src="http://www.viget.com/uploads/image/search_query_report2.png" title="search_query_report" width="380" /></p>
<p>Why is this so great? Aside from the fact that it gives you great insight into what visitors are searching for surrounding your keywords, it makes the whole process of running the report much more efficient. No longer do you have to go in to the reporting tab, run the search query report, wait for the report to process, and possibly export the data into a spreadsheet.&nbsp;&nbsp; Of course, if you ever needed to do that it is still an option.</p>
<p>So far I&rsquo;ve used the new search query report for several clients now and I&rsquo;ve been hit with interesting, funny, or surprising results. Each time I&rsquo;ve taken these results and utilized them to improve the campaigns. If you haven&rsquo;t run the new search query report on your campaigns yet I strongly suggest doing so. Who knows what you may find!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

      ]]></content>
    </entry>

    <entry>
      <title>Refresh Recap: Myths, Wisdom, and Beer</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/blog/refresh-recap-entrepreneur-wisdom-worth-knowing/" />
      <id>tag:viget.com,2009:blog/24.1611</id>
      <published>2009-06-26T16:32:00Z</published>
      <updated>2009-06-27T02:18:41Z</updated>
      <author>
            <name>Emily Bloom</name>
            <email>emily.bloom@viget.com</email>
            <uri>http://www.viget.com/about/team/ebloom</uri>      </author>

      <category term="General"
        scheme="http://www.viget.com/blog/category/general/"
        label="General" />
      <content type="html"><![CDATA[

                 <p><img alt="Refresh Photo" src="http://www.viget.com/uploads/image/refresh-018.jpg" style="width: 455px; height: 228px; margin-left: 0pt;" /></p>
<p>Viget's Durham office facilitates <a href="http://www.refreshthetriangle.org" title="Refresh the Triangle" target="_blank">Refresh the Triangle</a> each month, and if you're local to the area you should have been in attendance last night. Robbie Allen, sole founder and CEO of the <a href="http://statsheet.net/" title="StatSheet Network" target="_blank">StatSheet Network</a>, spoke about his experience running a web startup in the Triangle area. Here are my top three highlights from the talk and why the meeting was one of our best yet.&nbsp; </p>
<p><strong>Highlights from the talk:</strong></p>
<ol>
<li>Don't believe the hype! People like to say that 8 or 9 out of 10 businesses fail, but Robbie called that a myth. According to the Small Business Association, 50% of businesses survive four or more years. Take heart!</li>
<li>Execution trumps ideas. Having an idea is easy, executing is hard. Robbie's business, <a href="http://statsheet.com/">StatSheet</a>, is one of those ideas that lots of people claim to have had long ago. Robbie's success is, of course, based on his hard work, not having some perfect idea that no one has had before.</li>
<li>Competition is good. Robbie shared stories about talking to ESPN
and the like about what he has built to date. Why share ideas with
potential competitors? The way he sees it, he can only benefit from
their efforts to copy what he has already done or their interest in
beating out another competitor by building off the work he has in place.</li>
</ol>
<p><strong>Why the meeting was one of our best yet:</strong></p>
                 <ol>
<li>New faces. We collaborated with other local groups that meet monthly
- <a href="http://www.northcarolinastartups.com/" target="_blank">NC Startup Blog</a> and <a href="http://triangle.startupdrinks.com/" target="_blank">NC Startup Drinks</a>. It worked well because Robbie's message was applicable to anyone interested in startups and because entrepreneurship is always a fun
topic.&nbsp; The turnout was solid in terms of numbers (between 40 and
50), but even better in terms of diversity of interests.</li>
<li>Fantastic Q&amp;A. Kudos to Robbie for leaving time for so
many questions and for being so good at fielding them. I wish everyone had his knack for handling comments and questions. His answers were brief,
honest, and often humorous.&nbsp; It was very ... Refreshing! </li>
<li>BYOB. We had never done this before last night. Not very many
people brought their own beverage, but there was some wine and beer on hand and I think it helped promote a friendly atmosphere.</li>
</ol>
<p>Congrats to Robbie Allen for recently being awarded a <a href="http://www.ncidea.org/index.asp?sid=15" target="_blank">NCIDEA grant</a>.&nbsp; As he pointed out, we're lucky to live in a state with such a cool grant program for startups.&nbsp; Anyone know of other states with similar programs?</p>
<p>Refresh the Triangle meets on the fourth Thursday of each month. See you next time!</p>

      ]]></content>
    </entry>

    <entry>
      <title>What To Expect When You&#8217;re Expecting CSS/HTML Handoff</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/inspire/what-to-expect-when-youre-expecting-css-html-handoff/" />
      <id>tag:viget.com,2009:inspire/8.1610</id>
      <published>2009-06-26T13:45:00Z</published>
      <updated>2009-06-26T15:18:44Z</updated>
      <author>
            <name>Doug Avery</name>
            <email>doug.avery@viget.com</email>
            <uri>http://www.viget.com/about/team/davery</uri>      </author>

      <category term="General"
        scheme="http://www.viget.com/blog/category/general/"
        label="General" />
      <content type="html"><![CDATA[

                 <p>Picture this: You're a designer at Fancy Design Firm, charged with
building out a design that <em>another</em> group will implement. You might never meet this group, you don't know how adept
they are with buildout, and you're not entirely sure what they'll want to do
with your CSS/HTML.</p>
<p>Even worse, maybe you're only delivering a <em>sliver</em> of the site, just one or two pages, and this team will need to finish out the other
90% of the markup. You'll be credited with the buildout or blamed for
it, but the final results are out of your hands. What do you do?</p>
<p>Or, imagine that you're a client who's hired Fancy Design Firm to
design the site, and you want your Stressed-Out Internal Team to
develop it. You need to make sure that S.O.I.T. can correctly implement the
stuff you get from F.D.F., and you even want them to <em>expand</em> on it,
stretching the design into a full site with new styles. </p>
<p>The trouble? You don't know how F.D.F. codes or what to expect from them.
Whatever you get from them will be final - you can't go running back
every day until launch and asking them for stylesheet tweaks. You're
not a CSS/HTML expert, so you're not sure you'll be able to tell what's good or not. What
do you do?</p>
<h3>A Bad Place To Be<br /></h3>
<p>
Both parties are in a spot here: Designers are hoping their work
doesn't get mangled, and clients are hoping their deliverable isn't
crappy and inflexible, but neither party has a sure-fire way to get what
they want.</p>
<p>I've been delivering buildout a lot recently, so I've been reflecting on what works best in this situation. In the interest of helping designers and clients agree on deliverables, I've written this little reference list. This is by no means a "client
bill of rights," simply a set of topics clients and designers should discuss when expecting a CSS/HTML deliverable.</p>
                 <hr />
<h3>What To Expect from CSS/HTML/JS Deliverables<strong></strong></h3>
<p><strong>Reusability</strong> - Styles should be named and implemented with re-use in mind. Simple utility classes like "right", "left," "intro,"
and "hide" let clients quickly achieve design effects, and more specific classes like "feature-set" can be reused sitewide and modified to client needs. In contrast, "fall-2009-promos" is a dead class: a set of styles that the client will need to basically rewrite in order to copy.</p>
<p>
<em>Note about semantics: While classnames should be semantically meaningful whenever possible, clients will run into situations where their boss just asks them to float a photo to the right. Rather than making them add a ".secondaryPhotoArticle" class to the stylesheet, I'd rather give them something meaningful to THEM, like ".right."<br /></em></p>
<p><strong>Documentation</strong> - A designer's first instinct might be to leave
comments in the code, but these tend to get ignored and bloat the
filesize. Any buildout deliverable needs some kind of documentation of
how the more complex elements interact, and offer ideas
on how to reuse or change them.</p>
<p><em>Quick tip: Sometimes we hand off sites with an "element list" page,
which has all the site's major components laid out on a single page
with notes. Developers can mix and match elements as they please, instead of trying to copy pieces from finished designs.<br /></em></p>
<p><strong>Design Files</strong> - Nothing is final on the web, and the PSDs received
from a designer should reflect this. At the very least, they should
still have slices in place, but major images and sprites should be broken out into files that can be easily tweaked and Save-For-Webbed.</p>
<p><em>Quick tip: I've found that breaking elements into individual PSDs is a huge help during the buildout phase itself &mdash; it makes quick adjustments a snap.<br /></em></p>
<p><strong>Styles for Every Tag</strong> - Even if the design doesn't have a &lt;dl&gt; or &lt;table&gt;, for example, it needs to anticipate one with some simple styles. </p>
<p><em>Quick tip: I actually use a class of ".data" to style tables, just in case
clients need to use a table for layout or import some existing tables. In a perfect world, clients wouldn't use tables for layout, but designers need to design for imperfect situations.<br /></em></p>
<p><strong>Validating Markup</strong> - The final markup validate, even if it won't be perfectly valid on the final
site (due to outside plugins or requirements). This is a simple way to check for bad markup, as well as a way to tell if designers are working with web standards in mind.</p>
<p><strong>Bugs</strong> - Everything should be built for flexibility, but
between handoff and launch, there's always going to be something the
design just didn't anticipate. If the client doesn't have the technical
expertise to work on these bugs, they should consider keeping 10-20 hours of support
time on the contract for help during the development phase. (Actually, put this time on the contract regardless!) </p>
<p><strong>IE6 Support</strong> - Sorry designers, but clients should expect that
you tested everything in IE6 and got it running. Clients, install
something like <a href="http://tredosoft.com/Multiple_IE">MultipleIE</a> to
check this out for yourself.</p>
<h3>What <em>NOT</em> To Expect</h3>
<p>
<strong>IE6 Perfection</strong> - Nothing should look b<em>roken</em> in IE6, but
it won't look exactly like the comp. There are some visual touches
that are just too time-intensive to implement in IE6, and quite frankly
not worth the time a client pays a design firm for.</p>
<p><strong>Hyper-Changeable Design</strong> - There's no way around it - some things
are just going to be a pain to change. Graphical navs and big
backgrounds tend to be time-consuming to update, so if clients anticipate new nav items or color changes a month after launch, they should let the designer know early in the process.</p>
<p><strong>"Our Internal Designer Will Finish It"</strong> - Javascript and CSS, while
familiar to most designers, might not be a strength that a client's in-house designer has. If the designer needs to make major changes to complex pieces of the site (an image carousel, for
example), make sure everyone knows up front, and make sure the internal designer talks to whoever's doing the buildout. This also goes for Photoshop effects: if a client expects to copy a designer's style month after month, they should ask for a tutorial on the style.</p>
<hr />
<h3>Happier Clients, Happier Designers</h3>
<p>No one's off the hook here: In order to get a good, appropriate buildout deliverable, both parties need to set expectations and be ready to make compromises. These guidelines are just a starting point. So what do you think? Did I miss anything, or put something in that you <em>absolutely disagree with</em>? Let me know in the comments.</p>

      ]]></content>
    </entry>

    <entry>
      <title>PBS Teachers Unveils Their  New Look!</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/blog/pbs-teachers-unveils-their-new-look/" />
      <id>tag:viget.com,2009:blog/24.1608</id>
      <published>2009-06-24T13:44:00Z</published>
      <updated>2009-06-24T21:23:24Z</updated>
      <author>
            <name>Kara Davis</name>
            <email>kara.davis@viget.com</email>
            <uri>http://www.viget.com/about/team/kdavis</uri>      </author>

      <category term="Site Launches"
        scheme="http://www.viget.com/blog/category/site_launches/"
        label="Site Launches" />
      <content type="html"><![CDATA[

                 <p>Everyone knows the Public Broadcasting Service (PBS) for free TV, especially their top-notch kids programming. Many of us grew up watching Sesame Street and Mr. Rogers' Neighborhood. What you may not know (if you aren't a teacher) is that every single PBS show is a potential goldmine for education resources and many series have accompanying lesson plans and interactives. Aside from being a great national media organization, PBS has a long-standing reputation in the education community as a provider of high-quality teaching resources and services. </p>
<p>In addition to program-related content, PBS Education offers professional development courses and communities along with independent national services like PBS Kids Island. The PBS Teachers web site faces the challenge of helping PreK-12 educators navigate these rich resources - across all PBS program and station sites - to find just what they need for their current lessons or professional development needs. </p>
<p><a href="http://www.pbs.org/teachers"><img alt="PBS Teachers screenshot" height="331" src="http://www.viget.com/uploads/image/pbs-teachers.jpg" title="PBS Teachers" width="430" /></a></p>
<p>While a primary goal of the redesign was to establish a consistent browsing experience that could scale as new
resources and services were added, PBS Teachers also needed a fresh look to fit in
with the new PBS brand strategy. Viget had the great privilege of
working with the good folks over at
PBS Education to tackle this redesign, and we're pleased to announce
the launch of the new PBS Teachers site!</p>
                 

      ]]></content>
    </entry>

    <entry>
      <title>Designing a Custom Flash Player for Brightcove</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/inspire/designing-a-custom-flash-player-for-brightcove/" />
      <id>tag:viget.com,2009:inspire/8.1607</id>
      <published>2009-06-23T16:21:00Z</published>
      <updated>2009-06-25T19:29:44Z</updated>
      <author>
            <name>Erik Olson</name>
            <email>erik.olson@viget.com</email>
            <uri>http://www.viget.com/about/team/eolson</uri>      </author>

      <category term="Behind the Scenes"
        scheme="http://www.viget.com/blog/category/behind-the-scenes/"
        label="Behind the Scenes" />
      <category term="Development"
        scheme="http://www.viget.com/blog/category/development/"
        label="Development" />
      <category term="Flash"
        scheme="http://www.viget.com/blog/category/flash/"
        label="Flash" />
      <category term="Opinions/Reviews"
        scheme="http://www.viget.com/blog/category/opinions/"
        label="Opinions/Reviews" />
      <content type="html"><![CDATA[

                 <h4>ABOUT BRIGHTCOVE</h4>
<p><a href="http://www.brightcove.com">Brightcove</a> offers a wide range of players that will plug right into your site. Its players range from a video window with basic controls to players with tabbed navigation, playlists, related videos, and keyword search. These players are easy to build into your site and connect with videos you've uploaded to Brightcove.</p>
<p>Unlike most drop-in players, Brightcove offers a great deal of customization. You can style existing players using a video player editor where you primarily have control over colors. This goes a long way when you're trying to match the look of your player with the look of your site, but you can take this a step further with a proprietary markup language called BEML (Brightcove Experience Markup Language). Think of BEML as HTML for a media player. You add custom images to replace the Brightcove custom elements (like your play or mute button for example). You also have complete control over which Brightcove components you want for your players and even which buttons you want for your player controls (play button, mute button, etc.).</p>
<p>However, even with base color styling and more advanced BEML modifications, you may still run into styling and component limitations. If you want to really customize your player, Brightcove allows you to take things even further with <a href="http://www.brightcove.com/en/products/developer-tools/brightcove-apis">their API</a>. So, with said API, Adobe Flex, and custom UI and visual design up front, that's what Viget did ...</p>
                 <h4>WHAT THE CLIENT WANTED</h4>
<p>Recently, a client who was using the Brightcove video hosting
platform to house their comprehensive video library came to us with concerns. They were not completely satisfied with how the players looked and they wanted more functionality than what they were getting out of the existing player components.</p>
<p>The first and main concern was that the components (like tabbed views of custom lists of videos) were not making their videos visible enough. The second concern was that the look of the players weren't customizable enough and the client felt like they weren't getting the visual integration they needed with the rest of their site.</p>
<h4>USER INTERFACE<br /></h4>
<p>The player we created consists of two views. In the first view, we needed to take into account the large number of videos, so the goal of the design addressed choice and selection. On the main video dashboard page, the user can see a truncated selection of videos in the "Featured Videos" and "Most Watched Videos" sections. Below that, the user gets a wider selection of videos via the "Recently Added", "Highest Rated", "Media Appearances", and "This Week" filters. Not counting the search, a user is only a few clicks away from about 350 videos in this view. This doesn't cover every single video, but it does make every category of video immediately visible.<br />&nbsp;&nbsp;&nbsp; <br /><img alt="brightcove wireframe" height="357" src="http://clients.viget.com/blogposts/images/brightcove/wireframe1.jpg" width="440" /></p>
<p>In the second view, there are numerous video choices as well. However, since the user has selected a video to get here, we understand that the main focus should be the video itself and the videos related to it. Aside from the current video playing, there is a list of approximately 50 videos that relate to the chosen video. </p>
<p><br /><img alt="brightcove wireframe" height="332" src="http://clients.viget.com/blogposts/images/brightcove/wireframe2.jpg" width="440" /></p>
<p>To keep available video options accessible, this view offers an expandable
view of the four main sections of video by clicking "View More Videos" at
the bottom. Here is the wireframe of that view.</p>
<p><img height="341" src="http://clients.viget.com/blogposts/images/brightcove/wireframe3.jpg" width="440" /></p>
<h4>VISUAL DESIGN<br /></h4>
<p>With the UI nailed down, we were able to apply the font, colors, and styles needed to visually integrate the player with the client's site and brand.</p>
<h4>View 1</h4>
<p><img height="311" src="http://clients.viget.com/blogposts/images/brightcove/comp1.jpg" width="440" /></p>
<h4>View 2</h4>
<p><img height="346" src="http://clients.viget.com/blogposts/images/brightcove/comp2.jpg" title="Brightcove comp" width="440" /></p>
<h4>IMPLEMENTATION</h4>
<p>Ultimately we implemented two players. The first player is the large media console that has been shown, the second is a standalone player used for displaying single videos or embedding videos on other sites. All data was accessed with simple calls to <a href="http://www.brightcove.com/en/products/developer-tools/brightcove-apis">the Brightcove
media API</a>. With the exception of the "Most Watched Videos" list (which
is compiled by Brightcove video analytics), all video sets are being pulled in as existing playlists that have been set up within
Brightcove.</p>
<h4>CONCLUSION</h4>
<p>We've been quite happy with the results, and we'll be eager to share the final product with you when the site goes live. We wanted to go ahead and share the find though, as we know (from experience) that the search for such solutions is an ongoing and often frustrating one. It seems that Brightcove is offering just what's needed to go anywhere you want with custom video players. From quick-and-easy, lightly-styled approaches to fully customized players, the options and flexibility are rather nice.</p>

      ]]></content>
    </entry>

    <entry>
      <title>Branded Utility &#45; The (Already Happening) Future of Marketing</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/engage/branded-utility-the-already-happening-future-of-marketing/" />
      <id>tag:viget.com,2009:engage/17.1605</id>
      <published>2009-06-23T11:10:00Z</published>
      <updated>2009-06-23T13:39:12Z</updated>
      <author>
            <name>Josh Chambers</name>
            <email>josh.chambers@viget.com</email>
            <uri>http://www.viget.com/about/team/jchambers</uri>      </author>

      <category term="Opinions/Reviews"
        scheme="http://www.viget.com/blog/category/opinion/"
        label="Opinions/Reviews" />
      <category term="Social Media"
        scheme="http://www.viget.com/blog/category/social_media/"
        label="Social Media" />
      <category term="Trends"
        scheme="http://www.viget.com/blog/category/trends/"
        label="Trends" />
      <content type="html"><![CDATA[

                 <p>Most Fridays here at Viget, someone has an opportunity to present on just about anything (including <a href="http://speakerrate.com/talks/11-hockey-fighting-101">hockey fighting</a>), but mostly it&rsquo;s on industry trends. I presented this last Friday and thought I'd pass it along for anyone who is interested (there are a few slides missing that were specific to Viget; but you'll get the picture).</p>
<p>The concept of &ldquo;Branded Utility&rdquo; isn&rsquo;t new (we wrote about it <a href="http://www.viget.com/engage/the-value-of-branded-utilities/">here</a> and <a href="http://www.viget.com/engage/market-like-you-mean-it/">here</a>), but it's still in its infancy and by no means has it been widely accepted, or widely disseminated -- we're hoping to help change both of those things! <strong>Enjoy the slideshare!</strong></p>
                 <div id="__ss_1614447" style="width: 368px; text-align: left;"><a href="http://www.slideshare.net/JoshChambers/branded-utility-the-already-happening-future-of-marketing-1614447?type=powerpoint" style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Branded Utility - The (already happening) future of marketing">Branded Utility - The (already happening) future of marketing</a>
<object width="368" height="298">
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=brandedutility-090620194029-phpapp01&amp;stripped_title=branded-utility-the-already-happening-future-of-marketing-1614447" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=brandedutility-090620194029-phpapp01&amp;stripped_title=branded-utility-the-already-happening-future-of-marketing-1614447" width="368" height="298" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>
</object>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;"><a href="http://www.slideshare.net/JoshChambers/branded-utility-the-already-happening-future-of-marketing-1614447?type=powerpoint" title="Branded Utility - The (already happening) future of marketing">Branded Utility - The (already happening) future of marketing</a> by <a href="http://www.slideshare.net/JoshChambers">Josh Chambers</a></div>
</div>

      ]]></content>
    </entry>

    <entry>
      <title>Waxing Speculative about Amazon&#8217;s Business Model</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/advance/waxing-speculative-about-amazon/" />
      <id>tag:viget.com,2009:advance/12.1604</id>
      <published>2009-06-22T19:34:00Z</published>
      <updated>2009-06-22T21:36:59Z</updated>
      <author>
            <name>M. Jackson Wilkinson</name>
            <email>jackson.wilkinson@viget.com</email>
            <uri>http://www.viget.com/about/team/jwilkinson</uri>      </author>

      <category term="General"
        scheme="http://www.viget.com/blog/category/general/"
        label="General" />
      <category term="Product Design"
        scheme="http://www.viget.com/blog/category/product-design/"
        label="Product Design" />
      <category term="Trends"
        scheme="http://www.viget.com/blog/category/trends/"
        label="Trends" />
      <content type="html"><![CDATA[

                 <p>From <a href="http://adactio.com/journal/1586">Jeremy Keith's notes</a> on <a href="http://aneventapart.com/speakers/jaredspool/">Jared Spool's</a> AEA Boston talk:</p>
<blockquote>
<p>You can buy an iPod nano on Apple, Best Buy, etc. for about $149. Amazon sells it for $134. That&rsquo;s probably cost price. It turns out that Amazon can sell almost everything at cost price and still make a product because of volume. It&rsquo;s all down to the Negative Operating Cycle. Amazon turns over its inventory every 20 days whereas Best Buy takes 74 days. Standard retail term payments take 45 days. So Best Buy is in debt between day 45 and day 74. Amazon, on the other hand, are sitting on cash between day 20 and day 45. In that time, they can invest that money. That&rsquo;s where their profit comes from.</p>
</blockquote>
<p>Holy smokes. Maybe I'm dense or out of the loop on these things, but while I figured there was a volume advantage to Amazon, I didn't realize that this cycle-based plan was the key to their profits.</p>
<p><a href="http://www.viget.com/about/team/bwilliams">Barn</a> and I were talking about this a little over IM today, and this gives a lot of fun fuel with which to speculate about all things Amazon.</p>
<h3>Sustainability</h3>
<p>The first question is: how stable is this kind of model? Will vendors start shortening the cycle on Amazon, knowing that Amazon is able to pay more quickly? My guess is probably not. If vendors are widely accustomed to the 45-day terms, and Amazon is providing a large portion of their sales, then everyone is winning. I can see pressure coming from vendors who are also retailers, like an Apple, in an effort to keep Amazon prices in line with the rest of the industry, but it's probably likely to stay put on the whole.</p>
<p>As a follow-up to that, if Amazon is dependent on the returns it's getting on these investments, is the down market strongly impacting them? You have to guess that it would, but their Q1 2009 revenues and earnings are up year-over-year compared with Q1 2008. Even if their returns are lower on these investments, their lower prices may be working really well at bringing in increased sales in this recession, where consumers are more price-conscious than ever. They are indeed growing slower than they were in this economy, but they're still the best on the block.</p>
<h3>Competition</h3>
<p>How can brick-and-mortar operations like Best Buy compete with Amazon when Amazon can sell at cost all they like? Best Buy relies on two things in competing with Amazon:</p>
<ul>
<li>The need to try-before-you-buy, especially with products like consumer electronics.</li>
<li>The need to have a product <em>right now</em>. Amazon's fast, but it's still next-day at best. If you need something today, you're going to a brick-and-mortar store.</li>
</ul>
<p>Amazon can lessen the impact of the former by making returns even easier and lower-risk than they do now. Taking cues from <a href="http://zappos.com">Zappos</a>, which has made buying clothes and shoes online almost risk-free, could help make this happen. A broader return policy (many items cannot be returned to Amazon if they've been opened) and free/cheap return shipping would be enough for the vast majority of consumers.</p>
<p>The latter is much harder, and is probably where they're less likely to try to compete. But can businesses like Best Buy rely largely on that immediacy as an advantage? It seems very relevant to incidentals and consumables like office supplies, blank CDs, and even books/music/movies (if you don't have a Kindle, TiVo, or Apple TV), but folks can usually wait a day or two for a pricey consumer electronic product in exchange for a discounted price.</p>
<h3>Amazon Stores</h3>
<p>I actually think that Amazon is more than happy to stay out of the
storefront game, and that they'd lose a big piece of their price
advantage: sales tax. Having storefronts mean that all sales, online and offline, would be charged sales tax in states where those stores existed.&nbsp; Saving that 4-10% figures into their pricing advantage in an enormous way, and storefronts kill it instantly.</p>
<p>But it's far more fun to think about Amazon trying to compete for those customers who need something immediately.&nbsp; It's not insane that Amazon might dive into the storefront crowd (I didn't say it was <em>likely</em>, just not insane). It would certainly be counterintuitive to folks at Amazon, but let's imagine that they're inspired by the success of Apple's play into storefronts.</p>
<p>What would an Amazon store look like?&nbsp; A few ideas:</p>
<ul>
<li>First, it's impossible for Amazon to sell in a store even 10% of the SKUs they sell online. They'll need to keep their selection trim.&nbsp; This comes with disadvantages, though: think of the last time you looked up a price on Target.com and only realized once you got to the store that it was an online-only product.&nbsp; To avoid this, the hypothetical Amazon store would have to be very focused: there would need to be an expectation that far more items are carried online, and only those that fit a certain profile would be carried in a store. It would be fun to consider a model where the top 10 sellers in their online store in various categories would get a spot in the store, where online activity is directly impacting the stock of their stores.</li>
<li>Amazon could drive their apparent cost down even further by allowing users to ship their order to a storefront for free, like many other storefront retailers do already.&nbsp;</li>
<li>Amazon's knowledge of your purchase history could make for a really interesting store experience.&nbsp; Let an Amazon iPhone app (or a special in-store product) scan the barcode of an item and tell you if it's compatible with other products you've bought from Amazon in the past. No longer would you need to remember whether or not your camera has an SD or CF slot.</li>
</ul>
<p>How else could a great online store, like Amazon, transform the storefront experience for the better? What would you do if you were in charge of creating an Amazon storefront?&nbsp; It's all fantasy-land, but it's the fun kind.</p>
                 

      ]]></content>
    </entry>

    <entry>
      <title>Middle School Marketing Recap: Is Twitter the Ultimate Emotional Branding Tool?</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/engage/middle-school-marketing-recap-is-twitter-the-ultimate-emotional-branding-to/" />
      <id>tag:viget.com,2009:engage/17.1603</id>
      <published>2009-06-19T19:16:00Z</published>
      <updated>2009-06-24T22:26:44Z</updated>
      <author>
            <name>Anjali Merchant</name>
            <email>anjali.merchant@viget.com</email>
                  </author>

      <category term="Events"
        scheme="http://www.viget.com/blog/category/events/"
        label="Events" />
      <category term="Social Media"
        scheme="http://www.viget.com/blog/category/social_media/"
        label="Social Media" />
      <content type="html"><![CDATA[

                 <p>This week&rsquo;s MSM kicked off with a great question from Matt Smith of <a href="http://www.smithgifford.com/">SmithGifford</a>: is Twitter the ultimate form of emotional branding? </p>
<p>Some went on to argue that from a rational standpoint, Twitter might not make much sense since it doesn&rsquo;t directly generate ROI, however emotionally it was huge. With Twitter, consumers feel more connected to a brand. Plus, aside from a resource cost, there is no other cost, so why not be on Twitter? </p>
<p>On the other hand, some argued that there IS a tangible ROI. Take <a href="http://www.washingtonpost.com/wp-dyn/content/article/2009/06/12/AR2009061201160.html?wpisrc=newsletter&amp;amp;wpisrc=newsletter%22%3eDell%20link%3c/a%3e:">Dell</a> for example, who claims that Twitter has helped to bring in $3MM in sales thus far. </p>
<p>As always, however, with good comes bad. In the case of Twitter it&rsquo;s risk. One negative @reply about your brand and you could be destroyed. Well, maybe not destroyed, but it could certainly sting a little. </p>
                 <p>The final conclusion was that, regardless of ROI, cost, or risk, the
key benefit of Twitter was the consumer-to-company relationships and
emotional branding it adds. Consumers want to peak &ldquo;behind the scenes&rdquo;
and enjoy access to individuals of companies. They want to be able to
communicate with that brand whether it&rsquo;s to give props or complain.&nbsp; </p>
<p>Of
course this doesn&rsquo;t just mean that all brands should hop on Twitter
bandwagon. The only way consumers will actually feel that emotional
connection via Twitter is if a company <a href="http://www.forbes.com/2009/03/11/twitter-tweet-social-networking-leadership-cmo-network-twitter.html">uses Twitter correctly</a>. This
isn&rsquo;t always easy, as consumers are becoming more attuned to marketing
speak and insincerity. Some examples of good uses of Twitter that the
group mentioned:</p>
<ul>
<li><a href="http://twitter.com/comcastcares">Comcast</a>: Twitter is their shining light in what is otherwise a black hole of customer service. 
  </li>
<li><a href="http://twitter.com/zappos">Zappos</a>:&nbsp; CEO Tony Hsieh takes a more personal spin on tweeting, sharing quotes, thoughts and images. 
  </li>
<li><a href="http://twitter.com/aaanews">AAA</a>:&nbsp; Uses Twitter to post facts and stats about traffic, driving, and travel/motorist safety.</li>
</ul>
<p>In the end, all agreed that Twitter is an emotional form of
branding. And, there is a place for it in company&rsquo;s marketing strategy.
</p>
<p>What do you think about Twitter and emotional branding? How does your brand utilize Twitter? Let us know in a comment. </p>
<p>Thanks to everyone who made it out to this month&rsquo;s MSN, hopefully we&rsquo;ll see you all again (and more) next month! </p>

      ]]></content>
    </entry>

    <entry>
      <title>How (&amp; Why) to Run Autotest on your Mac</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/extend/how-why-to-run-autotest-on-your-mac/" />
      <id>tag:viget.com,2009:extend/4.1602</id>
      <published>2009-06-19T12:09:00Z</published>
      <updated>2009-06-19T13:51:31Z</updated>
      <author>
            <name>David Eisinger</name>
            <email>david.eisinger@viget.com</email>
            <uri>http://www.viget.com/about/team/deisinger</uri>      </author>

      <category term="Tools of the Trade"
        scheme="http://www.viget.com/blog/category/tools-of-the-trade/"
        label="Tools of the Trade" />
      <content type="html"><![CDATA[

                 <p>If you aren&rsquo;t using Autotest to develop your Ruby application, you&rsquo;re missing out on effortless continuous testing. If you&rsquo;d <em>like</em> to be using Autotest, but can&rsquo;t get it running properly, I&rsquo;ll show you how to set it up.</p>
<p>Autotest is a fantastic way to do <abbr title="test-driven development">TDD</abbr>/<abbr title="behavior-driven development">BDD</abbr>. Here&rsquo;s a rundown of the benefits from the <a href="http://www.zenspider.com/ZSS/Products/ZenTest/">project homepage</a>:</p>
<ul>
<li>Improves feedback by running tests continuously.</li>
<li>Continually runs tests based on files you&rsquo;ve changed.</li>
<li>Get feedback as soon as you save. Keeps you in your editor
allowing you to get stuff done faster.</li>
<li>Focuses on running previous failures until you&rsquo;ve fixed them.</li>
</ul>
                 <p>Like any responsible Ruby citizen, Autotest changes radically every month or so. A few weeks ago, some enterprising developers released autotest-mac (now <a href="http://www.bitcetera.com/en/techblog/2009/05/27/mac-friendly-autotest/">autotest-fsevent</a>), which monitors code changes via native OS X system events rather than by polling the hard drive, increasing battery and disk life and improving performance. Here&rsquo;s how get Autotest running on your Mac, current as of this morning:</p>
<ol>
<li>
<p>Install autotest:</p>
<pre name="code">gem install ZenTest
</pre>
</li>
<li>
<p>Or, if you&rsquo;ve already got an older version installed:</p>
<pre name="code">gem update ZenTest
gem cleanup ZenTest
</pre>
</li>
<li>
<p>Install autotest-rails:</p>
<pre name="code">gem install autotest-rails
</pre>
</li>
<li>
<p>Install autotest-fsevent:</p>
<pre name="code">gem install autotest-fsevent
</pre>
</li>
<li>
<p>Install autotest-growl:</p>
<pre name="code">gem install autotest-growl
</pre>
</li>
<li>
<p>Make a <code>~/.autotest</code> file, with the following:</p>
<pre name="code">require "autotest/growl"
require "autotest/fsevent"
</pre>
</li>
<li>
<p>Run <code>autotest</code> in your app root.</p>
</li>
</ol>
<p>Autotest is a fundamental part of my development workflow, and well worth the occasional setup headache; give it a shot and I think you&rsquo;ll agree. These instructions should be enough to get you up and running, unless you&rsquo;re reading this more than three weeks after it was published, in which case all. bets. are. off.</p>

      ]]></content>
    </entry>

    <entry>
      <title>Supposedly Dismal Twitter Statistics Actually Indicate Strength</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/engage/supposedly-dismal-twitter-statistics-actually-indicate-strength/" />
      <id>tag:viget.com,2009:engage/17.1600</id>
      <published>2009-06-18T15:24:01Z</published>
      <updated>2009-06-18T16:35:17Z</updated>
      <author>
            <name>Paul Koch</name>
            <email>paul.koch@viget.com</email>
                  </author>

      <content type="html"><![CDATA[

                 <p>A <a href="http://blogs.harvardbusiness.org/cs/2009/06/new_twitter_research_men_follo.html">recent Harvard Business School study</a>,
titled &ldquo;Men Follow Men and Nobody Tweets,&rdquo; made many techies and the
media question if all the fanfare surrounding Twitter is
unsubstantiated hype.&nbsp; The study found that 10% of Twitter users
created 90% of tweets and that the median number of lifetime tweets for
a user is&mdash;brace yourself&mdash;<em>one</em>. </p>
<p>Some (like the BBC&rsquo;s article, &ldquo;<a href="http://news.bbc.co.uk/2/hi/technology/8089508.stm">Twitter Hype Punctured by Study</a>&rdquo;) have suggested that
this study means Twitter lacks retention value and that it&rsquo;s not
actually catching on with the masses. I&rsquo;d argue the exact opposite.&nbsp;
Rather, it shows that Twitter is moving into an untapped niche as an
information aggregator, which has big implications for companies&rsquo;
social media marketing strategies.</p>
                 <p>It&rsquo;s a good thing that people aren&rsquo;t using Twitter like Facebook.&nbsp; (HBS estimates that the top 10% of other social media sites&rsquo; members generate 30% of the sites&rsquo; content.)&nbsp; Although the original idea behind Twitter may have been Facebook-esque (updating people on what you&rsquo;re doing and staying in touch with friends), the site&rsquo;s purpose has morphed&mdash;which I think will keep it sustainable in the long run.&nbsp; <br /><br />The Iran Election has shown this direction that Twitter is morphing: it&rsquo;s where people go for up-to-the second breaking information and opinion.&nbsp; People are less concerned about speaking and more about listening&mdash;listening to thought leaders, celebrities, and people &ldquo;on the ground.&rdquo;&nbsp; For this type of information, no one else can compete: the news is too delayed, blogs are often too elaborate to update from a phone, most search isn&rsquo;t in real time, and Facebook allows users access only to their Friends&rsquo; updates.&nbsp; The ability to search for breaking content sets Twitter apart.&nbsp; <br /><br />What does this evolution in Twitter mean for companies looking to market through social media?&nbsp; First, it means Twitter&rsquo;s not going away.&nbsp; Twitter has <a href="http://siteanalytics.compete.com/twitter.com/">grown</a> from 1.7 million unique visitors in May 2008 to over 19.7 million in May 2009, which signals that there&rsquo;s something appealing to users aside from the media hype, even if users aren&rsquo;t tweeting themselves.&nbsp; Therefore, companies looking to enter the social media sphere can&rsquo;t overlook Twitter as a passing fad.<br /><br />Second, it means companies should focus less on going through layers of bureaucracy to create the perfect message, and more on distributing the message as quickly as possible to an audience craving up-to-the second updates.&nbsp; Third, I think it means that companies should worry less about using Twitter to have conversations with a small vocal minority, and more about creating relevant, timely, and interesting messages which make the passive majority want to follow the company.&nbsp; <br /><br />Twitter is finally falling into its niche and gaining its own identity.&nbsp; Companies who recognize and adapt early to users&rsquo; trends will give themselves the best chance to capture coveted social media mindshare.</p>

      ]]></content>
    </entry>

    <entry>
      <title>The Shackles of Simplicity</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/advance/the-shackles-of-simplicity/" />
      <id>tag:viget.com,2009:advance/12.1598</id>
      <published>2009-06-16T19:12:00Z</published>
      <updated>2009-06-16T20:14:13Z</updated>
      <author>
            <name>M. Jackson Wilkinson</name>
            <email>jackson.wilkinson@viget.com</email>
            <uri>http://www.viget.com/about/team/jwilkinson</uri>      </author>

      <category term="Information Architecture"
        scheme="http://www.viget.com/blog/category/information-architecture/"
        label="Information Architecture" />
      <category term="Opinions/Reviews"
        scheme="http://www.viget.com/blog/category/opinions_reviews/"
        label="Opinions/Reviews" />
      <category term="Product Design"
        scheme="http://www.viget.com/blog/category/product-design/"
        label="Product Design" />
      <category term="UI Design"
        scheme="http://www.viget.com/blog/category/ui-design/"
        label="UI Design" />
      <category term="Usability"
        scheme="http://www.viget.com/blog/category/usability/"
        label="Usability" />
      <category term="UX"
        scheme="http://www.viget.com/blog/category/ux/"
        label="UX" />
      <content type="html"><![CDATA[

                 <p>Simplicity has been at the core of the web's philosophy of design for the last five years. Whether it's a major part of the visual approach, with large amounts of negative space, simple color palettes, and a focus on strong typography; the interface approach, with fewer things on a given page; or the product approach, with products that do "one thing well"; nearly everyone has carried the banner of simplicity at one point or another.</p>
<p>But while this approach has indeed helped us make products on the web that can appeal to a mass audience, it is starting to show its limitations.  After a few months (weeks?) of using a simplicity-centric product like Basecamp, you start to run up against its limitations: it may facilitate the way that the creators work best, but you're not quite like the creators.  Maybe you've outgrown the simple feature set and need more for your modestly-growing needs.  Maybe you no longer have a few months' worth of content in the system, but now have years of content, and managing it all has become a bear.  Simplicity is beginning to fail.</p>
<p>Part of the problem is that simplicity is the solution to a problem poorly-identified. Life is complex, and tools to conquer life's complexity need to instead embrace it, rather than ignore it.</p>
<h3>Occam's Razor</h3>
<p>A former student of philosophy, I can't get away from a conversation about simplicity without bringing up Occam's Razor. This principle, commonly referred to as the *simplicity principle*, is core to all logical and philosophical argument, and really ends up being at the core of the contemporary drive for simplicity in design. </p>
<p>The idea is that the best solution to any problem is that which has the fewest assumptions or factors, eliminating anything from the equation that doesn't matter enough to impact the outcome.</p>
<p>This sounds pretty straight-forward, and is a great tool for evaluating your own progress toward the solution to a problem. However, the devil, as always, is in the details. It's easy to eliminate a factor -- it's much more difficult to know that it doesn't matter enough.</p>
<h3>Understanding Complexity</h3>
<p>Some concepts just aren't simple, no matter how they're framed.  A few weeks ago, I was talking with <a href="http://alifelski.com">Ali</a> about her work on a <a href="http://www.sunlightlabs.com/blog/2009/06/02/redesigning-government-us-supreme-court/">guerilla redesign of the Supreme Court's website</a>. As we were talking, we kept coming back to the fact that stakeholders involved were chasing after simplicity, and Supreme Court decisions aren't simple.  A legal decision at that level can't be boiled down to a score like a baseball game, and even the most succinct summaries require a bit of background. </p>
<p>Complexity isn't confined solely to the fields of law and medicine. In fact, common, everyday tools often need explanation and clarification to be adequately understood.  Other times, many simple tools need to come together in a way that creates complexity. </p>
<p>By trying to simplify the inherently complex, you're likely to run into one of two outcomes:</p>
<ol>
<li>You may find yourself beating your head against a wall, searching for the simpler representation that doesn't actually exist. Time is wasted, frustration ensues, and bad decisions get made.</li>
<li>You over-simplify the problem. This is a frequent problem with everything from project management software to explanations of Supreme Court decisions.  It's the result of ignoring the importance of certain parts of the problem that, in the end, cannot be ignored. </li>
</ol>
<p>In the end, Ali's redesign was an overall success, but there are specific parts of the interface that are over-simplified and actually end up being misleading rather than helpful.  They're small factors, but they detract and distract from the otherwise-overwhelming success of the project.</p>
<h3>Embracing Focus</h3>
<p>Instead of valuing simplicity, consider valuing focus. If your design focuses on specific goals or tasks, like being able to manage domain names, you're able to embrace simplicity or complexity as it makes sense.  </p>
<p>You may make the process for renewing a domain name incredibly simple, where the process for managing DNS entries could vary in complexity depending on the task -- adding a subdomain may be simple at first, but complexity could be allowed for changing a subdomain's TTL.  If you've ever had to transition a website from one server to another, you know how important the ability to manage a TTL can be to a smooth transition, but many domain name providers don't provide an interface to make that adjustment, seemingly with the goal of simplifying the interface. </p>
<p>Focus allows you to create features for more advanced or experienced users, who often allow and in fact desire complexity. Focus also allows you to ensure that new users are able to complete tasks as easily as possible, without oversimplifying the problem.  Focus provides liberation from the bonds of simplicity while still providing the constraint that aids successful design.</p>
<h3>Managing Complexity</h3>
<p>When you come across complexity within the scope of a focused design, the question moves to how that complexity can best be managed. While this is the topic for at least a book or two, there are a few strategies worth sharing that can help move a design toward success.</p>
<ul>
<li><strong>Realize that managing complexity can be hard.</strong>  Devising a good solution to a complex often problem takes really smart, talented, creative people a significant amount of time. Expecting to address a complexity challenge in a couple of hours is relying on luck.</li>
<li><strong>Address complexity visually.</strong> If the most complex parts of the process are secondary actions, treat them that way visually, allowing users to focus on the core. If they're primary, make sure that all possible clarity is given to the interface, so as not to muddy the already-confusing waters even further.</li>
<li><strong>Consider chunking tasks based on complexity.</strong> If a problem has multiple parts, separating the more complex ones from the simple ones can help aid usability. This can be as simple as having a view that turns on the "advanced features" or it can allow multiple paths through a process, depending on the needs and desired outcome.</li>
<li><strong>Take the entire system into account when looking for efficiencies.</strong> If you've got laser-like focus solely on your design, you may be missing opportunities to leverage other parts of the system. A mobile phone's GPS chip may be a piece of the system you can leverage if location is a significant factor in your design. For internal corporate products, for instance, other internal systems (like payroll, user directories, or scheduling systems) can be used to make the product you're designing "smarter," thereby helping a user through a particular task. </li>
<li><strong>How would a good teacher help a user through this process?</strong> Teaching helps newcomers understand complex ideas long before and after we're in school. Consider how you might best teach users confronted with this task, and enable the system to do that teaching -- or better yet, get a good teacher's opinion. Whether it's a little extra explanation around a form field, a clearer path to the finish line, a modular form that adjusts to user input, or even a video walk-through, teaching can help a user get a hold of her wits and achieve the desired outcome.</li>
</ul>
<p>All of this management of complexity is assuredly complex in itself, but it's not something we can eliminate from the problem with Occam's razor. It's part of our jobs as designers and architects to tackle the hard work along with the easy work, and that means solving the whole problem.</p>
<p>Hopefully the next five years will be those where web designers learn to focus, rather than simplify. If so, we'll be making new tools that not only work well, but help us conquer some of life's more complicated problems.</p>
                 

      ]]></content>
    </entry>

    <entry>
      <title>BlogPotomac: Key Takeaways</title>

<link rel="alternate" type="text/html" href="http://www.viget.com/engage/blogpotomac-key-takeaways/" />
      <id>tag:viget.com,2009:engage/17.1597</id>
      <published>2009-06-16T14:59:00Z</published>
      <updated>2009-06-16T22:12:20Z</updated>
      <author>
            <name>Doug Kushin</name>
            <email>doug.kushin@viget.com</email>
                  </author>

      <content type="html"><![CDATA[

                 <p style="text-align: left;"><img alt="BlogPotomac-Badge" height="200" src="http://www.viget.com/uploads/image/badge-blogpotomac.jpg" style="margin: 0px 10px 0px 0px; float: left;" title="BlogPotomac" width="200" /></p>
<p style="text-align: left;">Last Friday, some fellow &ldquo;Vigeteers&rdquo; and I made our way down the street to the <a href="http://www.thestatetheatre.com/index.xml" title="The State Theater" target="_blank">State Theater</a> for this year&rsquo;s edition of <a href="http://www.blogpotomac.com/" title="BlogPotomac" target="_blank">BlogPotomac</a>, a one-day social media marketing event. Below are a couple of key takeaways from the day&rsquo;s discussions.</p>
                 <p>&nbsp;</p>
<p><strong>1. Have a Digital Hub</strong><br />Ford Motor Company&rsquo;s Social Media Lead <a href="http://www.scottmonty.com/" title="Scott Monty" target="_blank">Scott Monty</a> spoke on crisis communication and the importance of an organization having a digital hub.&nbsp; A digital hub is an official web site, microsite, or blog that serves as an anchor to link back to as your organization engages in social media.&nbsp; Scott offered <a href="http://www.thefordstory.com/" title="The Ford Story" target="_blank">The Ford Story</a> as an example and reinforced <a href="http://blog.holtz.com/" title="Shel's Blog" target="_blank">Shel Holtz&rsquo;s</a> belief that blogs are not dying. Blogs will continue to be used for what they are good at; offering a means of rapid response in an authoritative and archived fashion (i.e., a type of digital hub).&nbsp; Shel pointed to Southwest Airlines&rsquo; <a href="http://www.blogsouthwest.com/" title="Nuts About Southwest" target="_blank">Nuts About Southwest</a> blog in his talk.</p>
<p><img alt="State Theater" height="252" src="http://www.viget.com/uploads/image/State_Theater_GeoffLivingstonShot.jpg" style="margin: 0px; vertical-align: text-bottom;" title="State Theater" width="380" /><br /><a href="http://www.flickr.com/photos/geoliv/3622917444/in/pool-1095921@N20"><em>Credit: Geoff Livingston</em></a></p>
<p><strong>2. Respond, Respond, Respond!</strong><br />Both Scott Monty and Network Solutions&rsquo; Social Media Swami <a href="http://blog.networksolutions.com/" title="Network Solutions Blog" target="_blank">Shashi Bellamkonda</a> discussed their use of social media in crisis communications.&nbsp; Their message was simple: respond!&nbsp; Responding to negative comments or misinformation is the single most effective way to promote transparency and, therefore, trust.&nbsp; Both speakers agreed that the last thing an organization should do in crisis is to go quiet. A response as simple as, &ldquo;we&rsquo;re looking into it&rdquo; can go a long way.&nbsp; Both shared instances where a &ldquo;we&rsquo;re looking into it&rdquo; response sparked others to comment on their organization's behalf. What if we can&rsquo;t respond due to possible litigation?&nbsp; Shashi recommends responding by saying you can&rsquo;t respond.&nbsp; How quickly should one respond to a crisis?&nbsp; Shashi tries to respond in 30 minutes or less, noting that a response changes the tone of comments from yelling to a conversation.<br /><br />Similarly, Scott&rsquo;s advice for assessing and responding to a crisis included:</p>
<ol start="1">
<li value="0">Is it a true crisis?&nbsp; If so, how bad is it?</li>
<li value="0">Admit any wrongdoing.</li>
<li value="0">Acknowledge the other side&rsquo;s feelings.</li>
<li value="0">Respond in kind. (If a video complaint, respond with a video, etc.)</li>
</ol>
<p><br />For other impressions and recaps of the event search Twitter for the hashtag <a href="http://search.twitter.com/search?q=%23blogpotomac" title="Twitter Search: #BlogPotomac" target="_blank">#blogpotomac</a>.<br /><br />Thanks to <a href="http://www.livingstonbuzz.com/" title="Livingston Buzz" target="_blank">Geoff Livingston</a> and <a href="http://www.jenmcclureruminations.typepad.com/" title="Jen's Blog" target="_blank">Jen McClure</a> for hosting the event!&nbsp; Sadly, the third and final BlogPotomac will be October 23, 2009.&nbsp; Stay tuned to the <a href="http://www.blogpotomac.com" title="BlogPotomac" target="_blank">www.blogpotomac.com</a> for details.</p>

      ]]></content>
    </entry>


</feed>