<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pickled Shark&#187; eCommerce</title>
	<atom:link href="http://www.pickledshark.com/category/ecommerce/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pickledshark.com</link>
	<description>Web Development, SEO and Internet Entrepreneurship</description>
	<lastBuildDate>Mon, 12 Jul 2010 10:59:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>What is Multivariate Testing?</title>
		<link>http://www.pickledshark.com/multivariate-testing/</link>
		<comments>http://www.pickledshark.com/multivariate-testing/#comments</comments>
		<pubDate>Mon, 03 May 2010 11:15:31 +0000</pubDate>
		<dc:creator>Carey</dc:creator>
				<category><![CDATA[eCommerce]]></category>

		<guid isPermaLink="false">http://www.pickledshark.com/?p=125</guid>
		<description><![CDATA[To get the most from your website you need to test, tweak and optimize. Traditionally a common way of finding out about changes to your website was to split test - basically serve two different versions of your page and compare the results from each. In this article we take a look at a more in depth method; multivariate testing. Read on to find out how you can implement and use this method of website optmization to improve conversions on your website.]]></description>
			<content:encoded><![CDATA[<div style="float: right; display: inline; text-align: center;"><img class="alignright size-full" src="http://farm1.static.flickr.com/122/277341190_3f098a08a4_m.jpg" alt="Code washing" width="360" height="288" /><br />
<small ><a title="Attribution-NonCommercial-NoDerivs License" rel="nofollow" href="http://creativecommons.org/licenses/by-nc-nd/2.0/" target="_blank"><img style="font-size: 24.75px; line-height: 42.75px;" src="http://www.pickledshark.com/wp-content/plugins/photo-dropper/images/cc.png" border="0" alt="Creative Commons License" width="24" height="24" align="absmiddle" /></a> photo credit: <a title="Ezu" rel="nofollow" href="http://www.flickr.com/photos/49502986585@N01/277341190/" target="_blank">Ezu</a></small></div>
<p><em><strong>This is a guest post from Craig Smith of Trinity Insight.</strong></em></p>
<p>Any internet marketer knows the importance of &#8220;optimization&#8221;. Simply stated, optimization is the effort to improve previous performance.</p>
<p>On the web, we do this via online testing and the monitoring of key metrics that associate to business goals. In the past, businesses were confined to conducting &#8220;split tests&#8221;, otherwise testing version &#8220;A&#8221; versus version &#8220;B&#8221;. These tests, albeit effective, were difficult to scale in measuring multiple elements on a page.</p>
<p>Enter multivariate testing; a new form of testing based upon technologies that allow for the measurement of multiple aspects of a webpage.</p>
<p>Multivariate testing is the process of creating varied &#8220;recipes&#8221; of web content, that are served to your visitors in order to decipher intelligence into which mix of messaging and imagery works best. In the past, this type of solution was only available to the very large enterprises who had substantial dollars to spend on additions to their content management systems. As eCommerce and internet marketing has progressed however, so has the availability of tools that execute these conversion improvement functions.</p>
<p>Simply put, there is no reason why your organization or business should not be improving your conversion rates through online optimization.</p>
<p><strong>Why you need to execute multivariate testing</strong></p>
<p>Testing is a fundamental aspect of direct marketing. Ask any cataloger over the last 100 years. They have been testing covers, layouts, imagery within the print medium as long as the market has been active.</p>
<p>For a print business, the goal is clear. Test different variations of catalogs in order to isolate the best performing version for upcoming campaigns. Seems pretty basic and simple right? Well, it is, but 90% of businesses that I talk to on a daily basis are not involved in testing in the online medium, even within the available tools today.</p>
<p>Think of your website as a brochure that has 2 seconds to peak someone&#8217;s interest. That is the exact environment that exists today. With homepage and key landing page bounce rates exceeding 40% many times, the lost opportunity with not testing is substantial.</p>
<p>Be it your unique value proposition on your homepage, messaging that relates to your key services or products, or just the shape and size of a button that you want to test, multivariate testing will help answer questions about your users and web content with hard data not gut feelings.</p>
<p><strong>How it works</strong></p>
<p>Most multivariate testing solutions are based upon Javascript technology and the &#8220;injection&#8221; and &#8220;swapping&#8221; of content within a page. The most widely used multivariate testing platform is Google Website Optimizer and this tool is also based upon Javascript.</p>
<p>Basically, each area of your webpage that you want to test is encapsulated with Javascript within the test set up process. Alternatives to each location are defined within the test set up and you set goal pages to accurately track which version performed best.</p>
<p>As users come to your site, they get served different versions. The version that they received is populated within their cookies, this way on subsequent visits they receive the same version.</p>
<p>A variety of metrics can be utilized to gauge performance with the most popular being conversion. Other metrics that can be leveraged are time on site, pages per visit, or the aforementioned bounce rate metric.</p>
<p><strong>Challenges with multivariate testing</strong></p>
<p>As in any technology solution, there are always challenges. With multivariate testing, challenges come into play with content management systems and eCommerce platforms. Because these systems are based upon templates and the use of databases to render content, some additional work needs to be done to ensure that tests function properly.</p>
<p>Also serving as a hurdle can be the &#8220;tagging&#8221; process that needs to be done regarding the site elements on a page. In situations which software is licensed and access to the source code is not readily available, the tagging process needs to be done by a software vendor and can equal headaches and expensive per hour fees for remedial steps.</p>
<p>Regardless of these challenges, multivariate testing is something that is a must if you operate a web-based or eCommerce business. To not test different types of layouts, promotions, and calls to action is flying blind and leaving dollars on the table. Complacency is the enemy of efficiency and don&#8217;t be complacent with the conversion rate of your website. Start multivariate testing today.</p>
<p><strong>About the author</strong></p>
<p>Craig Smith is the CEO of Trinity Insight &#8211; a leading <a href="http://www.trinityinsight.com/">eCommerce consulting</a> company that specializes in <a href="http://www.trinityinsight.com/home/multivariate-testing">multivariate testing</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pickledshark.com/multivariate-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento eCommerce &#8211; Bloated or Brilliant?</title>
		<link>http://www.pickledshark.com/magento-ecommerce-complicated-bloated-brilliant/</link>
		<comments>http://www.pickledshark.com/magento-ecommerce-complicated-bloated-brilliant/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 12:47:56 +0000</pubDate>
		<dc:creator>Carey</dc:creator>
				<category><![CDATA[eCommerce]]></category>

		<guid isPermaLink="false">http://www.pickledshark.com/?p=41</guid>
		<description><![CDATA[Magento eCommerce took the open source software world by storm when it officially launched on March 31st 2008. Many developers, including myself, jumped on board and started using it. While the feature set and branding is unquestionably great what is it actually like to work with?

Read on as we take a look at the code, architecture, complexity, hosting issues and the goals that an open source eCommerce system should strive to achieve.]]></description>
			<content:encoded><![CDATA[<div style="float: right; display: inline; text-align: center;"><img class="alignright size-full" src="http://farm3.static.flickr.com/2039/1703252007_24ce860838_m.jpg" alt="code bug" /><br />
<small><a title="Attribution License" rel="nofollow" href="http://creativecommons.org/licenses/by/2.0/" target="_blank"><img src="http://www.pickledshark.com/wp-content/plugins/photo-dropper/images/cc.png" border="0" alt="Creative Commons License" width="16" height="16" align="absmiddle" /></a> photo credit: <a title="gui.tavares" rel="nofollow" href="http://www.flickr.com/photos/76103695@N00/1703252007/" target="_blank">gui.tavares</a></small></div>
<p>When I first heard about <a href="http://www.magentocommerce.com/">Magento eCommerce</a> I got excited. Very excited.</p>
<p>For years I had been using a modified Zen Cart codebase which worked well, was easily hackable but constantly frustrated me with bad system design, poor templating, low standards compliance and a bickering development community. It was stuck in the past but I made it work with my own modifications over time.</p>
<p>Magento appeared on the scene at about the time everyone was quibbling over what Web 2.0 means. It was a time of shiny new applications, short &amp; brandable urls, gradients and buttons. At first it seemed too good to be true; an MVC approach (using <a href="http://framework.zend.com/">Zend</a> framework), latest technology, well thought out features, upgrading platform, company backed and developers not afraid to use the latest versions of PHP and MySQL.</p>
<p>I installed an early Beta, played with it a little, loved the features but I didn&#8217;t give the codebase much thought. It was strange. A lot of files, a lot of directories, a completely <a href="http://en.wikipedia.org/wiki/Object_oriented">OOP</a> approach (while I find OOP useful, I had never seen it used so strictly and extensively) and an unusual use for XML. I accepted this as a learning curve and decided to use it on a commercial project when the opportunity arose.</p>
<p>I must stop here and make clear that I don&#8217;t intend to cruelly pull apart any particular methodology, application design or any other development decisions. My beliefs are that these kinds of decisions depend on a variety of factors including:</p>
<ul>
<li> The skill set of developers working on and with the system</li>
<li> Technological constraints (server technology etc.)</li>
<li> Intended use of the system (private, open source, licensed etc.)</li>
<li> Lifespan of the system</li>
<li> Type of application</li>
</ul>
<p>Therefore I am saying it is not a case of &#8220;which methodology/programming language/framework etc. is best&#8221; but more a case of &#8220;what is this project and what technology will suit it best&#8221;. As I will explore below I believe Magento made decisions based on what would be cutting edge, fresh and idealist instead of looking at what would suit a new open source eCommerce system.</p>
<p>So back to my story and I had found an opportunity to use this new system. A project requiring product filtering, high numbers of orders, one page checkout (which Magento does beautifully) and many addons that would require a lot of hacking in Zen Cart. I took the plunge and went with Magento.</p>
<p>Not long after getting started on the project I realised that the application design didn&#8217;t &#8220;fit&#8221; with me. I have worked with a lot of custom &amp; open source web applications, database systems, retail software, warehouse management software and I always managed to find an understanding with them. No matter if the code resembled <a href="http://www.venganza.org/">long, thin, cylindrical pasta of Italian origin</a> or if it was written in a foreign language I managed to get my head around it and work with it comfortably.</p>
<p>With Magento this just did not happen. I could not understand what decision process resulted in thousands of directories and tens of thousands of files (a lot of which contain empty class declarations). I couldn&#8217;t figure out the pattern of where code went and what the abstract folders called &#8220;Convert&#8221;, &#8220;Entity&#8221;, &#8220;Layer&#8221;, &#8220;Resource&#8221; etc. are for. The naming convention for folder names, model names etc. didn&#8217;t sink in &#8211; sometimes you needed lower case, sometimes camel case and sometimes one capital letter.</p>
<p>Ultimately, I look at the results. It took me 5 times longer to perform any task in the code (template changes, adding features, debugging etc.) and <a href="http://inchoo.net/ecommerce/magento/top-5-annoying-things-in-magento/#comment-2310">even magento specific consultants agree with this</a>. Documentation was sketchy at the time but I don&#8217;t believe this matters. Apart from quick references I have never read a manual, watched a video or anything else when trying to figure out a new system. I follow the code, look at the file structure and experiment.</p>
<p>Due to the Zend/OOP/MVC influence on Magento it is impossible to follow the code. Classes are referenced dynamically, various aspects are contained in XML files and there is no clear flow that you can just debug through. The sheer volume of files and folders makes finding something unbelievably tedious.</p>
<p>Even the database is a minefield. In every other system I have used finding data is easy. In Magento, the use of <a href="http://en.wikipedia.org/wiki/Entity-Attribute-Value_model">EAV</a> means that data is split amongst hundreds of abstract tables. Again, it doesn&#8217;t flow and it doesn&#8217;t make sense without a great deal of time developing a solid understanding of what they have done.</p>
<p>All of this and more ate away at me until I began to resent working on the project. I concede that this might be isolated to a minority like me, but I do know I am not the only one to have problems. Different freelancers I employed to do custom work didn&#8217;t follow conventions and hacked into the core (causing upgrade problems, which will be discussed later). I regularly see <a href="http://www.sitepoint.com/forums/showthread.php?t=520859">forum threads discussing the same issues</a> and blog posts expressing their concerns.</p>
<p>The common argument I see are along the lines of &#8220;the web is evolving, applications are getting more complex&#8221; and  &#8220;for more features we need more structure and this was necessary with Magento&#8221;. I even saw one elitist claim that a system like Magento is &#8220;proper PHP development&#8221; whereas systems like WordPress are for &#8220;PHP Hackers&#8221;.</p>
<p>Essentially I disagree.</p>
<p>Yes, Magento is an advanced system and I am sure once the rules are learned and understood these application design decisions make sense. Unfortunately I do not believe the time needed to understand (and continue to understand) is worth the potential advantages.</p>
<p>As I touched on before, application design depends on the facts. Here is my take on the facts applying to Magento and the community that will use the system (or any modern open source eCommerce system):</p>
<ol>
<li> Potential developers will have a wide variety of different skills</li>
<li> Potential developers will have varying ability and experience</li>
<li> Potential developers will have different opinions on coding standards, application design, templating etc.</li>
<li> Profitability (e.g. support, hosting, addons) requires a good uptake and community</li>
<li> Hosting technology will vary massively</li>
<li>Open source developers will want to contribute code and participate in a community</li>
<li> Due to the free nature, many people will want to quickly try the application</li>
<li> Free software does not benefit from the same attention span as paid software</li>
<li>Maintain reputation of security and progression</li>
</ol>
<p>On looking at the factors involved, I believe these are good aims for the project as a whole:</p>
<ol>
<li> Code set must be easily picked up by developers from varying backgrounds</li>
<li> Code base must be intuitive for &#8220;Newbies&#8221;</li>
<li> Coding standards must not be elitist or provoke time wasting debates and indecision</li>
<li> Must be focused on good uptake (easy to install, get started with etc.) to allow commercial opportunities</li>
<li>Must be forgiving to different hosting configurations</li>
<li>Easily allow sharing and developing addons. Addon system must be logical and easy to understand.</li>
<li>Must allow quick install and trying out of the application</li>
<li>Must not require excessive reading of guides to get started</li>
<li>Allow easy updates to ensure security and new features are rolled out. Discourage &#8220;hacking&#8221; the code.</li>
</ol>
<p>From my experience most of these points are affected in some way by the need to use this complicated approach to code. When the rules are too abstract hacking occurs. When the code is hacked upgrades are a big job. When upgrades are difficult, upgrades do not happen and new features/security fixes aren&#8217;t implemented.</p>
<p>Hosting is also a notorious problem for Magento; fussy configuration means <a href="http://eliteeternity.com/elite-insight/magento-e-commerce-is-beautifully-delightfullyslow/">many users complain of speed issues</a>. The only hosts running Magento well are the ones with good knowledge of the system &#8211; this is an unusual scenario for a hosting company.</p>
<p>From my experience, working with Magento requires a lot of learning and re-learning. This just isn&#8217;t practical for your average web developer simply because of time &amp; budget constraints. It has nothing to do with skill level, ability to learn or unwillingness to try new methods. It is about pragmatism over perfectionism.</p>
<p>By being pragmatic I mean finding an optimal solution to the problem without doing the unnecessary. I have been down the perfectionist path and it did not work for me. I now work to goals instead, to much more success. Ultimately what is better; achieving your goals within budget or using the best technology with the latest programming techniques and methodologies?</p>
<p>What would have been a good approach to Magento? In my opinion, the development hours put in to a solution like Magento could have been better spent finding a good structure that is easily understood by the majority of developers. The structure might not be perfect, it might not follow academic methodologies and it will probably draw criticisms from purists.</p>
<p><em><strong>But ultimately if it achieves your goals, it is a success.</strong></em></p>
<p>A great example of this is WordPress. I have often thought the code base is dodgy by professional standards, but it works. I have grown to love it because I know if there is a problem I can find the section of code easily. The structure makes sense to me and I never feel the need to hack the core. The amount of plugins avaialable is a testament to the success of the system, as is the number of websites using WordPress and the <a href="http://wordpress.com/">successful commercial arm</a>.</p>
<p><strong>WordPress is achieving its goals.</strong></p>
<p><em>A final Cynical Note&#8230; </em>Many people claim that the complexity of Magento is somewhat intentional. The profitability of Magento relys on consulting, technical support and installations. Making the codebase complex could mean that many developers will start out, get stuck and pay for help. If this is the intention of <a href="http://www.varien.com/">Varien</a> then perhaps they have been very goal focused, although I doubt this plan would have long term appeal. Personally I believe that Magento is simply the result of focusing too much on cutting edge methodologies and not enough on what they actually want to achieve with the system.</p>
<p><span style="color: #ff0000;"><strong><em>Comments, thoughts, opinions or complaints? Leave a comment below&#8230;</em></strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pickledshark.com/magento-ecommerce-complicated-bloated-brilliant/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
	</channel>
</rss>
