<?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>Captico &#187; Todd Fisher</title> <atom:link href="http://captico.com/author/todd/feed" rel="self" type="application/rss+xml" /><link>http://captico.com</link> <description></description> <lastBuildDate>Thu, 12 Jan 2012 19:27:33 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Introducing Speech 2 Text API by Google</title><link>http://captico.com/introducing-speech-2-text-api-by-google/2011/03</link> <comments>http://captico.com/introducing-speech-2-text-api-by-google/2011/03#comments</comments> <pubDate>Fri, 25 Mar 2011 01:44:34 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[News]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[ffmpeg]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Ruby]]></category> <category><![CDATA[speech]]></category> <guid
isPermaLink="false">http://captico.com/?p=4864</guid> <description><![CDATA[Yesterday Google announced the release of Chrome 11 beta.  As usual Google Chrome team continues to push the limits of the web.  With this release they made public their use of a little known Web API for decoding speech into text.  The new API from google is not documented and has probably been in existence [...]]]></description> <content:encoded><![CDATA[<p>Yesterday Google announced the release of <a
href="http://www.google.com/intl/en/landing/chrome/beta/">Chrome 11 beta</a>.  As usual Google Chrome team continues to push the limits of the web.  With this release they made public their use of a little known Web API for decoding speech into text.  The new API from google is not documented and has probably been in existence since early 2009 when they opened up more of Google Voice and made know their use of transcription for voice mail.   These features are all very interesting.  Thanks to the good work from <a
href="http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/">&#8220;don&#8217;t panic&#8221;</a>, it was very easy to put together a ruby library that helps make it even easier to use the speech API.  <a
title="Speech To Text" href="https://github.com/taf2/speech2text">Check out the source a github.com</a>.</p><p><span
id="more-4864"></span></p><p>Here&#8217;s a sample of the code:</p><pre class="brush: ruby; title: ; notranslate">
require 'speech'
audio = Speech::AudioToText.new(&quot;i-like-pickles.wav&quot;)
puts audio.to_text.inspect
# {&quot;captured_json&quot;=&gt;[[&quot;I like pickles&quot;, 0.92731786]], &quot;confidence&quot;=&gt;0.92731786}
</pre><p>Let us know if you have some interesting ideas for how to use this.</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/introducing-speech-2-text-api-by-google/2011/03/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Static Asset Bundling with Ruby on Rails</title><link>http://captico.com/static-asset-bundling-with-ruby-on-rails/2011/02</link> <comments>http://captico.com/static-asset-bundling-with-ruby-on-rails/2011/02#comments</comments> <pubDate>Tue, 22 Feb 2011 23:03:00 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Technology]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[assemblage]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[Performance]]></category> <category><![CDATA[Ruby on Rails]]></category> <category><![CDATA[Stylesheets]]></category> <guid
isPermaLink="false">http://captico.com/?p=4684</guid> <description><![CDATA[Static asset bundling in Ruby on Rails is super easy with assemblage. ]]></description> <content:encoded><![CDATA[<p>Static asset bundling in Ruby on Rails is super easy with <a
href="https://github.com/taf2/assemblage">assemblage</a>.  It helps you turn this:<br
/> <span
id="more-4684"></span></p><pre class="brush: xml; title: ; notranslate">
&lt;link href=&quot;/stylesheets/application/reset.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/jquery-ui-1.8.9.custom.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/mbTooltip.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/colorbox.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/typography.css?1298313118&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/navigation.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/borders.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/tables.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/forms.css?1298313118&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/sprites.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/graphs.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/buttons.css?1298232561&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;link href=&quot;/stylesheets/application/new.css?1298406234&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;script src=&quot;/javascripts/application/jquery-1.4.2.min.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/jquery-ui-1.8.2.custom.min.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/jquery.maskedinput-1.2.2.min.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/jquery.tag.editor-min.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/jquery.validate.min.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/jquery.timers.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/jquery.dropshadow.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/jquery.colorbox-min.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/raphael-1.5.2.min.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/sprintf-0.7-beta1.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/buttons.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/rails.js?1298232561&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/javascripts/application/application.js?1298311734&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre><p>into this:</p><pre class="brush: xml; title: ; notranslate">
&lt;link href=&quot;/stylesheets/bundle_application.css?1298411714&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;script src=&quot;/javascripts/bundle_application.js?1298411715&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre><p>Why not use the built in Ruby on Rails :cache option with</p><pre>javascript_include_tag</pre><p>?</p><p>It doesn&#8217;t work very well.  It&#8217;s flawed in that it waits until the first request to pull all the resources together into a single cached file.   This sounds great until you start dealing with multiple processes across multiple servers.   Not to mention that first user will have a noticeable delay while the server compiles the javascript and stylesheets &#8211; since &lt;script tags block the browser from rendering this will increase the perceived response time quiet a bit.   Yeah, so it&#8217;s 2011 so this should be old news by now right?</p><p>How does assemblage solve this problem different from how we&#8217;ve been solving for the past 7 years?  Well it does four things I like better than most solutions.</p><p>1. It depends on the directory structure in your Rails.root + &#8216;public/stylesheets&#8217; and Rails.root + &#8216;public/javascripts&#8217;.   This is nice as it allows you to logically group bundled assets just like you would organize Rails.root + &#8216;app/views/layouts/&#8217;</p><p>2. It packages up the bundled assets on your local machine instead of on the remote server.</p><p>3. It can be configured to use a specific order for files in Rails.root + &#8216;public/javascripts&#8217; &#8211; making it super easy to migrate an existing application to assemblage.</p><p>4. It uses Google&#8217;s Closure Compiler to compress Javascript files and Yahoo&#8217;s YUI Compressor to shrink down CSS files.</p><p>All that plus it plays really nice with Rails 3 and includes a nice little internal test suite giving me great confidence in it&#8217;s operation.</p><p>Here&#8217;s a quick low down on how to setup your Rails application using assemblage.</p><p>Let&#8217;s say we have 2 layouts.  application.html.erb and login.html.erb  (yep, I still use erb!)  In this case, I would create 4 sub folders 2 in stylesheets and 2 in javascripts</p><pre class="brush: bash; title: ; notranslate">
cd public/stylesheets/ &amp;&amp; mkdir application/ login/ &amp;&amp; cd -
cd public/javascripts/ &amp;&amp; mkdir application/ login/ &amp;&amp; cd -
</pre><p>Now open up your application.html.erb</p><p>Let&#8217;s say it has the following:</p><pre class="brush: ruby; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;%= stylesheet_link_tag 'reset',  'typography', 'navigation', 'borders','tables', 'forms','sprites','graphs','buttons' %&gt;
    &lt;%= javascript_include_tag 'jquery-1.4.2.min.js', 'jquery.colorbox-min',  'raphael-1.5.2.min.js', 'application' %&gt;
     ...
</pre><p>To convert to assemblage start out by copying/moving each asset into their layout specific folder within public/stylesheets and public/javascripts</p><p>e.g.</p><pre class="brush: bash; title: ; notranslate">
cd public/stylesheets &amp;&amp; mv *.css application/ &amp;&amp; cd -
cd public/javascripts &amp;&amp; mv *.js application/ &amp;&amp; cd -
</pre><p>Next change your include tags to use assemblage view helpers:</p><pre class="brush: ruby; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;%= stylesheet_bundle 'application' %&gt;
    &lt;%= javascript_bundle 'application' %&gt;
     ...
</pre><p>Now that&#8217;s actually all you need to do however, if you want to be explicit about the order each Javascript and Stylesheet is ordered when bundled you&#8217;ll want to create one more configuration file  config/assemblage.rb.  This allows you to have 1 bundle per layout and provide a specific ordering for the included files.  The default will order the bundled files in alphabetical order.</p><pre class="brush: ruby; title: ; notranslate">
bundle :application, :js, 'jquery-1.4.2.min.js',  'jquery.colorbox-min',  'raphael-1.5.2.min.js', 'application'
bundle :application, :css, 'reset',  'typography', 'navigation', 'borders','tables', 'forms','sprites','graphs','buttons'
</pre><p>Now when it&#8217;s time to deploy you can add the following your Capfile with rails3/bundler</p><pre class="brush: ruby; title: ; notranslate">
require &quot;bundler&quot;
Bundler.setup
</pre><p>and in your config/deploy.rb</p><pre class="brush: ruby; title: ; notranslate">
require 'assemblage_recipes'
...
after &quot;deploy:update_code&quot;, &quot;assemblage:assemble&quot;
</pre><p>The first line includes the recipe to generate the bundles and the second one tells Capistrano to execute it after updating code.</p><p>Also make sure to include assemblage in your Gemfile e.g.</p><pre class="brush: ruby; title: ; notranslate">
gem 'assemblage', :git =&gt; 'git://github.com/taf2/assemblage.git'
</pre>]]></content:encoded> <wfw:commentRss>http://captico.com/static-asset-bundling-with-ruby-on-rails/2011/02/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Securing specific routes in Rails 3</title><link>http://captico.com/securing-specific-routes-in-rails-3/2011/02</link> <comments>http://captico.com/securing-specific-routes-in-rails-3/2011/02#comments</comments> <pubDate>Mon, 21 Feb 2011 04:03:32 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Technology]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[routes]]></category> <category><![CDATA[Ruby on Rails]]></category> <category><![CDATA[security]]></category> <category><![CDATA[SSL]]></category> <guid
isPermaLink="false">http://captico.com/?p=4607</guid> <description><![CDATA[SSL is important when dealing with user data.   The rails 3 router makes it easy to mark specific sections of your application secure using the :constraints option within a scope block. ]]></description> <content:encoded><![CDATA[<p>SSL is important when dealing with user data.   The rails 3 router makes it easy to mark specific sections of your application secure using the :constraints option within a scope block. <span
id="more-4607"></span></p><p>See the following example:</p><pre class="brush: ruby; title: ; notranslate">
scope :constraints =&gt; { :protocol =&gt; 'https' } do
    resources :invoices do
      resources :line_items
    end
end
</pre><p>Viewing the corresponding routes this generates the following:</p><pre class="brush: ruby; title: ; notranslate">
invoice_line_items GET /invoices/:invoice_id/line_items(.:format)  {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;index&quot;, :controller=&gt;&quot;line_items&quot;}
                   POST /invoices/:invoice_id/line_items(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;create&quot;, :controller=&gt;&quot;line_items&quot;}
new_invoice_line_item GET /invoices/:invoice_id/line_items/new(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;new&quot;, :controller=&gt;&quot;line_items&quot;}
edit_invoice_line_item GET /invoices/:invoice_id/line_items/:id/edit(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;edit&quot;, :controller=&gt;&quot;line_items&quot;}
invoice_line_item GET /invoices/:invoice_id/line_items/:id(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;show&quot;, :controller=&gt;&quot;line_items&quot;}
                  PUT    /invoices/:invoice_id/line_items/:id(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;update&quot;, :controller=&gt;&quot;line_items&quot;}
                  DELETE /invoices/:invoice_id/line_items/:id(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;destroy&quot;, :controller=&gt;&quot;line_items&quot;}
invoices GET /invoices(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;index&quot;, :controller=&gt;&quot;invoices&quot;}
         POST /invoices(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;create&quot;, :controller=&gt;&quot;invoices&quot;}
new_invoice GET /invoices/new(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;new&quot;, :controller=&gt;&quot;invoices&quot;}
edit_invoice GET /invoices/:id/edit(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;edit&quot;, :controller=&gt;&quot;invoices&quot;}
invoice GET /invoices/:id(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;show&quot;, :controller=&gt;&quot;invoices&quot;}
        PUT /invoices/:id(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;update&quot;, :controller=&gt;&quot;invoices&quot;}
        DELETE /invoices/:id(.:format) {:protocol=&gt;&quot;https&quot;, :action=&gt;&quot;destroy&quot;, :controller=&gt;&quot;invoices&quot;}
</pre><p>The important part here is:</p><pre class="brush: ruby; title: ; notranslate">
 :protocol =&gt; &quot;https&quot;
</pre><p>This tells rails to only honor the route when the protocol matches HTTPS, but not when it is HTTP.  Perfect, exactly what we need &#8211; no plugins required!</p><p>Well, almost perfect.  The first problem encountered, is likely RAILS_ENV=development no longer works as those routes are only accesible through HTTPS.   A simple solution &#8211; turn the :protocol value into a variable and change it to HTTP for development, otherwise HTTPS.  Add the variable in config/environments/development.rb like so:</p><pre class="brush: ruby; title: ; notranslate">
SSL_PROTO__ = 'http'
</pre><p>and add the following at the top of config/routes.rb</p><pre class="brush: ruby; title: ; notranslate">
SSL_PROTO__ = 'https' unless defined?(SSL_PROTO__)
</pre><p>Great, now we can still test SSL in development by simply changing the constant in config/environments/development.rb and our tests can verify SSL is enabled for specific sections of the application.</p><p>This is almost everything necessary &#8211; the next gotcha will be making sure our application routes HTTP requests to the new HTTPS routes.   To do this we can use a special catch all route:</p><pre class="brush: ruby; title: ; notranslate">
match &quot;invoices(/*path)&quot;,
      :to =&gt; redirect { |params, request|
                        &quot;https://&quot; + request.host_with_port +
                                     request.fullpath
                      }
</pre><p>Adding this after the invoices resource allows us to catch requests sent to HTTP and redirect them to HTTPS.</p><p>The catch all route is nice, but really our application should always link to these resources using SSL.  Add the following to your links:</p><pre class="brush: ruby; title: ; notranslate">
&lt;%= link_to t('menus.new_invoice'),
new_invoice_url(:protocol =&gt; 'https') %&gt;
</pre><p>Adding SSL constraints is pretty easy and effective.   What I like about this solution is that it doesn&#8217;t require any extra plugins and it is fairly simple to understand.</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/securing-specific-routes-in-rails-3/2011/02/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Email Staging Service</title><link>http://captico.com/email-staging-service/2011/02</link> <comments>http://captico.com/email-staging-service/2011/02#comments</comments> <pubDate>Tue, 01 Feb 2011 14:31:31 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Announce]]></category> <category><![CDATA[News]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[Deployment]]></category> <category><![CDATA[open source]]></category> <category><![CDATA[Ruby]]></category> <category><![CDATA[Ruby on Rails]]></category> <category><![CDATA[SMTP]]></category> <guid
isPermaLink="false">http://captico.com/?p=4254</guid> <description><![CDATA[Nearly all our client projects require some sort of email.  We make it part of our standard process to always have a staging environment for each of our applications.   The merits of a staging environment ensure that we always validate and can redeploy our applications at moments notice.   To that end occasionally we&#8217;ll want to [...]]]></description> <content:encoded><![CDATA[<p>Nearly all our client projects require some sort of email.  We make it part of our standard process to always have a staging environment for each of our applications.   The merits of a staging environment ensure that we always validate and can redeploy our applications at moments notice.   To that end occasionally we&#8217;ll want to transfer some portion of production data into one of our staging environments.   When we do that we never want to risk having an email triggered via crontab or user action that inadvertently sends an email to a client, from the staging server instead of the production server.   To avoid and allow validation of email transactions,  we have released a very simple rails+smtp service that allows us to have our staging environment talk to a real smtp server that can record each email.   This allows our QA engineers to easily verify emails are sending from crontab or specific user actions.   Here&#8217;s the project on <a
href="https://github.com/taf2/email_sandbox">github</a>.  Deploying the service is just as easy as deploying a normal rails application.</p><pre>cap deploy
cap smtp:start</pre><p>The cap file would need to be modified before as we keep our host keys private and they&#8217;re targeted to our named hosts.  e.g.  o1 and tools</p><p>Planning to release more software in the coming months hopefully this is useful for others as well.</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/email-staging-service/2011/02/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Free WordPress Plugin &#8211; Rotating Header</title><link>http://captico.com/free-wordpress-plugin-rotating-header/2011/01</link> <comments>http://captico.com/free-wordpress-plugin-rotating-header/2011/01#comments</comments> <pubDate>Wed, 19 Jan 2011 19:19:32 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Web Development]]></category> <category><![CDATA[download]]></category> <category><![CDATA[free]]></category> <category><![CDATA[header]]></category> <category><![CDATA[open source]]></category> <category><![CDATA[php]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[wordpress]]></category> <guid
isPermaLink="false">http://captico.com/?p=3815</guid> <description><![CDATA[For a number of our web design and web development clients (like liberty central, spms, and pliris) we had a need to build an easy to use interface for managing a rotating header.  We really liked how Wordpress 3.0 added the ability to configure a custom page header, and so we extended on that to build an interface that can be used to configure multiple header images that rotate. We have since made it a free plugin to share with other Wordpress users. ]]></description> <content:encoded><![CDATA[<p>For a number of our web design and web development clients (like <a
title="Liberty Central" href="http://www.libertycentral.org/" target="_blank">liberty central</a>, <a
title="Severna Park Middle" href="http://www.severnaparkmiddle.org/" target="_blank">spms</a>, and <a
title="Pliris Carpet Cleaning Services" href="http://pliris.biz" target="_blank">pliris</a>) we had a need to build an easy to use interface for managing a rotating header.  We really liked how WordPress 3.0 added the ability to configure a custom page header, and so we extended on that to build an interface that can be used to configure multiple header images that rotate. We have since made it a free plugin to share with other WordPress users. <span
id="more-3815"></span></p><p><strong>Download the plugin for free </strong><a
title="rotating header" href="http://wordpress.org/extend/plugins/rotating-header/" target="_blank"><strong>here</strong></a><strong>. And let us know what you think! </strong></p><h2>Features of Rotating Header PlugIn for WordPress</h2><ul><li>Easily configure home page graphics</li><li>Change dynamic graphic order via drag and drop</li><li>Change link text and add custom HTML</li><li>Upload and crop graphics using a fixed aspect ratio</li></ul><p>It works similar to the WordPress 3.x header image but instead allows you to place in your theme a set of header images that rotate using either a sliding effect or a crossfade effect.</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/free-wordpress-plugin-rotating-header/2011/01/feed</wfw:commentRss> <slash:comments>20</slash:comments> </item> <item><title>How To Create an Animated GIF with Sparkle for the Holidays</title><link>http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12</link> <comments>http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12#comments</comments> <pubDate>Mon, 06 Dec 2010 17:02:29 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Visual Design]]></category> <category><![CDATA[advice]]></category> <category><![CDATA[animated]]></category> <category><![CDATA[brushes]]></category> <category><![CDATA[gif]]></category> <category><![CDATA[guide]]></category> <category><![CDATA[holiday]]></category> <category><![CDATA[how to]]></category> <category><![CDATA[illustrator]]></category> <category><![CDATA[photoshop]]></category> <category><![CDATA[sparkle]]></category> <category><![CDATA[tutorial]]></category> <guid
isPermaLink="false">http://captico.com/?p=3522</guid> <description><![CDATA[The Holiday Season is upon us! You may have noticed that Captico.com is experiencing some wintry weather - our developers are making it snow! Now the design team is getting in the festive spirit with an animated gif tutorial designed to make all of your images sparkle and shine!]]></description> <content:encoded><![CDATA[<p>The Holiday Season is upon us! You may have noticed that <a
href="http://captico.com/">Captico.com</a> is experiencing some wintry weather &#8211; our developers are making it snow! Now the design team is getting in the festive spirit with an animated gif tutorial designed to make all of your images sparkle and shine!</p><p><img
title="Animated Christmas Gif" src="http://captico.com/wp-content/uploads/2010/12/captico_holidaycard0011.gif" alt="Animated Christmas Gif" width="NaN" height="291" /></p><p><span
id="more-3522"></span></p><p>Here is a quick trick on how to make Gifs! Since Christmas is around the corner I am doing a Christmas card gif as an example. My esteemed colleague Renee Alarid created a Christmas card and we wanted to add some sparkles to it so here is what I did:</p><h3>First, bring the image into Photoshop.</h3><p>﻿﻿<a
rel="attachment wp-att-3527" href="http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12/picture-6-3"><img
class="alignnone size-medium wp-image-3527" title="How to Photoshop Christmas gif" src="http://captico.com/wp-content/uploads/2010/12/Picture-6-300x239.png" alt="How to Photoshop Christmas gif" width="300" height="239" /></a></p><h3>You&#8217;ll also want to download some <a
href="http://browse.deviantart.com/resources/applications/psbrushes/?qh=&amp;section=&amp;q=star ">star brushes</a>.</h3><p><a
href="http://browse.deviantart.com/resources/applications/psbrushes/?qh=&amp;section=&amp;q=star">Deviantart.com</a> has some good resources, but there are many free brush downloads out there.</p><p><a
rel="attachment wp-att-3530" href="http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12/picture-3-2"><img
class="alignnone size-medium wp-image-3530" title="How to Photoshop Christmas gif" src="http://captico.com/wp-content/uploads/2010/12/Picture-3-300x228.png" alt="How to Photoshop Christmas gif" width="300" height="228" /></a></p><h3>Create some layers.</h3><ol><li>Create a layer called “stars 1”.</li><li>Add stars all over the image.</li><li>Create a second layer named “stars 2”.</li><li>Place another layer of stars all over the same image but in different areas.</li><li>Do the same again and add a 3<sup>rd</sup> layer called “stars 3.”</li></ol><p><a
rel="attachment wp-att-3535" href="http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12/animation-frames"><img
class="alignnone size-medium wp-image-3535" title="How to Photoshop Christmas gif animation-frames" src="http://captico.com/wp-content/uploads/2010/12/animation-frames-300x125.jpg" alt="How to Photoshop Christmas gif animation-frames" width="300" height="125" /></a></p><h3>On the bottom left hand corner of your screen you will see an area called animation frames, to create a new frame click on the layer looking icon.</h3><h3><a
rel="attachment wp-att-3538" href="http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12/picture-6-4"><img
class="alignnone size-full wp-image-3538" title="How to Photoshop Christmas gif animation-frames-layers" src="http://captico.com/wp-content/uploads/2010/12/Picture-61.png" alt="How to Photoshop Christmas gif animation-frames-layers" width="201" height="115" /></a></h3><h3>Before you select the first frame, use the eye ball to select how you want the animation to look.</h3><p>For example, in frame one, if you only want to see the stars from layer “stars 1” turn off the layers two and three and for frame 2 turn on only layer “stars 2” and create a new frame for that image.</p><h3>Make sure to set the seconds at 0.2 on each frame (or the length you prefer) and &#8220;forever&#8221; so it is on a continuous loop.</h3><h3>Do a &#8220;save for Web and Devices&#8221; and save it as a Gif.</h3><p><a
rel="attachment wp-att-3543" href="http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12/picture-7"><img
class="alignnone size-medium wp-image-3543" title="save as Gif" src="http://captico.com/wp-content/uploads/2010/12/Picture-7-300x258.png" alt="How to save Photoshop Christmas gif" width="300" height="258" /></a></p><h3><strong>Finally, to test your Gif, drag the file into your Internet browser. </strong></h3><p>Check your animation. There you can copy and paste the image code if you plan to use the image in motion.</p><p><a
rel="attachment wp-att-3546" href="http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12/picture-9"><img
class="alignnone size-medium wp-image-3546" title="How to Photoshop Christmas gif image code" src="http://captico.com/wp-content/uploads/2010/12/Picture-9-300x180.png" alt="How to Photoshop Christmas gif image code" width="300" height="180" /></a></p><p><strong>Enjoy &amp; Happy Holidays Everyone!</strong></p><h2><strong>You May Also Enjoy Reading:</strong></h2><ul><li><strong><a
href="http://captico.com/color-theory-for-a-visual-design-the-meaning-of-color/2010/10">Color theory for a visual design: the meaning of color</a></strong></li><li><strong><a
href="http://captico.com/creating-custom-icon-stencils-in-omnigraffle/2010/10">Creating Custom Icon Stencils in OmniGraffle – Tutorial</a></strong></li><li><strong><a
href="http://captico.com/modules-widgets-boxes-oh-my-what-do-you-call-a-box/2010/09">Modules, widgets, boxes oh my! What do you call a box?</a></strong></li><li><strong><a
href="http://captico.com/css-sprites-nettuts-tutorial/2010/08">CSS Sprites – Nettuts Tutorial</a></strong></li><li><strong><a
href="http://captico.com/animation-with-raphaeljs/2010/07">Animation with RaphaëlJS</a></strong></li></ul> ]]></content:encoded> <wfw:commentRss>http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Color theory for a visual design: the meaning of color</title><link>http://captico.com/color-theory-for-a-visual-design-the-meaning-of-color/2010/10</link> <comments>http://captico.com/color-theory-for-a-visual-design-the-meaning-of-color/2010/10#comments</comments> <pubDate>Fri, 08 Oct 2010 16:54:40 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Visual Design]]></category> <category><![CDATA[color]]></category> <category><![CDATA[design]]></category> <category><![CDATA[designer]]></category> <category><![CDATA[meaning]]></category> <category><![CDATA[symbols]]></category> <guid
isPermaLink="false">http://captico.com/?p=3018</guid> <description><![CDATA[What is color? According to the dictionary, color is defined as: The characteristics of light by which the individual is made aware of objects or light sources through the receptors of the eye, described in terms of dominant wavelength, luminance, and purity. Thus a color can be represented from white to black with all the colors in the rainbow in-between. Now that we defined the word color what does each color represent? Let’s separate the colors into color families: warm colors, cool colors, and neutral colors.]]></description> <content:encoded><![CDATA[<p>Why is color so important to a visual designer? Isn’t it pretty easy to just pick a color or multiple colors to create a color palette? So what if green doesn’t match with orange – it is what the client wants. My cousins daughter thinks my website should be purple and pink, I think we should listen to her.</p><p>The questions/statements above are typical questions/statements that a designer can be faced with day and day out from project managers, clients and the dev team. Creating a color palette isn’t as simple as opening a crayon box and picking out your favorite colors.  There is actually more thought to what color means and how it should represent the client, the brand and the product of the site. <span
id="more-3018"></span></p><p>What is color? According to the dictionary, color is defined as: <strong>The characteristics of light by which the individual is made aware of objects or light sources through the receptors of the eye, described in terms of dominant wavelength, luminance, and purity.</strong> Thus a color can be represented from white to black with all the colors in the rainbow in-between. Now that we defined the word color what does each color represent? Let’s separate the colors into color families: warm colors, cool colors, and neutral colors.</p><p>Warm colors: Red, Orange and Yellow</p><p>Red is the color of fire and blood, so it is associated with energy,  war, danger, strength, power, determination as well as passion, desire,  and love.</p><p><img
class="alignnone size-full wp-image-3031" title="red" src="http://captico.com/wp-content/uploads/2010/10/red.jpg" alt="" width="99" height="98" /></p><p>Orange combines the energy of red and the happiness of yellow. It is associated with joy, sunshine, and the tropics. Orange represents enthusiasm, fascination, happiness, creativity, determination, attraction, success, encouragement, and stimulation.</p><p><img
class="alignnone size-full wp-image-3029" title="orange" src="http://captico.com/wp-content/uploads/2010/10/orange.jpg" alt="" width="99" height="98" /></p><p>Yellow is the color of sunshine. It&#8217;s associated with joy, happiness, intellect, and energy.</p><p><img
class="alignnone size-full wp-image-3033" title="yellow" src="http://captico.com/wp-content/uploads/2010/10/yellow.jpg" alt="" width="99" height="98" /></p><p>Cool Colors: Green, Blue and Purple</p><p>Green is the color of nature. It symbolizes growth, harmony, freshness, and fertility. Green has strong emotional correspondence with safety. Dark green is also commonly associated with money.</p><p><img
class="alignnone size-full wp-image-3028" title="green" src="http://captico.com/wp-content/uploads/2010/10/green.jpg" alt="" width="99" height="98" /></p><p>Blue is the color of the sky and sea. It is often associated with depth and stability. It symbolizes trust, loyalty, wisdom, confidence, intelligence, faith, truth, and heaven.</p><p><img
class="alignnone size-full wp-image-3024" title="blue" src="http://captico.com/wp-content/uploads/2010/10/blue.jpg" alt="" width="99" height="98" /></p><p>Purple combines the stability of blue and the energy of red. Purple is associated with royalty. It symbolizes power, nobility, luxury, and ambition. It conveys wealth and extravagance. Purple is associated with wisdom, dignity, independence, creativity, mystery, and magic.</p><p><img
class="alignnone size-full wp-image-3030" title="purple" src="http://captico.com/wp-content/uploads/2010/10/purple.jpg" alt="" width="99" height="98" /></p><p>Neutral Colors: Black, White, Gray, Brown, Beige and Tan, Cream and Ivory</p><p>Black is associated with power, elegance, formality, death, evil, and mystery.</p><p><img
class="alignnone size-full wp-image-3023" title="black" src="http://captico.com/wp-content/uploads/2010/10/black.jpg" alt="" width="99" height="98" /></p><p>White is associated with light, goodness, innocence, purity, and virginity. It is considered to be the color of perfection.</p><p><img
class="alignnone size-full wp-image-3032" title="white" src="http://captico.com/wp-content/uploads/2010/10/white.jpg" alt="" width="99" height="98" /></p><p>Gray is a neutral, balanced color. It is a cool, conservative color that seldom evokes strong emotion although it can be seen as a cloudy or moody color.</p><p><img
class="alignnone size-full wp-image-3027" title="gray" src="http://captico.com/wp-content/uploads/2010/10/gray.jpg" alt="" width="99" height="98" /></p><p>Brown represents wholesomeness and earthiness. While it might be considered a little on the dull side, it also represents steadfastness, simplicity, friendliness, dependability, and health.</p><p><img
class="alignnone size-full wp-image-3025" title="brown" src="http://captico.com/wp-content/uploads/2010/10/brown.jpg" alt="" width="99" height="98" /></p><p>Beige and Tan are neutral colors with a bit of the warmth of brown and the crisp, coolness of white. They are sometimes seen as dull and boring unless coupled with other colors. Both colors can be a relaxing color for a room.</p><p><img
class="alignnone size-full wp-image-3022" title="beige_tan" src="http://captico.com/wp-content/uploads/2010/10/beige_tan.jpg" alt="" width="99" height="98" /></p><p>As a neutral, ivory and cream are calming colors. They carry some of the same pureness, softness, and cleanliness of white but is slightly richer, a touch warmer.</p><p><img
class="alignnone size-full wp-image-3026" title="cream_ivory" src="http://captico.com/wp-content/uploads/2010/10/cream_ivory.jpg" alt="" width="99" height="98" /></p><p>In conclusion, there is more to the meaning of color then anyone gives it credit. So the next time you are asked about color, take a step back and appreciate the meaning of color and how your website should be represented. For more information about color please go to: <a
href="http://en.wikipedia.org/wiki/Color">color theory</a>.</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/color-theory-for-a-visual-design-the-meaning-of-color/2010/10/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Creating Custom Icon Stencils in OmniGraffle &#8211; Tutorial</title><link>http://captico.com/creating-custom-icon-stencils-in-omnigraffle/2010/10</link> <comments>http://captico.com/creating-custom-icon-stencils-in-omnigraffle/2010/10#comments</comments> <pubDate>Mon, 04 Oct 2010 18:52:38 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Visual Design]]></category> <category><![CDATA[create]]></category> <category><![CDATA[custom]]></category> <category><![CDATA[guide]]></category> <category><![CDATA[how to]]></category> <category><![CDATA[illustrator]]></category> <category><![CDATA[ison]]></category> <category><![CDATA[omnigraffle]]></category> <category><![CDATA[photoshop]]></category> <category><![CDATA[stencils]]></category> <category><![CDATA[tutorial]]></category> <guid
isPermaLink="false">http://captico.com/?p=2956</guid> <description><![CDATA[I recently was using Omnigraffle and realized that I wanted to use my own custom icons for a client that was specifically related to fishing. I had already created the custom icons for the client in Illustrator. So I had to figure out how to create my own stencil in OmniGraffle so I would have access to my icons. It was surprisingly easy. If you find yourself in a similar situation here is how to do it and hopefully this is of some help to you!]]></description> <content:encoded><![CDATA[<p><a
href="http://www.omnigroup.com/products/omnigraffle/"><strong>OmniGraffle</strong></a><strong> </strong> is great program to use for creating things like info-graphs, flow charts, IT diagrams and most commonly used for creating website wireframes. You can also use software like <a
href="http://www.adobe.com/products/illustrator/">Adobe Illustrator</a> and <a
href="http://www.photoshop.com/">Photoshop</a> to do the same thing &#8211; with Illustrator being the more traditional method when dealing with wireframes. But in cases when you are in a rush and need to crank out some quick wireframes &#8211; or if aren&#8217;t as familiar with Illustrator &#8211; then OmniGraffle is a good tool. <span
id="more-2956"></span></p><p>Omnigraffle was specifically designed to handle a variety of tasks.  It is a user-friendly program that provides shape, lines, arrow, and text tools to click and drag right onto the screen. It provides you with a library of stencil downloads available at <a
href="http://graffletopia.com/">Graffletopia</a> which gives you commonly used web elements and icons.</p><p>I recently was using Omnigraffle and realized that I wanted to use my own custom icons for a client that was specifically related to fishing. I had already created the custom icons for the client in Illustrator. So I had to figure out how to create my own stencil in OmniGraffle so I would have access to my icons. It was surprisingly easy. If you find yourself in a similar situation here is how to do it and hopefully this is of some help to you!</p><p>When you are in OmniGraffle and you have the stencils open click on the little <strong>gear icon</strong> and a dropdown appears and click <strong>new stencil</strong>.</p><p><a
rel="attachment wp-att-2959" href="http://captico.com/creating-custom-icon-stencils-in-omnigraffle/2010/10/dropdown"><img
class="alignnone size-full wp-image-2959" title="dropdown" src="http://captico.com/wp-content/uploads/2010/10/dropdown.png" alt="Omnigraffle Tutorial" width="372" height="241" /></a></p><p>A new Template page will appear. I had my Illustrator page open w/ my vector icons I selected one of the icons <strong>command c</strong> and then <strong>command v</strong> into the blank template and you just created your first stencil!</p><p><a
rel="attachment wp-att-2962" href="http://captico.com/creating-custom-icon-stencils-in-omnigraffle/2010/10/copyandpaste-illustrator"><img
class="alignnone size-full wp-image-2962" title="copyandpaste-illustrator" src="http://captico.com/wp-content/uploads/2010/10/copyandpaste-illustrator.png" alt="" width="305" height="226" /></a></p><p><a
rel="attachment wp-att-2963" href="http://captico.com/creating-custom-icon-stencils-in-omnigraffle/2010/10/copyandpaste"><img
class="alignnone size-large wp-image-2963" title="copyandpaste" src="http://captico.com/wp-content/uploads/2010/10/copyandpaste-1024x389.png" alt="" width="498" height="189" /></a></p><p>Once you have completed this with all of your separate icons or images then go to <strong>file, save as</strong> and a box will appear where you can name your stencil.</p><p><a
rel="attachment wp-att-2964" href="http://captico.com/creating-custom-icon-stencils-in-omnigraffle/2010/10/saveas"><img
class="alignnone size-large wp-image-2964" title="saveas" src="http://captico.com/wp-content/uploads/2010/10/saveas-1024x404.png" alt="" width="498" height="196" /></a></p><p>Now to test out your icons, open a new blank diagram, and drag and drop any of the icons onto the page. Have fun resizing and using them in a diagram, work flow info graphic or wire frame. Now you will have that template saved in OmniGraffle so you can use them whenever necessary. Hopefully this simple exercise will be of some use to you I found it helpful even though it is really easy to do.</p><p><a
rel="attachment wp-att-2965" href="http://captico.com/creating-custom-icon-stencils-in-omnigraffle/2010/10/dragginicons"><img
class="alignnone size-large wp-image-2965" title="dragginicons" src="http://captico.com/wp-content/uploads/2010/10/dragginicons-1024x963.png" alt="Omnigraffle Tutorial" width="498" height="468" /></a></p><p>&nbsp;</p><h2>Related Visual Design Articles:</h2><ul><li><a
href="http://captico.com/css-sprites-nettuts-tutorial/2010/08">CSS Sprites – Nettuts Tutorial</a></li><li><a
href="http://captico.com/modules-widgets-boxes-oh-my-what-do-you-call-a-box/2010/09">Modules, widgets, boxes oh my! What do you call a box?</a></li><li><a
href="http://captico.com/color-theory-for-a-visual-design-the-meaning-of-color/2010/10">Color theory for a visual design: the meaning of color</a></li><li><a
href="http://captico.com/how-to-create-an-animated-gif-with-sparkle-for-the-holidays/2010/12">How To Create an Animated GIF with Sparkle for the Holidays</a></li><li><a
href="http://captico.com/modules-videos-buttons-popup-windows-engagement/2011/01">Are our websites getting too crowded with social media apps?</a></li><li><a
href="http://captico.com/creating-your-facebook-fan-page/2010/03/multi-media/visual-design">Error Pages and 404 Redirects Can Be Fun!</a></li></ul><p
style="text-align: left;">&nbsp;</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/creating-custom-icon-stencils-in-omnigraffle/2010/10/feed</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>Modules, widgets, boxes oh my! What do you call a box?</title><link>http://captico.com/modules-widgets-boxes-oh-my-what-do-you-call-a-box/2010/09</link> <comments>http://captico.com/modules-widgets-boxes-oh-my-what-do-you-call-a-box/2010/09#comments</comments> <pubDate>Thu, 02 Sep 2010 16:53:53 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Visual Design]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[definition]]></category> <category><![CDATA[designer]]></category> <category><![CDATA[developer]]></category> <category><![CDATA[module]]></category> <category><![CDATA[terminology]]></category> <category><![CDATA[widget]]></category> <guid
isPermaLink="false">http://captico.com/?p=2841</guid> <description><![CDATA[I don’t know about you but it is an everyday battle with designers, developers and clients on what the proper terminology for a box that holds content on the website is called. As a designer I know it as a module, for developers it is known as a widget and for clients it is known as the whatchamacallit/box/thing.
How can one simple box have so many different names for it? Why can’t the world wide web use one name instead of a range of names?]]></description> <content:encoded><![CDATA[<p>I don’t know about you but it is an everyday battle with designers, developers and clients on what the proper terminology for a box that holds content on the website is called. As a designer I know it as a module, for developers it is known as a widget and for clients it is known as the whatchamacallit/box/thing.</p><p>How can one simple box have so many different names for it? Why can’t the world wide web use one name instead of a range of names? <span
id="more-2841"></span>You don’t see the same problem with buttons. A button is a button or should we change the rule of physics and start calling it a knob?</p><p>There was a recent poll on <a
href="http://polldaddy.com/poll/3249080/?view=results&amp;msg=voted" target="_blank">Polldaddy.com</a> that asked the question: What do you call these draggable, expandable boxes in WP? For example, “The Publish ___________.” The choices were <strong>postbox</strong>, <strong>metabox</strong>, <strong>module</strong>, <strong>widget</strong>, <strong>area</strong>, <strong>container</strong>, <strong>box</strong> or <strong>other</strong>. The results were interesting and didn’t answer as much as the comments below the poll. The top three choices were: <strong>box</strong> (25% of the votes), <strong>widget</strong> (18% of the votes) and <strong>metabox</strong> (17% of the votes). One user posted “<em> </em>Module because it’s the most international word (at least in French, you can say module).” Interesting – I now know French!</p><p><img
class="size-full wp-image-2842 alignnone" title="module_poll" src="http://captico.com/wp-content/uploads/2010/09/module_poll.jpg" alt="screen shot of the poll" width="554" height="130" /></p><p>A “<strong>widget</strong>” is described as the basic building block/interface for a desktop operating system.</p><p>A “<strong>box</strong>” describes the rectangular boxes that are generated for elements on a web page.</p><p>A “<strong>module</strong>” is a term that personalized web pages like iGoogle refer to the multiple components of their pages.</p><p>Basically all three definitions are saying the same thing. &#8220;(Blank)&#8221; is <strong>an element on a web page.</strong></p><p>In conclusion&#8230; well there really isn&#8217;t one! Designers will still insist on their modules and developers will rally around widgets. I suppose the best we can hope for is a gentleman&#8217;s truce and a unified front when presenting to any befuddled clients!</p><p>What do you like to call these containers of content?</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/modules-widgets-boxes-oh-my-what-do-you-call-a-box/2010/09/feed</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>CSS Sprites &#8211; Nettuts Tutorial</title><link>http://captico.com/css-sprites-nettuts-tutorial/2010/08</link> <comments>http://captico.com/css-sprites-nettuts-tutorial/2010/08#comments</comments> <pubDate>Tue, 24 Aug 2010 15:34:33 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Visual Design]]></category> <category><![CDATA[buttons]]></category> <category><![CDATA[demo]]></category> <category><![CDATA[design]]></category> <category><![CDATA[sprites]]></category> <category><![CDATA[tutorial]]></category> <category><![CDATA[web]]></category> <guid
isPermaLink="false">http://captico.com/?p=2802</guid> <description><![CDATA[Sprites originated from video game design from the early days of computers. The computer would grab one image at a time from a large group of images.  Contrary to popular belief they are all not all sliced separate images. It is easier to create one large image; you can combine an unlimited number of images into one. In CSS it is the same principle when applying a navigation or buttons in regular and highlighted states.]]></description> <content:encoded><![CDATA[<p><strong>Sprites</strong> originated from video game design from the early days of computers. The computer would grab one image at a time from a large group of images.  Contrary to popular belief they are all not all sliced separate images. It is easier to create one large image; you can combine an unlimited number of images into one. In CSS it is the same principle when applying a navigation or buttons in regular and highlighted states. <span
id="more-2802"></span></p><p>I found a very cool tutorial on <a
href="http://net.tutsplus.com/tutorials/html-css-techniques/use-sprites-to-create-an-awesomeness-filled-navigation-menu/">Nettuts</a> that helped me understand and create better sprites. Basically you recreate the navigation for <a
href="http://dragoninteractive.com/">Dragon Interactive</a>, which has a perfect example for the use of sprites.</p><p>This is the final product as you can see it is all one large image. There is also a <a
href="http://nettuts.s3.amazonaws.com/512_dragon/demo/index.html">demo</a> so you can see how it interacts when you are finished.</p><div
id="attachment_2803" class="wp-caption alignnone" style="width: 310px"><a
rel="attachment wp-att-2803" href="http://captico.com/css-sprites-nettuts-tutorial/2010/08/picture-4-4"><img
class="size-medium wp-image-2803" title="Naviagation Sprites " src="http://captico.com/wp-content/uploads/2010/08/Picture-4-300x82.png" alt="" width="300" height="82" /></a><p
class="wp-caption-text">The above image is how your result from the tutorial should look.</p></div><h2>Recommended Reading:</h2><p><a
href="http://www.peachpit.com/articles/article.aspx?p=447210">What Are CSS Sprites?</a></p><p><a
href="http://css-tricks.com/css-sprites/">CSS Sprites: What They Are, Why They’re Cool, and How To Use Them</a></p><p><a
href="http://www.smashingmagazine.com/2009/04/27/the-mystery-of-css-sprites-techniques-tools-and-tutorials/">The Mystery Of CSS Sprites: Techniques, Tools And Tutorials</a></p> ]]></content:encoded> <wfw:commentRss>http://captico.com/css-sprites-nettuts-tutorial/2010/08/feed</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Animation with RaphaëlJS</title><link>http://captico.com/animation-with-raphaeljs/2010/07</link> <comments>http://captico.com/animation-with-raphaeljs/2010/07#comments</comments> <pubDate>Fri, 23 Jul 2010 18:02:35 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Watch Videos]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[Animation]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[Raphaël]]></category> <category><![CDATA[SVG]]></category> <category><![CDATA[Vector Graphics]]></category> <guid
isPermaLink="false">http://captico.com/?p=2577</guid> <description><![CDATA[Complex animation on the web has been generally limited to Flash.   Flash is great for what it provides, but there are limitations, expensive tools, a browser plugin, etc&#8230; It is possible to run animations using images and browser native DOM, but this too is limited to basically static graphics and the DOM box model. [...]]]></description> <content:encoded><![CDATA[<p>Complex animation on the web has been generally limited to Flash.   Flash is great for what it provides, but there are limitations, expensive tools, a browser plugin, etc&#8230; It is possible to run animations using images and browser native <a
href="http://www.w3.org/DOM/">DOM</a>, but this too is limited to basically static graphics and the DOM box model.<br
/> <span
id="more-2577"></span><br
/> <a
href="http://raphaeljs.com/">RaphaëlJS</a> is a powerful cross browser library for rendering Vector Graphics in either native <a
href="http://www.w3.org/Graphics/SVG/">SVG</a> or native <a
href="http://en.wikipedia.org/wiki/Vector_Markup_Language">VML</a> depending on the capabilities made available to the browser.   For example, IE6 even had VML.  More recently <a
href="https://developer.mozilla.org/en/Gecko">Gecko</a>, <a
href="http://webkit.org/">Webkit</a>, and <a
href="http://www.opera.com/">Opera</a> have support for SVG.    Both markup languages are very capable &#8211; SVG being the clear winner as now <a
href="http://ie.microsoft.com/testdrive/">IE9</a> will be providing SVG support.    RaphaëlJS provides a very simple and intuitive interface for dealing with Vector Graphics.   The advantage of animating vector graphics to raster graphics is for certain types of animation you can get a very smooth high resolution animation with a small cost in both CPU and bandwidth.</p><p>In the simplest form, you can render basic shapes like a <a
href="http://raphaeljs.com/reference.html#circle">circle</a> or <a
href="http://raphaeljs.com/reference.html#rect">rectangle</a>.   More complex shapes are also supported via <a
href="http://www.w3.org/TR/SVG/paths.html#PathData">SVG paths</a>.   The benefit of the <a
href="http://raphaeljs.com/reference.html#path">path parser in RaphaëlJS</a> is that you can create complex shapes using well established tools like <a
href="http://www.adobe.com/products/illustrator/">Adobe Illustrator</a>, but there are also many <a
href="http://www.inkscape.org/">free SVG tools</a> as well &#8211; even <a
href="http://svg-edit.googlecode.com/svn/branches/2.5/editor/svg-editor.html">web based ones</a>.   This makes it easy to generate paths and export them to the browser as SVG files.   Adding a little code to RaphaëlJS you can easily have it parse your SVG files allowing you to render basic SVG files to probably every browser in use today, including most mobile phone browsers, (Android, and iPhone).    For example, <a
href="http://github.com/taf2/raphael-svg-import">this library</a> has a good start on SVG parsing with RaphaëlJS as the renderer.</p><p><object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="546" height="341" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param
name="allowfullscreen" value="true" /><param
name="allowscriptaccess" value="always" /><param
name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13564252&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed
type="application/x-shockwave-flash" width="546" height="341" src="http://vimeo.com/moogaloop.swf?clip_id=13564252&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p><p>Kind of a long video, but shows you how to use Illustrator and RaphaëlJS to create neat animations with Vector Graphics.</p><p>Using Adobe Illustrator to create an SVG file is easy, just &#8220;save as&#8221; SVG.   There are a few things to keep in mind however, you want to make sure to limit the type of shapes you use as it is easiest to work with SVG paths directly.   For example, the code below demonstrates animating a sequence of paths.</p><pre class="brush: jscript; title: ; notranslate">
    $(function() {
      var paths = [&quot;M117.567,97.5c36.999,21,18.354,75-21.645,72s23.578-126-63.422-14&quot;,
                   &quot;M191.5,108c-24.165,35.015-55.578,64.5-95.578,61.5s23.578-126-63.422-14&quot;,
                   &quot;M191.5,108c-24.165,35.015-48.472-2.921-79.5,22.5c-41.5,34,7.5-87-79.5,25&quot;,
                   &quot;M191.5,108c-37-83.5-34.972,43.079-66,68.5c-41.5,34-15-220-102-108&quot;,
                   &quot;M200.5,108c23-108-48.972-68.921-80-43.5 c-24.942,20.435-45.803-144.374-104,26&quot;,
                   &quot;M216,80.5c-58.5-87-64.472-41.421-95.5-16c-24.942,20.435,9-52.027-104,26&quot;,
                   &quot;M216,80.5c-58.5-87-127.5-50.849-95.5-16 c21.809,23.75,69.149,171.346-65,142&quot;,
                   &quot;M27.5,136.5c-58.5-87,76-129.849,108-95 C180.87,90.908,92.5,252.5,27.5,136.5&quot;,
                   &quot;M25.25,102.5c36-48,70-65,85-27s80,49,14,73s-99,36-99-5&quot;,
                   &quot;M20.25,95.5c36-48,70-65,85-27s80,49,14,73S20.25,136.5,20.25,95.5&quot;];
      var paper = Raphael(&quot;icon&quot;,500,500);
      var cur=0;
      var path = paper.path(paths[cur++]).attr({stroke:&quot;#F3AA1D&quot;,'stroke-width': 6});
      var animate = function() {
        if (cur &lt; paths.length) {
          path.animate({path:paths[cur++]},500,&quot;&lt;&gt;&quot;,animate);
        }
      }
      setTimeout(animate,500);
    });
</pre><p>The possibilities RaphaëlJS brings to web development is huge.  With now much faster browsers we can expect to see much more interactive  user interfaces using entirely native browser technology.   If you&#8217;re on an iphone check this page out.  The animation above works.</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/animation-with-raphaeljs/2010/07/feed</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Weekly Web Redux: IA and Google</title><link>http://captico.com/weekly-web-redux-ia-and-google/2010/03</link> <comments>http://captico.com/weekly-web-redux-ia-and-google/2010/03#comments</comments> <pubDate>Mon, 08 Mar 2010 02:21:09 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Weekly Redux]]></category> <category><![CDATA[algorithm]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[user interface]]></category> <guid
isPermaLink="false">http://www.captico.com/?p=527</guid> <description><![CDATA[Blog Series featuring summaries of articles and tutorials I read during the week. If you don’t have the time to scour the web for blog posts about web related news, technology, and techniques, then check in with us! This week’s installment includes:
• The Small Print: Writing User Interface Instructions
• How Google’s Algorithm Rules the Web
]]></description> <content:encoded><![CDATA[<p>In this series of blog posts, I’m going to summarize articles and tutorials I read during the week.  If you don’t have the time to scour the web for blog posts about web related news, technology, and techniques, then come back here every week for a summary of my most interesting finds! <span
id="more-527"></span></p><p><strong>The Small Print: Writing User Interface Instructions</strong><br
/> <a
title="The Small Print" href="http://understandinggraphics.com/design/writing-user-interface-instructions/"> http://understandinggraphics.com/design/writing-user-interface-instructions/</a></p><ul><li>People assume certain things about the functionality of a website.  Generally, these can be noted as common interface elements (button rollovers, selected states, etc&#8230;)</li><li>Mental models are &#8220;general ideas about how things work.&#8221;  Think of them like muscle memory in sports only with interactions on a webpage.</li><li>Following common mental models prevents user frustration.</li><li>Know your audience and tailor the user experience accordingly.</li><li>Be precise without loosing anything important.</li><li>Descriptive words on call-to-actions improve user experience.</li><li>Avoid passive wet noodle writing.  State what should be done don&#8217;t ask.</li><li>Margins and padding help define content grouping</li><li>Be a font nerd.  Don&#8217;t deviate from your site guidelines.  Make fonts readable.</li><li>A picture is worth a thousand words to the less savvy (illustrate how to&#8217;s in less obvious situations).</li><li>Whenever possible make calls to action &#8220;personal&#8221; targeting your user directly.  When possible I would also use personal information that you have available.  Example: &#8220;Hey [username], welcome back&#8221;.</li><li>Instructions should be freely accessible to anyone (508 compliance?).</li><li>Always test your instructions with those who haven&#8217;t used your product.  Do they make sense?</li></ul><p><strong>How Google’s Algorithm Rules the Web<br
/> </strong> <a
title="Google Algorithm Rules the Web" href="http://www.wired.com/magazine/2010/02/ff_google_algorithm/all/1" target="_blank"><strong>http://www.wired.com/magazine/2010/02/ff_google_algorithm/all/1</strong></a></p><ul><li>Google is the web&#8217;s leading search engine, but they&#8217;re still making improvements to stay ahead of competition.</li><li>Bing capitalized on Google&#8217;s shortcomings by getting access to things not directly crawlable by spiders (example: Flights by Faircast).</li><li>Google is remains at the top for &#8220;public search.&#8221;</li><li>Google has ability of contextual search and recognizes patterns (example: <em><a
href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=mike+siwek+lawyer+mi&amp;aq=f&amp;aqi=&amp;oq=">mike siwek lawyer mi</a>).</em></li><li>Google is more than just pagerank and includes: new algorithm, local connectivity analysis, constantly updating indexes, personalized results, updated web crawling, image/news/book/universal search, and real time searching.</li><li>Pagerank is the process of establishing authority based on inbound and outbound linking.</li><li>Holy grail is matching meaning and understanding the question being asked not just keyword combinations.</li><li>Google is massive and hard to compete with due to scale and technical hurtles involved with search engines.</li></ul> ]]></content:encoded> <wfw:commentRss>http://captico.com/weekly-web-redux-ia-and-google/2010/03/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>JJ Singh Jewelry E-Commerce</title><link>http://captico.com/jj-singh-jewelry-ecommerce/2010/02</link> <comments>http://captico.com/jj-singh-jewelry-ecommerce/2010/02#comments</comments> <pubDate>Sat, 27 Feb 2010 19:28:36 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[e-Commerce]]></category> <category><![CDATA[Portfolio]]></category> <category><![CDATA[design]]></category> <category><![CDATA[testimonial]]></category> <category><![CDATA[Visual Design]]></category> <category><![CDATA[Website hosting]]></category> <guid
isPermaLink="false">http://www.captico.com/?p=585</guid> <description><![CDATA[<p>JJ Singh’s jewelry is inspired by the woman who pushes to boldly expose her own mood and melody in life.  Captico partnered with JJ Singh to build an online presence that has allowed consumers around the world to easily discover her brand and purchase her product. JJ's reflections on her e-commerce experience with Captico:</p><blockquote> "Redesigning my website to include an e-commerce platform with Captico has been a delightful experience."</blockquote> - JJ Singh]]></description> <content:encoded><![CDATA[<p><a
href="http://www.jjsinghjewelry.com/">JJ Singh’s Jewelry</a> is inspired by the woman who pushes to boldly expose her own mood and melody in life. The jewelry of JJ Singh is an immediately recognizable style defined by ancient influences applied with modern design interpretations. Her collections have previously been available only through fine jewelry retailers.  Captico partnered with JJ Singh to build an online presence that has allowed consumers around the world to easily discover her brand, purchase her product, and become a part of her social media presence.</p><p>Here are JJ&#8217;s reflections  on her e-commerce experience with Captico.</p><div><blockquote><p>&#8220;Redesigning my website to include an e-commerce platform   with Captico has been a delightful experience. As a small business   owner, the functionality I needed in my website is highly customized.   (This is why off the shelf solutions like Yahoo! just were not working   for me.) I didn&#8217;t want my site to look like every other store front out   there.   Captico delivered both creatively and technically. They hit my   design aesthetic on the nose with customized icons, colors, and imaging   that makes my site stand out. They took my existing branding and  design  ideas and expanded on them in a very creative way. One of my  favorite  parts of the site are the &#8220;sketches&#8221; of jewelry that were  created to  resemble pages from my idea notebook.  From a technical  perspective  Captico customized the e-commerce platform to suit my  business and  offered keen suggestions to improve the functionality and  conversion  rates of my website. The team is highly responsive and  receptive to  concerns and comments getting back to me quickly with  realistic time  estimates for specific milestones. I am looking forward  to growing my  business with the Captico team.&#8221;</p></blockquote></div> ]]></content:encoded> <wfw:commentRss>http://captico.com/jj-singh-jewelry-ecommerce/2010/02/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Using Twitter and Blogs As a Business Tool: Presentation</title><link>http://captico.com/using-twitter-and-blogs-as-a-business-tool-presentation/2010/02</link> <comments>http://captico.com/using-twitter-and-blogs-as-a-business-tool-presentation/2010/02#comments</comments> <pubDate>Wed, 24 Feb 2010 04:36:53 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Business Strategy]]></category> <category><![CDATA[Press]]></category> <category><![CDATA[Social Media]]></category> <category><![CDATA[blogging]]></category> <category><![CDATA[presentation]]></category> <category><![CDATA[twitter]]></category> <guid
isPermaLink="false">http://www.captico.com/?p=521</guid> <description><![CDATA[In this seminar, Captico presents strategies for leveraging Twitter and blogging for your business. We will cover the basics to get you started communicating your brand to a large and growing audience.]]></description> <content:encoded><![CDATA[<p><a
href="http://www.captico.com/wp-content/uploads/2010/02/twitter-presentation.png"><img
class="alignnone size-full wp-image-525" title="twitter-presentation" src="http://www.captico.com/wp-content/uploads/2010/02/twitter-presentation.png" alt="" width="450" height="180" /></a></p><p>In this seminar, Captico presents strategies for leveraging Twitter and blogging for your business. We will cover the basics to get you started communicating your brand to a large and growing audience.</p><p>Some of the topics include:</p><ul><li>The benefits of blogging and Twitter</li><li>What is social media?</li><li>Blogging 101, Twitter 101</li><li>What to blog/Tweet about and how to engage your audience</li></ul><p><strong>Feel Free To Download the </strong><a
title="Blogs and Twitter Presentation" href="http://www.captico.com/wp-content/uploads/2010/02/BlogsAndTwitter_2_24_2010.pdf"><strong>Presentation Materials</strong></a><strong>.</strong></p> ]]></content:encoded> <wfw:commentRss>http://captico.com/using-twitter-and-blogs-as-a-business-tool-presentation/2010/02/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Weekly Web Redux: Design &amp; Advertising Tips</title><link>http://captico.com/weekly-web-redux-design-marketing-tips/2010/02</link> <comments>http://captico.com/weekly-web-redux-design-marketing-tips/2010/02#comments</comments> <pubDate>Mon, 22 Feb 2010 14:25:25 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Marketing]]></category> <category><![CDATA[Weekly Redux]]></category> <category><![CDATA[advertising]]></category> <category><![CDATA[ajax]]></category> <category><![CDATA[design]]></category> <category><![CDATA[email newsletter]]></category> <category><![CDATA[links]]></category> <category><![CDATA[style]]></category> <category><![CDATA[Visual Design]]></category> <guid
isPermaLink="false">http://www.captico.com/?p=503</guid> <description><![CDATA[In this series of blog posts, I'm going to summarize articles and tutorials I read during the week.  If you don't have the time to scour the web for blog posts about web related news, technology, and techniques, then come back here every week for a summary of my most interesting finds! This week's installment includes:
• Email Newsletter Designs
• Style Your Links
• Sell advertising on your low traffic blog
• Designing sites with AJAX]]></description> <content:encoded><![CDATA[<p>In this series of blog posts, I&#8217;m going to summarize articles and tutorials I read during the week.  If you don&#8217;t have the time to scour the web for blog posts about web related news, technology, and techniques, then come back here every week for a summary of my most interesting finds! <span
id="more-503"></span></p><div
id="_mcePaste"><strong>Email Newsletter Designs</strong>:</div><div>Summary of: <a
title="Email Newsletters: Guidelines and Examples" href="http://www.smashingmagazine.com/2010/02/15/email-newsletters-guidelines-and-examples/"><em>Email Newsletters: Guidelines and Examples</em></a></div><div
id="_mcePaste"><ul><li>Tell users why they should sign up (rewards, discounts, interesting news, etc).</li><li>Reward users for signing up (gift certificate, discount, access to limited information).</li><li>Create web versions of your newsletter for users to preview.</li><li>Simplified signup forms (don’t require too much).</li><li>3 things users look at: sender, subject line, the date.</li><li>Provide interesting subjects, well-written content, and make content relevant to your readers.</li><li>Have a call to action to get visitors back to your site.</li><li>KISS- Keep It Simple Stupid (I also like keep it stupid sexy)!</li><li>Attract attention using images, numbers and colors (plain text sucks).</li><li>Use layouts based on content type (newsletter, flyer, etc).</li><li>Use table of contents sparingly.</li><li>Don’t include advertisements in your newsletter.</li><li>Include links to unsubscribe without jamming it down their throats.</li><li>ABCDs- Always be collecting data.  Use email marketing companies to track results of your newsletters.</li></ul></div><div><strong>Style Your Links:</strong></div><div>Summary of: <a
title="The Definitive Guide To Styling Web Links" href="http://www.smashingmagazine.com/2010/02/13/the-definitive-guide-to-styling-web-links/"><em>The Definitive Guide To Styling Web Links</em></a></div><div
id="_mcePaste"><ul><li>Links styles to target: a:link, a:visited, a:hover, a:focus, a:active</li><li>Contrast your links with other text on the page (colors, bold, underline).  Avoid making non-links from looking like links.</li><li>Use Title attribute.</li><li>Create button styles to emphasize “calls to action”.</li><li>Active Links (ones that have been clicked) styles illustrate that a new page is loading.</li><li>Padding on links increases area of click.</li><li>Use sprites to add icons to file links (pdfs, jpegs, etc…).</li><li>Use icons of recognizable external links and resources (rss, facebook, digg.com, etc…).</li><li>Avoid “click here”.  Replace with descriptive text about title of where they are clicking to.</li><li>Main logo should always link to homepage.</li><li>Don’t open up new windows with target=”_blank”.  Let users choose how to open links.</li><li>Use rel attribute to describe “relationship” to current page.</li></ul><p><strong>Sell advertising on your low traffic blog:<br
/> <span
style="font-weight: normal;">Summary of: <a
title="Successful Strategies For Selling Ad Space On Low-Traffic Websites" href="http://www.smashingmagazine.com/2010/02/12/successful-strategies-for-selling-ad-space-on-low-traffic-websites/"><em>Successful Strategies For Selling Ad Space On Low-Traffic Websites</em></a></span> </strong></p></div><div
id="_mcePaste"><ul><li>Know thyself before selling thyself: why do people come to your blog, what pages are popular, what pages have the longest view times, what keywords are used to get to your site?</li><li>Use polls as much as possible (get your users involved for more data to give to potential advertisers).</li><li>How are other people talking about you outside of your site?</li><li>Find the advertisers:</li></ul><ol><li>Look for websites that link to yours that offer a product or service.</li><li>Visit commenter’s websites.</li><li>Use Google Adwords to surface ads.  Contact advertisers in adwords directly.</li><li>Steal advertisers from competitors.</li><li>What companies “gel” with your content?</li></ol></div><div
id="_mcePaste"><ul><li>You have your list… contact those companies with an advertising package.  Include the following:</li></ul><ol><li>Visitor interest.</li><li>Bounce rates, average time, and page views.</li><li>Monthly states (visitors, growth, etc…).</li><li>Track outbound links (don’t over promise results).</li><li>Keep your pitch personal to the company you are pitching.</li><li>Track conversions.</li></ol></div><div
id="_mcePaste"><ul><li>Convey the following to your advertisers:</li></ul></div><div
id="_mcePaste"><ol><li>Conversion rates (how many people are clicking on their ads).</li><li>Promotions offered on your site.</li><li>Keep advertisers informed of new advertisement types available.</li><li>Promotions for your advertisers (half price cpcs, etc…).</li><li>Ask your advertisers what they think.</li><li>Should you use an Ad-network or roll your own?</li><li>Rolling your own yields higher profits but requires more work.</li><li>Partner with other websites.</li><li>Try giving away ad spots for free.</li></ol></div><div
id="_mcePaste"><ul><li>Choose an ad-network based on your circumstances.</li><li>Don’t blindly accept ads.</li></ul></div><div><strong>Designing sites with AJAX:</strong></div><div>Summary of: <a
title="Developing Sites With AJAX: Design Challenges and Common Issues" href="http://www.smashingmagazine.com/2010/02/10/some-things-you-should-know-about-ajax/"><em>Developing Sites With AJAX: Design Challenges and Common Issues</em></a></div><div
id="_mcePaste"><ul><li>When to use AJAX: adding large attachments, handling numerous small datasets, rating content, displaying constantly changing content.</li><li>Ajax should not break the web experience.  Never rely solely on javascript.  Your site should work without js.</li><li>Only request the content you want (don’t load an entire page with ajax).  You can load partials / content wrappers conditionally.  IE… only include the header and footer if the page is not requested via AJAX.</li><li>AJAX interactions need to be defined which requires states.</li><li>Use load indicators and progress bars for large requests.</li><li>Provide a way to cancel an AJAX Request.</li><li>Show errors when things go south.</li><li>Include back button functionality to allow going back to previous steps in your AJAX actions.</li><li>Make your AJAX accessible.  Make everything available to screen readers.</li><li>Don’t ignore the keyboard for advanced users.</li><li>Highlight current field.</li><li>Clean interfaces are golden.</li><li>Don’t use AJAX when: handling sensitive information, loading content from another server.</li></ul></div> ]]></content:encoded> <wfw:commentRss>http://captico.com/weekly-web-redux-design-marketing-tips/2010/02/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Digital paleontology and innovation impediments</title><link>http://captico.com/digital-paleontology-and-innovation-impediments/2010/02</link> <comments>http://captico.com/digital-paleontology-and-innovation-impediments/2010/02#comments</comments> <pubDate>Tue, 02 Feb 2010 03:54:50 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Business Strategy]]></category> <category><![CDATA[code]]></category> <category><![CDATA[innovation]]></category> <category><![CDATA[process]]></category> <category><![CDATA[software]]></category> <category><![CDATA[systems]]></category> <guid
isPermaLink="false">http://www.captico.com/?p=478</guid> <description><![CDATA[Digital palentology is the process of studying why old obsolete code is still used in large organizations.   The code or technology fossilizes and is perpetuated regardless of easier, less expensive, and features of newer systems.]]></description> <content:encoded><![CDATA[<p>Digital palentology is the process of studying why old obsolete code is still used in large organizations.   The<a
href="http://www.captico.com/wp-content/uploads/2010/02/Fossil-dinosaur.jpg"><img
class="alignright size-full wp-image-514" title="Fossil-dinosaur" src="http://www.captico.com/wp-content/uploads/2010/02/Fossil-dinosaur.jpg" alt="" width="216" height="144" /></a> code or technology fossilizes and is perpetuated regardless of easier, less expensive, and features of newer systems. <span
id="more-478"></span></p><p>People are motivated by what they can do rather than what they can do better.  While this statement isn&#8217;t a universal truth for all workforces, it is a common impediment to innovation. When software becomes so deeply engraved in the workflow of an individual, old software and outdated systems become necessary evils.  Thus, the process of updating not only includes technical hurdles, but also political log jams.</p><p>In the long run, politics and contracts become more a factor of the implementation of a new content management system than any technical problems.  Keep in mind that this situation only exists when an aging system, regardless of how painful and inefficient, becomes part of the work flow.</p><p>I&#8217;ve personally witnessed this in several organizations all resulting in different attempts in providing potential solutions including hiring outside constants and ninjaing.</p><p>Preparing to get rid of the fossil often begins with a planning phase. This pre-solution measure often occurs in the form of a technological audit.    A consulting company comes in and makes recommendations that have no chance of actually implementing because they fail to recognize the inner politics of an organization.  Consultants often don&#8217;t or can&#8217;t spend the time learning about the employees their changes affect the most.  After all, in many cases, consultants are working on providing their own recommendations rather than implementing their own recommendations.  The result is inevitable failure.  I&#8217;ve also spoke with consultants who try to learn the internal processes of organizations only to be slowed down by politics.  In many situations, people do not want to be interviewed about their workflow and what they do during the day.  I can only surmise that many people do not want to be outed or tracked in what they actually accomplish.  So&#8230;. it becomes extremely hard to pre-plan for problems you can not account for without actually know what the workforce is doing.</p><p>The other phenomenon of dealing with Fossils I call Ninjaing.  It generally manifests as an internal uprising within a company or organization to eliminate the fossil secretively.  The end goal is to prevent politics from entering any part of their solution.   Small groups get together and attempt to implement their own systems while hiding their progress.  This development is often secretive because it relies on other parties not knowing about any potential changes.    If all goes well, a ninja team will have a fully working product before someone finds out what the group is actually working on.  This product then turns into an ultimatum.  Take this product or lose all the work we&#8217;ve done to fix the issues with the Fossil.</p><p><a
href="http://www.captico.com/wp-content/uploads/2010/02/Fossil-shell.jpg"><img
class="alignleft size-full wp-image-515" title="Fossil-shell" src="http://www.captico.com/wp-content/uploads/2010/02/Fossil-shell.jpg" alt="" width="216" height="162" /></a>Fossils are difficult to deal with and sometimes eliminating fossils from the record can be downright impossible.  Getting consensus on change is never an easy thing to do. I would love to hear about potential solutions to digital paleontology. My initial gut feeling is that solving problems of entrenchment requires strong leadership from a single individual who can cut through all the BS.  I&#8217;ll end this note by stating Fossils are a combination of technical and political problems within an organization.  One of the biggest problems is accounting for all the technical issues without consideration for the politics of the environment.</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/digital-paleontology-and-innovation-impediments/2010/02/feed</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Join Our Visual Design Project</title><link>http://captico.com/join-our-visual-design-project/2010/02</link> <comments>http://captico.com/join-our-visual-design-project/2010/02#comments</comments> <pubDate>Mon, 01 Feb 2010 09:36:54 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Captico]]></category> <category><![CDATA[Multi-Media]]></category> <category><![CDATA[Visual Design]]></category> <category><![CDATA[design]]></category> <category><![CDATA[flip this bird]]></category> <category><![CDATA[illustration]]></category> <category><![CDATA[inspiration]]></category> <guid
isPermaLink="false">http://www.captico.com/?p=456</guid> <description><![CDATA[It's time to flex your visual design skills!  Create your own version of our illustrator Liz Wheatley's cartoon bird, and post your photo to the Flickr photo group "Flip This Bird"!]]></description> <content:encoded><![CDATA[<p>It&#8217;s time to flex your visual design skills!  Create your own version of our illustrator Liz Wheatley&#8217;s cartoon<a
href="http://www.captico.com/wp-content/uploads/2010/02/flip_the_bird.jpg"><img
class="alignright size-full wp-image-518" title="flip_the_bird" src="http://www.captico.com/wp-content/uploads/2010/02/flip_the_bird.jpg" alt="" width="170" height="288" /></a> bird (as seen to your right), and post your photo to the Flickr photo group &#8220;Flip This Bird&#8221;.</p><p><strong>Step 1:</strong> Download the source files here: <a
href="http://www.captico.com/wp-content/uploads/2010/02/flip_this_bird.zip">flip_this_bird.zip</a></p><p><strong>Step 2:</strong> Create your own version of the bird by altering the source file.</p><p><strong>Step 3:</strong> Submit your work to <a
title="Flip This Bird" href="http://www.flickr.com/groups/flip-this-bird/" target="_blank">Flip This Bird</a> Flickr photo group for the world to see. <span
id="more-456"></span></p><p>Here&#8217;s an example of a flipped bird by <em>Jonathan Phillips</em>:</p><p><a
title="Flickr Photo Group" href="http://www.flickr.com/photos/elguapo1611/4317479634/in/pool-1311670@N24" target="_blank" class="broken_link"><img
class="alignleft size-medium wp-image-459" title="bird" src="http://www.captico.com/wp-content/uploads/2010/02/bird-300x300.png" alt="" width="300" height="300" /></a></p> ]]></content:encoded> <wfw:commentRss>http://captico.com/join-our-visual-design-project/2010/02/feed</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>The unintended consequences of Google&#8217;s &#8220;Don&#8217;t Be Evil&#8221; &#8211; Is it actually evil?</title><link>http://captico.com/the-unintended-consequences-of-dont-be-evil/2010/01</link> <comments>http://captico.com/the-unintended-consequences-of-dont-be-evil/2010/01#comments</comments> <pubDate>Thu, 28 Jan 2010 02:07:11 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Business Strategy]]></category> <category><![CDATA[development]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[markets]]></category> <category><![CDATA[technology]]></category> <category><![CDATA[web applications]]></category> <guid
isPermaLink="false">http://www.captico.com/?p=434</guid> <description><![CDATA[Businesses, schools, organizations, and individuals are using Google web applications at little to no cost. This includes gmail, analytics, webmaster tools, Google Calendar, Trends, and a myriad of other extremely useful tools. It's great that these applications are free, but what's happening to all the other companies that can't afford to give their products away at zero cost?]]></description> <content:encoded><![CDATA[<p>Let me begin by saying I believe Google is striving to fulfill their corporate motto &#8220;Don&#8217;t Be Evil.&#8221;  Google is constantly democratizing web applications bringing free technology to anyone who can fill out a sign-up form.  Businesses, schools, organizations, and individuals are using Google web applications at little to no cost.  This includes gmail, analytics, webmaster tools, Google Calendar, Trends, and a myriad of other extremely useful tools.  It&#8217;s great that these applications are free, but what&#8217;s happening to all the other companies that can&#8217;t afford to give their products away at zero cost? <span
id="more-434"></span></p><p>I started to think about this after scouring the web on behalf of a Client.  I recently discovered that English to Latin Translation APIs do not exist. I checked Google, Systran, and Wardlingo and searched numerous blog posts related to the subject.  Naturally me being curious like a cat, &#8220;I have a couple friends that call me whiskers&#8221; <a
href="http://www.youtube.com/watch?v=haAhdtDmsOw">Will Ferrell-Harey Carey</a>, I asked <strong>WHY! Why </strong>would anyone spend countless hours developing a translation API when <a
href="http://google.com">Google</a> either offers it for free or will in future!</p><p>This may open a can of worms, but with <a
title="Google" href="http://google.com">Google</a> offering services for free (i.e. docs, apis, etc.) they appear to be blocking external <a
href="http://www.merriam-webster.com/dictionary/innovation">innovation</a> across multiple spectrums, especially vs. competitors.  I say external because Google is by nature an innovative company, pushing web applications forward.  I&#8217;ve heard software developers fear getting into a product war with Google, not because of technical merit and launching a great product, but because competing against a company that doesn&#8217;t have to charge anything is downright stupid.</p><p>So how can Google give away it&#8217;s products?  It all comes down to online advertising.  In most cases, individual Google apps rely on funding from the adsense division of Google. In their struggle to &#8220;Not be Evil&#8221; Google uses advertising revenue to push the cost of other products and services way down&#8230; to nothing.</p><p>I call this practice a <strong><a
href="http://www.googleopoly.net/">Googleopoly</a></strong><strong> , </strong>as they can price fix and go directly after competitors by offering a similar or superior product for <strong>Free </strong> (ex. Microsoft Office Suite vs. Google Docs). This is slightly different than traditional monopolies. Monopolies generally have the corner on a market, being the soul producer of a good or service.  This monopolistic power, allows monopolies to set costs, below market value to drive away competition.  Monopolies are also characterized by two factores: single seller, and market power.  Google is not a single seller in the web application sphere, but it&#8217;s market power is undeniable.</p><p>Have a great idea/product? Is Google working on it in parallel? What value do you have in seeing it through, when you will have to compete against a free product. Yes, I agree that consumers are the beneficiaries of this, but in essence I feel that the business principals in play need to be discussed more. Long ago, I was taught, &#8220;the market sets the price &#8221; but in Google&#8217;s case they are setting the price at nil and are unintentionally (or intentionally) destroying their competitors. All big companies can do this.  They pick a competitor, highlight weaknesses then attack.</p><p>What do you think?</p> ]]></content:encoded> <wfw:commentRss>http://captico.com/the-unintended-consequences-of-dont-be-evil/2010/01/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Increasing Your Google Local Business Ranking – Google Local Business Optimization</title><link>http://captico.com/increasing-your-google-local-business-ranking-%e2%80%93-google-local-business-optimization/2010/01</link> <comments>http://captico.com/increasing-your-google-local-business-ranking-%e2%80%93-google-local-business-optimization/2010/01#comments</comments> <pubDate>Wed, 27 Jan 2010 20:42:06 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Business Strategy]]></category> <category><![CDATA[SEO/SEM]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Local Listings]]></category> <category><![CDATA[Search Engine Optimization]]></category> <category><![CDATA[SEO]]></category> <guid
isPermaLink="false">http://www.captico.com/?p=378</guid> <description><![CDATA[Looking to increase your visibility to Google AND get your business listed near top of Google for FREE in Local Business Center? Follow the easy steps below to do just that and move up in rank when a user types in your service oriented business followed by the city for their search.]]></description> <content:encoded><![CDATA[<p>Looking to increase your visibility to <a
href="http://www.google.com/">Google</a> AND get your business listed near top of Google for <strong>FREE</strong> in Local Business Center? Follow the easy steps below to do just that and move up in rank when a user types in your service oriented business followed by the city for their search. For more information, visit <a
href="http://www.captico.com/">Captico’s</a> <a
title="Search Engine Optimization" href="http://www.captico.com/services/search-engine-optimization/" target="_blank">Search Engine Optimization</a> page to learn more about importance of SEO for your business.  <strong>SEO IS KING!!!!</strong><br
/> <span
id="more-378"></span></p><ol><li><strong>Get Listed in Google Local Business Center </strong>- Go to following URL and get your business listed in Google. Submission process is easy, follow Google’s steps and our steps below. Await verification code via phone or postcard and GET Listed!</li><li><a
title="www.google.com/local/add" href="http://www.google.com/local/add" target="_blank">www.google.com/local/add</a></li><li><strong>Use Keywords in Company Description</strong> – Develop a list of 5 keywords that best describes your business and incorporate words into your company description. Do not spam it! Make content coherent and consistent.</li><li><strong>Add Photos</strong> &#8211; Add as many photos you can to your listing and your company logo. When uploading files, be sure to optimize name of the file to match one of the main keywords you developed in Step 2.</li><li><strong>Encourage Customer Reviews/Add Links Back </strong>– Get real customers to post reviews on your listing about products/services. Provide a link from your website for visitors to post reviews on your Google Local Business Listing page.</li><li><strong>Add Coupon</strong><strong>s</strong> – Add coupons to your Google Local Business Listing and you are sure to move up in rank.</li><li><strong>Add Videos</strong>- If you have videos, upload to <a
title="YouTube" href="http://www.youtube.com" target="_blank">YouTube </a>and post a link to it in your Google Local Business Listing. Great way of increasing rank.</li><li><strong>Enter as Much Detail Possible</strong> &#8211; Hours of operations, payment options, other additional details, etc. More detail equals better rank. Google’s local business center algorithm will view your listing as credible and serious.</li></ol><p><em><strong>You may also be interested in: </strong></em><a
href="http://captico.com/a-tip-for-better-google-local-business-optimization/2010/06"><em><strong>A Tip for Better Google Local Business Optimization</strong></em></a></p> ]]></content:encoded> <wfw:commentRss>http://captico.com/increasing-your-google-local-business-ranking-%e2%80%93-google-local-business-optimization/2010/01/feed</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Repeating textured backgrounds</title><link>http://captico.com/repeating-textured-backgrounds/2010/01</link> <comments>http://captico.com/repeating-textured-backgrounds/2010/01#comments</comments> <pubDate>Mon, 25 Jan 2010 07:16:43 +0000</pubDate> <dc:creator>Todd Fisher</dc:creator> <category><![CDATA[Multi-Media]]></category> <category><![CDATA[Visual Design]]></category> <category><![CDATA[Watch Videos]]></category> <category><![CDATA[adobe]]></category> <category><![CDATA[graphic design]]></category> <category><![CDATA[photoshop]]></category> <category><![CDATA[tutorial]]></category> <guid
isPermaLink="false">http://www.captico.com/?p=364</guid> <description><![CDATA[How to create a repeating graphic of a textured background]]></description> <content:encoded><![CDATA[<p>I’ve had several requests to explain how to create a repeating graphic of a textured background.  However, textured backgrounds don&#8217;t always lend themselves to tiling without showing edges.  Here&#8217;s the solution.<br
/> <object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param
name="allowFullScreen" value="true" /><param
name="allowscriptaccess" value="always" /><param
name="src" value="http://www.youtube.com/v/7TaZJ_6mlDU&amp;hl=en_US&amp;fs=1&amp;" /><param
name="allowfullscreen" value="true" /><embed
type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/7TaZJ_6mlDU&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p> ]]></content:encoded> <wfw:commentRss>http://captico.com/repeating-textured-backgrounds/2010/01/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
