About Roofstreet VEERY

Veery SDK

Predictive geolocation to make proactive mobile applications

VEERY SDK is an Android and iOS framework that bring predictive geolocation into mobile applications within minutes.

Veery predicts geolocations of every individual mobile application users

  • Where will he be next Thursday ?
  • Who what will she meet this week end ?
  • What are their next trips ?

If you are looking for an API for server to server predictive geolocation services, you'll find them at Roofstreet Sandpiper API

A Clever Bird For Clever Geolocation

In Nature, the Veery is an American migratory bird and an expert in geolocation. Every year, Veeries migrate from Canada to Southern Brazil, literally crossing the planet thanks to their incredible geolocation and long-distance-flying capacities; they fly all night over mountains and seas, resting only in the forests.

Being inspired by the Veeries, we've created the Software Development Kit (SDK) Veery for mobile developers in order to give them access to the most advanced geolocation
analytic on the planet.

SDK and Agent functionalities

Once integrated the SDK, an agent starts running in the background of the application. It analyzes the user's movements in order to make predictions on futures trips and moves.

We've designed Veery to be as light for developers as the Veery bird is in the air.

In most cases, it takes only 20 minutes to integrate the agent to an application. On top of that, we provide plenty of code samples.

First it helps developers to collect geolocations and triggers events on proximities (geofencing)

The most advanced functions of Veery will allow developpers to make:

  • Geolocation prediction: permits applications to proactively predict users' movements
  • Next-trips prediction: permits your application to proactively prepare users' movements knowing their path and timings in advance
  • User proximity prediction: allows your application to organize user meetings
  • Match user behaviors: to offer ideal matches between your users thanks to your application

Why Is Predictive Geolocation needed?

We call it geo-prediction.

This technology offers so many possibilities for change!

Carpooling, dating, trading, traveling, sight seeing... We want to let you creative guys have the best ideas!

How It Works

Just like the Veery-bird, mobile users have their preferred places.

By observing their behaviors, our algorithms estimate in real time where the user is actually going, and also estimates, thanks to his or her habits, where and when the user will go next.

All of that requires user observation, and of course leaving the geolocation running in the mobile's background (which most allow now).

To ensure our algorithm receives just enough data for the predictive math to work, while still preserving the user's battery, we have embedded the Veery Agent directly into the Veery API.

The result is this: by using less than 5% of battery power per day (about 1% for most usecases) , users can now be notified by the application when new opportunities arise just for them.

Veery Technical Drawing

Veery Technical Drawing

Infrastructure Required By The Developer

Literally nothing. (okay: a laptop helps)

Developers embedding Veery into their apps will not need any geographical database or any extra servers to fulfill their geo-location and geo-correlation needs.

For any case-use existing today, and any case-use enabled by geo-prediction, everything required for the backend is included (and often free) within the Veery service.

Veery can be fully integrated with Roofstreet Sandpiper API and Roofstreet Tern DB if your usercase requires data to and from your backend.

Geo-correlation

The geo-correlation is a Platform as a Service (PaaS) and an Analytics as a Service (AaaS), accessible through Veery.

It allows the developer to request for "matches" between users (or between users and static points-of-interest).

Once our system detects a requested match, it sends a push notification directly to your application (silently or visible by the user).

The match could therefore happen immediately after being requested by the app, or at any later time when the conditions requested occur.

Matching Users

The prime geo-correlation objective is to match users using their

  • past positions
  • current positions
  • current destinations
  • future proximity
  • future intent-to-travel using partially the same path.

But the service will also consider the application designed user descriptors (called user-tags) for each user to generate matches.

For example, the application can Tag every user within his or her "Birthdate" parameter, and request matches of similarity for ages and the proximity of users.

veery.setTags("MySuperUserName","Julie");
veery.setTags("MySuperUserAge", 35);
veery.setTags("MyOtherAppParam", "Lorem Ipsum");

// request for a match on the predicted geolocation +/- 1000 meters
// when age difference is less than 5 years
// and when MyAppParam app is identical

veery.requestMatch (
    Veery.PREDICTED_POSITION_SIMILAR,  
             1000,
             " thisUser.MySuperUserAge < otherUser.MySuperUserAge + 5 "
             " and "
             " thisUser.MySuperUserAge > otherUser.MySuperUserAge - 5 "
             " and "
             " thisUser.MyOtherAppParam = otherUser.MyOtherAppParam",
             this // callback is of type "boolean Veery.onMatch(Veery.MatchInfo)"
             );

@Override
public boolean onMatch(Veery.MatchInfo info) {
    Log.d ("onMatch","You have matched with "+ info.otherUser['MySuperUserName']);
    Log.d ("onMatch","You will meet the user on "+ info.prediction.datetime);
    return true; // let the match live for further matches
}

Every developer will design the parameters used to feed our matching algorithms, following the specificities of the application.

Matching With Your Own POI Objects

You can also use Veery SDK or Sandpiper API to create non user geolocated objects (static or moving).

For example, you can feed our Sandpiper with shops or with available products (considered as a point-of-interest by your application), locate them and describe the objects with similar tags that users have. A Tag could, for example, be the amount of stock available at a given time.

Then, using Veery, you can request for matching between users (and their future positions) looking for one of your POI (at that position).

Possible Design Patterns

Serverless matchings and notifications for standalone apps

Veery Serverless pattern

App Backend based matchings and notifications

Veery Backend pattern

Veery to data analytics

Veery Analytics pattern

Contact and information

You can contact us at roofstreet.io