Last night I decided to give The Witness a go in an attempt to unwind. It’s a first person puzzle game set on a mysterious island. Okay, off to a good start…

I gave it a couple of hours before giving up. I could do most of the puzzles I came across but it really didn’t scratch the itch that was plaguing me. It turns out that there’s no story to speak of the environment seems utterly lifeless. Deliberately so. Not in a “something dark happened – let’s find out what!” but more in the way of an art gallery.

I didn’t know this going in so this lack of motive for progression caught me off guard.

There wasn’t much creativity involved in solving these puzzles – it was mostly bashing my head against a wall of syntax. Draw from here to here whilst satisfying the following rules. Now do it again but with some slight variation on the problem.

The reason I was playing was to escape from arbitrary puzzles and syntactical nightmares. Yep, this has been a long road to walk to get to the point.

You see that since upgrading to Jigoshop 2.x as our ecommerce software I’ve been hunting bugs left and right. It’s August, for gods’ sakes, and I’m still finding weird problems with it. Most recently the Premium Shipping plugin we use to calculate how much we need to charge for postage turned itself off. I thought it’d been a quiet few days but I assumed people just weren’t all that enamoured with recent releases!

Nope, they’d get to the checkout and the site wouldn’t let them proceed without choosing a “shipping method”. Normally that’s fair enough but you’d think it’d throw a useful error or something. Nope – as the plugin had deactivated itself it just meant that no shipping method was presented and orders couldn’t be placed.

So I re-enabled the plugin and let people know things were all good.
Orders seemed to be working again so I relaxed and got back to casting.

How naïve I was.

 

The Premium Shipping plugin has several rules defined. I’m sure complex implementations are possible but my setup is essentially a simple flow chart:

  • Where in the world is the order going?
    • Do the items in the order weigh anything?
      • If so, how much do they weigh?

Based on those criteria it estimates a total cost for the order.

Two things to note:

  1. Plastic parts don’t have weight as far as this calculation is concerned
  2. There’s a base handling fee set which is then added to based on those factors.

So an order for the UK with only plastic parts will consist of the handling fee and the flat rate for “weightless” orders. Currently that comes to £2.99: £1.99 for the handling fee and £1 for the destination. Remember that £1.99… it won’t be back later.

Something strange was afoot with the Rest of the World weight-based shipping rate. Try as I might I couldn’t figure out why but despite the other destinations working properly it was thoroughly broken. I tried putting together an order with just plastic and set the destination as the US.

It did offer me a shipping method. It wasn’t the “weightless” one.

Instead it offered to charge me £0.99.

still have no idea where it was getting that number from! It’s not the raw handling fee, it’s not the lowest weight class, it’s nothing.

In the end I deleted the whole shipping rule and recreated it from scratch. Despite being identical to the one it replaced this time it worked perfectly. I think. Well, orders seem to be coming in as normal anyway!

It’s also worth noting that I was testing the calculator with just plastic because the shipping method wasn’t getting selected properly. The lack of weight should have triggered the checkout process to offer the weightless rate. But it didn’t. Infuriating.

Remember how I was talking about The Witness earlier?

There’s a reward for solving this maddening and rather arbitrary puzzle – satisfaction and income! When the reward is ” you get to continue to explore this sterile environment where you know nothing will happen” I’m just not as on-board!

 

Of course the shipping calculator could still be broken in some other way. If you do find a problem please contact us. Please?
Ideally include a screenshot or list of what was in your cart and the destination so I can try to debug it.