Saving Thousands On Workforce Management Through Effective Route Planning

If you’re a company with a large workforce that’s constantly on the road, then you’re likely horrified by the rising cost of keeping it all running.

It’s not just fuel prices which seem to be in constant flux, it’s the wear and tear on vehicles, taxes that are constantly increasing and, probably, more importantly, the toll long journeys can take on your staff.

Anything that can be used to reduce costs and make the whole situation easier and safer for your drivers has to be a good thing, and yet many still rely on satellite navigation systems to work out the optimum routes for delivery, maintenance visits or meetings.

The fact is, this could be costing you thousands of pounds a month.

The Ubiquitous Satellite Navigation System

We nearly all have smartphones, and they all come with navigation, one of the best ones being Google Maps, however, as good as this is, it fails completely when it comes down to managing multiple stops.

Take the delivery driver who may have up to a hundred drops to do that day.

Many will set their first drop and when that is finished, set the destination for the next one.

It seems simple enough, but it fails to take into account the potential for multiple drops along the route. Yes, if the driver knows the area, they could potentially add in some more drops on the way, but can they be sure to be taking the most efficient route?

In most cases, the packages all have tracking barcodes. This information, if used correctly, is all that’s needed to work out the best way to deliver them all economically.

But we don’t use it. Instead, we leave it up to the driver, and I guess they have more pressing things to do.

This same scenario is played out every day across multiple industries, and it’s costing the UK millions in efficiency losses.

But, there are solutions…

Tackling the problem

There are a number of companies that have seen it as a problem worth solving, but they’ve realised it’s difficult.

The number of roads in the UK, the number of potential stops and the number of people using those roads is huge.

When you mash all those numbers together, you suddenly realise why it’s such a difficult nut to crack.

The delivery driver may have only twenty stops, but because they’re likely to be dispersed throughout a wide area, working out the most efficient route for them is a computational nightmare.

Every permutation needs to be calculated, and every road measured, and then the route needs to be planned out.

So let’s throw in another variable – what if you have staff problems and you need others to take up the slack?

In fact, depending on where the deliveries need to be made, it might be more efficient and cost-effective to have someone else help on the day – how would you know for sure?

And fuel might not be the only thing you want to optimise for.

Your primary task might be to get everything out as quickly as possible, so how would you choose the right roads?

Big maths requires big power

The more variables you add to the mix, the more computational grunt is required to try to solve it.

Many companies have tried, and to be fair, some have succeeded, although at considerable cost.

By using some incredibly clever algorithms, there are companies out there that can provide you with the best routes for your drivers, but at prices that can be prohibitive to many.

If you consider that each parcel needs to be dropped as quickly as possible for the minimum cost possible, adding just pence to it will eat into profits.

Until now.

Enter Planappia

We’ve been working on a solution for years, and now it’s ready.

Our algorithms provide the most accurate planning data, quickly and at a price that makes it available to everyone.

We’ve taken away all the problems people had with traditional workforce management transport planning and made it simple.

Simply upload your addresses and press ‘go’.

You get an app for your phone which will show you all your routes. These will then feed into your sat nav giving you the most optimised and efficient route possible.

You can then simply tick off each drop, meeting or service as you go.

It’s that simple.

No complex APIs, nothing special to download and run, and it’s easy for anyone to use.

Want to start?


Try for FREE

Connecting to our mobile deployment server

To connect to our MDM deployment server with your iOS device, please follow these instructions on your iOS device:

Use Safari on your iOS device to browse to (please ensure that ‘Private’ browsing is turned off)

Log in with the username and password that we have provided to you



Tap Enroll for ‘This iPad’ or ‘This iPhone’


Tap Install in the top-right corner


Enter your personal passcode


Tap Install in the top-right corner


Tap Trust


Tap Done in the top-right corner

Your enterprise app will automatically start to download to your device

Move a longitude/latitude point by a number of metres in PHP

I needed a function that could move a geographical point by a number of metres along any given bearing. I found this website which contains many useful routines, but it’s all in Javascript. A quick conversion into PHP and I’m away.

For those who might benefit from a PHP version of the function I required, here it is:

function displacePoint($lat, $lon, $distance, $bearing) {
  $radius = 6371e3;

  $d = $distance / $radius; // angular distance in radians
  $b = deg2rad($bearing);

  $lat = deg2rad($lat);
  $lon = deg2rad($lon);

  $sinlat = sin($lat); $coslat = cos($lat);
  $sind = sin($d); $cosd = cos($d);
  $sinb = sin($b); $cosb = cos($b);

  $sin2 = $sinlat * $cosd + $coslat * $sind * $cosb;
  $lat2 = asin($sin2);
  $y = $sinb * $sind * $coslat;
  $x = $cosd - $sinlat * $sin2;
  $lon2 = $lon + atan2($y, $x);

  return array(rad2deg($lat2), rad2deg($lon2));

To use it, simply call it like this:

$displacement = displacePoint($lat, $lon, $bearing, $meters);

Resolving an Xcode “you don’t have permission” error

I have been stuck trying to resolve an error that a lot of people struggle with, if StackOverflow is anything to go by. This error sometimes pops up when trying to install a binary to an iPhone and doesn’t give much indication why it’s being thrown:

The error states that ‘The file “MyApp” couldn’t be opened because you don’t have permission to view it’. Having gone through the various solutions on StackOverflow, nothing worked. Eventually I discovered the solution. Having a binary name that doesn’t match the project name causes this error. Therefore the solution is to make sure that this property is set accordingly:

As long as ‘Product Name’ matches the ‘Display Name’ you should be fine.

New HTML tags to improve browser performance

The HTML specification has recently been updated to include some new elements and parameters which should improve the performance of mobile browsers in particular.

Already in Chrome 34 and due to appear in Safari 8, the new <picture> tag will allow multiple sources for images. Using some rules to explain the size of the source image, the browser will then be able to select the most appropriate image and only download that one. This has the benefit of allowing developers to provide a variety of different images and allow the browser to select which one to download.

At present, Microsoft have not indicated whether the new bits will appear in IE any time soon. Firefox, Chrome and Opera updates will increase the level of support for the full range of features are all due soon.

There is a lengthy explanation of the new functionality on the Opera dev blog.

Polygon Triangulation in PHP

I have been working on a project that requires rendering various shapes in 3D. A common problem is having to represent a polygon in a way that makes it possible to render the shape in 3D. The standard approach is to break the polygon down into triangles.

I’m having to work in PHP. It wouldn’t be my first choice to run a mathematically intense calculation, but needs must. Having searched for a while looking for possible libraries or classes, there appear to be none. Time to get coding….

Read More

Indispensable Linux network diagnostic tools

Over the years, I have spent a lot of my time setting up Linux servers at many different data centres. A lot of this has involved running services and applications which require access to specific ports across the network or Internet. I have come to rely heavily on a few programs and utilities. Without them, I would definitely struggle to be as productive as I know I can be.

Here are some of my favourites.

Read More

Working with postcodes and spatial data in MySQL

Recently, I have been working on a commercial project involving UK postcode data. Since Ordnance Survey launched their OpenData initiative, they have made their postcode database available for free, which is great news for developers. As I work primarily with MySQL, I have been trying to find the most efficient ways to store and access data.

I knew that Postgres has GIS data types through its PostGIS extension, but never knew that MySQL had similar extensions. While a table could easily store two DECIMAL or FLOAT types, there is a data type that is very useful for storing Latitude and Longitude coordinates: the POINT type. Combined with a SPATIAL index, MySQL is able to perform fast mathematical calculations with coordinates.

SPOILER: If you want to store postcode data in MySQL, you need to learn about the POINT datatype. Read on to find see how it can be used…

Read More