<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Official BV Software Blog</title>
    <description>Ecommerce New and Updates - BV Commerce</description>
    <link>http://blog.bvsoftware.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.4.5.0</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://blog.bvsoftware.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>BV Software</dc:creator>
    <dc:title>Official BV Software Blog</dc:title>
    <geo:lat>37.600590</geo:lat>
    <geo:long>-77.549640</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BvBlog" /><feedburner:info uri="bvblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>37.593546</geo:lat><geo:long>-77.562719</geo:long><item>
      <title>Merchant Tales: The First Sale</title>
      <description>&lt;img style="float: right; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 10px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2ffirstsale.png" alt="My First Sale" /&gt;
&lt;p&gt;
Even though I create shopping cart software, I consider myself a merchant as well. And just like any merchant, I once had a &amp;ldquo;first sale.&amp;rdquo; Brick and mortar merchants often frame their first dollar, but for online merchants it&amp;rsquo;s not quite as exciting to frame an electronic bank statement. Still, my first sale was exciting enough that I still remember it.
&lt;/p&gt;
&lt;p&gt;
In 2001 I spent six months creating a shopping cart platform called BV Commerce. &amp;nbsp;BV stood for &amp;ldquo;Best Value.&amp;rdquo; And I named it that largely because I wanted to be near the top of Yahoo&amp;rsquo;s list of ecommerce software. (This was back when Yahoo was still THE search engine and alphabetical order actually counted for something.)
&lt;/p&gt;
&lt;p&gt;
BV Commerce was the first commercial asp.net ecommerce application, and it was simple but good. Everything worked well, and I thought that because it was good sales would magically appear.
&lt;/p&gt;
&lt;p&gt;
Luckily, I had a friend who owned a local hosting company who I&amp;rsquo;d done consulting work for in the past, and he decided to take a chance on me and use my software. He knew what I was working on and respected that even though I didn&amp;rsquo;t have all the features of the competition, reliability in shopping cart software was more important. He had a client who was having a really difficult time with an old ASP cart and put in a good word for me. That was the first copy of BV Commerce sold.
&lt;/p&gt;
&lt;img style="display: block; margin-top: 1em; margin-right: auto; margin-bottom: 1em; margin-left: auto" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2ffirstsalegraphic.png" alt="My First Sale" /&gt;
&lt;p&gt;
It&amp;rsquo;s hard to describe the excitement I felt when I saw that first store go live. My software had helped create that site. It was kind of like my kid&amp;mdash;a boxy, pixilated kid. It got me hooked on entrepreneurship and software craftsmanship. And 11 years later, I still have the bug to create good software that helps people follow their own dreams.
&lt;/p&gt;
&lt;p&gt;
What your first sale story? Was it exciting? Scary? Sad? Share your experience with other merchants, designers and developers.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bx_8b49hS2MrkFKBbK-3JHgnrpQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bx_8b49hS2MrkFKBbK-3JHgnrpQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bx_8b49hS2MrkFKBbK-3JHgnrpQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bx_8b49hS2MrkFKBbK-3JHgnrpQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/8_Dwy77s1jY" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/8_Dwy77s1jY/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/12/15/Merchant-Tales-The-First-Sale.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=df51a4a2-fcb4-4efe-bee3-83314c1b2132</guid>
      <pubDate>Thu, 15 Dec 2011 06:00:00 -0400</pubDate>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=df51a4a2-fcb4-4efe-bee3-83314c1b2132</pingback:target>
      <slash:comments>20</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=df51a4a2-fcb4-4efe-bee3-83314c1b2132</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/12/15/Merchant-Tales-The-First-Sale.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=df51a4a2-fcb4-4efe-bee3-83314c1b2132</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=df51a4a2-fcb4-4efe-bee3-83314c1b2132</feedburner:origLink></item>
    <item>
      <title>7 Key Performance Indicators to Increase Ecommerce Conversion Rates</title>
      <description>&lt;div style="width: 200px; font-size: 11px; line-height: 1.2em; background-color: #f7f7cf; float: right; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 10px; border-width: 1px; border-color: #cbcbaa; border-style: solid; padding: 10px"&gt;
&lt;img src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2fUshaSliva200x267.jpg" alt="Usha Sliva" /&gt;
&lt;p&gt;
Online marketing copy specialist, Usha Sliva, blogs about the relevance of
web metrics and social media for business owners.
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
As an ecommerce store owner, there are plenty of ways you measure your store&amp;rsquo;s success -the decisive measurement is probably the amount of revenue it generates. Profits are certainly your best friend, but reaching them can take you through a variety of strategies, all which need to be defined and measured.
&lt;/p&gt;
&lt;p&gt;
Enter in &lt;a href="http://www.webopedia.com/TERM/K/KPI.html"&gt;Key performance indicators&lt;/a&gt; (KPI). KPI&amp;rsquo;s form an integral part of your ecommerce success strategy, whether you recognize them or not. They&amp;rsquo;re described as web metrics used to help an online publisher define and measure progress toward achieving business, marketing, and communication goals.
&lt;/p&gt;
&lt;p&gt;
In other words, they are those criteria you attach to your business in order for it to succeed. They translate complex measures into a simple indicator that allow you to assess the current situation and act quickly.
&lt;/p&gt;
&lt;p&gt;
KPI&amp;rsquo;s are invaluable in helping your increase your website&amp;rsquo;s conversion rates. However for them to be effective they need to be actionable &amp;ndash;they should report on the metrics that matter the most for your organization. So what should you monitor? Traffic, visitors, and revenue &amp;ndash;yes. But in addition, you may have a lot more categories depending on what kind of website you have and what your business objectives are.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Let&amp;rsquo;s take as examples simple objectives that would apply to any ecommerce store:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
In an ecommerce store, the goal is to get visitors to buy goods and services online. Examples of these stores include &lt;a href="http://Amazon.com"&gt;Amazon&lt;/a&gt;, &lt;a href="http://Zappos.com"&gt;Zappos&lt;/a&gt;, &lt;a href="http://Shopflick.com"&gt;Shopflick&lt;/a&gt;, and &lt;a href="http://www.travelocity.com/?IgnoreIpRedirect=yes"&gt;Travelocity&lt;/a&gt;.
&lt;/p&gt;
&lt;table border="0" style="margin-top: 1em; margin-right: auto; margin-bottom: 1em; margin-left: auto; width: 75%"&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td style="border-top-width: 0px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 0px; border-color: #000000; border-style: solid; padding: 5px"&gt;&lt;strong&gt;Objective&lt;/strong&gt;&lt;/td&gt;
			&lt;td style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-color: #000000; border-style: solid; padding: 5px"&gt;&lt;strong&gt;KPI&lt;/strong&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="border-top-width: 0px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 0px; border-color: #000000; border-style: solid; padding: 5px"&gt;Increase the number of visitors to the website&lt;/td&gt;
			&lt;td style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-color: #000000; border-style: solid; padding: 5px"&gt;Number of unique visitors&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="border-top-width: 0px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 0px; border-color: #000000; border-style: solid; padding: 5px"&gt;Have more people make a direct purchase from the website&lt;/td&gt;
			&lt;td style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-color: #000000; border-style: solid; padding: 5px"&gt;Ecommerce conversion rate&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="border-top-width: 0px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 0px; border-color: #000000; border-style: solid; padding: 5px"&gt;Increase the percentage of returning visitors&lt;/td&gt;
			&lt;td style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-color: #000000; border-style: solid; padding: 5px"&gt;Percentage of returning visitors&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
Online retail stores generally have a common bottom line &lt;strong&gt;&amp;ndash;to generate revenue from the website&lt;/strong&gt;. If revenue is the key objective, the KPI&amp;rsquo;s should include the following:
&lt;ol&gt;
	&lt;li&gt;&lt;strong&gt;Conversion rates:&lt;/strong&gt; There are multiple ways to calculate conversion rates, but the two most common are the ratio of visitors to orders and the ratio of people who start checkout to orders. Advertising and marketing campaigns are used to send visitors to a website and it&amp;rsquo;s these campaigns that will help you track and measure conversion rate data.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Average order value:&lt;/strong&gt; This is the ratio of revenue to order and can depend on not only the products, but also the merchandizing, making it important to showcase more expensive products and encourage visitors to purchase them.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Customer loyalty:&lt;/strong&gt; The ratio of new customers to old customers, where you want to increase both.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Visit value:&lt;/strong&gt; This calculates the ratio of visits to revenue and is an indicator of the quality of traffic you receive.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Search engine referrals:&lt;/strong&gt; If using paid search terms, then you want to add this to the mix. It&amp;rsquo;s the ratio of referrals from search engines like Google, Yahoo and Bing to the industry average.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Category Performance:&lt;/strong&gt; How much is sold in each category? This is the ratio of products sold within a category to products sold across categories. Through it, you can calculate the total number of products sold and the average order quantity for each product.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Time to purchase value:&lt;/strong&gt; How long does it take for a visitor to make a purchase? This the ratio of the time the visitor spends on each page to the time he makes a purchase on the page.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;Tools to Define and Track Your KPIs&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The major benefit of tracking your KPI&amp;rsquo;s is that it allows everyone in the organization to work toward common goals and eliminates tasks that are not generating results. A store is more likely to increase its conversion rates if its core objectives are clearly defined, which is what KPIs can do for you.
&lt;/p&gt;
&lt;p&gt;
Web analytics can be a scary concept for most marketing managers, let alone ecommerce store owners who&amp;rsquo;ve donned the marketing mantle. Yet without a good web analytical tool, it can be hard to track and measure your key performing indicators. &lt;a href="http://www.google.com/analytics/"&gt;Google analytics&lt;/a&gt; for example, can help you measure how well your website in doing in terms of achieving its objectives; what changes are needed; and if those changes are having the desired effect.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SpS-A1ygcX8xtgpPG6sbQlgBsFk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SpS-A1ygcX8xtgpPG6sbQlgBsFk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SpS-A1ygcX8xtgpPG6sbQlgBsFk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SpS-A1ygcX8xtgpPG6sbQlgBsFk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/Ek7mBZNpuZU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/Ek7mBZNpuZU/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/12/13/7-Key-Performance-Indicators-to-Increase-Ecommerce-Conversion-Rates.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=711f2918-1e5b-4dfa-92d9-3bbbfb5b4c0f</guid>
      <pubDate>Tue, 13 Dec 2011 06:00:00 -0400</pubDate>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=711f2918-1e5b-4dfa-92d9-3bbbfb5b4c0f</pingback:target>
      <slash:comments>33</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=711f2918-1e5b-4dfa-92d9-3bbbfb5b4c0f</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/12/13/7-Key-Performance-Indicators-to-Increase-Ecommerce-Conversion-Rates.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=711f2918-1e5b-4dfa-92d9-3bbbfb5b4c0f</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=711f2918-1e5b-4dfa-92d9-3bbbfb5b4c0f</feedburner:origLink></item>
    <item>
      <title>5 Ways to Capture Last Minute Holiday Sales</title>
      <description>&lt;img style="float: right; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 10px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2flastminuteicon.png" alt="5 Ways to Capture Last Minute Holiday Sales" /&gt;
&lt;p&gt;
Twas the week before Christmas and all through the house, not a creature was stirring&amp;hellip;except dad hiding in the bathroom on his iphone frantically ordering a last minute gift for his wife.
&lt;/p&gt;
&lt;p&gt;
The holiday season has arrived and although according to Google&amp;rsquo;s 2011 Holiday Consumer Intentions Report 43% of holiday shoppers planned to do most of their shopping by CyberMonday, that still leaves 67% playing catch up for Christmas, Hanukkah and Kwanza. Here are 5 ways to capture their business.
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Coupons are king: The economy might be improving, but shoppers are still hungry for discounts. According to Google&amp;rsquo;s report, 55% of shoppers said they planned to use more coupons this year and 50% planned to spend more time shopping around for gifts. Offer targeted ads for last minute holiday shoppers and don&amp;rsquo;t forget to address shipping dates. Make sure shoppers know their gifts will arrive on time.&lt;/li&gt;
	&lt;li&gt;Make it Easy for Men: It may be a stereotype, but studies have shown that more last minute shoppers are men. According to a 2009 study by the University of Michigan, women see shopping as recreation, whereas any woman who&amp;rsquo;s been shopping with her boyfriend or husband knows that he wants to get in and out as soon as possible. So, lose the &amp;ldquo;gatherer&amp;rdquo; mentality and think &amp;ldquo;hunter&amp;rdquo; on your web store. &amp;nbsp;MerchantTribe includes the ability to add Top 10 lists. Use it! Also, highlight reviews and suggestions to capture last minute male shoppers. &lt;a href="http://www-personal.umich.edu/%7Ekruger/Kruger_Evolution_and_Shopping.pdf"&gt;http://www-personal.umich.edu/%7Ekruger/Kruger_Evolution_and_Shopping.pdf&lt;/a&gt;
	&lt;img style="display: block; margin-top: 1em; margin-right: auto; margin-bottom: 1em; margin-left: auto" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2fcouponstat.png" alt="Coupons are King" /&gt;&lt;/li&gt;
	&lt;li&gt;Get Mobile: We all know that mobile commerce is growing by leaps and bounds, but last minute shoppers especially are browsing at work or on the go. According to Google, 54% of shoppers will use Smartphones to aid them this holiday season and 77% will use tablets. If you haven&amp;rsquo;t made sure that your web site looks and works great on smart phones and tablets, you could be losing out on sales.&lt;/li&gt;
	&lt;li&gt;Make It Meta: Don&amp;rsquo;t forget to change your page titles and meta descriptions to reach last minute shoppers. Use targeted seasonal phrases. Make notes about which products you change, so you can change them back after the holiday season is over. You can use Google Insights to view the most searched for terms during a period of time and write your descriptions accordingly. A search for last year&amp;rsquo;s most popular holiday shopping terms revealed terms like &amp;ldquo;shoes, coupons and boots&amp;rdquo; as well as popular brand names. &lt;a href="http://www.google.com/insights/search/#cat=0-18&amp;amp;geo=US&amp;amp;date=11%2F2010%202m&amp;amp;cmpt=q"&gt;http://www.google.com/insights/search/#cat=0-18&amp;amp;geo=US&amp;amp;date=11%2F2010%202m&amp;amp;cmpt=q&lt;/a&gt;
	&lt;img style="display: block; margin-top: 1em; margin-right: auto; margin-bottom: 1em; margin-left: auto" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2ftargetedcopy.png" alt="Targeted Copy" /&gt;&lt;/li&gt;
	&lt;li&gt;Use Smart Search Engine Marketing: Writing great copy for Google Adwords and other SEM avenues is always important, but for last minute holiday sales remember to be extremely direct. Last minute shoppers may be overwhelmed with options and short on time. The more targeted your ad, the more your store stands out. Use specifics details and suggest gift recipients for added sales.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Use these 5 tips and you&amp;rsquo;ll be seeing last minute sales in no time!
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/d-075zIAZlPMnzFAcF5didqTEVQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d-075zIAZlPMnzFAcF5didqTEVQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/d-075zIAZlPMnzFAcF5didqTEVQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d-075zIAZlPMnzFAcF5didqTEVQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/oewhScSfhyk" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/oewhScSfhyk/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/12/12/5-Ways-to-Capture-Last-Minute-Holiday-Sales.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=c53d2ec5-26ee-4875-b996-9e796d2487cf</guid>
      <pubDate>Mon, 12 Dec 2011 13:53:00 -0400</pubDate>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=c53d2ec5-26ee-4875-b996-9e796d2487cf</pingback:target>
      <slash:comments>40</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=c53d2ec5-26ee-4875-b996-9e796d2487cf</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/12/12/5-Ways-to-Capture-Last-Minute-Holiday-Sales.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=c53d2ec5-26ee-4875-b996-9e796d2487cf</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=c53d2ec5-26ee-4875-b996-9e796d2487cf</feedburner:origLink></item>
    <item>
      <title>3 Quick SEO Tips</title>
      <description>&lt;img style="float: right; margin: 0pt 0pt 10px 10px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2fquicktips.png" alt="3 Quick SEO Tips" /&gt;
Here are 3 quick search engine optimization (SEO) tips to help your store:     &lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Submit your site to the search engines &lt;/strong&gt;- Yes, some people forgot this step! Unless the search engines know about your site, there is no SEO. If you have a new site (or an old one) make sure that you are listed in all major search engines. Next look for speciality search engines to might fit your market. Then do a search for your own domain name in each search site and make sure you show up. The top 3 search engines right now are Google.com, Yahoo.com and Bing.com (Microsoft&amp;#39;s search engine). 
	&lt;/li&gt;	   
	&lt;li&gt;&lt;strong&gt;Think Marathon, Not Sprint&lt;/strong&gt; - SEO is a process. It isn&amp;#39;t a set-it-and-forget-it Ron Popeil machine. Your competitors aren&amp;#39;t standing still and you shouldn&amp;#39;t be either. If you optimize your web site and manage to get on the first page for a specific keyword today, there is no guarantee you&amp;#39;ll be there tomorrow. In fact, fresh content is one of the ways search engines determine relevance. Understand that you need to keep tweaking your site and adding content to stay at the top. Don&amp;#39;t worry if you&amp;#39;re not seeing dramatic results on day one just keep at it and build a great content library over time.&lt;/li&gt;    
&lt;/ul&gt;
&lt;div style="text-align: center; padding-bottom: 10px"&gt;
&lt;img style="border: 1px solid #cccccc" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2fCallOutSeo.png" alt="" /&gt;
&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Boosting traffic might not mean more sales&lt;/strong&gt; - It sound crazy but more traffic doesn&amp;#39;t always mean more sales. What you need is targeted traffic. If you sell women&amp;#39;s bathing suits and you get 100% more visitors who are all men, you probably won&amp;#39;t see an increase in sales. Make sure that you are targeting keywords which will bring qualified leads to your site. Make sure that you have a good understanding of who your customers are. There may be one than one segment and you may need to create separate SEO landing pages and campaigns to target the different groups. If you can put yourself in the mind of your customers you&amp;#39;ll see opportunities for keywords, articles and advertising that will bring in more sales!&lt;/li&gt;    	 
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BGnudGaasnNi67DFX8OyWWez2Qg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BGnudGaasnNi67DFX8OyWWez2Qg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BGnudGaasnNi67DFX8OyWWez2Qg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BGnudGaasnNi67DFX8OyWWez2Qg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/p_IWshd09c8" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/p_IWshd09c8/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/12/03/3-quick-seo-tips-for-stores.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=e0a02e48-b476-47b3-9171-36f183b1e1ea</guid>
      <pubDate>Sat, 03 Dec 2011 09:32:00 -0400</pubDate>
      <category>Marketing</category>
      <category>SEO/SEM</category>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=e0a02e48-b476-47b3-9171-36f183b1e1ea</pingback:target>
      <slash:comments>76</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=e0a02e48-b476-47b3-9171-36f183b1e1ea</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/12/03/3-quick-seo-tips-for-stores.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=e0a02e48-b476-47b3-9171-36f183b1e1ea</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=e0a02e48-b476-47b3-9171-36f183b1e1ea</feedburner:origLink></item>
    <item>
      <title>Future Prediction: Laptops will All Have Touch Screens by 2013 (or sooner)</title>
      <description>&lt;p&gt;
I was looking back over my blog history and noticed that three years ago&amp;nbsp;&lt;a href="http://blog.bvsoftware.com/post/2008/08/27/Touch-Screens-will-be-on-all-new-laptops-within-5-years.aspx" title="In 5 years, all new laptops will be touchscreen"&gt;I predicted that all new laptops would be touchscreen in 5 years&lt;/a&gt;. At the time my logic was that once you used a touch interface you missed it when it didn&amp;#39;t exist. I&amp;#39;m actually a little surprised that Apple hasn&amp;#39;t introduced a touchscreen laptop yet but the larger trackpads with multi-touch gestures are getting close. 
&lt;/p&gt;
&lt;p&gt;
I&amp;#39;ve got another 2 years until my prediction is either upheld or fails. I think my original thinking holds true including my opinion that even with touch screen, mouse and keyboard would remain the primary interface for most desktop machines.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
I&amp;#39;ll make a new prediction that 5 years from today all laptops will be shipped with wireless chips allowing them to get broadband internet access anywhere you can get a cell phone signal. I&amp;#39;ll have to check back in 2013 to see if my touch screen prediction was accurate and how the wireless internet prediction is holding up.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kE0vdlyI8bJpKHKh6evF6PbwC5g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kE0vdlyI8bJpKHKh6evF6PbwC5g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kE0vdlyI8bJpKHKh6evF6PbwC5g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kE0vdlyI8bJpKHKh6evF6PbwC5g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/UR0AsTvqgBA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/UR0AsTvqgBA/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/08/02/Future-Prediction-Laptops-will-All-Have-Touch-Screens-by-2013-(or-sooner).aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=baac105d-3c25-48fa-9e04-550ab5f25f79</guid>
      <pubDate>Tue, 02 Aug 2011 23:11:00 -0400</pubDate>
      <category>General</category>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=baac105d-3c25-48fa-9e04-550ab5f25f79</pingback:target>
      <slash:comments>48</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=baac105d-3c25-48fa-9e04-550ab5f25f79</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/08/02/Future-Prediction-Laptops-will-All-Have-Touch-Screens-by-2013-(or-sooner).aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=baac105d-3c25-48fa-9e04-550ab5f25f79</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=baac105d-3c25-48fa-9e04-550ab5f25f79</feedburner:origLink></item>
    <item>
      <title>Google Panda Update Changes Search Engine Optimization (SEO) for Online Stores and Merchants</title>
      <description>&lt;p&gt;
If you weren&amp;#39;t aware of it already, Google recently made a major update to their algorithm called the &amp;quot;Panda&amp;quot; update. It has nothing to do with those lovable black and white bears, it was named after a Google engineer who helped make machine learning faster. Machine learning is where a computer is told things like &amp;quot;This is the letter &amp;#39;a&amp;#39;&amp;quot; and &amp;quot;This is not the letter &amp;#39;a&amp;#39;&amp;quot; several times. The computer is then shown lots and lots of pictures of letters and will &amp;quot;learn&amp;quot; whether it is an &amp;#39;a&amp;#39; or not. Google is now using machine learning to help rank web sites according to user satisfaction.&amp;nbsp;
&lt;/p&gt;
&lt;h2&gt;What does User Satisfaction Mean to Google?&lt;/h2&gt;
&lt;p&gt;
Google used a sample group and asked them to look at a whole bunch of web sites and then answer questions like: Does this web site answer your question? Would you trust this medical advice for your child? Do you think the site is well designed? etc. This created the seed values for machine learning. On the surface the questions are interesting but what it means is that the web site was evaluated as a whole, not a specific part.
&lt;/p&gt;
&lt;h2&gt;How do I change my Search Engine Optimization (SEO) for the Panda update?&lt;/h2&gt;
&lt;p&gt;So how should you optimize search engine changes? In the past it was fairly easy to pick a strategy. If Google increased the important of social media then you would spend more time on FaceBook and Twitter promoting your site. Because the Panda update evaluates your site as a whole your SEO changes need to shift from specific tactics to overall user happiness.&lt;/p&gt;
&lt;h2&gt;Give me some practical advice that I can use today!&lt;/h2&gt;
&lt;p&gt;Here are a few ideas you can use today to improve your search engine rankings with the Google Panda changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Make your pages load faster. Nobody likes to wait. Optimize images, remove external javascript libraries and trackers you don't need and trim page size if possible.&lt;/li&gt;
&lt;li&gt;Rewrite your copy for humans instead of computers. It is important to keep your text keyword rich but narrative text than engages users while still using keywords will rank higher now.&lt;/li&gt;
&lt;li&gt;Remove poorly performing pages from your site. If you have older content that isn't the best experience for users it will slightly impact your overall rankings now. Consider removing it or updating it.&lt;/li&gt;
&lt;li&gt;Don't try and trick users with optimized landing pages. Google knows when a user lands on your page and quickly backs up to another site. If you don't have beneficial content, product or services for the keywords you're using, don't build that landing page. Make each page on your site awesome and good things will come.&lt;/li&gt;
&lt;li&gt;Differentiate to delight. If everyone talks about athletic shoes in terms of &amp;quot;toughness&amp;quot; or &amp;quot;fit&amp;quot; trying writing about how many marathons you've run in the same pair of shoes. Get customers to send in photos of their well worn Nike's and build a community to demonstrate the shoes are tough and fit well. Users will spend more time on your site and reward the extra effort with extra sales&lt;/li&gt;  
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DXSEh-LZYnWUl-EBjS402RLTEK8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DXSEh-LZYnWUl-EBjS402RLTEK8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DXSEh-LZYnWUl-EBjS402RLTEK8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DXSEh-LZYnWUl-EBjS402RLTEK8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/At8DZHe2xUk" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/At8DZHe2xUk/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/06/24/google-panda-update-changes-search-engine-optimization-seo-store-merchants.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=9170e0ec-2d40-4b4b-a18a-535035c022f3</guid>
      <pubDate>Fri, 24 Jun 2011 11:40:00 -0400</pubDate>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=9170e0ec-2d40-4b4b-a18a-535035c022f3</pingback:target>
      <slash:comments>20</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=9170e0ec-2d40-4b4b-a18a-535035c022f3</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/06/24/google-panda-update-changes-search-engine-optimization-seo-store-merchants.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=9170e0ec-2d40-4b4b-a18a-535035c022f3</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=9170e0ec-2d40-4b4b-a18a-535035c022f3</feedburner:origLink></item>
    <item>
      <title>How to Create a Custom Theme For BV Commerce 6 | Design Guide</title>
      <description>&lt;img style="float: right; margin: 0pt 0pt 10px 10px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f6%2fColorWheel_150x150.png" alt="" /&gt;
&lt;p&gt;
&lt;a href="http://forums.bvcommerce.com/default.aspx?f=104&amp;amp;m=68517"&gt;BV Commerce 6 Theme Kit Download&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://github.com/mmcconnell1618/BV-Commerce-Community"&gt;BV Commerce 6 Theme Kit Source Code&lt;/a&gt;
&lt;/p&gt;
 
&lt;p&gt;
This theme kit will help you create custom themes for your store. It includes standard HTML versions of the common store pages which you can use to preview your CSS and images using any standard web design tool like Dreamweaver, Expression Web or Text Mate.
&lt;/p&gt;
&lt;h2&gt;Getting Started&lt;/h2&gt;
&lt;p&gt;
Download the theme kit to your computer where you will be doing design work. Unzip all of the files. You will see &amp;ldquo;PhotoShopFiles&amp;rdquo; and &amp;ldquo;www&amp;rdquo; folders. The &amp;ldquo;PhotoShopFiles&amp;rdquo; folder contains PSD files which you can use to create new buttons and graphics from the existing templates. This will save you time if you use PhotoShop. Many other design/paint programs can also read PSD formatted files.
The &amp;ldquo;www&amp;rdquo; folder contains a mock-up of a store using a common theme. There are several sub folder that you should become familiar with to create a custom theme.
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&amp;ldquo;assets&amp;rdquo; &amp;ndash; This folder contains any custom images referenced by your design. When your CSS file uses the {{assets}} prefix on any URL the theme kit will look in this folder for the image.&lt;/li&gt;
	&lt;li&gt;&amp;ldquo;buttons&amp;rdquo; &amp;ndash; This folder contains any custom button images for your theme. You should create custom buttons to replace every standard one.&lt;/li&gt;
	&lt;li&gt;&amp;ldquo;css&amp;rdquo; &amp;ndash; This folder contains the Theme.css file which is the main place you&amp;rsquo;ll be working to create a custom theme. Other .css files in this folder are standard to the software and are for reference only. Do not edit them as any changes you make will NOT be included in custom themes you upload to the store. Instead, override their CSS settings if you need to in Theme.css&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
The other folders and files are simple there to create a local copy of your store for design testing. There is no need to edit any of them.
&lt;/p&gt;
&lt;h2&gt;How to work with the Theme Kit&lt;/h2&gt;
&lt;p&gt;
Standard practice would be to double click on the Home.html file which will open in your web browser. You can click through most of the links in the theme kit to move between sample pages.
&lt;/p&gt;
&lt;p&gt;
You should then open your design tool and load up the entire &amp;ldquo;www&amp;rdquo; folder as a web site. This will let you easily view all of the files and change the Theme.css to create a new design.
&lt;/p&gt;
&lt;p&gt;
Preview your changes in your web browser locally as needed.
&lt;/p&gt;
&lt;h2&gt;Special CSS Tricks for Theme Kit&lt;/h2&gt;
&lt;p&gt;
The theme kit duplicates some special CSS tricks of your store. The {{assets}} tag should be used as the first part of any URL in your style sheet. For example, if you include a custom image called &amp;ldquo;HomeAd2.png&amp;rdquo; in your design you should reference it in the style sheet as:
&lt;/p&gt;
&lt;p&gt;
url(&amp;lsquo;{{assets}}HomeAd2.png&amp;rsquo;);
&lt;/p&gt;
&lt;p&gt;
And you should then place it in the /www/assets folder of your theme kit locally to see the results. The ThemeHelper.js file automatically replaces {{assets}} with the correct link and this will let you upload your CSS file to the live store without any changes.
&lt;/p&gt;
&lt;h2&gt;Uploading to a Store When You&amp;rsquo;re Done&lt;/h2&gt;
&lt;p&gt;
When you&amp;rsquo;re ready to upload to your store go to the admin side and click on the &amp;ldquo;Options-&amp;gt;Themes&amp;rdquo; menu item. Hover your mouse over any installed theme and select &amp;ldquo;Duplicate Theme&amp;rdquo; which will create a new copy of that theme. Click the &amp;ldquo;Edit&amp;rdquo; button on your &amp;ldquo;Copy of xxxx&amp;rdquo; theme where &amp;ldquo;xxxx&amp;rdquo; is the name of the theme you duplicated.
&lt;/p&gt;
&lt;p&gt;
Next, change the name, description and other basic theme information for your new design and save.
&lt;/p&gt;
&lt;p&gt;
Then, click on &amp;ldquo;Style Sheet (CSS)&amp;rdquo; and copy and paste your entire local Theme.css file into the text box and save.
&lt;/p&gt;
&lt;p&gt;
Third, under Images: Buttons upload all of the files in your local /www/buttons folder to the store.
&lt;/p&gt;
&lt;p&gt;
Fourth, under Images: Assets upload all of the files in your local /www/assets folder to the store.
&lt;/p&gt;
&lt;p&gt;
Lastly, choose &amp;ldquo;Back to Themes&amp;rdquo; and then click on &amp;ldquo;Select This Theme&amp;rdquo; when you&amp;rsquo;re ready to activate it on your live store.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7kf4-BDGF0oebwc_a1WlxG6-oKA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7kf4-BDGF0oebwc_a1WlxG6-oKA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7kf4-BDGF0oebwc_a1WlxG6-oKA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7kf4-BDGF0oebwc_a1WlxG6-oKA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/NOpGz25ikrQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/NOpGz25ikrQ/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/06/10/How-to-Create-a-Custom-Theme-For-BV-Commerce-6-7c-Design-Guide.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=c3b191fd-4482-4979-822b-07aa92a58b5a</guid>
      <pubDate>Fri, 10 Jun 2011 14:03:00 -0400</pubDate>
      <category>bv commerce</category>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=c3b191fd-4482-4979-822b-07aa92a58b5a</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=c3b191fd-4482-4979-822b-07aa92a58b5a</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/06/10/How-to-Create-a-Custom-Theme-For-BV-Commerce-6-7c-Design-Guide.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=c3b191fd-4482-4979-822b-07aa92a58b5a</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=c3b191fd-4482-4979-822b-07aa92a58b5a</feedburner:origLink></item>
    <item>
      <title>How to Improve Customer Testimonials to Get More Sales</title>
      <description>&lt;img style="float: right; margin: 0px 0px 10px 10px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2ftestimonials.png" alt="" /&gt;
&lt;p&gt;
Are you using customer testimonials on your store? If not, you should be. They are a powerful tool that lets shoppers know you have other satisfied customers. When new shoppers know that other people are happy with your store they gain a sense of trust and that leads to higher conversion rates and sales.
&lt;/p&gt;
&lt;p&gt;
Most stores (myself included) ask for testimonials and put up the ones that are most flattering. It&amp;#39;s pretty easy to get some nice &amp;quot;sound bytes&amp;quot; for your homepage. But, just grabbing to best sounding testimonials may not be the best tactic.
&lt;/p&gt;
&lt;p&gt;
Ramit Sethi from&amp;nbsp;&lt;a href="http://IWillTeachYouToBeRich.com" title="I Will Teach You To Be Rich - Ramit Sethi"&gt;IWillTeachYouToBeRich.com&lt;/a&gt;&amp;nbsp;is an expert in human behavior. I had the pleasure of talking with him this week at MicroConf 2011 and he pointed out that testiminials are a great opportunity to build more than trust. They can be used to address specific concerns your customers may have.
&lt;/p&gt;
&lt;p&gt;
He suggested that everyone should be tactical in deciding which testimonials to post. If your shoppers are concerned that the quality of your products may not be great because of your low prices, seek out testimonials that address that concern. Find a testimonial that says something like &amp;quot;I though the quality would be poor because the prices were so great but instead this thing is built like a truck.&amp;quot;
&lt;/p&gt;
&lt;div style="text-align: center; padding-bottom: 10px"&gt;
&lt;img style="border: 1px solid #cccccc" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f12%2fCallOutTestimonials.png" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;
Picking testimonials that address your shopper&amp;#39;s fears prior to purchasing is something that you can do today that your competitor&amp;#39;s won&amp;#39;t be doing. It&amp;#39;s a quick easy way to increase sales. Take a look at your catalog of testimonials and see if you can swap them out for smarter ones right now.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AEPMuJsG238Q-Pt89LACeXlaBqQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AEPMuJsG238Q-Pt89LACeXlaBqQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AEPMuJsG238Q-Pt89LACeXlaBqQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AEPMuJsG238Q-Pt89LACeXlaBqQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/utrP36mlhEU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/utrP36mlhEU/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/06/08/How-to-Improve-Customer-Testimonials-to-Get-More-Sales.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=7d91318b-e805-4be1-88c5-0518b4ea7489</guid>
      <pubDate>Wed, 08 Jun 2011 15:50:00 -0400</pubDate>
      <category>Marketing</category>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=7d91318b-e805-4be1-88c5-0518b4ea7489</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=7d91318b-e805-4be1-88c5-0518b4ea7489</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/06/08/How-to-Improve-Customer-Testimonials-to-Get-More-Sales.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=7d91318b-e805-4be1-88c5-0518b4ea7489</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=7d91318b-e805-4be1-88c5-0518b4ea7489</feedburner:origLink></item>
    <item>
      <title>REST Based API included with BV Commerce 6.0.40 and Later</title>
      <description>&lt;p&gt;
In just a few minutes we&amp;#39;ll be shipping BV Commerce 6.0.40. This update brings some new features (like order editing) and includes a new REST based API. For those who don&amp;#39;t know, REST is a way to let machines communicate to each other using standard HTTP protocols. When you type in a URL into your web browser you are making an HTTP GET request and asking a web server to &amp;quot;get&amp;quot; a web page for you. When you submit a form on a web site you&amp;#39;re sending an HTTP POST request and posting some form data to a web server.
&lt;/p&gt;
&lt;p&gt;
REST based APIs are simple by nature. They rely on the convention that each &amp;quot;resource&amp;quot; should have a single URL. For example, /api/v1/rest/products/abc123 would represent product ABC123. If I made an HTTP DELETE request to that address the server would delete that product if I have the correct permissions to do so. 
&lt;/p&gt;
&lt;p&gt;
Fortunately, you don&amp;#39;t have to learn about HTTP methods and REST conventions to work with the new API in BV Commerce 6. We&amp;#39;ve created a simple class library that makes your life easier. Here&amp;#39;s a quick tutorial:
&lt;/p&gt;
&lt;p&gt;
1) Create a new project in Visual Studio
&lt;/p&gt;
&lt;p&gt;
2) Add a reference to the BVSoftware.CommerceDTO class library
&lt;/p&gt;
&lt;p&gt;
3) Make sure you have an API key created under Options-&amp;gt;Api in the Admin side of your store
&lt;/p&gt;
&lt;p&gt;
4) Here&amp;#39;s the sample code to create a product:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;pre&gt;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BVSoftware.CommerceDTO.v1;
using BVSoftware.CommerceDTO.v1.Client;
using BVSoftware.CommerceDTO.v1.Catalog;
namespace SuperSimpleApiSample
{
&amp;nbsp;&amp;nbsp;class Program
&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;static void Main(string[] args)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Create the proxy to your remote storeApi 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;remoteServer = new Api(&amp;quot;http://www.mystore.com&amp;quot;, &amp;quot;my api key&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Create a local product object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductDTO p = new ProductDTO();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.Sku = &amp;quot;ABC123&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.ProductName = &amp;quot;My Sample Product&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.SitePrice = 19.95m;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Call the create function
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// - Note, we&amp;#39;re passing null instead of uploading an image for this sample
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ApiResponse response = remoteServer.ProductsCreate(p, null);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Output the newly created BVIN value for the product
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&amp;quot;The bvin of the created product is &amp;quot; + response.Content.Bvin);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}
}
&lt;/pre&gt;
&amp;nbsp;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IeIi6v1a4o506S4gdEracJAlL0M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IeIi6v1a4o506S4gdEracJAlL0M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IeIi6v1a4o506S4gdEracJAlL0M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IeIi6v1a4o506S4gdEracJAlL0M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/O7vgMrQaUOY" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/O7vgMrQaUOY/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/05/26/REST-Based-API-included-with-BV-Commerce-6040-and-Later.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=efdece98-a6f2-4123-92fe-8e09cdb408cb</guid>
      <pubDate>Thu, 26 May 2011 14:53:00 -0400</pubDate>
      <category>BV6</category>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=efdece98-a6f2-4123-92fe-8e09cdb408cb</pingback:target>
      <slash:comments>27</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=efdece98-a6f2-4123-92fe-8e09cdb408cb</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/05/26/REST-Based-API-included-with-BV-Commerce-6040-and-Later.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=efdece98-a6f2-4123-92fe-8e09cdb408cb</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=efdece98-a6f2-4123-92fe-8e09cdb408cb</feedburner:origLink></item>
    <item>
      <title>Meet Marcus and Other Internet Entrepreneurs at MicroConf 2011 in Las Vegas</title>
      <description>&lt;p&gt;I&amp;#39;ve will be speaking at&amp;nbsp;&lt;a href="http://www.microconf.com"&gt;MicroConf 2011&lt;/a&gt;&amp;nbsp;in Las Vegas June 6 &amp;amp; 7. This is a really cool conference for anyone starting (or running) an internet business without outside funding. You&amp;#39;ll get the chance to hear from some great speakers include Andrew Warner of&amp;nbsp;&lt;a href="http://Mixergy.com"&gt;Mixergy.com&lt;/a&gt;&amp;nbsp;and Patrick McKenzie of&amp;nbsp;&lt;a href="http://www.BingoCardCreator.com"&gt;BingoCardCreator.com&lt;/a&gt;. Even better than hearing from these guys in the chance to meet them one on one and discuss your internet business. Rob Walling and Mike Taber have put together a really special event.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I know it&amp;#39;s short notice but BV is offering a $100 discount if you use the code &amp;quot;MARCUS&amp;quot; at&amp;nbsp;&lt;a href="http://MicroConf.com"&gt;microconf.com&lt;/a&gt;&amp;nbsp;I also have one free ticket to give away to the best tweet about why you would like to attend. Be sure to include the&amp;nbsp;&lt;a href="http://twitter.com/microconf"&gt;@microconf&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://twitter.com/marcusmcconnell"&gt;@marcusmcconnell&lt;/a&gt;&amp;nbsp;tags in your tweet.&lt;/p&gt;&lt;p&gt;If you&amp;#39;re running an internet startup or have thought about starting one this conference is a great place to start. Meet me in Vegas. I&amp;#39;m looking forward to meeting as many enterpreneurs as possible.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VBVFFOeyAedMEMYUTip_T63mong/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VBVFFOeyAedMEMYUTip_T63mong/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VBVFFOeyAedMEMYUTip_T63mong/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VBVFFOeyAedMEMYUTip_T63mong/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/us8DybIZWus" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/us8DybIZWus/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/05/23/Meet-Marcus-and-Other-Internet-Entrepreneurs-at-MicroConf-2011-in-Las-Vegas.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=436de613-c268-47c7-9eed-abbc7627a038</guid>
      <pubDate>Mon, 23 May 2011 11:48:00 -0400</pubDate>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=436de613-c268-47c7-9eed-abbc7627a038</pingback:target>
      <slash:comments>21</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=436de613-c268-47c7-9eed-abbc7627a038</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/05/23/Meet-Marcus-and-Other-Internet-Entrepreneurs-at-MicroConf-2011-in-Las-Vegas.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=436de613-c268-47c7-9eed-abbc7627a038</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=436de613-c268-47c7-9eed-abbc7627a038</feedburner:origLink></item>
    <item>
      <title>20 ways you know you're married to an internet entrepreneur</title>
      <description>&lt;img style="float: right; margin-top: 0px; margin-right: 10px; margin-bottom: 0px; margin-left: 10px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f3%2fDice.png" alt="Dice" /&gt;Guest post by my wife today...20 ways you know you&amp;#39;re married to an internet entrepreneur.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;ol&gt;	&lt;li&gt;You try to listen in on important phone calls outside the office (read: spare bedroom)&lt;/li&gt;				&lt;li&gt;You can&amp;rsquo;t say it&amp;rsquo;s &amp;ldquo;my&amp;rdquo; business, but you know damn well it is&lt;/li&gt;				&lt;li&gt;You want to respond to crappy reviews on the internet and tell them to stop picking on your boo-boo!&lt;/li&gt;				&lt;li&gt;You&amp;rsquo;re secretary, press agent, janitor, psychotherapist and geisha girl rolled into one&lt;/li&gt;				&lt;li&gt;&amp;ldquo;Daddy&amp;rsquo;s working&amp;rdquo; is the most often heard phrase in the house&lt;/li&gt;				&lt;li&gt;You spam your Facebook friends with press releases&lt;/li&gt;				&lt;li&gt;Your mother asks you how your husband&amp;rsquo;s &amp;ldquo;project&amp;rdquo; is coming along. (Oh, you mean that &amp;ldquo;project&amp;rdquo; that pays our bills? Well, the lights are on&amp;hellip;this month anyway&amp;hellip;)&lt;/li&gt;				&lt;li&gt;A &amp;ldquo;day off&amp;rdquo; means the iPhone&amp;rsquo;s set to vibrate at the movies&lt;/li&gt;				&lt;li&gt;You fall in love with complimentary customers even though they don&amp;rsquo;t know who you are. (The one who said you were the best programmer ever? Love him! Let&amp;rsquo;s send chocolates.)&lt;/li&gt;				&lt;li&gt;You remember mean customers longer than your husband.&lt;/li&gt;				&lt;li&gt;You&amp;rsquo;re simultaneously jealous and inspired and pissed off at your spouse when you hear about a new IPO. (41 million for photo sharing? Christ&amp;hellip;doesn&amp;rsquo;t anybody remember disposable cameras!)&lt;/li&gt;				&lt;li&gt;You&amp;rsquo;re old enough to remember the first bubble and thank it for your 2 carat engagement ring.&lt;/li&gt;				&lt;li&gt;My kid&amp;rsquo;s monitor is bigger than your kid&amp;rsquo;s monitor.&lt;/li&gt;				&lt;li&gt;Nobody in Virginia has any clue what your husband does for a living. Even when you explain&amp;hellip;it&amp;rsquo;s like Amazon&amp;hellip;for companies without 100 billion dollars.&lt;/li&gt;				&lt;li&gt;You won&amp;rsquo;t see The Social Network because&amp;hellip;let&amp;rsquo;s face it&amp;hellip;you&amp;rsquo;re just bitter.&lt;/li&gt;				&lt;li&gt;You want Paul Graham to sponsor YCombinator for old people. And the winner gets free health care for a year and money for his kid&amp;rsquo;s private school.&lt;/li&gt;				&lt;li&gt;You dream of your husband working for Google just for free laundry service.&lt;/li&gt;				&lt;li&gt;You don&amp;rsquo;t need to take the kids to Disneyworld because every day is a roller coaster!&lt;/li&gt;				&lt;li&gt;Your friends got diamond studs for a &amp;ldquo;push&amp;rdquo; present. You got an iPad. (And you&amp;rsquo;d rather have the iPad.)&lt;/li&gt;				&lt;li&gt;You don&amp;rsquo;t make love. You disrupt the market.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Al-aHSeCxrj2XMRRduS3gMrcVXA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Al-aHSeCxrj2XMRRduS3gMrcVXA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Al-aHSeCxrj2XMRRduS3gMrcVXA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Al-aHSeCxrj2XMRRduS3gMrcVXA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/aKovve3AiPA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/aKovve3AiPA/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/03/29/20-ways-you-know-youre-married-to-an-internet-entrepreneur.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=6ed2247d-f193-497b-bffc-5da80e2a17e9</guid>
      <pubDate>Tue, 29 Mar 2011 16:49:00 -0400</pubDate>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=6ed2247d-f193-497b-bffc-5da80e2a17e9</pingback:target>
      <slash:comments>57</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=6ed2247d-f193-497b-bffc-5da80e2a17e9</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/03/29/20-ways-you-know-youre-married-to-an-internet-entrepreneur.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=6ed2247d-f193-497b-bffc-5da80e2a17e9</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=6ed2247d-f193-497b-bffc-5da80e2a17e9</feedburner:origLink></item>
    <item>
      <title>BV Commerce 6 Developer Notes #5 - Promotions</title>
      <description>&lt;p&gt;
BV Commerce 6 includes a completely revamped promotions engine. The previous version used a selection of pre-built sales and offers that limited what merchants could do in many ways. Because any price adjustments can be complicated it was also difficult to figure out exactly how a price was derived using the old system.
&lt;/p&gt;
&lt;p&gt;
Promotions are now rule-based allowing merchants to mix and match qualifications and actions into powerful sales and offers. Like older versions promotions are grouped into two main types; sales and offers. A sale is a promotion that can apply to individual products as they are viewed on the store. An offer is a promotion that only applies to a cart/order.
&lt;/p&gt;
&lt;h2&gt;Promotions in the Admin&lt;/h2&gt;
&lt;p&gt;
From the &lt;strong&gt;Marketing&amp;raquo;Promotions&lt;/strong&gt; screen in the admin you can create custom sales and offers by combing your set of rules and actions or you can select from pre-defined promotions for common scenarios like a Storewide Sale or Free Shipping on specific items.
&lt;/p&gt;
&lt;p&gt;
The main screen also displays the current status of promotions. Disabled promotions are hidden by default and when you create a new promotion it is marked is disabled for safety. This prevents it from accidently applying to items on the store while you&amp;rsquo;re working on it. You can use the &lt;strong&gt;Show Disabled Items&lt;/strong&gt; checkbox when viewing the list to see any items you&amp;rsquo;ve created but haven&amp;rsquo;t completed yet. You can also search for the name of your promotion.
&lt;/p&gt;
&lt;p style="overflow: auto"&gt;
&lt;img src="http://blog.bvsoftware.com/image.axd?picture=2011%2f2%2fPromotionsList.gif" alt="Promotions List" /&gt;
&lt;/p&gt;
&lt;p&gt;
If a promotion is enabled, its status is evaluated based on the current date and time. All times are stored in Universal Time in the database to ensure that offers apply based on the store time zone only. Promotions are shown in the admin as Active, Expired or Upcoming. When the store evaluates promotions it only pulls the Active promotions from the database to reduce the processing require to price items.
&lt;/p&gt;
&lt;h2&gt;Editing Promotions&lt;/h2&gt;
&lt;p&gt;
When you initially create a sale or offer its &lt;strong&gt;Mode&lt;/strong&gt; is set once and cannot change. If you edit a sale you will see a different set of qualifications and actions than you would if you edit an offer.
&lt;/p&gt;
&lt;p&gt;
In the editor you add qualifications first. These are inclusive. Every rule must be valid or the promotion won&amp;rsquo;t apply. Some rules allow multiple selections. In this case the selections may be &lt;strong&gt;any&lt;/strong&gt; or &lt;strong&gt;all&lt;/strong&gt; based depending on the qualification settings. For example, the Product Category qualifier allows you to select many categories. It will apply to any product that is assigned to at least one of the categories in the list.
&lt;/p&gt;
&lt;p style="overflow: auto"&gt;
&lt;img src="http://blog.bvsoftware.com/image.axd?picture=2011%2f2%2fPromotionsEdit.gif" alt="Editing Promotions" /&gt;
&lt;/p&gt;
&lt;p&gt;
Qualifiers also have a &lt;strong&gt;Relative Processing Cost&lt;/strong&gt; which is a measure of how much work is involved in checking the rule. Checking a ProductId on a product is a very low cost operation. We already have the product and it&amp;rsquo;s easy to check the ID. Checking a Product Category selection is a very costly operation because we need to make a database call to load up all categories for each product checked for the promotion. For this reason promotion qualifiers are sorted from lowest to highest cost before checks. This means that low cost checks might rule out the product before expensive steps are taken.
&lt;/p&gt;
&lt;p&gt;
If you are creating your own qualifiers be aware that qualifiers may be called very frequently, especially for sales. Too many high cost operations and too many promotions running at one time can bring a store grinding to a halt if you&amp;rsquo;re not careful.
&lt;/p&gt;
&lt;p&gt;
Actions are applied in sequence to the product or order. Their effect is cumulative. Adding many actions to a promotion can have strange effects and is not recommended unless you are careful.
&lt;/p&gt;
&lt;h2&gt;Unified Discounting System&lt;/h2&gt;
&lt;p&gt;
The new promotion engine relies on the unified discounting system, which provides much better feedback and reporting on exactly how prices are derived. In the past, prices were adjusted in multiple places and there was no way to track down exactly what happened along the way. One common reporting problem was the prices for sales were adjusted before items arrived in the cart. This meant that reports could not show retail prices and discounts for sales.
&lt;/p&gt;
&lt;p&gt;
The new system uses a list of &lt;strong&gt;DiscountDetails&lt;/strong&gt; on products and line items. Each detail shows the amount applied and a description of what created the discount. User group pricing, volume discounts and promotions all use this list to describe price changes. Any custom code that adjusts prices should use this system too.
&lt;/p&gt;
&lt;p style="overflow: auto"&gt;
&lt;img src="http://blog.bvsoftware.com/image.axd?picture=2011%2f2%2fPromotionsCart.gif" alt="Cart with Discount Details" /&gt;
&lt;/p&gt;
&lt;p&gt;
Products are priced when viewed by the &lt;strong&gt;BVApplication.PriceProduct()&lt;/strong&gt; method. This takes into account the current environment like current time and current user when evaluating priced. Calling this one method on any product before display ensures that the correct sales and discounts will be shown to the shopper.
&lt;/p&gt;
&lt;p&gt;
The shopping cart now displays the discounts as part of the line item detail. This makes tracking down pricing origins much easier and allows merchants to add attention getting descriptions of discounts to the cart.
&lt;/p&gt;
&lt;h2&gt;Extending the Discounting System&lt;/h2&gt;
&lt;p&gt;
Although the new discount system is rule based and appears to be very extensible BV recommends that you do not create your own custom qualifiers or actions at this time. We prefer that you contact us with your requirements and see if we can create a built-in generic qualifier or action as needed. There are two reasons for this: a) Promotions can have a big performance impact and we&amp;rsquo;d rather build them in and test before releasing them on a live store and b) we do not have a plugin model yet for promotions. We&amp;rsquo;d like the promotions system to live in the wild for a little while before we lock it down to a specific plugin API.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RUgDfieCPHgTiFI-oeHCCRlXG0I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RUgDfieCPHgTiFI-oeHCCRlXG0I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RUgDfieCPHgTiFI-oeHCCRlXG0I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RUgDfieCPHgTiFI-oeHCCRlXG0I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/-Dum8dabNEY" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/-Dum8dabNEY/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/02/23/BV-Commerce-6-Developer-Notes-5-Promotions.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=11198dfe-7d1e-4622-8721-1970e20c66ae</guid>
      <pubDate>Wed, 23 Feb 2011 16:06:00 -0400</pubDate>
      <category>bv commerce</category>
      <category>BV6</category>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=11198dfe-7d1e-4622-8721-1970e20c66ae</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=11198dfe-7d1e-4622-8721-1970e20c66ae</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/02/23/BV-Commerce-6-Developer-Notes-5-Promotions.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=11198dfe-7d1e-4622-8721-1970e20c66ae</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=11198dfe-7d1e-4622-8721-1970e20c66ae</feedburner:origLink></item>
    <item>
      <title>BV Commerce 6 Developer Notes #4 - Themes</title>
      <description>&lt;img style="float: right; width: 202px; height: 263px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f2%2fBV6DeveloperNotes.png" alt="BV Commerce 6 Developer Notes #4 - Themes" /&gt;
&lt;p&gt;
BV Commerce 6 includes a new theme system that offers lots of new options to designers. Developers should be aware of the new theme structure and how things work.
&lt;/p&gt;
&lt;h2&gt;System Themes and User Themes&lt;/h2&gt;
&lt;p&gt;
One of the issues that arose with previous versions of BV Commerce was that designers had a tendency to edit the built-in themes directly rather than make copies of them. This meant that when a service pack was released it had the potential to overwrite a modified built-in theme without the designer knowing.
&lt;/p&gt;
&lt;p&gt;
To resolve this BV Commerce 6 has a selection of &amp;ldquo;System Themes&amp;rdquo; which are built-into the software and then are installed to a store as needed. This allows designers to create their own modified themes with a single click from Options-&amp;gt;Themes in the admin side. It also has the benefit of allowing designers to create copies of their own themes for backup and versioning purposes.
&lt;/p&gt;
&lt;p&gt;
The system themes are located in the /Content/Themes folder where each folder represents an individual theme available for install. As a developer any new theme you place in this folder becomes available for install in stores.
&lt;/p&gt;
&lt;p&gt;
When themes are installed they are copied to the /images/sites/{0}/themes folder where {0} represents the ID number of the store. For toolkit installs of BV Commerce there will only be a single store ID. Themes are copied with their exact name so that the system knows which themes have been installed already and which ones are available for new install. If you made a copy of the &amp;ldquo;Simple Blue&amp;rdquo; theme you&amp;rsquo;re actually creating a new one. Deleting your copy of the original Simple Blue theme would make it once again available for install. So, if a new version of a system theme is made available in a service pack you can duplicate your current version for backup and then install the new one.
&lt;/p&gt;
&lt;h2&gt;Theme Parts&lt;/h2&gt;
&lt;p&gt;
BV Commerce 6 Themes are made up of a collection of files in a folder. Every theme in BV 6 uses the same Site.Master file from the root of the web site.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Bvtheme.xml&lt;/strong&gt; &amp;ndash; This is the theme definition file that contains information like the theme ID, name and designer&amp;rsquo;s web site. You can edit this by hand or duplicate an existing theme and use the built-in theme editor pages in the admin to modify the file.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;ColumnData.xml&lt;/strong&gt; &amp;ndash; Another new feature of BV Commerce 6 themes is the ability to save and install content columns to/from a store. This gives designers the flexibility to customize the site when a theme is installed. This file is the XML serialized version of the content columns and blocks. Don&amp;rsquo;t worry, you can also use the theme editor pages in the admin side to copy blocks into this file. No need to hand edit.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Preview.png and Preview_big.png&lt;/strong&gt; &amp;ndash; These are preview images that show store users what your theme normally looks like when installed.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Header.htm and Footer.htm&lt;/strong&gt; &amp;ndash; These files contain any custom HTML header and footer for the theme. These files contain standard HTML but also have optional tokens that are replaced at runtime. For instances the text {{copyright}} would be replaced by a copyright symbol and the current year.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Styles.css&lt;/strong&gt; &amp;ndash; This is the CSS file for the store. It is processed and minified before being returned to the browser. This allows you to use site-relative URLs in the style sheet like &amp;ldquo;~/images/sample.png&amp;rdquo; for a background image. The &amp;ldquo;~&amp;rdquo; character is replaced with the site relative root just like ASP.NET pages do.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;/Assets&lt;/strong&gt; &amp;ndash; This folder inside the theme contains any images the theme may need to install in the store&amp;rsquo;s assets. For example, if you need to install a background image you would place it in this folder and when the theme is installed the file would automatically be copied to the stores Assets.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;/Buttons&lt;/strong&gt; &amp;ndash; This folder contains button images to replace the standard button images. It is highly recommended that you create a complete set of button images. Image names must match exactly although PNG, JPG and GIF formats are accepted (in that order).
&lt;/p&gt;
&lt;h2&gt;Theme Options on the Admin Web Site&lt;/h2&gt;
&lt;p&gt;
The admin web site contains a new set of theme options under Options-&amp;gt;Themes. The first page is the control panel showing a list of available themes on the right and installed themes on the left. 	Hovering over a theme on the right shows an &amp;ldquo;Install&amp;rdquo; button which you can use to copy a system theme to the current store. Hovering over an installed theme shows options to &amp;ldquo;Select&amp;rdquo;, &amp;ldquo;Duplicate&amp;rdquo;, &amp;ldquo;Edit&amp;rdquo; or &amp;ldquo;Delete&amp;rdquo; a theme. The currently selected theme displays in a different color background and will not have a &amp;ldquo;Select&amp;rdquo; button available.
&lt;/p&gt;
&lt;p&gt;
The &amp;ldquo;Duplicate&amp;rdquo; button creates a copy of any theme. &amp;ldquo;Delete&amp;rdquo; removes a theme from the store but does not destroy system themes, which are always available. &amp;ldquo;Edit&amp;rdquo; takes you to the edit theme area.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://help.bvcommerce.com" title="BV Commerce Help"&gt;http://help.bvcommerce.com&lt;/a&gt; contains several tutorials showing how to create and edit themes from the admin control panel. As a developer, just be aware that under the hood these pages are editing the files described above in the appropriate theme folder.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fNSp1ySaaH544tB_E8YgNTYTo4U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fNSp1ySaaH544tB_E8YgNTYTo4U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fNSp1ySaaH544tB_E8YgNTYTo4U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fNSp1ySaaH544tB_E8YgNTYTo4U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/bz7bCwMM_ug" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/bz7bCwMM_ug/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/02/15/BV-Commerce-6-Developer-Notes-4-Themes.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=5c6224da-8016-4ace-9d1c-09b874233d87</guid>
      <pubDate>Tue, 15 Feb 2011 09:44:00 -0400</pubDate>
      <category>bv commerce</category>
      <category>BV6</category>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=5c6224da-8016-4ace-9d1c-09b874233d87</pingback:target>
      <slash:comments>34</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=5c6224da-8016-4ace-9d1c-09b874233d87</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/02/15/BV-Commerce-6-Developer-Notes-4-Themes.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=5c6224da-8016-4ace-9d1c-09b874233d87</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=5c6224da-8016-4ace-9d1c-09b874233d87</feedburner:origLink></item>
    <item>
      <title>BV Commerce 6 Developer Notes #3</title>
      <description>&lt;img style="float: right; width: 202px; height: 263px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f2%2fBV6DeveloperNotes.png" alt="BV Commerce 6 Developer Notes #3" /&gt;
&lt;p&gt;
BV Commerce 6 includes a completely new search engine. Previous versions used simple SQL &amp;ldquo;LIKE&amp;rdquo; statements to match up parts of words. This made it difficult to determine relevancy and had trouble handling plural words. The new search engine functions more like Google. The BVSoftware.Search project has the main implementation of a generic search engine and the BVSoftware.Commerce project has management classes that are specific to commerce web sites.
&lt;/p&gt;
&lt;h2&gt;Lexicon&lt;/h2&gt;
&lt;p&gt;
The first part of the new search system is the Lexicon. This is a 	simple storage container that holds words and assigns them a numerical value. Every word that has ever been indexed in the search engine will exist exactly once in the lexicon. Part of the magic of the Lexicon is that although it can accept any word, BV only inserts stemmed words.
&lt;/p&gt;
&lt;h2&gt;Stemmer&lt;/h2&gt;
&lt;p&gt;
The stemmer is a tool used to convert plain English text into specialized roots of the word. For example, &amp;ldquo;Flower&amp;rdquo; and &amp;ldquo;Flowers&amp;rdquo; would stem to the same root. So would &amp;ldquo;Child&amp;rdquo; and &amp;ldquo;Children&amp;rdquo; which is more difficult to classify with simple rules. The BV Commerce stemmer uses the Porter Stemmer Algorithm. The first version was written by Martin Porter in the 1980&amp;rsquo;s and has become the de-facto standard for English language stemming. Keep in mind that if you are using BV Commerce in a non-English language you may need to replace the stemmer algorithm with one appropriate to your store&amp;rsquo;s language.
&lt;/p&gt;
&lt;h2&gt;Search Objects and Search Object Words&lt;/h2&gt;
&lt;p&gt;
The Lexicon stores information about words and SearchObjects are the items that contain words. SearchObjectWords are the core of the search system. SearchObjectWords relate SearchObjects to specific words with relevancy information. They link a &amp;ldquo;SearchObjectId&amp;rdquo; to a &amp;ldquo;WordId&amp;rdquo; from the Lexicon and have a &amp;ldquo;Score&amp;rdquo; which tells a searcher how important that word is for the SearchObject. A SearchObject is simply anything that can be indexed. It has an Id, a short summary of the item and links to the actual item. Item Type is also useful on SearchObjects allowing the search engine to return results for Products, Pages, or both.
&lt;/p&gt;
&lt;h2&gt;Indexers&lt;/h2&gt;
&lt;p&gt;
An indexer takes information about words and scores for an object and inserts it into the catalog of searchable items. A simple text indexer scores words based on the frequency with which they appear and a complex indexer accepts a list of pre-scored words for indexing. The complex indexer is used to index items in BV. The BVSoftware.Commerce.Catalog.SearchManager class pre-scores words for Products and other BV items then sends that data to the Complex Indexer to be included in future searches. The SearchManager scores words based on their importantance as BV Product information. For example, a word in the Title of a product will have a higher score than the same word in the description of the product. This helps return relevant search results even if other items had a higher count of the same word in their description.
&lt;/p&gt;
&lt;h2&gt;Text Parser&lt;/h2&gt;
&lt;p&gt;
The Text Parser is responsible for taking strings of text and converting them into a list of usable search terms. This includes splitting the text into individual words, removing non-alphanumeric characters, stemming words and removing stop words. Stop words are real words that have little to no effect on searches. Common examples include &amp;ldquo;I&amp;rdquo;,&amp;rdquo;a&amp;rdquo;,&amp;rdquo;and&amp;rdquo;,&amp;rdquo;but&amp;rdquo;,&amp;rdquo;of&amp;rdquo;,&amp;rdquo;from&amp;rdquo;,etc. By removing these words searches are more efficient and relevant. The Text Parser is used to clean up incoming queries and by the indexer so that the same rules apply to text from objects as text from search requests.
&lt;/p&gt;
&lt;h2&gt;Searcher&lt;/h2&gt;
&lt;p&gt;
The searcher class is the glue that ties everything together to deliver search results. It takes a Lexicon of words, a store of SearchObjects and SearchObjectWords and uses a Text Parser to convert from a text query into Word and Object Ids. 
&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;
When a customer types in a search request on a BV Commerce 6 store the following steps take place:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The search query is sent to a text parser where it is split into words and stop words are removed&lt;/li&gt;
	&lt;li&gt;The query words are stemmed to their roots&lt;/li&gt;
	&lt;li&gt;A searcher looks up those words in the Lexicon to see if they exist yet and to get their Ids&lt;/li&gt;
	&lt;li&gt;The search looks through all of the search words to find the search objects that contain the highest score for those words and returns the a list of those objects.&lt;/li&gt;
	&lt;li&gt;The BV search results page looks at the results and generates links to the items based on their Id and object type.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Hqy84P3jfbhNrg0mF5KKUbUZN_Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Hqy84P3jfbhNrg0mF5KKUbUZN_Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Hqy84P3jfbhNrg0mF5KKUbUZN_Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Hqy84P3jfbhNrg0mF5KKUbUZN_Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/RjKDI3W4Nrw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/RjKDI3W4Nrw/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/02/14/BV-Commerce-6-Developer-Notes-3.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=da323e3c-8d7d-40c7-9f6e-bf528bb335e1</guid>
      <pubDate>Mon, 14 Feb 2011 10:08:00 -0400</pubDate>
      <category>bv commerce</category>
      <category>BV6</category>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=da323e3c-8d7d-40c7-9f6e-bf528bb335e1</pingback:target>
      <slash:comments>68</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=da323e3c-8d7d-40c7-9f6e-bf528bb335e1</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/02/14/BV-Commerce-6-Developer-Notes-3.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=da323e3c-8d7d-40c7-9f6e-bf528bb335e1</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=da323e3c-8d7d-40c7-9f6e-bf528bb335e1</feedburner:origLink></item>
    <item>
      <title>BV Commerce 6 Developer Notes #2</title>
      <description>&lt;img style="float: right; width: 202px; height: 263px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f2%2fBV6DeveloperNotes.png" alt="BV Commerce Developer Notes #2" /&gt;
&lt;p&gt;
As I mentioned in &lt;a href="http://blog.bvsoftware.com/post/2011/02/10/BV-Commerce-6-Developer-Notes-1.aspx" title="BV Commerce Developer Notes #1"&gt;Developer Notes #1&lt;/a&gt;, BV Commerce 6 is a hybrid application. It uses both Web Forms and MVC pages along with WCF services and AJAX to create a compelling user experience. From a developer&amp;rsquo;s perspective this might seem confusing so here is a short explanation of the request/response process in BV6.
&lt;/p&gt;
&lt;h2&gt;Web Server&lt;/h2&gt;
&lt;p&gt;
Internet Information Server (IIS) is the web server software running on the computer that hosts your BV Commerce web site. A customer requests a web page and that request is handled by IIS which then decides what program or module should be responsible for returning a response.
&lt;/p&gt;
&lt;p&gt;
In the default configuration, IIS passes all requests to the ASP.NET runtime unless there is an error. This lets BV Commerce process requests for pages and resources that don&amp;rsquo;t physically exist but are referenced in a URL. If there is an error, the default BV Configuration is to have IIS pass error information to the Error.aspx page where it can be logged.
&lt;/p&gt;
&lt;img style="float: right; width: 250px; height: 500px" src="http://blog.bvsoftware.com/image.axd?picture=2011%2f2%2fBV6Routing.png" alt="BV Commerce 6 Routing" /&gt;
&lt;h2&gt;Routing&lt;/h2&gt;
&lt;p&gt;
When BV Commerce 6 first starts the Application_Start function in the Global.ASAX file is called. This in turn calls the RegisterAllRoutes() function which creates the routing table.
&lt;/p&gt;
&lt;p&gt;
Routing is a new feature in Web Forms 4 that comes from the MVC framework. It allows an ASP.NET application to examine the requested URL and direct a specific page or controller to handle the request instead of just blinding looking for an exact physical file match on disk.
&lt;/p&gt;
&lt;p&gt;
Because BV Commerce 6 is a hybrid application there are a series of rules that direct request to either ASPX pages or MVC controller classes. At the beginning of the routing table is a list of items to ignore like favicon.ico or the entire /images folder. This speeds up requests by skipping URLs that won&amp;rsquo;t have any processing.
&lt;/p&gt;
&lt;p&gt;
The first section of routes map URLs to ASPX pages. For example, the URL /checkout is mapped to the Checkout.aspx page using this rule:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;routes.MapPageRoute(&amp;quot;checkout-route&amp;quot;, &amp;quot;checkout&amp;quot;, &amp;quot;~/checkout.aspx&amp;quot;);&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The next section of routes maps to MVC controllers like the CSS controller or FileUpload Controller using similar rules such as:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;routes.MapRoute(&amp;ldquo;css&amp;rdquo;, &amp;ldquo;css/{themename}/styles.css&amp;rdquo;, new { controller = &amp;quot;StyleSheets&amp;quot;, action = &amp;quot;Index&amp;quot; });
&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The last line in the routing table maps to the FlexPage controller. This MVC controller checks for URLs matching anything else in the system including 301 redirects and other custom URLs. If the FlexPage controller can&amp;rsquo;t find a match a 404 error is thrown.
&lt;/p&gt;
&lt;h2&gt;BaseStorePage&lt;/h2&gt;
&lt;p&gt;
Once the routing table matches a page or controller the request is passed on. Almost every page inherits from the BaseStorePage class. This class is used to ensure that every request has the information it needs about the current environment so that requests can be processed. MVC controllers don&amp;rsquo;t inherit from BaseStorePage but have very similar code in the OnActionExecuting function.
&lt;/p&gt;
&lt;p&gt;
The BaseStorePage class implements the IMultiStorePage interface. This interface exposes a ServiceFactory class from the BVSoftware.Commerce module. During pre-init, the base class instantiates a new ServiceFactory and sets the current request context and locates the current store based on the URL.
&lt;/p&gt;
&lt;p&gt;
If you did any programming work in BVC 2004 the ServiceFactory class will seem familiar as it exposes a service based API for interacting with objects like Categories and Products. The difference is that the ServiceFactory in BV Commerce 6 is not a static, global class but rather one that has been injected with information about the current environment. It also uses lazy loading for individual services so that if a page doesn&amp;rsquo;t request the CatalogService it never gets loaded/created for that request.
&lt;/p&gt;
&lt;p&gt;
Next the BaseStorePage does some initial setup like settings the URLs for styles sheets, loading headers and footers for the current theme, setting cart counts, loading additional meta tags, logging affiliate requests and checking to see if the store is closed or not before turning control over to the page or controller itself.
&lt;/p&gt;
&lt;h2&gt;Pages and Controllers&lt;/h2&gt;
&lt;p&gt;
At this point the ASPX page or MVC controller for the request takes over. ASPX pages go through the normal page cycle of Init, Load, etc. MVC controllers will have a specific function called based on the routing table and will return a result of some kind.
&lt;/p&gt;
&lt;p&gt;
Because of the IMultiStore interface each page or controller has access to a wealth of information such as the CurrentStore including settings, CurrentRequest which includes the URL requested and pre-configured services like CatalogService or OrderService.
&lt;/p&gt;
&lt;p&gt;
For example, a category page could call:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Services.CatalogService.Categories.Find(categoryId);
&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
To get a category by it&amp;rsquo;s Id. The function call appears as though it&amp;rsquo;s a global function but it really is a class that&amp;rsquo;s created just in time with the correct configuration information. The ServiceFactory takes the burden out of instantiating classes.
&lt;/p&gt;
&lt;h2&gt;What&amp;rsquo;s with IMultiStorePage and finding the Current Store?&lt;/h2&gt;
&lt;p&gt;
BV Commerce 6 shares a common code base with the BV Commerce hosted service. It may seem strange that each request needs to find out what the current store is until you realize that on the hosted platform thousands of stores are all running on one &amp;ldquo;application.&amp;rdquo;
&lt;/p&gt;
&lt;p&gt;
In the Toolkit version of BV Commerce 6 there is a quick shortcut that defaults the store name to www. So, the first ever request for a page on the Toolkit version will create a &amp;ldquo;www&amp;rdquo; store if it doesn&amp;rsquo;t exist. The URL parser defaults to the single store quickly without actually checking the URL.
&lt;/p&gt;
&lt;p&gt;
The IMultiStorePage interface name really represents the fact that calls into the BVSoftware.Commerce library are designed to be store independent. Passing in environment settings also makes the core modules much easier to test.
&lt;/p&gt;
&lt;p&gt;
In the future there may be a multi-store version of the ToolKit and you should not hardcode store name or Id in any custom code. Always use the CurrentStore propery on the ServiceFactory class to determine which store you&amp;rsquo;re working on.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uY6jo2N0H7Y6zJ-B3NMZMebokM4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uY6jo2N0H7Y6zJ-B3NMZMebokM4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uY6jo2N0H7Y6zJ-B3NMZMebokM4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uY6jo2N0H7Y6zJ-B3NMZMebokM4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BvBlog/~4/uVfkQ4Mjtuk" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/BvBlog/~3/uVfkQ4Mjtuk/post.aspx</link>
      <author>info.nospam@nospam.bvsoftware.com (mmcconnell1618)</author>
      <comments>http://blog.bvsoftware.com/post/2011/02/11/BV-Commerce-6-Developer-Notes-2.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.bvsoftware.com/post.aspx?id=7d923b3a-3b61-48a8-93c4-c323721590f1</guid>
      <pubDate>Fri, 11 Feb 2011 11:19:00 -0400</pubDate>
      <category>bv commerce</category>
      <dc:publisher>mmcconnell1618</dc:publisher>
      <pingback:server>http://blog.bvsoftware.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.bvsoftware.com/post.aspx?id=7d923b3a-3b61-48a8-93c4-c323721590f1</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.bvsoftware.com/trackback.axd?id=7d923b3a-3b61-48a8-93c4-c323721590f1</trackback:ping>
      <wfw:comment>http://blog.bvsoftware.com/post/2011/02/11/BV-Commerce-6-Developer-Notes-2.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.bvsoftware.com/syndication.axd?post=7d923b3a-3b61-48a8-93c4-c323721590f1</wfw:commentRss>
    <feedburner:origLink>http://blog.bvsoftware.com/post.aspx?id=7d923b3a-3b61-48a8-93c4-c323721590f1</feedburner:origLink></item>
  </channel>
</rss>

