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; 
    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 {
    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")
     } 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:

if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/"]){
  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];
   //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.


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…


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 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 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:

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 !


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


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


Our Community

Hello everyone. I’m Zachary, the GeoMoby C.T.O that has been largely working behind the scenes of late getting our iOS SDK out the door and bringing new features to our website to enhance our community interaction.

I’m pleased to announce that we not only now are publishing our GeoMoby SDK for both Android and iOS to our website, we also have unveiled our GeoMoby Community Forum (powered by Vanilla).

Vanilla Forum

User engagement, not just our business partners but the variety of interested developers is critically  important to us. Opening up the channels of communication between you and our developers has been in the pipelines for some time. We just waited until our SDK’s were ready for you before taking that next step to introduce ourselves.

iOS Dev Doco

Our development timeline is packed at the moment, there are so many fascinating features and improvements we have lined up for the GeoMoby platform that we are eager to promote these on our website with a greater frequency so you can see the evolution of the platform in real-time.

This doesn’t mean to say that we are not listening to your current and new requests. These are important to us as our next moves are being planned and are based upon your honest feedback. So thank you for taking the time for trying our product, be it the simple but powerful website, the Android GeoMoby demo or even our fancy GeoQuest – Perth game for iOS devices.

We look forward to connecting with you in new and more exciting ways. Come visit us over at


Why Location-Based Mobile Marketing Is Hot?

Location-based mobile marketing is one of the most powerful ways to engage with a customer. Being able to engage with your customers wherever they are is why brands have put so much attention on a 2013 mobile strategy.

As mobile technology continues to evolve, so do the needs of the mobile consumer. Contextualisation and relevancy are key and research has shown that the majority of consumers want location-based content delivered to them and are more than happy to provide personal information if it translates into more personalised communication.

A recent article from Business Insider shows that although privacy and mobile phone location data are becoming increasing concerns for consumers and legislators, women are so interested in receiving relevant offers while they are out shopping that they are willing to make concessions to get them. In fact, 47 per cent of women would share their location information in return for a $5 store credit. Make that a $25 in-store credit and the percentage of women who would volunteer their location increases to 83 per cent.

It is absolutely crucial that the messages being sent to users throughout a location-based marketing campaign are adding value for the user. Making this wrong and that’s when location-based offers just turn into spam and users become annoyed. The messages sent to users need to be thought out thoroughly, as with any other marketing campaign.

Right, now how are we going to get these targeted messages? Simple, just analyse user behaviour within the app. GeoMoby’s SDKs allow you to send to our rules engine some filters that will be use to send out relevant information to users who are in the right location at the right time.

It’s essential that businesses segment their database based on user preferences and use these criteria to tailor messages sent to their mobile users. This good practice leads to higher conversion rates.


According to a new study from Verve Mobile which tracked results of over 100 Verve mobile marketing campaigns between January 2012 and March 2013, “casual dining” merchants reported significant increases in click-through rates and sales after deploying location-based ads to nearby consumers.

Location-based mobile marketing promises the sky: high conversion rates, surgical targeting, and rich consumer profiles.



How To Use Geofencing The Right Way?

@GeoMoby, we are talking a lot to our customers. And we learn a lot from them, especially when they are asking good questions! One of them is “how to use geofencing the right way?”.

First, the basics: A geofence is a virtual perimeter set around a particular real-world geographic location.  For example, when setting up a geofence, you could define an area within a certain radius of a location and trigger alerts whenever a device enters or leaves that geofenced area.

Imagine now how you can use geofencing:

  • around a special event such as a music festival so you can get customers in a buying mindset based on there surroundings.
  • around or in shopping malls for flash events such as a “30mn special offer” on a specific product
  • around movie theaters and set your message so that your customers will receive special offers from bars and restaurants nearby right after the movie.
  • around sporting events for purchases inside the venue during the break.
  • around bus or train stations for coffee shops to offer morning specials for customers on their way to the office
  • around landmarks for a Tourism application that provides information about historical monuments when you are right in front of them
  • wherever else you want!

Hyperlocal context and call-to-action messages are key in making marketing messages relevant. Location-based advertising lifts response rates with relevancy! Sure you are like us and you hate spams so that’s what we are doing: we are thriving to get rid of unwanted messages.

Geofencing is most effective when it is done a certain way. For instance, it’s unwise to send a promotional text every time a mobile device enters a geofence; this could potentially flood customers with marketing messages and become an annoyance rather than useful information or offer.

We should always use the geofencing  technique as part of a well-defined marketing campaign. For instance, a pub can push a message to customers within a geofence at the time they are heading back home with a “need an after work break?” message with 2-for-1 drinks.

To do so, you should create a call-to-action message that generate interests and pick the right spots for your geofences so that you can drive foot traffic to your store, improve customer loyalty and increase repeat business and ROI.

Creating a 1000m radius geofence around your business does not make sense. According to Business Insiderthe closer users are to a business, the more likely they are to click through a mobile banner ad for that business or go to the store.  While increasing brand awareness for the large advertisers does work on mobile, small businesses are losing a huge opportunity to find new customers easily.


Our solution allows you to create and manage your geofences and call-to-action messages in real-time in just a few minutes. If you are a developer, you can use our API to connect to our system from your own backend. It is as easy as that!

We do even better: you do not even need to open your application or see a mobile banner: with our push notification system, we bring you the most relevant-targeted messages exactly where and when they are useful to your customers.

Why do we think our solution is better? You can read Mobile Apps vs Non-App.


We are in Beta Test !

We are launching a new technology platform that will allow offline retailers to engage with their customers in a totally different way. The GeoMoby solution enables businesses to connect with their customers through highly targeted and relevant offers in real-time. This means spam messages are totally eliminated, meaning improved loyalty from customers.

Using GeoMoby is like extending a virtual handshake and inviting smile to every customer that comes past retailers’ door.

Our unique patent-pending technology has solved one of the biggest challenges for others in the industry: battery drain. Further, it provides a unique data contribution to the retail sector, with a database of aggregated and anonymous customer data profiles based on real-time customer behaviour.

At GeoMoby, we believe that good analytics are vital for any industry. For us, its equal parts challenging and exhilarating to ensure our customers are able to make the best marketing decisions for their money.

We are currently seeking early adopters to test our plugin on Android apps. Please contact us on if you are interested!

Mobile Apps (Notification) vs Non-App (SMS)

There is a lot of confusion around App-based Geofencing and Network-based Geofencing. Each of them has pros and cons and we would like to bring our own experience and clarify a few misconceptions.

According to a recent xAd report, Geofencing has become the most popular location-targeting technique and is used in 55% of location-based advertising campaigns. To date, you have 2 options to create a geofence:

  1. You can build an app-based geofence that requires you have an app to access GPS data.
  2. You can build a Network-based Geofence that uses carrier location data and you do not need an app to make it working.

We used to see the following comparison table between the 2 methods:


Main cons for mobile app geofencing seems to be adoption, customer reach, battery life and cost.

Here is now how we have addressed those issues:

SMS_vs_push_comparision_geomoby1. Adoption

Often, we hear that we need to download an app to make our technology working. That is true. But having an app is also key for us as it will provide much more information about consumer behaviour therefore better relevancy in the messages sent.

Furthermore, it will allow your mobile users to make some changes in their preferences on-the-fly and better interact with the other features in the app such as mobile payments, augmented reality…

Most of our customers already have an app or are building one that will be fully integrated with our real-time geofencing solution. To summarise, as long you understand the value of the app, having to install does not seem to be an issue at all.

2. Customer Reach

Clearly, we are not sure why this is a problem…

Smartphone owners are now a solid majority of U.S. mobile subscribers at 61% according to Nielsen. Smartphones became the dominant mobile device in the U.S. in March 2012. Australia’s smartphone penetration rate has maintained its momentum, now at 65% according to Google. It’s up from 52% in 2012 and 37% in 2011.

As a mobile user has to opt-in to use the geofencing service anyway, there is no difference whether she does it in an app, on a web-app or in-store.

3. Battery Life

This is the biggest problem raised by Network-based geofencing enthusiasts. They are right: it is really difficult to create a real-time tracking system with no significant battery drain.

It took our development team almost 1 year to develop and optimise our algorithms. But hey! We did it! Forget the battery drain and focus on your geofences and marketing messages: we did all the hard stuff for you :-) .

4. Accuracy

For Network based geofencing, accuracy depends on a number of factors, including whether the SMS subscribers’ wireless carrier supports the use of A-GPS location capabilities, which are extremely accurate in outdoor environments, to less accurate options for mobile phones that use G-CID, Cell ID and Enhanced Cell IDs, which will produce a mobile geofence location accuracy ranging from one to five city blocks, or 100 – 5,000 meters.

A Mobile app has access to a large range of sensors and location providers to calculate your position: Wi-Fi signals, GSM Towers, Bluetooth, Accelerometer, GPS and even light and sounds! Our solution use a combination of the most common ones and minimise the use of GPS in order to save your battery. Our benchmarks show an average accuracy around 25 meters indoor and outdoor in urban and suburban areas.

5. Cost

Cost of building an app may vary according to technical and functional requirements.

According to a very good article from AppMuse:

Alex Ahlund, former CEO of AppVee and AndroidApps, and later an advisor to Appolicious, wrote a guest blog article about app sales on TechCrunch.  According to that article, a survey of 96 mobile app developers showed the average cost to develop an app was $6,453.  An article on OS X Daily about iPhone Development Costs reported that the development cost range for “small apps” is $3,000 to $8,000 and that “more complex or recognized brand apps” can cost $50,000 to $150,000.  A well-written article on explored The Cost of Building an iPad App and suggested the development costs (as compared to design and other costs) range from $12,000 to $150,000 or more.

The cost of developing an app needs to be balanced with the expected ROI you’ll get from it. With geofencing techniques used correctly, it can double the ROI on your marketing campaigns, increase the loyalty of your customers, and reduce operational expenses.

Application development and maintenance costs can be avoided by companies whose needs can be met instead with software-as-a-service (SaaS) offerings. We are such a company: our solution sits in the cloud, is easy to implement, cost-effective and can help meeting your marketing goals. Just give it a go now!

6. Rich Analytics / Rich Targeting

You probably already noticed it in our comparison table, but we have added Rich Analytics and RichTargeting as some key advantages of mobile app geofencing. Indeed, your mobile app can help you collecting and analysing actionable data: purchase habit, latest locations visited, who are your most viral users, unusual spending patterns etc etc.

With our rules engine including demographics and user preferences criteria, you can now get enough information about your most loyal customers to send them a highly personalised message giving an incentive to stop in when they are near your store to make a purchase on their favorite products/brands or alert them exactly where and when it is useful for them.

The ability to send a message based on real time geolocation is very effective but making a message even more relevant to the customer will make it even more appealing.