Hi I work as a web designer / developer and for the past month I've been implementing Zen Cart. During this time I spent about two weeks messing around looking into how Zen Cart works, investigating the template system; all mostly by looking at the code. With the last two weeks designing this site www.stayoung.com.au/index.php (still in it's testing phase)
I went through this process pretty quickly and by about the end of the second week I had well and truly understood the template -> module -> function integration.
Initially I thought the whole system was pretty confusing. There was a lot going on both behind the scenes (template files, various functions and classes), and mostly I thought (and still do) feel the administration panel is overloaded, and uses ambiguous language. For example 'define pages editor', 'ez pages', and the hundreds of options available in the configuration menu.
Now don't get me wrong. I'm not saying that this is a bad thing. In fact from the perspective of someone that doesn't really know much about programming/html/css, Zen Cart is great. You can have an online store up and running quite simply. From the point of view of a designer, the control elements built into the templates (ids, classes, the endless tables with id and class identifiers on almost every level) adds unnecessary time to the development process, albeit a path which I'm terribly grateful for.
As for the way add-on modules are incorporated into the application; I feel that sometimes they can do more harm then good. With trial and error I sometimes got a module (downloaded from Zen Cart) to work, other times I was left fixing some SQL, or searching the forum to find a fix. Luckily I backup the database, and files before doing this.
Despite my little issues with Zen Cart I think it's a great product. There is a wide user base, who has asked almost every question imaginable. If you know a little PHP and can read the code, its fairly easy to get the system to do pretty much anything, or develop your own functionality.
If I could make a couple of overall suggestions it would be this:
Considerations for the Zen Cart site:
- Reconsider the way in which CSS is used to control layout elements elements, and the way the administration panel integrates with this. Use the cascading ability of CSS.
- Consider the language used in the administration panel.
- Less is more. Migrate the layout controls from the administration configuration menu into human readable CSS, and captions.
Thanks for giving us Zen Cart. It is a great package. It has a future in a market where there are few open source solutions.
- Don't have a page saying 'coming soon.' If you don't have it yet, don't provide a link
- Tighten the language you use. Is it help(?), the information centre, FAQs, or tutorials? Very confusing.
- Provide a comprehensive list of things Zen Cart can do, and present it in a nice way (table with a little green tick or something)
- Provide a link to the Zen Wiki. Making this accessible may allow more contributions to be made. It feels a little stale in there now.
- Add a link to the forum from the Zen Cart site. Forcing people to go through the tutorials makes people upset, confused, and quickly shapes their (negative) opinions of Zen Cart
- Organise the tutorials/faqs
about me: I'm a freelance web designer / developer, and have a degree in Communications and Public Relations.