iPackTravel: Get to Destination with Location Finders
I recalled a conversation with a friend just before she went to Taipei for 8 days free-&-easy in 2016. She was asking me how to get from a metro station to a certain hotel. So, I told her, like any traveller would, to
use any maps app on her mobile phone to cache the maps around the hotel before going,
turn on GPS to find her own location on the map when on the ground,
use landmarks or a compass to get her bearings and follow the map to the hotel.
Her reply was
she did not know how to read maps,
she would not be getting any data plan and "GPS requires data",
she did not know how to use a compass. The only time she had used a compass many years back, she actually got lost in a big park because she thought the compass needle was pointing towards the entrance...
And we got into a silly debate on why she did not study geography during her school days. Anyway, after she landed at Taoyuan International Airport in Taiwan, she hailed a taxi straight to the hotel (not knowing there was a 50% surcharge on metered fare from the airport and excluding highway tolls).
That conversation started the ball rolling on the development of an application that can assist travellers to find their ways when travelling — without using maps and data roaming.
Before we continue, a clarification on GPS
Finding your location via GPS (global positioning system) DOES NOT requires data. It needs a direct line-of-sight between your mobile device and the GPS satellites in the sky to give you your location. So, stay in open areas to get accurate readings. Turning on WiFi may also improve accuracy in urban areas.
The major consideration factors in the design of the Location Finders, a GPS tracker for travel, for iPackTravel are:
1. Two groups of users: those who know how to use maps and compass, and those who know neither.
2. Data roaming. For users who know how to use maps, will they use data roaming to download maps and perform routing? Maps can use 20-80 megabytes of data and can be a strain on users who are travelling on data roaming.
3. Battery consumption. Network connections, location services and hardware device operations all consume power. Higher performance means higher battery drain. How are we going to balance between battery usage and accuracy?
4. Value-add. What kind of benefits can we add for iPackTravel that the Maps app and Compass app cannot?
With these in mind, we came up with two modes of operation for the Location Finders: a "Compass-only" mode and a "Compass & Map" mode. They can be found in the Travel Library under the Travel category.
The first screen of the module will let a user chooses which mode to launch. This is the best place for iPackTravel to remind the user that the "Compass & Map" mode uses data (and may be charged for data usage) before the map is shown.
In iPackTravel, any functions requiring network data usage will have a red-coloured signal icon besides it. This is useful when the user is travelling with data roaming.
This simplex mode is specially designed for travellers who can't read maps and would like to travel by GPS. There is no network data usage in this mode. Users who do not wish to use data or has no data plan to download maps on the move can use this mode too.
The Location Finder looks like a compass (thus, we call it as "compass" for short). Unlike normal compass that points to the magnetic north, the Location Finder points to the target destination specified by the user. Using the iOS device's on-board gyroscope, the bearings and straight-line distance are calculated from the user's location to the destination.
iPackTravel's compass is also designed to show different rim colors based on the user's distance from the target.
Gray: > 5Km (location accuracy is set to the lowest, finding a target that is far away is actually wasting device power)
Yellow: 300m - 5Km
Dark Green: 50m - 300m (location accuracy will be set to best at < 300m)
Green: 20m - 50m
Green: < 20m (red cross-hair image will replace the arrow, compass will stop operation automatically)
Instead of allowing the device's location services to update iPackTravel continuously (multiple updates per second) and consumes a lot of power, we controlled the updates to be at 1.5 seconds interval (roughly 2 walking steps). This reduces the update frequency and uses far lesser power.
A "Stop" button allows user to manually cancel all operations.
Compass & Map Mode
The Compass & Map mode has exactly the same function as Compass mode with the addition of a map with routing and directions function.
Once a target location is set, the map will show both the user and target locations and automatically plot a route, which can be either a walking or vehicle route. User can also request to show/hide directions or refresh the route after travelling some distance. Note that these functions use network data.
A special case when the user is travelling on data roaming...
Firstly, how we know the user is travelling? iPackTravel will run through the trip records in My Trips module and determine if the user is on a trip. Secondly, we check the network connection to know if the device is on WiFi or Wide Area Network (WAN).
So, when a user is travelling on data roaming, all automatic functions will NOT be performed unless on request by the user. This helps to avoid data roaming charges for the user.
Maps can be cache before setting off to avoid downloading maps on data roaming. Simply browse the map around the target (zooming in and out too) when on WiFi, the map tiles will be cached for a limited time.
Routing will always use data. (To completely avoid using data roaming, use Maps app to route from point to point with WiFi, take screenshots of the map with routes.)
Routing and directions are generated at the same time, so there is no data usage to just show or hide directions. Minimally one routing has to be performed to get directions.
An Integrated Approach
Setting the target location can be done in multiple ways:
In "Compass & Map", press on the location on the map and hold for 2 seconds.
In "Set Target Location", enter the location name to do a map search (for "Compass & Map" mode only). There may be one or multiple search results, tap on the desired one and mark it as target.
In "Set Target Location", enter the latitude and longitude of the location.
There is a 4th option, which is iPackTravel's integrated solution. If the user has setup a trip record in My Trip and created the itineraries, activities and locations data for that trip, the list of activities with location data will be listed in "Set Target Location" too. There is no need to search for locations or memorised coordinates when travelling, simply get the location from the itinerary. This is an unique feature of iPackTravel.
With Location Finders, finding locations when overseas is much easier and can avoid data charges too.