Online Shops (Ecommerce websites) and Shipping

E-commerce websites are becoming increasingly popular. Personally, South Africa is a little behind as we are much more nervous about buying online than those overseas. Regardless, the need or demand for these sites where people can buy online and have their goods delivered to them is growing daily.

The designing and building of an online shopping website is not all that straightforward. Ensuring the design and layout is easy to use is key and coding can take a few weeks especially when there are very intricate details or functionalities that need to be implemented.

Shipping and Delivery

One particular feature which needs to be included is almost all online shops are the shipping costs. Shipping is almost always a challenge in setting up as every company ships or delivers their products differently or with a different courier company. Some shops may use a internal delivery guy, some may use the post office while others may use large delivery / shipping companies such a Fedex or DHL.

Then  comes the variables which almost always pop up when attempting to setup the shipping functionality and costs.

As I mentioned above, every company operates differently when it comes to shipping. And with every company, comes different variables. Variables add another challenge in setting up the shipping – here are some examples of variables:

Example 1:

  • Over 5kgs – 10kgs = R10
  • Over 11kgs – 50kgs = R30

Example 2:

  • All orders charged at R50 delivery
  • Any orders ABOVE R300 are free shipping

Example 3:

  • R10 per item ordered

Example 4:

  • Sell wines by the bottle, but charge shipping by cases

That just touches on what one can expect – there are loads of different variables and scenarios, but we won’t go into all of them now.

So, now what?

If you are planning on setting up an online shop, you need to make sure you know what you are doing about getting the goods to your clients and costs of delivery.

Here’s what you need to be able to supply your web company once you have finalized your shipping:

  • Name of Company with their logo (possibly) – sometimes it’s really good to have your courier company’s logo on your site so that buyers know exactly who is delivering their goods. Not always necessary, but something to consider.
  • Costs and variables – as explained above
  • Delivery times – the user needs to be informed about how long it’s going to take for their items to be delivered.
  • Tracking numbers – find out if there’s a way that your clients can track their orders – many clients like to know they can find out where their purchase is especially if it’s running late.

To end off…

DO NOT FORGET about the shipping and delivery side of things. Forgetting about it can be detrimental to your business and could even result in loss of income because clients don’t buy as they don’t know how their purchase will get to them OR you don’t take into account the different variables and when asking your courier to deliver an order, you are hit with a large fee due to the “different variables” discussed above.

Shipping should be known at the beginning. Often this isn’t the case, but we would certainly advise that you know about this particular area at the start of setting up your website.

.htaccess and Mod Rewrite

If you are not a developer who is familiar with working on Apache, you have more than likely not heard of a .htaccess file. But, if you ever decide to get a website, you may get stuck listening to some web developer lingo, so we’re just sharing some of that lingo for you.

What is a .htaccess file?

Htaccess = hypertext access file.

The .htaccess file is a simple ASCII file that can be edited using Wordpad or even Notepad. The file allows developers or webmasters to implement single command lines in the file that the webserver, Apache, understands and uses to do various tasks.

What is .htaccess used for?

The most popular command lines that are implemented are:

  • Authentification or Access control – .htaccess can stop certain IP ranges from accessing your page and with the use of a .htpasswd can force people to have to log into a website before gaining access to the website’s info.
  • Customising error messages – .htaccess files allow you to redirect to a specific URL / website address when a particular error occurs e.g. a page not found
  • Rewriting URLs – this can be quite an interesting and at times challenging feature implementing into .htaccess files. Rewriting URLs simply means taking a URL and redirecting it to the same page using a different URL. Sounds fancy hey? Well, it’s a great tool to have and is especially useful for websites that are database driven.


So, there you have it – a brief introduction to the .htaccess file. There is loads of info available online about .htaccess so if this sounds interesting to you, then do a search and research it a little more.

Websites and SMS Integration

A very popular requirement lately is for websites to have a SMS facility built in whereby visitors receive a SMS for various things, including:

  • Reminders
  • News
  • Confirmation
  • Notifications
  • Etc

Why should I have an SMS facility Integrated in my website?

SMS facilities are only necessary for certain types of websites and are certainly not something that EVERY website needs.

SMS’s can be a great form of communication with your website visitor / member and allows you to also be in touch with your visitors while they are NOT at their desks or PCs.

SMS’s are a great addition to websites – here are some examples how websites have used, or where websites can use SMS integration:

  • Visitors receive a confirmation message on their phone immediately once they have done an online payment / purchase – real time availability.
  • Accommodation software – establishments can receive a SMS notifying them when someone has booked to stay at their establishments. This is the perfect scenario for companies who are not permanently online and are not at their desk all the time.
  • Reference numbers can be sent for tickets once a transaction has been processed.
  • Banks have started using SMS facilities as an additional security measure e.g. Standard Bank sends a SMS to the account owner’s cell phone before a new beneficiary can be added.
  • Websites or businesses who have members that wants to be informed regularly about the status of something e.g. weather updates, traffic updates, stock updates, etc – SMS is a perfect way to keep members informed and up to date.
  • Reminders or renewal messages can be sent and therefore serve as a backup to email, or a second notification in case the mails are not received / read.

How to I integrate SMS functionality onto my website?

The actual integration on the website should be done by your web developers.

The part that one does need to consider is who to use to send your SMSes. There are a few companies available so research will need to be done on your part.

Clickatell and Vodazone are 2 companies that offer bulk SMS packages. Visit either or both of these 2 websites and compare the pricing packages. Once signed up, you should be able to send your login info to your web developers and the necessary integration can be done.

It’s really that simple!


If you want to keep your members / visitors informed, notified or want to spread some news or add another level of security to your website, an SMS facility can be a great way to achieve these goals.

As mentioned above, SMS functionality is not necessary for every website, but could be a great asset to your business. The choice is yours.

Cron Jobs

We often have to setup cron jobs for the websites we develop and generally the look on the client’s face is one of confusion at this weird “web word”. So, we thought it was time to put something together which explains what a cron job is and what they are used for.

What is a Cron Job?

Simply put, a cron job is a “job” or “program” that is run on the server are a specific date / time or in a specified time period e.g. every night at 11pm or every hour, etc. They are responsible for ensuring repetitive tasks on the web server are completed.

** Cron jobs are specific to Linux servers.

Why have a cron job?

There are hundreds of scenarios where cron jobs can be useful, but without going into all of them, here are a few of the common purposes and examples on where and how cron jobs can be used:

  • Backup of particular information – backup of your database that makes a backup file somewhere on the server for future reference.
  • Downloading information from a particular website / IP address. For example, if your website requires information from a particular source, you may require a cron job to run every hour to check if the particular source has changed.
  • Cleanup of data – some websites accumulate data throughout the day. Cron jobs could be useful in summarising the information to avoid redundancy on the server / database. Or, they could be used to clean out a particular section of the database on a daily basis.
  • Notifications / Reminders – some websites require notifications to their subscribers to be sent out every month or every day. Or, in some cases, reminders need to be sent about a particular payment due – crons can do that for you and send out mails when they are required.

Who creates a cron job?

Cron jobs should be setup by your web agency. Generally the following will need to be done by your web company:

  • A script will need to be setup that is uploaded to the server
  • The hosting company will need to be contacted by the web developer to setup the cron and specify it’s time intervals. In some cases, the web developer can manually setup the cron job via the website’s control panel area.
  • The cron will need to be tested and monitored and any issues will need to be sorted out by the web developer.

How do I know if I need a cron job?

Your web agency will guide you with this or may not even tell you. Cron jobs form part of the development process, so leave it up to the technical guys to sort it out.

Where a database is required, a cron job is often required to ensure the database is kept up to date and clear of redundant information.

Data Modelling and Database Design

As part of almost every development project, we need to design and build a database to support the system that we are building.

We do this by following a tried and tested technique called Data Modelling. Data modelling is quick, fun and challenging. It is, however, a rigorous approach that results in a picture of the information that supports the business at hand, that is easily understood, and can be confirmed as accurate by non-technical business people.

We can produce, in a matter of days, a database and functional prototype system directly from the model. We use the prototype to prove the correctness and completeness of the database before we spend a single cent on coding.

A database is the cornerstone of any system. By proving the database design before we start coding, we consistently succeed in building systems that meet our customer’s needs. Results are more predictable, risk and costs are lowered and the scope of development is more easily managed. Systems which are built on proven databases last longer and have far lower lifetime costs as a result of reduced maintenance, which typically accounts for 80% of a system’s costs over its lifetime.