Site Server Move & Errors

We were down for a day! As many of you might have noticed, the website was down and not working properly for most of the day yesterday. Unfortunately, this was due to a server move that was required to ensure that we were ready for some upcoming security updates that would be needed. While we did everything we needed to ensure that the site move would go smoothly, thing’s didn’t go well.

There are still some problems with the site. Certain images are missing for our products are missing. Certain functions on the backend are not working properly any longer. In addition, some customers who placed an order between Tuesday and Wednesday might find their orders missing in the backend and account as these orders were not imported properly. However, all products can be purchased and the site is working fine right now.

For those on our newsletter, we recommend checking it as we’ll be sending out a quick flash sale for those inconvenienced by the site going down.

A gorilla, a dog and a horse walk into a bar…

Tell me if you’ve heard this one before.

So, a gorilla, a dog and a horse walk into a bar.  What do you think they see? For each, their perspectives would be so different – from height differences to colour ranges to their ability to manipulate objects in the bar.  How would you construct a bar for each of these 3 animals (if they could use it).   You’d have to have a place for the horse to stand, the gorilla to sit, the dog to lie… you’d have to have tables with 3 different heights.  What if they all wanted to sit together?

Could you imagine building a retail store that could / would do that? It sounds like a science fiction only bar…

Yet, if you own an online store; you commit to doing that very fact every day. 

There are currently 4 major browsers in use – Safari, Firefox, Chrome and Internet Explorer.  Each of these browsers has a minimum of 3 majorly used versions, some more.  Each version will ‘view’ your website slightly differently and each browser will process code vastly differently at times.

On top of that, people view your website from multiple devices – mobile phones, tablets, mini-tablets, desktop computers, etc.  Each of these will have different screen resolutions and screen sizes – you’ll need to code for that too – individually quite often for each of the above browser versions.

Then add plugins or add-on’s that are available for each browser.  Have an Norton Antivirus system scanning pages? How about Adblock? Each of those could affect how the browser handles the webpage again.

Replication and Fixes

That’s why if you hit a bug on a site and you complain about it, it might never get fixed – or it could take a while to get fixed.  The simple truth is that as a small business, we have to triage.

  • What’s the problem?
  • Is this replicable?
  • If not, is it in a critical area of the site?
  • How many people would / could this affect?
  • What browser / operating system / device are they using?
  • Has this been reported before?
  • Is this something we can fix?

There are times when a problem comes in and all we do is sit on it.  It happened to you – okay.  Maybe it’s just you – let’s see if we can replicate.  If we can’t, maybe it’s just that user.  Sometimes, the user’s not a gorilla, a dog or a horse.  Sometimes, the user might be a porpoise.

Bugs, Bugs, Bugs

I thought I’d quickly write a little explanation of what happens when a customer (or we) find a bug in the website.   Most of the time, the process goes through the following stages:

  1. Awareness
  2. Logging
  3. Replication
  4. Triage
  5. Coding Fixes
  6. Testing
  7. Deployment

Let’s discuss them in more detail:

Awareness

Pretty self-explanatory, a customer or one of us comes across a bug.  We get told about it.

Logging

Once a bug comes to our attention, we log the bug information (or what is mentioned to us as a bug).  In some cases, the ‘bug’ is not a bug but a feature or a core funcitonality – e.g. we don’t store credit cards or allow customers to edit orders themselves once an order is placed.

Replication

Time to see if we can replicate the bug.  A good 20 – 30% of all bugs reported to us are not replicable.  Whether it’s due to different browsers or operating systems, specific extensions on browsers creating conflicts or even the server / network the customer is on; we are not able to replicate the exact environment that caused the bug.

If we are not able to replicate a bug, we can’t fix it.   Thus the log – we keep a log on this issue, see if it (or something close to it) happens again.  If enough people manage to replicate this, quite often we are able to acquire sufficient information from the various individuals to finally replicate the bug. Then it’s on to the next step…

Triage

How big an issue is this bug? Bugs are assessed on a variety of factors:

  • number of individuals affected
  • where in the checkout process this is happening (a checkout bug is much more important than one in the article pages)
  • number of functions it affects
  • other bugs that have not been fixed
  • complexity of problem (if it’s something I could fix compared to a professional developer)

Once the assessment is done, we slot it into our ticketing system with our developers

Coding Fixes

Next up is the fixes and coding.  Dependingo n the complexity of the problem, either I or our developers will work on the problem.  If it’s an issue which our developers are able to solve, we normally have to wait due to their workload.  This can often cause long delays.  Unfortunately, finding competent developers whom we can trust is difficult.

Testing

Once a fix has been made, we have to test it.  Obviously the developers have tested it, but to ensure the site does not break we generally do testing ourselves as well.  This often can bring up new problems, so off we go back to coding fixes till the fix passes.

Deployment

Finally, we deploy the fixes.  At this point, we do one last test to make sure the bug is fixed and nothing else breaks.  Once that happens, we are good to go.  We keep an eye on the problem, just in case it crops up again, but generally it should be fixed and we’re good to go fix another bug.