Giving LawnPro’s Route Planner a Proper Workout

I’ve spent the last few weeks making a series of changes to LawnPro’s route planner. You can now choose a start point, select the calls you want to include, and set a finishing call.

Behind the scenes, LawnPro uses each call’s geographic coordinates to calculate its distance as the crow flies from the start point. That gives the planner a way to order the calls by distance, rather than simply sorting them by postcode. You can also lock a finishing call so it stays at the end of the route.

The interesting part has been what happens when you change your mind. Select a call, remove it, move the finish, then remove another call, and the route still needs to make sense. A couple of awkward cases exposed bugs where the route numbers and start or finish markers could get out of step. Those are the sorts of problems that only show themselves when someone uses a screen like a real person, rather than following the tidy sequence I had in mind when I wrote it.

I’ve also been working on postcode review. If LawnPro can’t locate a postcode, the user can open the customer record and correct it. When they return, the review list updates to reflect the change. Most missing locations turn out to be postcode mistakes, but I’m adding a way to confirm a postcode that is correct and enter its location manually for the occasional exception.

There have been smaller improvements too: clearer route icons and tooltips, a tidier screen, and some adjustments following feedback from Robert, who found one of the additional-treatment controls took too many clicks. That feedback is useful. A feature can work exactly as programmed and still be clunky to use.

The new planner is nearly there. I’m giving it a final workout now, which probably means I’m about to discover one more peculiar combination of clicks. That’s software development for you.

Leave a comment