WP e-Commerce 3.8 Review: Why WP eComm code is still broken

wordpress 312 wp ecommerce 383

This week I had an interesting conversation with Dan Milward, the marketing guy and co-founder of the WP e-Commerce WordPress shopping cart plugin.

Let's start with the facts. WP eComm is now on version 3.8.4. Currently, the reports in from front line users are: 4 say it works, 12 say it's broken.

Why People Hate WP eCommerce so much

Dan told me that sources inside Automattic had revealed to him that in the past as soon as Instinct Entertainment publish a new version there are five reports of the plugin being broken on current WordPress. His sources then erased that feedback.

This is a very bad sign: when you need insider help to erase negative feedback. Not the first time I've seen this happen at Automattic: Mark Jacquith has had to warn plugin database maintainers off deleting plugins which compete with their friends plugins. Second bad sign: people who hate your plugins enough to wait for a new version to mark it as broken.

Dan manages it. There are three strategies he uses which bring Instinct Entertainment to such grief.

Strategy one: releasing alpha code as stable branch.

Just don't do it. Or if you are going to release fragile code, be standing by ready with quick fixes.

Strategy two: constantly be out there marketing and promoting broken code.

When my site is broken and I see you pumping your plugin to the masses as if it actually worked, it makes me really, really cross. I want you back in the office, fixing the code, supervising the developers, in constant contact with the users in pain to suss out the issues. Not doing the marketing rounds and making false promises.

Strategy three: swearing at and maligning past clients.

In the LinkedIn conversation which brought on this investigation, a past paying client stated:

WP-eCommerce is the worst thing out there. Nobody likes it. It's the most hated of all WP e-commerce solutions. Google it some time.

Harsh words but neither obsenity nor personal insult. Dan proceeded to swear at his ex-customer, asking him to leave the discussion: "Brian its probably a good thing you do leave because you're talking shit."

Dan's ex-customer Brian then told this tale of woe:

I paid your company somewhere around $250 back in the '06 - '08 era (can't remember when exactly) when I was building my first WP e-commerce site. I found the product to be clunky and buggy, but I muddled through and never attempted to call or contact your company until the gateway malfunctioned. I spent a week sending emails to no avail. I got absolutely no response at all. I then tracked your company down through my journalism connections (because you gave no information about how to contact you) and called your company, but I got a voicemail. I left a message. I got no response. Finally, out of frustration, we paid a coder to fix the problem at a very high cost. I soon after lost the client who had by then lost confidence in me.

These are hard core facts. I have witnesses. Furthermore, mine isn't the only story like that out there about interaction with your company. I soon found I had lots of new-found friends connected only by their absolute abhorrence of the way they were treated by your company....

The client I lost was paying me $50,000 per year (obviously for more than a little e-commerce site) - it was a little less than one-third of my income at the time - and losing them over that experience was very difficult. I had to let go of my assistant. As time went on, I nearly lost my house and my car. In fact, my car was repossessed at one point, but I managed to scrape up the money to pay off the full note in time. My point isn't "poor me," but that customer service for entrepreneurs who are using products like his can be a very serious business indeed. Lives change if things go badly.

There's a reason people hate WP e-Commerce with a passion. Dan is looking at one in the eye here. Time for humility, apology and amends.

To my surprise, the ex-client very graciously offered to try the latest version of WP eComm for his new projects and re-evaluate his past rating. Dan Milward couldn't be bothered to set him up on the weekend:

So Brian. You can count me in but I don't have the time to muck around, its a long weekend here and I can't do anything until Tuesday NZT (unless you want to answer to the missus). Come next week if you want our premium support then you can email my support team directly or you can go via the premium forums where our staff hang out and we'll look after you. I'll hook you up with an account when you return the email that I sent you via your site. I'd like that.

Long weekend. A bit thin as an excuse but better than nothing I suppose. One problem. Dan was back with five long marketing posts in just this discussion alone. I.e. Dan has time for further marketing but no time to make wrongs right.

If I had a chance to redeem Foliovision after being called out in a public forum like this, I'd jump on it. In fact, even without being called out on a public form. Alas every couple of months that we do drop the ball for one of our clients and I do go into the office on the weekend. If I can't go myself, I pay one of my team a bonus to go in on the weekend and deal with the issue.

Why WP e-Commerce is still broken six years later: Development Analysis

In our telephone conversation, Dan and I spoke frankly about the difficulties of managing a team and long term development of sophisticated plugins.

1. Starting with wretched code but lots of publicity

The first problem WP eCommerce ran into: the original code was just not very good. The developer at the time and co-founder Tom couldn't code very well at the time. The great name "WP e-Commerce", first mover advantage and Dan's marketing skills overwhelmed the quality of the code and what should have been a very small failure ended up being a public shaming.

We have just one really bad plugin at Foliovision, FV WP Link Robot (it's better now but still not very good) which started on a bad codebase and it's difficult to reform. Getting off on the wrong foot is very difficult as you have bad calls and bad data structure right from the beginning. It's like laying in the foundation of a house: get it wrong here and your palace will always sink and slant like the tower in Pisa.

In any case, that's what happened to Dan and WP eComm out of the gate.

Advice: Don't promote broken code. Particularly knowingly.

2. Constantly switching horses in mid-stream

WP e-Commerce has had about a dozen developers work on it seriously in six years. That's just too many cooks and the soup is spoiled. You want one, maximum two developers on any software project. If you go with two, you have to divide the coding in half. With an e-Commerce plugin, that would be say core shopping cart and payment gateways.

Two developers maximum. Long term commitment to the project. Wins every time. I have so many awesome sophisticated programs on my computer coded by a single developer. To make a list of what's running right now: Seasonality, Radium, Fluid Browsers, LaunchBar (at the beginning, probably not now), Movist, 1password (team of two to start), TextSoap, Acorn, Keyboard Maestro, Witch, MenuMeters.

Among other WordPress shopping cart solutions, both Market Theme and Shopp have a single core developer. Both work very well.

Advice: Formula for great plugin or application: single, great long term developer. Just say no to programming teams.

3. Engaging Remote Developers for Core

Dan is working with remote developers. Not a good recipe for long term success with a core plugin. We worked with our first CTO very successfully when John was in Prague and I was in Vienna. When he moved to China the relationship gradually broke down, even though Foliovision was doing well and expanding.

Big projects eventually need face to face. Dan, a working ecommerce solution for WordPress is a big solution.

Even David Heinemeier Hansson eventually relocated from Europe to Chicago where he and Jason Fried can collaborate more closely for the long term. It's worked for 37signals and it could work for Instinct Entertainment. There's lots of good developers who'd like to live in New Zealand, there are hobbits in the dales and dwarves in the hills.

Advice: go local with development.

4. Saying yes to new features

Dan has a fatal case of featuritis. In the marketing thread, he trumpeted far and wide about 200 hooks, hundreds of new features, dozens of plugins. Dan admitted as much in our telephone conversation:

I said yes to too many features. Every time someone would ask for a new feature, we'd add it. It was too much. We're trying to cut back now.

Yes, it was. Less is more.

Developer Michael Visser nailed it with this comment:

To be blunt, the rapid expansion of new features back in WP e-Commerce in 3.6 -> 3.7 (2008-2009) may very well have been the reason for it's bad wrap over the years, as a small store owner come WP Plugin developer I'll patiently wait for new features while critical - even non-critical - issues are being sorted.

Dan should read five times Start with No followed by a close reading of Features are a one way street. Keep in mind when Dan was making the mistakes of adding all these new features, the plugin was already on version 3 and on the market for five years. These are beginner mistakes. I really don't know what he was thinking about.

We use Market Theme to develop WordPress shopping sites. Market Theme is great for catalogue type sites. It would be a lot of overhead for a few pages with shopping. I'd be more inclined to use eJunkie for just a few items for sale and post the shopping cartcode into my site.

But what's great about Market Theme is the core code is reliable and easy to work with. There are lots of features missing but as the core is clean it's very easy to add whatever our clients happen to need for their sites.

For Stager's Source, our client didn't need to take money, just orders as she preferred clients to pay on pick up (lower fees) or delivery.

For Hawaii Fun Tours, our client needed to take a small deposit but not full payment and he needed to do so via First Data. No problem. We wrote the custom code to allow for deposits. He didn't want to keep any payment info for security reasons.

Advice: less features, but all features work as advertised.

5. Chasing WordPress/Automattic

WordPress itself has become an awful solution for business websites. Hear me out.

What business and commercial websites need is stability and security. WordPress is constantly releasing new versions adding unneeded new features and which break old features and many plugins. The upgrade path has become a never-ending merry-go-round.

As a commercial development house working with businesses, our concern is keeping our clients' sites running reliably. Wordress/Automattic makes this very difficult. Automattic are also WordPress consultants and the more they can change and upgrade, the more press they get, the more users and the more help their existing clients need.

Automattic takes about $15K/year off its smallest VIP clients, in no small part as a major company cannot think about deploying WordPress without help from the founders (or Foliovision, albeit our VIP program is at a fraction of the price).

In short, WordPress is a moving target. Dan has jumped on the hype and every time WordPress releases a new feature like Custom Post Types or automated theming, WP e-Commerce has to be there first. He admitted to me in our conversation that it's been very frustrating to update WP e-Commerce to work with the latest WordPress features only to have the hooks change or disappear.

My advice: stop chasing your tail. Develop towards stability and wait for new WordPress features to stabilise before trying to work them into an ecommerce plugin. To repeat myself, ecommerce and business sites are about stability.

6. Not helping users, marketing instead

When you do your own support and you do it intensively, you know what works and what doesn't.

Dan is not active on his own forums helping people. Dan's posted there just 10 times in 10 months. While marketing, Dan has posted more times on our LinkedIn discussion in three days than in his own support form in 10 months.

Thank you very much for passing on my request and trying to rally assistance. But to try to tell me "hey, it's free and open source, so why complain?" I don't see that as a valid argument at all - sorry. I have a business outside of this - we offer a free service for a niche industry so when it doesn't work do I say "hey, it's free...what more do you want?"

No way on earth. Our customer service is impeccable and responds to every call and every email we get. That's the policy I've put in place - we likely do not have the customer base you have, but as we grow, that will always be in place. I don't see that as valid at all. You're offering a product that offers very specific functionality and why should I not expect that functionality to work as advertised, right? Therefor, if we all paid a set fee for it, all of these issues would magically work?

Don't be so sensitive - I've read a lot of reviews on this plugin from various other sources, and if people have issues, your staff comes in and attacks. Not the right way to go about presenting your business. I will retract some of my comments, but my concerns are valid. Free plugin or not.

Dan Milward WP eCommerce support: MIA (missing in action)

What Dan Milward does right: Marketing

There's been a lot of criticism of Dan Milward, Instinct Entertainment and WP eCommerce here.

There is something which I admire though. He is an indefatiguable marketer. Dan Kennedy didn't say it first but has probably said it loudest: As the entrepreneur your first job is marketing. Serial entrepreneur Michael Masterson among others repeats the advice in his book Ready, Fire, Aim which seems to be Dan Milward's bible. Masterson did not mean shooting yourself in the foot though: Masterson talks about responding to feedback quickly and "fixing a winner". Milward seems to have skipped chapter 14.

Milward is a one man marketing machine. He makes hundreds of appearances per day promoting WP eCommerce. Our code is way better but most of our plugins only get a tiny fraction of the downloads which WP eCommerce gets. In particular, FV Thoughtful Comments which makes moderating WordPress comments a pleasure instead of a chore and Foliopress WYSIWYG both deserve much larger audiences, as does our FV Simpler SEO (although SEO is a more crowded space). Oh and we have a great testimonial plugin with a pro version with categories, FV Testimonials which makes sales even without promotion.

But marketing seems like crack cocaine to Milward. If he could just disappear for awhile, lock down a long term partnership with a single ace developer and release a clean and reliable version of WP e-Commerce, he'd be doing himself and the world a favour.

Don't count on it.

Milward's Advice to Kinnear: I've got to do more marketing of our great tech.

I hope my own advice and analysis above helps Dan Milward/Instinct Entertainment find their way to better code and less angry users.

Takeaway for shopping site developers in the meantime: Stay away from WP e-Commerce if you value your time, your reputation and your sanity.

Alec has been helping businesses succeed online since 2000. Alec is an SEM expert with a background in advertising, as a former Head of Television for Grey Moscow and Senior Television Producer for Bates, Saatchi and Saatchi Russia.

I am developing a new website using WP-E-Commerce, and downloaded the latest WordPress & the Latest WP-E-Commerce, and purchased the GOLD Option (June 20th 2011).

To my dismay the Variations system just does not work. I read lots in the forums on how to correct it. And i read about all these “Functions” “Hooks” etc. But Come on Guys. This is basic MATHS !. Add Product, add sub product — Oh does not work. I am now looking at other solutions. I am not going to waste hours of time finding the correct solution from different forums, I want the answer from the source, I want it published and version controlled properly.. when it should have been fixed months ago and a patch release made available.

I Stopped coding in 2003 after 14 years of coding and have not seen anything so bad as these coding standards. It’s like looking at preschool for coders. You can read it, and you know what it does.. But why on earth do they do it that way, and reasoning and comments, why bother. I fear this is because they don’t want people poaching there code, make it complicated so people cant follow : fair enough. But write it properly in the first place.

Very disappointed TIME = MONEY and wp-ecommerce & $40 of gold plugin cost me way more than it is worth in time. Faith in the product is Zero when it does not start off the shelf.

A little note:

Testing must be useless because the Foreign translation statement correction that was documented by forum users, still has at least one statement not corrected in the latest release. This is just SEARCH & REPLACE very simple and not brain science to fix, and also easy to check. — learn grep from unix it’s been around a few decades to help you with this.

Digging into the code base, it’s just shoddy. The sage pay gateway is badly coded and just plain buggy.

Support as you state is non existent, and the getshopped website has been redesigned in the time that I’ve started to develop with the plugin. Needless to say many forum posts have disappeared and the documentation is MIA.

WordPress should end all association with this plugin, it gives them a bad name.

wow, thanks for this, was almost going to use it, I was confused at first because people refer to this plugin as wp-e-commerce, but the site is getshopped.org, clever marketing for bad irm I guess. After reading this, one of many reviews I read about this product, I think I am going to use jigo shop, but may even switch to a full ecommerce web application like magento, haven’t decided yet, only decided to stay away from this plugin. Thanks again.

I think you’ve pretty much covered the various reasons why WP e-Commerce is a poor solution.

The lack of support is the real kick in the teeth. Even a Gold level subscriber (don’t do it, there’s NO difference between paid and unpaid versions of the plugin) only gets one support ticket… EVER!

I built two sites using WP e-Commerce. If I found fixes to its myriad bugs, I posted them in the forums to help others. Other developers only posted links to their PAID add-ons, or wanted to charge their private development rate to fix things. I know coders gotta eat and all, but making $$$ fixing problems with someone else’s badly-written free plugin is just… what is this I don’t even.

Unfortunately, since I posted a handful of fixes, I now get emails all the time from others stuck trying to get the stupid thing to work. And I don’t have time to help them. And I don’t want to have to think about that mess of a plugin ever again. I’m sympathetic, but if the Instinct Software folks properly supported their product IN THE FIRST PLACE, people would leave them (and me!) alone.

Bottom line, DO NOT DO IT. Don’t use WordPress for e-Commerce PERIOD. It’s not what WordPress is for, and you’re not doing your customers or your business ANY favours by thinking WP e-Comm is an easy solution.

We are often dinged for support for other companies’ broken code so I know what you are going through. Our own support policy is to fix properly reported bugs but to fix/troubleshoot YOUR site is a paid support incident.

It does mean that rapid competent support is available at all times for those who want it.

You could consider setting up alternate paid support for WP eCommerce but supporting buggy code is not much fun.

We have gold cart and many paid plugins from wp-ecommerce and some plugins we developed too. At first level wp-ecommerce looks atractive and fun, we build a lot of shops but with goldcart I dont remeber i had one shop without bugs. At least on time I need more than many weeks to get right answer from dan, but anyway support staff at forum is fast, professional and kindly. I thing a community is too big for this kind of code. But kindly support stuff havent relevant answer averytime, sometime you need dan, who is not present for weeks.

Last time – when we upgraded stores at 3.8 version plugin simply owerided old databases, we loose all our old shopes (which where filled handly). So you cant trust to plugin anymore next version will not broke your old shopes.

I thing is time to close the shope, rewrite cart from begin at higher level, because you have at this time a lot of great themes in wordpress who uses only posts in e-shopping manner, are more robust and “bullet prof”.

Thanks to Dan, with great respect, we speak here only about negative sides of plugin.
Firstly is sure, Dan has a big fair play to developers of plugins: if you developed subplugin you can sell it for long time (plugins are not included by itself as apple, google or microsoft practise). Dan for sure has respect to professional developers, plugin can be your little niche too.

Second, Dan made a great work to wordpress community, we get in the past free and very awesome shopping cart plugins, indeed he wrote history of shopping in wordpress, but I think its time for new approach, im simply tyred of every days ecommerce goldcart bugs. I need something I can trust not to spent so many time.

Wp-ecommerce is great plugin in simple version, you get store in a minute, but not 100% stable if you want more.

With respect to Dan and plugin, we had a lot of nice but also crazy times.

I am so glad to read this article. I felt like I was taking crazy pills. You get to a point where you just think ‘maybe I’m expecting too much’… but I just finished a project using Event Espresso and it was exactly what you’d hope a plugin could be. It’s not going an eComm solution – but the code and support is brilliant. It can be done!

Interesting – certainly enough to put me off even attempting to use it sadly.

Thing is, there are so many carts out there and not one seems to do everything I want. It’s a horrible compromise, especially if you are trying to do things on a budget.

I really don’t like (but fully understand the reason for) the current trend of pay per month shopping carts. They are 100x better than their free or one time pay alternatives, from my experience. But for small timers / start ups, losing all your profit to pay for the software seems so counter productive.

perhaps we are very critical as we look on the plugin as proffesional one. But my experience from magento (one of the most branded eshop) is that wp-ecommerce is light version of the problem. Wp-ecommerce is not ideal software, but is free and you can fix it more faster than magento store.

Thanks for stopping by. You are in the very small minority of people who have had a relatively neutral experience with WP Ecommerce.

As developers of over a dozen public plugins of which about five or six are flagship quality, I have to say our standards are a lot higher than Dan’s. We ship working code and fix our code when it’s broken. Out of the dozen, we have only one plugin that is almost as buggy as WP Ecommerce and we think every month about withdrawing it from public use altogether.

Instinct can and must do better if they want better and less bitter reviews.

Just like to reiterate some of the sentiments expressed in the comments on this article. I’m at present finishing up an ecommerce project which uses WordPress and WPEC + Gold Cart and I honestly cannot wait to be shot of it. I’ve found WPEC to be nothing less than frustrating to work with and the thought of having to work with it again fills me with absolute dread. Which is a shame as I had initially jumped into this project with real enthusiasm, as I had a personal interest my client’s business and products – enthusiasm that was dashed after a couple of months of working with WPEC.

On the surface it looked like the perfect solution to my client’s brief – To move their existing ecommerce away from Big Cartel, and be able to sell a wide range of products and brands / categories, with multiple variations on their existing WordPress website and for the customer to be able to pay through Paypal, Google Checkout and directly on site with a credit / debit card. It offered all of these things, plus access to a wide range of payment gateways through the Gold Cart plugin. I’m not ashamed to admit that, yes, I got suckered in via the sales spiel.

The code in the templates and in the core is an absolute mess! And I couldn’t even begin to give you a figure on the amount of time spent trying to figure out how it all fits together. I’m self taught, so I’ve had no formal training when it comes to HTML / CSS / JS / PHP, but one of the first things that I learnt all those years ago was the importance of keeping your code neat and tidy. It seems that this lesson has been lost on who ever threw this dogs breakfast together. Actually integrating a custom theme that you have spent time designing and building has to have been the most god awful WordPress experience I’ve ever had (probably why I’m loath to use WPEC again). You end up having to work around the default theme that they’ve created and navigating your way around the messy code is incredibly time consuming – it would have been great if it was supplied with a completely stripped down theme without any styling, as per Elliot Jay Stocks’ Starkers WP theme (unless I missed something here).

I haven’t had the same experience that some people here have mentioned about product variations, in fact that functionality has worked well and exactly as hoped (perhaps the newer version I’m using fixed this issues). Although updating the WPEC core is now done with much trepidation, as on a couple of occasions a new update has broken some part of the site.

Support on the public forums looks to be non-existent and the actual documentation is woeful, badly written and poorly organised.

As for payment gateway support – Paypal Standard has worked fine no problems, Google Checkout / Wallet basically isn’t supported despite what Get Shopped say in the documentation so we’ve had to remove it. We used the Payment Express PxFusion gateway for Credit and Debit cards, which has been pretty good actually, mostly down to the support we received from the Payment Express team. Although for some reason when a sale is completed through PxFusion stock figures aren’t updated, the transaction results page doesn’t display any transaction results and the wrong confirmation email is sent to the customer. I’ve got a member of their support team working on these problems through the Gold Cart support forums, however I’m not holding out much hope that it’ll be fixed, all he seems to have done over the past week on my dev site is deactivate the WP theme and make a couple of test transactions.

Oh, and don’t get me started on the complete and utter inflexibility of the the confirmation emails that the customer receives!! It’s infuriating. If you want to make any changes you’ll either need a third party, paid for, plugin or you’ll have to start picking your way through the core code.

And to top it all off I’ve just had a request from my client saying that he would like to be able to start selling MP3’s, WAVs and other digital products through the shop early next year. Really not looking forward to having to get that all working… arrrgh!

It’s basically WooCommerce or nothing for our customers now. Just got our first WC-based multi-country multi-language multi-exotic-payment-gateway variation-filled + virtual product store online. This project had challenges for many crucial parts of the engine. While hickups turned up, there was nothing unsolvable with some knowledgeable effort. That experience confirmed it: no more behind closed walls randomly crappy-coded slow-one-or-two-developer-paced core business components for us.

Things speaking for WooCommerce: complete code history available on GitHub, pull requests flowing in every single day from whichever corners of the world, issues publicly and well managed by the core team, etc. IOW all the good stuff that comes with a vital well-managed open source project.

Hanging around on related channels, I’ve noticed some people complain “many commercial WC plugins are needed for extra functionality and they are expensive”. My opinion on that with all due respect is these people don’t seem to have much of a clue how much quality development time and effort really costs. If the money asked for those plugins’ functionality is too expensive for you, I’d say you better re-evaluate your business model. Might be better off doing something else, if you can’t even cover those very low costs.

We don’t much like the Woo Themes (everything but the kitchen sink thrown in, trying to usurp too much plugin functionality into the theme making it slow and cumbersome). But the situation with Woo Commerce sounds better, if there is a lean code base with plugins (hey guys over at Woo, maybe apply the same approach to your themes).

I definitely agree with you that people who are building commercial websites and who have no budget for advanced or custom features are deluding themselves. The monthly rent on the most modest storefront in any capital city eclipses the cost of most equivalent web ventures. If you don’t have a budget for these trifles, your business is likely just not viable.

Right, I don’t have any experience with their themes. We write ours mostly from scratch, using pre-existing bits and pieces, recently putting some stuff on top of hybrid-core. As WooCommerce is basically a separate entity all on its own, whatever they do with their theme business is probably not too directly related to WC development anymore.

AFAICT, those commercial WC plugins seem to be written by a variety of authors, not only by their in-house team. I’m not sure about the business model behind it, haven’t been able to pick it out by just gazing at the front-end of the store.

Something I’ve lazily wondered about: what happens if at some point do take some feature (or a set of them) that some commercial plugin implements, rewrite it from scratch and ask to pull it in on GitHub..

I’m a designer, not a developer, although am forced to mess with php now and then, and have got the site to appear and function pretty much how I’d like. I had used it once with the Gold cart, then switched to Shopify when an update broke everything, and instructions to fix all the missing images did not in any way or form jive with what I saw on my screen. 2 years later… I thought I’d try it again fresh, since i wasn’t using the paid upgrade on anything. Well now mp3 download links are broken and I’m having to send all the customers their files via DropBox til I sort it out. I have no idea what changed, it seemed to be working til now. Another guy is working on the site but I don’t know if he changed anything and can’t get a response. I also use wp ecommerce because they have that ability to hook up with USPS shipping based on weight and dimension (I’m in the US) and few cart systems have this.

I’ll probably end up switching shopping cart systems, if the problem can’t be easily resolved, even if it means less accurate shipping costs. Client doesn’t have much $$ to spend and I haven’t charged for the time I have spent fixing the site.

Oddly enough I am not even sure how I found this thread but I guess I am the one guy on the planet that is not having issues with WPEC. I gather from what I am reading here I might be very soon. But we have a pretty small store, only about 60 products and my month old WPEC is everything I hoped it would be. It is scary reading through all these posts and sure hope any coming upgrades don’t break me, but for now (fingers crossed) it’s all working well as hoped for.