I have experience with WooCommerce. We also looked into Magento and Virtual Mart. We ran into the same update problems with WooCommerce as described above. The problem is the sticky integration between front and backend. It scales bad and is prone to errors. Every time we updated the site broke somewhere. This made our client really insecure about the software. Even though we had good testing mechanisms and solved most problem before they where pushed to the live-site, it wasn't a pleasant experience. Maintenance is one thing, the costs for updated was to heavy. I think any CMS like software that is currently out there now has the same problems, it is the ature of how they are build.
Another problem we ran into was search. If your want a fast search that includes attributes, description etc the search becomes really slow. Logically so, with the standard setup. One solution to that would to merge all data in a single table and put an index on it. Never the less a LIKE query remains slow when your catalog grows (We where moving to 8000 products). Eventually we integrated Elastic Search. Now our search query is below 30ms.
One other major factor in the traditional e-commerce software is the fact that its all request based. For example, your order is complete and the confirmation emails are send in the request. If the mailserver is slow, the request is slow and might die before the database is properly updated. To scale, we need a two highway queuing system. That means that any intensive task runs on the background async from user requests. So when the data is validated the user get a thank you page, the tasks of storing data, sending email is done asynchronously on a background que which can take as long as is needed without craching. So there is essentially a fast lane for use requests and a slow lane for heavy tasks that might slow the interaction with the user. None of the systems support this.
We now decided to start building our own software, and we are planning to open source it. The new software will be API first. We will design a restful API and leave it to developers to choose how they want to build the frontend. You can use Angular, Ember or connect with php and generate HTML on the server. We are also taking a multichannel approach giving user the ability cater to multi channels like mobile apps, Facebook or whatever will come in the feature. To make sure the software performance, we take an async approach to everything. This way it always feels fast to the user and the customer. The backend will be based on Angular and completely JSON based.
If anyone is interested, feel free to tweet me @Meulendreez.
Hi Everybody,
I have experience with WooCommerce. We also looked into Magento and Virtual Mart. We ran into the same update problems with WooCommerce as described above. The problem is the sticky integration between front and backend. It scales bad and is prone to errors. Every time we updated the site broke somewhere. This made our client really insecure about the software. Even though we had good testing mechanisms and solved most problem before they where pushed to the live-site, it wasn't a pleasant experience. Maintenance is one thing, the costs for updated was to heavy. I think any CMS like software that is currently out there now has the same problems, it is the ature of how they are build.
Another problem we ran into was search. If your want a fast search that includes attributes, description etc the search becomes really slow. Logically so, with the standard setup. One solution to that would to merge all data in a single table and put an index on it. Never the less a LIKE query remains slow when your catalog grows (We where moving to 8000 products). Eventually we integrated Elastic Search. Now our search query is below 30ms.
One other major factor in the traditional e-commerce software is the fact that its all request based. For example, your order is complete and the confirmation emails are send in the request. If the mailserver is slow, the request is slow and might die before the database is properly updated. To scale, we need a two highway queuing system. That means that any intensive task runs on the background async from user requests. So when the data is validated the user get a thank you page, the tasks of storing data, sending email is done asynchronously on a background que which can take as long as is needed without craching. So there is essentially a fast lane for use requests and a slow lane for heavy tasks that might slow the interaction with the user. None of the systems support this.
We now decided to start building our own software, and we are planning to open source it. The new software will be API first. We will design a restful API and leave it to developers to choose how they want to build the frontend. You can use Angular, Ember or connect with php and generate HTML on the server. We are also taking a multichannel approach giving user the ability cater to multi channels like mobile apps, Facebook or whatever will come in the feature. To make sure the software performance, we take an async approach to everything. This way it always feels fast to the user and the customer. The backend will be based on Angular and completely JSON based.
If anyone is interested, feel free to tweet me @Meulendreez.
Kind regards, and good luck!