Error in deserializing body of reply message for operation 'Translate'. The maximum string content length quota (8192) has been exceeded while reading XML data. This quota may be increased by changing the MaxStringContentLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 9105.
We've all heard the phrase a hundred thousand times, 'KISS - Keep It Simple Stupid'. Looking at our templates and extensions, you might think this is the phrase that we live and breathe on a daily basis. We always talk about how our templates are Simple, Clean, Easy to use and Flexible. But why do all of those things matter to us so much?
More importantly; Why should they matter to you?
A quick story: I was a PixelPraise customer before I was a Team Member. And before that I was an OK Joomla developer who struggled with building websites in 1.0. When 1.5 was released (around the same time when Wordpress was getting updated) I began to look to other CMS's to make my work easier. Had it not been for the simplicity of the PixelPraise products (templates and extensions) I would probably not be a Joomla user today.
I tell you that so that we have a common starting point. I can tell you first-hand that any developer who really wants to be successful with Joomla development should keep simplicity and flexibility at the top of their list while working on projects. Because we don't just work for other developers, we work for a lot of other people who need all the help they can get to build great websites.
First and foremost, Joomla as a Content Management System is about the end-user. We build our websites in Joomla because it makes a hassle-free environment for our site visitors to get into and enjoy. If we have to add on extra administrators, forum managers, authors or a project team, Joomla can be customized to provide the tools to make that happen.
Because of the easily customizable nature of Joomla, many of the people that come to use our CMS have no background experience in web development at all (four years ago I was right there with this group of people). For these people, it's very important to tag things well (in the design as well as in the code) and make it easier for them to get started working.
As you build your code, you should always keep in mind that some people aren't really sure how to follow along to know what needs to be done. If you don't build your code with good comments and tags throughout, and also by having clean code the standard spaces and line breaks, then you'll have one of two really annoying problems:
People will complain that they can't code with your template because you didn't tag your divs and such properly (follow our twitter feed and see what I mean).People will ask you the same basic support questions constantly because you didn't clean up the code structure and leave comments (trust me, as a small business you want to cut back on as much support time as possible). It's their software after they buy it, after all and thus their responsibility, but if you want to keep helping people with the coding, go right ahead. We'll be busy building the next template to release.Some examples of good code would look like this (taken from our Bloq template.css file):
With our CSS, notice that we keep one 'tab' or about 5 spaces for the style values within each class or ID. Everything is separated and looks clean so that someone new to development can look at the code and immediately see which styles go with which class and also what each class means.
Quick tip: Don't use names that make no sense. If you're styling for the Top Menu, use class name 'topmenu' or something similar.

Structuring your HTML code is similar to CSS in that you want to make good use of your spacing and smart labeling. Leave comments throughout the code to help new developers figure out what to do.

And, of course, in showing you what looks right. I've got to show you what looks wrong. Never ever lump all of your code into one huge block if you want to make your template as easy as possible for your customers to use. Make them happy, and you'll make yourself happy, too.

By the way, if you build an extension and you don't properly label all of your divs, it becomes very difficult for anyone to create templates that work really well with your extension specifically. If you don't code with other developers in mind, then you'll quickly find that you might have screwed yourself over.
While template and extension developers should focus on keeping their code clean and easy to use, designers should keep a simple design in mind so that they can 1. Appeal to many various types of users 2. Make the template easy to understand (so that people can customize it) and 3. Not overwhelm anyone who can't see how a template can be converted into a website very easily. Some examples:
If you are designing a template that is specifically for one niche market, then design it exactly how you think that target market wants that template to be designed. If you are aiming to provide a template for any number of different organizations and target groups, then you need to design something that can be easily translated to fit their purposes.
Two templates that do a great job at this are Newstream by JoomlaBamboo and the Free JoomSpirit by JoomSpirit. As you can see in the screenshots below, you can easily take their designs and change them slightly or dramatically to create a whole different environment for a website.


This is just a matter of opinion, but when I look at a piece of art, if I don't understand the purpose behind it or the meaning of the strokes, then I can't appreciate it as much. In the same way, our templates are designed as pieces of art. A well designed template with a strong purpose and a specific call to action is much easier for a potential customer to grasp and appreciate than a template that seems scattered or unapproachable.
Something that looks as though it was created by throwing tons of flashy and trendy design techniques and styles is going to turn a lot of people off. A great simple template, though, is easy for anyone to approach and understand. It's not filled with a lot of nonsense, but is instead built to last for any kind of website. Plus, if your potential customer doesn't feel comfortable with the demo that you present them, you can bet they won't be buying that template for their website.
Lastly, when you develop a template that is difficult to manipulate or not easy to modify to fit a purpose, you are overwhelming the customer and will often force them to either find another template that is not so daunting to customize, or to build a custom solution themselves. Either way, it is not a likely event that they will return to buy another template from you.
Perhaps by now you've got the point. Building a simple template, in our opinion, is definitely the way to go in most cases. Of course, that doesn't mean that flashy designs and niche market templates don't have a place in our community, but it seems to me there is a much bigger place for easily customizable and widely distributed templates than something that only 5 organizations will ever use.
What do you think?
No comments:
Post a Comment