Geofencing in the mining/resources and logistics industries

Based on a report from PWC last year, the swiftness of technology advancement is astounding, with emerging technologies rapidly maturing and being deployed within the workforce. This is particularly true in the case of wearables and the impact they will continue to have across enterprise environments.

Amongst other key trends, the GeoMoby tech is very well positioned for leveraging both beacons and geofencing opportunities:

  • The implementation of beacon technology in the workplace will demonstrate how heavy machinery and workers can be further supported by smarter technology. Beacons allow for device interaction based on proximity, for instance by communicating with a nearby smartphone application. Beacons can also house sensors to capture and transmit data, which can help to track and manage minor and major safety-related interactions undertaken by workers and machinery. A grid of beacons can be used along with fingerprinting and calibration in order to provide an accurate positioning system both indoors, outdoors and even underground.
  • The emergence of Geofencing technology may be heavily utilised in hazardous work environments. For instance, the technology can be used to create a virtual barrier to help prevent workers and machinery from coming into contact with known hazards. As it matures, there will undoubtedly be many applications for this technology to aid in worker’s safety.
Geofencing in Mining

Geofencing in Mining

How easy it is:

1. System admins use satellite maps to determine geofence or microfence boundaries

2. Geofences can be made by dropping pins and dragging lines to achieve appropriate shape

3. Geofences are live in real-time and our technology starts monitoring assets, devices, workers…

3. The technology increases safety and productivity on construction sites, warehouses, underground mining…

By integrating your mobility strategy with the overall business strategy, you will be well positioned to take advantage of the seismic shift that is transforming the way customers and staff communicate and do business. Executives should consider how digital products can be used strategically within their businesses to improve safety outcomes, reduce costs and ultimately improve the performance of their company.

Improves Safety outcomes and reduce costs

Automate the surveillance of dangerous areas by adding geofences that limit access to recently blasted areas, areas with dangerous gases, unsecure areas etc. Simplify your permission access such as limiting the access for personnel to certain areas. Minimise the time for evacuation by determine the best emergency escape routes when there is an accident and send this information to personnel at the right locations. Analyse past incidents and learn from your mistakes!

Increases Production Efficiency

Keep track of what is happening in the mine in real-time. Whenever trouble is identified, you can take the proper measures in order to minimise the downtime or to avoid bottlenecks.

In conjunction with Telematics

Telematics is the integrated use of telecommunications with information and communications technology. It is the science of sending, receiving, and storing information relating to mobile objects — such as vehicles, persons — via GPS, Wi-Fi and telecommunication devices.

In a quarry environment, a geofence can allow managers to compare how long it takes individual operators to move between the quarry face and the primary crusher. It might show that one driver takes 10 minutes to travel between the loadout area in the pit and the primary hopper, while another takes 13. Breaking that information down over the course of a shift, the slower driver is taking fewer trips a day, which leads to lower production rates and higher operation costs.

Geofencing with telematics can provide additional benefits beyond tracking equipment’s whereabouts. As a tool for security, an administrator can be alerted if machinery starts up after hours, and also show where the equipment has moved. It can work to keep machinery out of certain zones — such as hazardous or environmentally sensitive areas — and alert the driver and/or a manager if a machine enters one of these zones. If a driver or operator is practicing unsafe behavior, the telematics can also send an alert.

Stay tuned as we might have some more news for you around wearables and telematics anytime soon!

 Tackle the challenges

To fully realise the benefits and opportunities digital mobility promises, social, legal and technical challenges will need to be addressed, such as:

  • Privacy concerns – Increasing volume and collection of data makes ensuring its security and protecting the user’s privacy is an ongoing challenge.
  • Industrial relations – Similar to the above, the increased recording, capture and analysis of personal data may be met with resistance from workers.
  • Human factors – learning and using new technology. Using it safely and efficiently.
  • Technical issues – On the technical side, businesses must consider how new technologies can integrate with existing systems and capabilities to ensure connectivity across different platforms.

GeoMoby’s technology addresses privacy concerns by NOT recording any personal information and uses world-class encryptions to ensure that collected data are truly safe with us. Our public API allows businesses to seamlessly integrate our technology into already existing platforms.

If you want to hear more about how our technology can do great for your mining/resources business, please contact us.

References:

 

GeoMoby’s team will be landing in San Francisco in January next year!

startups

The first group of Australian startups have begun their residency at the Australian Landing Pad in San Francisco.

The diverse group of innovative technology businesses range from an app for child safe Wi-Fi to a personnel management solution for large volunteer-led events.

The San Francisco landing pad will be managed by Austrade and located at RocketSpace, a tech campus and accelerator famous for housing 17 startups that are now valued at more than $1 billion each, also known as “unicorns”.

RocketSpace is a renowned co-working space that once housed the likes of Uber and Spotify.

Australia’s Consul General and Senior Trade and Investment Commissioner in San Francisco, Chris Oldfield, said the new Landing Pad would put Australian entrepreneurs and startups at the heart of technology and innovation.

“This Landing Pad will let some of the best and brightest Australian startups take their ideas and innovations to the next level by being in the global hub for technology and entrepreneurship,” Mr Oldfield said.

“The San Francisco tech ecosystem really leads the world in fostering successful startups and has produced outstandingly successful companies like Facebook, Airbnb and eBay.

“Now a diverse group of Australian startups ranging from a child-safe Wi-Fi network to a personnel management solution for large volunteer-led events will have the best possible opportunity to find similar success.”

The initiative is part of the federal government’s national innovation and science agenda to boost the global potential of Australian entrepreneur, with $11 million in funding provided to the five locations.

Fist Landing Pad startups

Melbourne startup Rosterfy, which provides cloud personnel management solutions for large volunteer-led events, is part of the first cohort and has already split its founding team between Australia and Silicon Valley. “It really opens up a lot of opportunities for us,” Founder Shannan Gove said.

Perth-based geo-location startup GeoMoby will enter RocketSpace next year. Its founder Chris Baudia says his key goals while there will be to raise more capital, acquire more customers and work towards setting up a longer-term San Francisco office.

“RocketSpace is the perfect ecosystem for us to network with talented professionals as well as with renowned investors,” Baudia told StartupSmart.

Koala Safe team, building a Wi-Fi network to help parents ensure their children stay safe online, has also landed in RocketSpace.

Reference:

Geofences vs Microfences (iBeacons)

Geofences and beacons aim to achieve similar goals. They both determine a user’s proximity to a particular location. But we have to see those technologies are complementary; each technologies will be determined by your own use cases… And sometimes you may obtain the best results when you combine both of them!

The questions we are being asked all the time is how to decide whether to use geofences, beacons or both in your app? A good rule of thumb would be to think of geofences when you want to interact with a user in a geographical area down to 50 meters at most. When you need a more precise location down to centimeters,  we usually recommend microfences via iBeacons.

Our team has compiled a quick table for you to understand the main differences between a geofence and a microfence. If you still have some questions, do not hesitate to reach out with us!

Microfence (iBeacons) vs Geofence

Microfence (iBeacons) vs Geofence

Playing with a standalone Android smartwatch

One of the leading features of smartwatches is that they pair with your phone to deliver notifications, alerts and messages on your wrist. So, if you’re wearing a smartwatch, you can keep your phone in your pocket.

But, with that setup you still need to have a smartphone and if your devices are no longer in proximity you lose functionality on your watch. That’s no fun at all and it ruins the point of having “smart” devices.

Recently, our team has been playing with a standalone Android smartwatch running on Android 5.1 (Lollipop). To be clear, you do not need to pair your watch with a smartphone anymore, a standalone smartwatch includes all the functionality of a smartphone built-in. Generally, they can connect to 3G or 4G mobile networks and take a SIM card.

Standalone devices will connect to a network and update messages, alerts and notifications on their own. In this way, you are not forced to use a smartphone with them if you do not want to. Many of them can make and receive calls, just like a phone. They can also be used to browse the web, though the small display is not convenient for such a thing – but it’s still possible.

We’ve set up our test environment and successfully ported our SDK into the watch in less than 30 minutes with a very simple app that would report user location and nearby beacons to our GeoMoby server.

Standalone Android smart Watch

Standalone Android smartwatch

And the result:

 {
 "app_key": “DEMOAPP”,
 "device_id": "watch",
 "id": 3511,
 "report_json":
 "{"observations":
 [{"gps_location": {"lat": -32.5372975, "radius": 8.0, "lon": 115.7365012}, "time": "2016-10-04T03:00Z”},
 {“beacons": [{"distance": 0.8774627140346202, "major": 12345, "uuid": “WdRt”, "txpower": -77.0, "rssi": -76.0, "batteryLevel": 92, "minor": 1}],
 "time": "2016-10-04T03:02Z"},
 {"beacons": [{"distance": 0.38554328942953164, "major": 12345, "uuid": “0rAr”, "txpower": -77.0, "rssi": -70.0, "batteryLevel": 92, "minor": 2}],"time": "2016-10-04T03:03Z"},
 {"beacons": [{"distance": 1.2074340059003499, "major": 12345, "uuid": “qX7f”, "txpower": -77.0, "rssi": -79.0, "batteryLevel": 92, "minor": 3}], "time": "2016-10-04T03:05Z"}], "time": "2016-10-04T03:07Z"}],
 "time": "2016-10-04T03:07Z","battery_status": “75.0”,"app_key": "DEMOAPP","device_id": "watch"}"
 }

 

GeoMoby SDK on standalone smartwatch

We have a few projects in our pipeline using smartwatches as part of an enterprise solution. Stay tuned and let us know whether you would like to try the GeoMoby Geofencing SDK on a smartwatch!

Avoid Bad Geofencing Practices!

More than 30% of the world population are already using location based marketing services, and 80% of them want to get location-based alerts from businesses. But even though most of the businesses can see the incredible value of integrating geofencing in their apps/solutions, this technology might also harm your business.

Based on our clients’ feedback, the GeoMoby team has compiled a “Please Don’t Do It” list that you can use to avoid making your geofencing campaigns a nightmare.

Please, Don’t Do It!

#1 Do not try to use geofencing just for the sake of it.

If it does not add value to your users, just don’t do it. Otherwise, you would annoying them and start losing users/csutomers.

#2 Are you sure you want to overlap your geofences?

Overlapped geofences should be used carefully and along with segmentation and a lot of testing. Because it can increase the likelihood of sending wrong messages to your users, GeoMoby Geofencing Platform has come up with a list of features that makes overlapping easier to control and maintain,

#3 Do not send the same message to all of your users.

Think about “Location, Location, Location”, now just add “Segment, Segment, Segment”. Instead of having one single campaign, just try with 5 or more and address all profiles of your users. Reminder, it is all about reaching the right profile, at the right time, place and with the right content.

Imagine that you can send messages to your users based on their interests, purchase history, time of the day, profile, weather etc etc… So do not send a “Hi! Come and visit our store with this 20% discount coupon” but “Hi! It’s raining cats and dogs today, do you want to check our umbrellas with 20% discount?”. If you knew that a specific segment of your users are shopping with their kids, you could offer them a free ice-cream if weather is hot or a warm churros when it’s freezing cold!

#4 Do not take privacy lightly.

There is plenty of ways to address any privacy issues that your users may be concerned about. The key here is transparency: update your terms and privacy, add a line in your app description, create a pop-up message when your users launch your geofencing app for the first time…

Just make sure not to abuse this feature, and only use it at the right moment in time and for the right person. The more value you add to your users, the more likely they will be willing to share their location with you. And you’ll increase loyalty too!

#5 Don’t stick to your own venues!

Here at GeoMoby, we’ve had plenty of customers that have decided to geofencing competitors’ location in order to try to find users with different profiles and then offer them more relevant content.

They could identify a new segment of their users but also brought them back to their stores with a specifically designed campaign!

#6 Don’t create geofences and microfences with the wrong size.

You should be aware of pros and cons of using a geofence (GPS/Wi-Fi) versus a microfence (Beacons). We are writing a blog post around this topic but for now here is a few interesting use cases:

Geofence vs Microfence - Use Cases

Geofence vs Microfence – Use Cases

Create a geofence around the entire country will create a huge area with an audience that would be extremely difficult to target in a meaningful way. In a multi-storey building such as malls for instance, you would prefer using microfencing (beacons) as beacons work well indoor (we are talking about proximity detection here, not accurate indoor positioning).

Just be mindful of your use cases and adapt the size of your geofence/microfence accordingly. Keep in mind that even beacons can be set (Tx Power) to have a specific range from just a meter to up to 70 meters (in good conditions)!

#7. Don’t take for granted that everything will just work fine.

Setting up a grid of microfences using beacons would require you to install the beacons at the right place, avoiding any walls in the line of sight of each beacon etc etc. Same for the geofence, do not only create a geofence from a map and hope that it will work OK; take a look at the space around, usual foot traffic etc etc. Testing your geofence/microfence is as important as creating meaningful content for your users.

Fortunately for you, GeoMoby has created a set of tools so that you can quickly determine the performance of a geofence or a microfence and make real-time adjustments.

#8. Don’t push content only. Think about Analytics.

Push notification is only a tiny part of a geofencing campaign! At GeoMoby. we do think that data collection is as important as sending the right content to the right person at the right time. Using behavioural analytics to learn from your users, their profiles and patterns would help to predict the best content to send and increase your ROI!

Just have a look at our analytics engine and request personalised reports if needed, our team is here to help :-) .

#9. Don’t let your only success metric be around sales and visits.

They certainly matter, but this wont’ help you to build customer relationships. Don’t always be asking for something or sending coupons, make the whole experience fun, find new services for your customers. Geofencing opens the doors to a completely different user experience, combine it with VR or AR and you’ll get a feeling of what the future of retail would look like!

#10. Don’t stop getting feedback from your users.

Have you thought about using geofencing along with surveys? A few of our users have expressed great interest in setting up geo-based survey as you can request for feedback at the perfect time: during and event, right when your user leaves your store…

References:

  • https://www.proxbook.com/blog/beacons-vs-geofencing-which-way-to-go
  • https://www.gimbal.com/blog/bluetooth-beacons-or-geofences/

How to avoid getting your location-based app spoofed?

When you are developing your new location-aware app., it is important to understand that people can spoof their GPS location and fraudulently activate some of your app features.

Because we have received quite a few questions about location spoofing, we’ve decided to write a blog post and explain a few ways to avoid your app to get spoofed.

First of all, you need to understand that none of the tracking methods are particularly easy to spoof. It can be done but it is simply outside of the reach of the average user as it generally requires either a modified device (physically – rooted or programmatically – emulator) or some external gear.

Android Devices

To enable the Developer Mode (these steps are for KitKat), tap on Settings > About > Software information > More.

You should see a short list of items that includes “Build number“. Now, tap “Build number” seven times and your phone will flash a message: “You are now a developer.” – Yes, you are :-) !

Now, if you go back to Settings, you should see Developer options near the bottom of the menu. Tap it and you’ll see a message pop up like “These settings are for development and testing purposes. Making changes may affect your phone’s performance. Please proceed with caution.” . No worries, everything is gonna be alright. Go into Developer Settings and enable Mock Locations. Then you canuse one of the fake GPS apps available in the Google Play Store: click here to check them out.

You have built an awesome location-aware app and you’d like to prevent your users to spoof your locations (for instance, your app unlocks features only when users are at specific locations), here what you can do:

1. You could check if the device enables Mock Locations and might be using a fake GPS app:

//returns true if mock location enabled, false if not enabled.
public static boolean isMockLocationOn(Context context) { 
  if (Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ALLOW_MOCK_LOCATION).equals("0")) 
    return false; 
  else 
    return true; 
}

2. You can check whether there are any other apps in the device which are using android.permission.ACCESS_MOCK_LOCATION

 /** Checks if the device is rooted.   
  * @return <code>true</code> if the device is rooted, <code>false</code> otherwise.
  */
 public static boolean isDeviceRooted() {
    // Get the build tags info - See note below to know more about it
    String buildTags = android.os.Build.TAGS;
    if (buildTags != null && buildTags.contains("test-keys")) {
      return true; 
    }
    // Check if Superuser.apk is present
    try {
      File file = new File("/system/app/Superuser.apk");
      if (file.exists()) {
        return true;
      }
    } catch (Exception e1) {
      // ignore
    }
    // try executing commands as a superUser
    return canExecuteCommand("/system/xbin/which su") || canExecuteCommand("/system/bin/which su") || canExecuteCommand("which su");
 }

// Executes the specified string command in a separate process
private static boolean canExecuteCommand(String command) {
  boolean executedSuccesfully;
  try {
    Runtime.getRuntime().exec(command);
    executedSuccesfully = true;
  } catch (Exception e) {
    executedSuccesfully = false;
  }
   return executedSuccesfully;
  }

Note: “release-keys” and “test-keys” has to do with how the kernel is signed when it is compiled. “release-keys“ means it was signed with an official key from an official developer. “test-keys“s means it was signed with a key generated by a third-party developer.

If both above functions first and second are true , then there are most chances that location may be spoofed or fake!

3. Spoofing can be avoided by using Location Manager’s API and removeTestProvider() method (Removes the mock location provider with the given name) as shown below:

LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE);
try {
          Log.d(TAG ,"Removing Test providers")
          lm.removeTestProvider(LocationManager.GPS_PROVIDER);
     } catch (IllegalArgumentException error) {
          Log.d(TAG,"Got exception in removing test provider");
     }
 lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);

You can remove the test provider before requesting the location updates from both providers: Network and GPS.

4. You can try to use a range of anti-spoofing measures using a list of the below measures:

  • Check the general location of cell towers (very low battery drain): you could check to see if the current cell tower matches the location given and apply a margin error
  • Use speed of the device: maximum and minimum speed limits may apply.
  • Corroborating measures: cross referencing WI-FI SSID’s received with your location database and validate IP address of your mobile users.

iOS Devices

It is a bit tricky to know when your users are spoofing their locations for iOS devices. There are multiple ways to spoof a location: Example 1Example 2.

One thing you might want to try is to detect when a device is jailbroken. Once a device is jailbroken, a lot of other files and applications are installed on the device. Checking for these files in the filesystem can help us identify whether the device is jailbroken or not.

Let’s see how to do it:

+(BOOL)isJailbroken{
if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"]){
  return YES;
}else if([[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/MobileSubstrate.dylib"]){
  return YES;
}else if([[NSFileManager defaultManager] fileExistsAtPath:@"/bin/bash"]){
  return YES;
}else if([[NSFileManager defaultManager] fileExistsAtPath:@"/usr/sbin/sshd"]){
  return YES;
}else if([[NSFileManager defaultManager] fileExistsAtPath:@"/etc/apt"]){
  return YES;
}
return NO;
}

Checking for these files in the A user running a jailbroken device can install your app in the /Applications folder and give it root privileges. You can add a check to see whether you can modify a file outside the application bundle (sandobxing rules)

NSError *error;
NSString *stringToBeWritten = @"This is an anti-spoofing test.";
[stringToBeWritten writeToFile:@"/private/jailbreak.txt" atomically:YES
encoding:NSUTF8StringEncoding error:&amp;error];
if(error==nil){
   //Device is jailbroken
   return YES;
} else {
   //Device is not jailbroken
   [[NSFileManager defaultManager] removeItemAtPath:@"/private/jailbreak.txt" error:nil];
} 

Most of the devices that are jailbroken have Cydia installed on them, and even if the hacker can change the location of the Cydia app, he most probably won’t change the URL scheme with which the Cydia app is registered. If calling the Cydia’s URL scheme (cydia://) from your application gives a success, you can be sure that the device is jailbroken.

if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://package/com.example.package"]]){
  //Device is jailbroken
}

Note: Don’t forget to add the following line to make sure that this code does not execute if you are testing your application on a simulator.

#if !(TARGET_IPHONE_SIMULATOR)

There are a few other ways to check if the device is jailbroken but added the above checks  will help you prevent location spoofing in most cases but bear in mind that a good hacker will always find a way to bypass these checks…

Source:

Better Estimate The Distance Device – Beacon

In our last post, we talked about how iBeacons work and what we are currently doing with them.

One of the major problems of iBeacons is how you measure the reported distance between a mobile device and a single iBeacon. Due to the physics behind radio signals, the reported value is an estimation only and we can observe a lot of deviation.

Estimote, on their community forum, estimated the following deviations:

  • Distance of 20 cm: deviation is 5 – 6 cm
  • Distance of 1 m: deviation is 15 cm
  • Distance greater than 10 m: deviation is 2 – 3 m

We have made our own measurements in various environments such as a house, busy office, open air… and we have found that the deviation can be quite different. Sometimes, the distance estimation can switch from 1 to more than 5m!

So we’ve started looking at how we could improve distance estimation accuracy…

1. First of all, we’ve created a testing environment

We’ve conducted a few measurements in order to reproduce the great work done by ShineTech a few months ago. Our measurements have been made using Estimote beacons and our own GeoMoby iBeacons.

Key Findings:

  • Playing with TxPower will make the distance estimation a bit more accurate within the first meters but won’t help above 5m.
  • The location of your iBeacon is important: try to put your beacon high in order to avoid any direct obstacles but also avoid windows as they cause a lot of reflections.
  • We could observe jumps and dips in signal readings without moving the iBeacon from its current position so estimation algorithms must “average” the readings as much as possible… keeping in mind that the scanning process is power hungry!

2. We’ve read a lot !

Are triangulation (estimation using angles) or trilateration (estimation using distances) good approaches to better measure the distance from a beacon? The very first question you need to ask is : “what are you trying to achieve?” – Is it a new fancy indoor navigation system or a proximity-based messaging platform?

We are specialised in proximity detection and our goal is to provide a easy-to-use platform for developers and marketers. As a result, we have decided to focus on how to improve signal readings in a complex indoor environment and NOT looking at indoor navigation.

The majority of indoor systems operate in a non-line-of sight (NLOS) environment. Based on empirical data, a fairly general model has been developed for NLOS propagation. It is called the Power Law Model:

RSSI = 10n x log10( d) + A

RSSI = Measured signal by your mobile device - in dBM
d = Distance estimation – in meter
n =  Path loss exponent
A = Calibrated RSSI at 1m – in dBm

The key variable that we need to estimate here is the path loss exponent (n).

Key Findings:

  • n inherently depends on the environment
  • n is an estimation based on empirical data
  • n has to be measured with appropriate tools

3. We are now using our own calibration tool

We’ve decided to build an iBeacon Calibration app using basic math concepts such as Least squares method and polynomial curve fitting. The idea is to manually measure the signal strength (RSSI) at different distances from the iBeacon and solve a quadratic problem that will give us the path loss constants of the current indoor environment!

GeoMoby IBeacon Calibration

Example of the GeoMoby IBeacon Calibration App v0.1 BETA

Our app lets you move around your iBeacon at the distance showed on the left sidebar (in meters), click on “Get RSSI” and report the result. Click on “Store & New” in order to take another measure and when you are ready, hit the “Calculate” button! The app will display 3 constants that you can enter in your dashboard.

GeoMoby_Calibrate_Beacon

GeoMoby Platform – Enter the path loss exponents

The very next version of our app will allow you to authenticate with our server and will “automagically” update your account for the desired beacon and environment. So stay tuned!

Key Findings:

  • Try to keep your mobile device in a “shopping” position when you take the measures in order to get real-life results 
  • Repeat measurements 2 or 3 times. The app will “smooth” the readings and  calculate an average
  • The first version of our Android Calibration App is available to our current customers only. Email contact@geomoby.com to know more

4. Algorithms in the cloud

The path loss constants being stored in our database from measurements done by our team or our clients using our iBeacon Calibration app, our platform will then estimate the distance via a polynomial curve fitting method.

GeoMoby IBeacon Poly Curve

GeoMoby – Polynomial Curve Fitting Method

The below graphic is the result of 3 series of measurements using an Estimote iBeacon, the formula provided by a Radius Network’s engineer and our own calibration tool up to 15m:

GeoMoby IBeacon Calibration Results 1

Distance Estimation with and without GeoMoby calibration process

I must say that we have been quite surprised with the results… Standard estimation shows good accuracy up to 2m. Further away, the accuracy becomes quite poor…

A GeoMoby iBeacon has been used for this second graphic:

GeoMoby IBeacon Calibration - GeoMoby iBeacon

IBeacon Calibration  using a GeoMoby iBeacon

We have read numerous bloggers saying that “the nearer you are to a beacon the more accurate the reported distance, likewise the further away the beacon to a mobile device, the less accurate”. It is true using the current tools on iOS and Android, but our results demonstrate that you can still get a fair accuracy in a complex indoor environment using our calibration process.

Here now how you can configure your iBeacon proximity in our system:

Screen Shot 2014-04-14 at 9.15.33 pm

GeoMoby platform – Proximity Set Up

Having completed these experiments, we can conclude that achieving accurate distance measurements with a single iBeacon is possible with some limitations, especially because the measurements depends on the quality of the calibration process and the complexity of the indoor environment.

 More measurements and software updates will be coming soon so stay tuned and contact us if you need to know more: contact@geomoby.com.

How iBeacons work and what we are doing with them

IBeacon Identity Profile

First of all, an iBeacon has a few identifying characteristics so that apps can distinguish the iBeacons they’re interested in from a crowd. iBeacons simply identify themselves via a combination of 3 values: UUID (unique identifier), Major and Minor.

  • The proximityUUID property contains the identifier that you use to identify your company’s beacons.
  • The major property contains a value that can be used to group related sets of beacons. For example, a department store might assign the same major value for all of the beacons on the same floor.
  • The minor property specifies the individual beacon within a group. For example, for a group of beacons on the same floor of a department store, this value might be assigned to a beacon in a particular section.

Does it work on Android?

IBeacon capabilities have been added to iOS since iOS 7.0 but Bluetooth LE is supported on Android only from 4.3+ with no native library to detect and manage iBeacons. Because we LOVE challenges here, we’ve decided to tackle this problem and we’ve managed to port the iOS7 iBeacon SDKs to Android in our new Android SDK (v2.0) released in January this year. Only a few in the industry successfully support iBeacon on Android.

Since we released the our Android iBeacon Library a few months ago, allowing Android devices to detect iBeacon just like iOS, we’ve received quite a few questions and here are our answers:

  1. Does the SDK support any iBeacon, or only Estimote/Kontakt/…?
    Yes, our SDK supports all iBeacons as long as the suppliers respect the iBeacon identity profile in the advertisement packet.
  2. Can Android devices act as an iBeacon?
    Unfortunately, Android 4.3 devices with BluetoothLE can see iBeacons but not act as iBeacons, because Android 4.3 does not support peripheral mode.
  3. How distance works with iBeacon and what accuracy can we expect?
    See below a more detailed answer.

How Distance Works with iBeacon

iOS does a lot of work behind the scenes approximating the distance to each iBeacon. Because broadcast interference can result in wide fluctuations in signal strength (walls, windows, furniture…), iOS smooths the data to produce a more stable estimate of distance. The estimates of distance are broken down into four predefined distance zones: unknown, far, near, and immediate (See Figure below). When a beacon cannot be detected, it falls into the unknown zone.

IBeacon Distance Estimate

IBeacon Distance Estimate

However, the accuracy of indoor positioning system is greatly dependant on the parameters selected for estimation and the measurements obtained from the environment. The measurements are corrupted by various environmental conditions such as temperature, reflection, presence of obstacles, human body, multi-path fading, antenna polarisation…

Here is the kind of accuracy confidence we could measure in a standard office space:

Immediate Zone (0 – 0.5 m)

  • Accuracy confidence is very high

Near Zone (50 cm – 2 m)

  • Accuracy is fairly certain

Far Zone (2 – 30+ m)

  • Accuracy is low and not quite reliable

You know us now, we’ve decided to look at how we can improve distance detection within the first 5 meters where most of our customers would like to get better accuracy confidence.
We are developing our own tools and algorithms using polynomial curve fitting, fingerprinting, extensive calibration techniques etc etc and we’ll be releasing our findings and useful tools quite soon.

In the meantime, our platform already gives the option to choose a more granular zone range when creating a microfence!

Microfence Zones

GeoMoby Microfence Zone Range

A last note

With the release of IOS 7.1, iBeacon now works when the app is closed (I mean “hard closed”, not just when foregrounded or backgrounded). More details in this article !

If you have any questions about this article or want to learn more about our products, just contact us !

Sources:

Partnership Announcement with BuzzTouch

geomoby_logo buzztouch_logo

GeoMoby team is proud to be partnered with US’ fastest growing mobile SDK marketplace company, BuzzTouch.

BuzzTouch is an open source “app engine” that powers tens of thousands of iPhone, iPad and Android applications.

BuzzTouch has an amazing community of 250,000+ users that lets experienced developers help out the beginners. The great thing about this platform is that it allows developers to stay independent if they want to and gives you full control of your app. On the other hand, the web-based platform lets you host your app from BuzzTouch, your own website or a cloud storage program. You can create simple or extensive apps using the platform even if it’s only your first time developing an app.

BuzzTouch also offers a robust learning community and resource materials via podcasts, video tutorials and blogs.

GeoMoby SDKs is now incorporated to the BuzzTouch platform as part of the SDK partnership program and will be available to all BuzzTouch users.

Official Communication: BuzzTouch Forum

GeoMoby Team

Is IBeacon the end of NFC?

As of December 2013, iOS 7 has been installed on 78% of supported devices. For GeoMoby, the most important part of iOS7 is that Apple unveiled iBeacon, a feature that uses Bluetooth 4.0, a location based technology [OK, multitasking was also great to see in the release notes :-) ]. This makes it possible for mobile devices to detect how close a phone is with a very high precision ( a few inches). This is opening the door for new exciting opportunities and services that could enhance the user experience and probably make our life easier!

There is now a huge opportunity for developers to build very cool location-based and context-aware applications!

GeoMoby, NFC and iBeacons

At GeoMoby, we also tested NFC (Near Field Communication) technology but we were also quite keen on testing iBeacons. To be short, NFC requires mobile users to tap their phone against a target whereas iBeacons can reach any users anywhere within 50m range (in reality a bit less depending on the environment ). Using the Bluetooth 4.0 (or Bluetooth Low Energy) protocol, iBeacon is a micro-location device that can be deployed within buildings and provides geofencing capabilities. Low-energy transmitters facilitate two-way communication with supported mobile devices that come within their range, allowing for accurate indoor navigation, automated retail services, customers statistics aggregation, in-store advertising… This could include not only use cases in stores, but also in museum displays, stadiums, gigs or even in the home.

Bluetooth is a wireless data channel that can handle much more bandwidth than a typical NFC interaction

One says that they could also represent Apple’s response to those who have wondered if the company would ever adopt Near Field Communications technology in iPhones.

Estimote Ibeacon

IBeacon from Estimote

However, NFC technology also offers the ability to bring location-based services to apps with tags that work up to 20 cm.

During a webinar that focused on the potential of NFC in mobile gaming, SmarTrac’s Mikko Nikkanen said there are “tens of NFC smartphone models available,” and suggested that the future is extremely bright for the technology despite recent noise around iBeacons.

NFC is incredibly precise and can be used jointly with your credit card. It works wirelessly and over what are typically very short ranges–such as the air gap between your NFC phone and a payment pad at a cash register in a store. For instance, the register taps the the mobile device over the NFC tags. The device detects the signals, and responds with the user’s payment data, and acts as a de facto authentication device.

Can NFC do geofencing?

Yes, but within 20cm of the tags… Not very handy. Except for automatic payments!

Can iBeacon/BLE be used with a payment system?

Yes! There’s a lot of potential for more sophisticated interactions between the payee and the merchant’s computer systems. For example, if you enter a store that’s equipped with an iBeacon device, your phone could then get an alert with the special offers of the day, a special coupon that’s tailored to your needs or direct you to the right part of a store to find a particular product.

Imagine now that you want to make a payment, there would be no need to swipe a card or even tap your phone against a tag to share your payment data, this can happen without you having to get your mobile device out of your pocket!

Indoor Geofencing Example

Indoor Geofencing Example

Which technology is the most affordable option?

I found a great example on Gigaom that demonstrates how NFC chips can become very expensive:

“Let’s go to Macy’s. The average area occupied by a Macy’s store is 175,000 square feet, which is 16,258 square meters. iBeacon’s range is 50 meters (typical Bluetooth range), or 2,500 square meters. So a typical Macy’s store would need 7 iBeacons.

Estimote, a company which just launched to sell beacons, is taking pre-orders at the price of $99 for 3 beacons. The range of Estimote’s beacons is 50 meters, but the recommended range is 10 meters. If you go with the recommendation, you need 1 Estimote beacon for every 100 square meters, which would cost you about $5,000. If Macy’s wanted to add NFC tags (each at 10 cents) to all its products to send information to phones, it would cost $1,000 for 10,000 products, $10,000 for 100,000 products and $100,000 for 1 million products. NFC may not be needed on all products, but this will give a rough idea on how much it could cost.”

Need a summary table?

IBeacon vs NFC - Comparison Table

IBeacon vs NFC – Comparison Table

Sources:

What are we doing now?

Now, here is the fun part. We believe (for the reasons explained above) that iBeacon technology will be a major player in indoor geofencing so we must integrate this feature into our SDKs.

One can find a lot of documentation about how to integrate iBeacons into iPhone apps but very few for Android. With quite a few readings, reverse engineering and long hours of testing; here we go: we’ll be beta launching our new Android SDK integrating iBeacon capability by the end of this month (January 2014).

Stay tuned and contact us whether you need more info or test the new feature!

GeoMoby - Create a new iBeacon

GeoMoby – Create a new iBeacon

GeoMoby - Create an Alert with iBeacon

GeoMoby – Create an Alert with iBeacon

Sources: