Skip to main content

Why Magento sucks?!

p.p1 {margin: 0.0px 0.0px 13.0px 0.0px; font: 13.0px Arial; color: #1022a3} p.p2 {margin: 0.0px 0.0px 13.0px 0.0px; font: 13.0px Arial} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial; min-height: 15.0px} span.s1 {letter-spacing: 0.0px color: #000000} span.s2 {text-decoration: underline ; letter-spacing: 0.0px} span.s3 {letter-spacing: 0.0px} span.s4 {text-decoration: underline ; letter-spacing: 0.0px color: #1022a3}

This post was inspired by http://www.commercestyle.com/e-commerce/magneto-sucks

I don't agree on everything that wrote there, I won't say that is so sucky and hard. It's childish way to say system is too complicated, read the f**king manual, omg is this so hard?! So from perspective technical guy that have a lot of finished high loaded projects on the back, I want to explain my "sucky" point about it. 

1) The thing that bothers me for last few weeks is news about Magento acquired by eBay . 

Why? Whats wrong with eBay? The truth is that Magento doesn't supports more than 200,000 customers doesn't bother world wide biggest auction system? All the things that breaks on the way of development and overloaded support forums? Who slept to make this come true? Or this is only to buy a big brand and in nearest future eBay will sell his own engine on this trade mark? Too many questions and too hard to find a light in this tunnel

2) Over designed eCommerce solution

This is not only my, but real point of many experienced developers, this is system lives on two leveled framework: Zend and Mage , the second one is Magento core and thats the point when everybody starts to complain. Guys, PHP is an Interpretator language, when you make this thing goes trough all these levels of hell your CPU will be fried only dreaming about more than 10,000 visits per min. Right now big project where I work is having more than 16,000 visits pre minute and we already use cluster for 10 boxes to make it run, our Master-Slave databases are fried as burger and constantly dying in deadlocks that are done by one very popular request: get product inventory(how much available left). 

3) Support

Say no to support, that moment you've tried to change something in your core files(just to make core functionality works like it was described in their fancy brochure) you automatically kill support functions, they won’t support anything that made thous changes. And don’t say you can override all classes by special functionality that build by Magento specially for these cases, you know how hard to maintain code of more than 20,000 files? Even if you follow this procedure that will be really hard to restrict this change for everybody else. Say bye to support and Welcome to angry society of developers on their forums who try to help each other.

Enterprise

That was nice concept for dreaming, reality hard to find module that was build for special models of EE, most of the modules doesn’t work.

 

EAV

 

Be afraid, totally flexible attribute system. You say “huh, that cool, should be very nice you can add all these fields on fly”. No and No, you will pay for flexibility by incredibly large queries that are specially prepared by “wonderful” Mage+Zend ORM system. By large I mean 10-20 joins, by “wonderful” I  mean nice super over-design model system, where you spend hours just to find right line of code.

EAV - will be last word of dying database.

 

Maintain and customize

 

SUCKS!!!!! Thats most sucky part of Magento, you will find yourself in instant developers hell, trying to answer question: Why it did like that? 

Every custom change create some problems and when you try to find why, then you can spend tons of ours. Never and never try to do migration script for products using Magento models, better try to extend their model with more simplified MySQL quires just by reaching Zend adapter.

 

Deadlocks everywhere, and thank you cache

 

Without nice setup of caching and really hard use of it, you can close project and just go and find another job. Hard build transactions that locks most frequent queried database - thats your life. The idea that popular products can be added to cart more than 1 time per 5-20 sec didn’t reach mind of Magento developers, it just didn’t played like that. Cache solves amount of load of database so locks are processed faster, but what happen when you get more? 

 

Thats notes from real use Magento on big projects. I would probably not recommend to develop on this. But for small shops that will have 1-4,000 users, it should work fine, pray for that.

Comments

Garvo Gujarati said…
Great post. I totally agree. It is popular belief that Magento is for larger org and smaller orgs should go for simpler platform. The fact is that Magento is neither for small org (because they will have to pay lot more for smallest customization) nor for big org. The big org will have lot more user load which Magento can't handle. It's structure wouldn't allow that. And more importantly, the larger org will want to build their own custom site as they would most likely lot more customization for their business needs. And as everyone and his aunt knows, Magento is NOT customization. And not even maintainable.

Magento is like Dubai's many superstructures. Over built without any specific need. No wonder it did only harm to Dubai!!!
matt said…
FRIED AS BURGER!
Michael said…
I agree... magento "sucks".. a customer wanted a shop so I searched for php shops, I played with magento a little bit. It is easy to install and it has a nice admin area but the customization is a hell!.. beside this, it is slow. :( so I ended up writing my own shop software, no frameworks, just simple very easy to customize shop.
I dont agree with that "Magento Sucks".Magento Commerce is a great open source platform. There are some extensions that will help your store stick out from the crowd and add vital functionality to your business.
Hire Magento Designer
Unknown said…
I do not Agree that Magento is Sucking..


SEO Sydney | SEO Melbourne | SEO
Unknown said…
Magento is mostly built for enterprise solution rather than individual project. The architecture will make more sense if you have a larger team with a proper understanding of "how an enterprise application should look like". Magento usually used to compare with IBM's websphere eCommerce solution. If you have ever looked at any J2EE framework, I mean their source code, you would know what is so called "deep folder structure". Compare with that, Magento is still light weight.

Performance shall never be a problem for any large company if your developer handles it properly. Java were also complained as the slowest language at its first years. The truth is talented developer can always workout the optimization solution, e.g. fpc in magento enterprise. I believe ebay will do heavily customization and load balance on it.

However, I personally would never choose magento for small project since it is simply not fit. Also, we shall admit it requires too much training to get a qualified magento developer as some PHP fellows focusing on productivities and features rather than architecture.

When people complains about the maintainability, it is always a tricky one. Magento is, in fact, one of the most maintainable php framework out there. It follows a very standard MVC and J2EE architecture patterns. You will only see similar architecture in operation system and large scale J2EE project (Spring, Hiberate, or J2EE itself). However, as I've mentioned it takes months to pick those concepts without a proper training. That's why people starts complaining about this product.

In conclusion, all enterprise level solutions are "proper meal" rather than "fast food". If you have a look Microsoft or IBM's solution, the foundation training session usually last weeks.

P.S. If you are looking for some fast food solution, I would strong recommend shopfy or phpCart. They are supper easy to use and doesn't require a high level of knowledge of enterprise applications.

Anonymous said…
Even i am felling same thing about magento ,i agree with you.





Magento Development
pvahora said…
I am very thankful to the author to write this fruitful information.It is worth sharing for other users.Thanks once again magento developers
Unknown said…
The explanation of magento development is good.It explained about all necessary and unnecessary items of magento website development.
Magento developers Bangalore
Magento site should be unique to your business as this will make it easily recognizable and build brand loyalty. Your site should also be easy to find on the search engines
Magento Website Developer
This is very good information to know about the magento development.I really glad to your for updating useful information.
Magento Development India | Magento Programmers India
Very excellent and useful post! I enjoy reading it. Thank you so much for sharing this marvelous information with us.

Aluminium Shop front
Unknown said…
Congratulations for this nice looking blog. All posts are super...

Fireplaces York




Unknown said…
I like your post and it really gives an outstanding idea that is very helpful for all the people on the web. Thanks for sharing...
Glass Stairs UK
The post is written in very a good manner and it contains much useful information for me. You have a very impressive writing style. Thanks for sharing.
Car hire Luton
Unknown said…
Very Informative I really appreciate for posting these type of Articles..

Personal Injury Solicitor Bradford
I like your post and it really gives an outstanding idea that is very helpful for all the people on the web. Thanks for sharing..
joomla programmers

hire joomla developer
I like your post and it really gives an outstanding idea that is very helpful for all the people on the web. Thanks for sharing..
Web Design Bangalore
This comment has been removed by the author.
Unknown said…
The post is very informative. It is a pleasure reading it.
Web Development Company
Unknown said…
Excellent and very Informative blog, Thanks for sharing such a wonderful post.
Adodis | Adodis Review | Adodis Technologies
Unknown said…
Magento Experts Developers give thier advice on magento platform.
Unknown said…
This one is very nicely written and it contains many useful facts...


mobile child tracker app
Anonymous said…
The blog posted is very interesting from all aspects and it will surely benefit the readers by all means.
App Development company | website design company Melbourne
The blog was absolutely fantastic! Lot of great information which can be helpful in some or the other way. Keep updating the blog, looking forward for more contents...Great job, keep it up..Web Design Company | Website Developers Bangalore
Thanks for the very informative blog and I extremely grateful that you perform this piece of writing very simply, I mean to say that it's quite simple to read and understand.
Website Design Company Bangalore | Web Development Company Bangalore
Unknown said…
Magento isn’t the ‘one size fits all’ solution. So there are circumstances in which Magento is not the right choice for you. Web Development Company India
Unknown said…
I really liked the way you have presented SEO Services in your post. Nice work. Good creativity.
Online Marketing Services
SEO Specialist in Bangalore
affordable seo packages in india
Unknown said…
Hi,

Thanks for sharing a very interesting article about Why Magento sucks? This is very useful information for online blog review readers. Keep it up such a great article like this.

Regards,
WondersMind,
Web Design Company Bangalore
Freya said…
This comment has been removed by the author.
Anonymous said…
Great Information thanks for sharing the content but https://www.digifutura.com is the best react js development company Taiwan

Popular posts from this blog

How to kill old Resque workers and don't loose your face

In first thought trivial problem, `god gem` is keeping your Resque workers busy and when you deploy it just ask `god` to kill them by: god remove {group_name}. This is prety common misunderstanding thinking that workers will stop running at same moment, some of them can even live forever trying to establish their life inside your production server and continiously eating memory. One of walkarounds looked like this: in resque.rake create new task namespace :resque task :restart => :environment do    pids = Resque.workers.map(&:worker_pids) || []    pids.uniq!    if pids.any?        system("sudo kill -QUIT #{pids.join(' ')}")        puts "killed: #{pids.join(' ')}"    else        puts "resque wasn't running: #{pids.join(' ')}"    end end end It worked fine till one moment when rake stopped running initilizers before task and that cause ugly(hard) to find error. My idea that I think is more beautiful in kind of

Magento API + Java != Friends

Recently I've had a task to write small integration of Java to the Magento API, and meet a lot of troubles on the way. First of all Magento supports SOAP web-services that actually don't work well, I've found one solution http://code.google.com/p/magja I didn't tried because we spend much time trying to make them work with no result, so next was XML RPC based API that worked quite well on PHP examples, but caused more trubles. Login worked pretty well: XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); config.setServerURL(new URL("http://magento.dev/index.php/api/xmlrpc/")); XmlRpcClient client = new XmlRpcClient(); client.setConfig(config); Vector params = new Vector(); params.addElement( "defsan" ); params.addElement("123456"); String session = (String)client.execute( "login", params ); But other call's did worked, instead they show: Exception