Some time ago, at a Windows Phone User Group meeting in Cardiff, I saw Trevor Daniel talk about his application TaxiRoute. It’s an interesting concept – and one we can all relate to – how much is a taxi going to cost me from A to B? (Or how much should this taxi I’ve just flagged down cost me to make sure I’m not being given the run-around).
That’s a complex problem involving location, routing, timings, and a multitudes of tariffs and charging systems across every local authority. I was curious how it came about and how Trevor managed to solve these problems. So I asked him:
How did the idea for TaxiRoute come about?
A friend of mine, who is a taxi driver, knowing my background in software development, asked me if I thought I could write a piece of software that could calculate what a taxi fare should be The reason my friend wanted the solution was because whenever people rang up for a quote they put a call out over the radio to all drivers asking how much they thought the fare would come to. Surely there must be more efficient solution? I had a little think and thought, yes, I don’t see why not…
So the system was envisaged as a tool for taxi companies / drivers?
I admit, my interest in developing the system was more from a user’s point of view. I used taxis regularly and was never sure if I had been charged the correct amount. It seemed to be based on how well I knew the route, how much I had had to drink and what time of night it was. It occurred to me that this was the only “service” trade where you had no idea how much it would cost until it was too late.
So how did things proceed from there?
Within a few day I had found out that in the UK we have 2 distinctly different types of taxis, the “Hackney Carriage” and the “Private Hire”. The Hackney Carriages used an official tariff for each of the 360+ Local Authorities (LA) in the UK. These tariffs differ in each and every LA in the UK.
I took my LA (The Vale of Glamorgan) as an example and went into more detail on how fares are calculated. I built an SQL 2008 database to hold the tariff data, integrated my software with MS MapPoint to get the routing information and built the calculation formulae. Within a few days I had a working prototype and went back to my friend the taxi driver to validate my fares.
The next day my friend recorded each and every route he did along with the mileage and the price he charged and we compared them to the results my software was producing. We were both amazed at how close the calculations were – within pennies very often!
It then occurred to me that this solution had some “mileage”! Why couldn’t I roll it out across the UK and Europe?
What sort of obstacles did you face taking that early prototype forwards?
There were a number of very large hurdles to be overcome to do this but I decided it would be worth it.
- It meant speaking to all 360+ local authorities in the UK and collecting each and every tariff and uploading it to a generic fare tariff table
- It meant getting the “boundary line data” for all the Local Authorities in the UK so that my software could decide the correct tariff to apply to each enquiry.
- It meant learning how to geolocate closest items, like the nearest taxi companies to the route.
- It meant integrating the system into an already existing CMS system to take advantage of the membership and charging systems.
- It meant learning how to develop my first SOAP/XML webservice so I could eventually plug in the mobile versions.
- It meant learning how to SEO the site to get it onto the search engines properly so I would get some traffic.
Within a few weeks I had written the system and needed to now start collecting the tariff information. That alone took 4 months solid. BUT nobody else in the world has this data. It’s a unique database that nobody has ever tried to compile due to its size and complexity.
So TaxiRoute began life as a website then? But with capabilities also exposed via webservices?
Yes, the system was put live as a website in November 2008. For weeks and weeks it just sat there with nobody except me using it. But now, after a lot of SEO and promotion work it receives £1,000,000 of enquiries every month! – Amazing! Even taxi companies are using it to give estimates to people over the phone.
How do you monetise the service?
The way I earn money from the system is fairly straight forward. When a user receives the fare estimate they also get a list of the nearest taxi company and their contact details. They pay me a weekly fee to appear in this list. It’s not perfect by a long way because people are paying the same weekly fee in London and getting far more enquiries than people in the Shetland Islands.. but it’s the best I can come up with at the moment.
And the mobile version?
I’d gone a long way down the road of developing the API to allow mobile apps access to the system and had even written my own prototype of the “taxi user” mobile app for Windows Mobile. It worked great. It works out where you are using the GPS in your phone and just asks “where to guv?” – nice and simple.
Then the opportunity arose for me to create a Windows Phone 7 application with some outside help. We were able to create a very rich application with many more features in a short space of time. I even has a “taxi driver” version in the works. They log into the app and my system is aware of where their cars is. I can then do clever things in the end-user app such as prompt “your fare will cost £14 and we have a taxi 6 miles away which can be with you in 14 minutes, click here to talk to the taxi driver”