On ExpressionEngine E-commerce

24th July, 2011

Today we announce the beta release of our ExpressionEngine e-commerce platform, Exp:resso Store.

Why another e-commerce platform?

Probably the first question on the tip of everyone's tongues - why did we create such a comprehensive e-commerce module when there are already two great solutions out there?

When we began development on Store (around October 2010), we had a client needing an online store for their EE2 site. At the time, CartThrob was only available for EE1, and BrilliantRetail did not even exist. Simple, we thought - how hard can it be to whip up a shopping cart module? So we went about creating our own solution, in the way that made most sense to us. Over the following months, we had further e-commerce projects come in, and set about adapting our solution for the various requirements we had - as they say, scratch your own itch.

Part way into development, we realised someone else had already had the same idea as us, and BrilliantRetail was launched into beta. At this stage, it probably would have been sensible business to ditch our custom solution, and go with an off-the shelf solution. However, we already had a working prototype, and felt we were “nearly there”. As it turned out, the project took much longer than anticipated, as the many complexities of e-commerce made themselves apparent, and new projects introduced new requirements. Finally, nearly ten months after starting development, we have decided that our module is ready to see the light of day, and have been furiously polishing and documenting.

What makes Store better?

As we had no prior experience with integrating e-commerce with ExpressionEngine, we designed Store with no preconceived ideas of how things should work - a blank slate. This has resulted in some design decisions which we think make it fit much more naturally into ExpressionEngine. For example, we never questioned whether products should be stored as channel entries - this was always a given for us, as the flexibility of channels is the reason most people choose EE in the first place. Everything else, such as orders, are stored outside of channel entries, and we have a full back-end control panel to display order details etc, as well as update product pricing in bulk. Despite this, the module is still extremely simple to set up and use - simply create a products channel, and add our “Store Product Details” fieldtype to it, which handles pricing and product modifiers. It is also completely flexible, and you can design the checkout process any way you like.

We also felt that the template tags should be easy to learn and remember. For this reason, we have only 7 tags to learn, and most sites will only need to use 3-4 of these. We have also included a full set of exampe templates with the install, which you can use as a basis for your checkout process.

How stable is it?

We are already using Store on a number of live sites. We're also using it to power sales on exp-resso.com. Therefore, while we are labelling this a beta release, we certainly feel it is ready for production use. For that reason, we are offering a paid beta, at the super-low price of $20. As with all of our products, this comes with a 30 day money-back guarantee. We will be actively gathering as much feedback as possible, and allowing users to vote on which features we develop next - we have many ideas for where to take this module next, but want to get the advice of the community before we go any further!

We are hoping that a paid beta will attract more engaged testers - upgrading from the beta to our stable release will be free, so essentially you are getting a super cheap license for ExpressionEngine's newest e-commerce solution. We haven't decided on a final price, but it will most likely be cheaper than the existing e-commerce modules.

In summary - we would encourage you to use Store on your next upcoming e-commerce project. We are already using it on a number of live sites, which are processing thousands of dollars in sales. There will more than likely be issues which arise due to different server configurations, or using it in ways we have not yet dreamed of - but we will be here offering our full support, to make this the best e-commerce solution for ExpressionEngine. 

Can I buy it on Devot:ee?

We love Devot:ee, and have been selling our other add-ons there since we got in to EE development. However, for this initial beta, we would like to keep track of those using the module, and be in contact to gather as much quality feedback as possible. We will therefore begin selling Store through Devot:ee once we reach our first stable release.

Introducing… CI-Merchant!

While developing Store, we noticed many people in the CodeIgniter community looking for a payment library, to abstract the differences between many payment gateways out there. We also noticed many EE developers all building their own solutions, with a lot of duplicated effort writing drivers for all the different payment gateways. We decided this was our chance to give back to the community, and have split our payment processing into a separate CodeIgniter library, which we are releasing as open source. Check out CI-Merchant on Github, and feel free to start using it in your CI projects, or EE modules - we will be actively developing support for more payment gateways over time, and releasing them in future updates to the library.

Thanks for reading, and we look forward to working with you all (and meeting some of you at EECI)!

 - Dave & Adrian