Welcome to the Vancouver Web Design Studio of Jordan Klassen

Welcome to the Vancouver Web Design Studio of Jordan Klassen

Author

Jordan Klassen is a web designer for J. Klassen Inc., a Vancouver BC Web Design and Development company. He has been designing and developing websites for over 10 years, working on 250+ websites. He has his BBA from the University of Toronto.

Related Services

If you have an e-commerce project, or want a website where you can manage its content yourself, feel free to contact us for a custom solution.

Custom vs. Off-the-Shelf Software as Content Management Systems and Shopping Carts

I use a custom approach to content management and e-commerce because I believe it is better on almost all counts than off-the-shelf tools, if the person implementing it has the necessary skills and experience.

A custom approach to content management and e-commerce has the following advantages over off-the-shelf tools (such as Drupal, Mambo, Joomla, ZenCart, osCommerce, Miva and even WordPress):

However, custom doesn't mean from scratch and there are appropriate uses for off-the-shelf tools, depending on who's implementing them.

Way Easier to Use

I have found that the additional training time to bring someone up to speed on one of these existing tools is often greater than the entire time it takes me to build a custom tool.

Off-the-shelf tools try to have every feature anyone would ever want, 90% of which you don't need. Nonetheless you have to wade through, and filter it all out just to use what you do need. Instead, I build in only the features and functionality you need so it's dead simple.

Design-Centric

Off-the-shelf tools often have a specific way of doing things that they want your design to adapt to, rather than the tool adapting to your design.

Faster Loading

Because off-the-shelf tools have so many features, your content has to go through many more checks and processes before it's displayed, which can slow your site down to a crawl.

A Perfect Fit

Even though these existing tools try to have everything, they usually don't use the best approach for your particular needs, forcing you to use work-arounds, custom plug-ins, or just settle for a sub-optimal administrative and/or user experience. A custom approach causes no such settling.

No Extra Work

It seems strange that a custom approach would take less time to implement than an existing tool. However, these tools are often so built up that they require extensive configuration, even more so if you have a specific design that you want it to work with (see the point above). The configuration time is often so great, that a custom approach is often as faster, or at least just as fast to implement.

More Secure

Off-the-shelf programs have two main security weaknesses. One is that they are installed on so many thousands of websites that they make a tempting target. Find a security flaw in the software and you don't just crack one site, you expose thousands.

Second, the code for this existing software is usually publicly available, which means anyone can look through it and try to find security flaws. While these security flaws are often fixed, the fixes require you to frequently update the software. Updates often contain new features, and these new features can create further security holes, that again anyone can look at to try to find. Often the security issue is not strictly a hole, but a default setting that saves a hacker a lot of time. For example, with WordPress, the admin login page is always at wp-admin/ and the administrators username defaults to "admin". With these two hurdles quickly leaped, if a user chooses a poor password their site could be easily hacked.

A custom approach has the advantage of security through obscurity. It hasn't been implemented on thousands of sites in the exact same manner and it's code and setup is not publicly available. No one can even access a publicly available demo of the system to find flaws from a user perspective. Finally, in the case of content management, it would be difficult to tell if the site is database-driven or static, or if there even is a content management system to hack.

Custom, But Not From Scratch

When I install a custom content management system or e-commerce system, I don't start from scratch every time. Rather, I use the most appropriate workflow, arrangement of elements, and existing functions from years of experience and dozens of previous implementations. Even within my custom approach I may use an off-the-shelf, but highly configurable component, if it does just what you need. For example CK Editor or reCAPTCHA.

Exceptions

Sometimes you do need such a substantial number of features already covered by an existing system and you don't have significant exceptions that it does actually make sense to use a smartly built off-the-shelf system. For example if you specifically need a blog and all the features that a blog entails (posts, comments, search, drafts, categories, etc.) an application like WordPress might make sense. In these cases I can install and configure the most appropriate existing software as needed.

So Why Are Off-the-Shelf Systems so Popular?

While I believe that a custom approach to website functionality is better on almost all counts, few people are in a position to implement such a custom approach.

  • Designers or Frontend Coders that don't know PHP or mySQL, use off-the-shelf tools because they can install and configure them without editing any code. Even if it's not an ideal implementation, it's better than nothing, and certainly faster than trying to learn the underlying technologies.
  • Developers or Backend Coders that don't have a trained eye for design, branding and marketing knowledge, or experience with tools like Photoshop, use off-the-shelf tools because they include basic templates or basic customizations that they can implement themselves. Again, these might not be ideal, but they know how to install them, and may not know what they are missing.
  • Do it Yourselfers that need something that they can implement with no design or coding and are willing to spend the time themselves learning and configuring it, usually for personal or small projects with little or no budget.

For those, like myself, who have experience with the full spectrum of web design and development technologies, a custom approach works better for users and administrators, takes no more time to implement (and may even be faster), and is less likely to be hacked.

^ Back to Top