Radius Networks Developer Blog

Introducing Ambient Web for iOS

Scott Newman 10 Oct 2016 Permalink

This week, we released a new application called Ambient Web for iOS to help you find and visualize nearby Physical Web places.

​ Open the app when you are in range of any Physical Web-enabled place or thing and you will see a card with its URL. Tapping the card will bring the web page to full-screen where you can interact with it like any normal web page.

Ambient Web discovers Physical Web-enabled places or things immediately around you and organizes their related web pages in an easy to browse collection so you can immediately dive in and start exploring your physical space.

Ambient Screen Shots

About the Physical Web

Physical Web-enabled places or things contain special Bluetooth beacons—tiny radios that broadcast the unique web addresses for useful web pages and web services related to them.

More and more places—like transit bus stops, concert venues, sports bars and college campuses—are becoming Physical Web-enabled, giving you useful information about these venues, right at your fingertips.

Likewise, more and more things—like parking meters, vending machines, museum exhibits, and movie posters—are becoming Physical Web-enabled, giving you a much more interactive and personalized interaction with these objects.

For more information on the Physical Web project, visit the Physical Web Project page.

Create Your Own Physical Web Places

Beacons from Radius Networks support the Physical Web - you can even order one pre-configured with a URL of your choice.

Our beacons can simultanously support iBeacon™, AltBeacon™ and Eddystone™ technology, allowing you to reach your customers in multiple ways.

Feedback

We’d love to know how you are using the application or how you think it could be even better. Please let us know!


App Store Link

Keeping Teen Drivers Safe with RoadPoints

Washington, DC (PRWEB) 12 Jul 2016 Permalink

Using beacons to promote safety of teen drivers by verifying driver identity and blocking mobile phone usage while driving.

RoadPoints Info Graphic

Radius Networks has teamed up to with RoadPoints to extend their innovative solutions by providing a means for verifying driver identity and blocking mobile phone usage while driving.

RoadPoints provides an app that allows parents to monitor their teenage drivers and reward them for driving safely. It measures speed and speeding, braking and acceleration, and phone usage while driving. Based on these factors, the child receives a report card with an overall grade, determining their reward. For example, if mom selects the $50 rewards level and junior gets a B for the month, he earns $40, which is debited from her account and transferred to his automatically. With the help of Radius Networks’ beacon and proximity services team, RoadPoints has successfully integrated beacons into their solution to provide specific proximity-based information about the driver using the app.

“Beginning in May, we introduced the beacon as an add-on feature that pairs with the app and lets us know that the kid is in his own car and therefore is the driver,” said Michael Guthrie, CEO of RoadPoints. “Knowing that improves the accuracy of the grade, and it also allows us to block phone usage while driving.” “We are excited to be working with RoadPoints to enhance their already innovative mobile solution for incentivizing teen drivers to drive safely,” said Marc Wallace, CEO of Radius Networks. “We are confident that this new solution will improve the overall safety of teen drivers everywhere.”

RoadPoints strives to ensure teen-driving safety by incentivizing good driving behavior. RoadPoints provides an app that records data on speed and speeding, braking and acceleration, and phone usage while driving. Based on this information, parents receive a report card that includes information on the child’s overall grade and specific driving mistakes, and they set up a rewards plan by which the child can earn up to a certain amount of money. Ultimately, RoadPoints provides an innovative solution to promote driving safety.

Introducing Leash for iOS

Scott Newman 28 Jun 2016 Permalink

This week, we released a new application called Leash for iOS to help track your stuff through the power of Bluetooth Proximity.

This app will help you configure your RadBeacon Dot quickly and allow you to range its distance. You can give your beacon a name (such as “My Keys”) and optionally ask for notifications when you go in and out of range of your beacon.

Leash has been an internal project for some time - many of us here use Dots (beacons) to track our items. We saw that others might want to do the same, so we polished up the interface and made it available for free. ​ All you need to use the app is a RadBeacon Dot. You might also want the keychain fob accessory to attach the Dot to your keys, purse, or pet’s collar. ​ Leash Screen Shots

Possible Uses

  • Attach a Dot to your pet's collar and be notified when they leave your area
  • Put a Dot on your keyring so you can see how far away your keys are when looking for them
  • Stick a Dot in your purse and get notified if you walk away from it

For the Technically Curious

Under the hood, Leash uses our RadBeacon technology to locate and configure a Dot beacon via Core Bluetooth. We assign a personalized UUID and random major/minor numbers to the beacon so you don’t have to worry about what values to use. ​ If you enable background notifications, we monitor the beacon’s region and trigger UILocalNotifications for enter and exit region events.

We do not use your GPS location, nor do we collect any analytics from the app.

Currently, you must use Radus Networks RadBeacon Dots with Leash. In the future, we may support other beacons and beacon advertisements.

Feedback

We’d love to know how you are using the application or how you think it could be even better. Please let us know!


App Store Link

Android’s new Nearby Notifications

Nearby Notifications, an upcoming feature in Android that shows you apps or websites from things around you, was unveiled at Google I/O a few weeks ago.  Nearby allows developers to associate their website or app with beacons and provide low-priority notifications when scanned by Android devices that are nearby.

Profiled in the announcement were Radius Networks customers taking advantage of early access to this new technology – CVS, United Airlines and Notre Dame. Radius Networks is a whitelisted developer and can register Nearby Notifications with Google on behalf of our customers and partners.

Nearby Notifications in the Wild

CVS

Radius Networks has partnered with CVS to deploy and activate the largest beacon network in the world with over 9,000 separate locations and 20,000 beacons. Using the Google Nearby technology, customers entering a CVS location will be notified that they can print photos directly from their phone to the photo kiosk located in the CVS store. They will get this notification even if they do not have the app and will be taken to the Play Store if they don’t.

CVS Screen Shots

United Airlines

United Airlines is using the Android functionality to remind passengers to download the United app before they board so they can take advantage of in-flight entertainment.

United Screen Shots

University of Notre Dame

Notre Dame is using the new technology to enhance their campus tour with student-generated video content as they approach specific locations.

Notre Dame Screen Shots

So how does it work?

In order for Android’s Nearby service to detect a Nearby Notification, you must first register your beacon in Google’s Proximity Beacon API, and add an attachment with the specific namespacedType of “com.google.nearby/en” (or “com.google.nearby/en-debug” for testing).

Note: if you use “com.google.nearby/en”, your attachment must go through an approval process with Google. If you use “com.google.nearby/en-debug”, your attachment will be immediately available to devices that are in developer mode.

The data for the attachment is a JSON object of the format:

{
  "title": "TITLE GOES HERE",
  "description": "DESCRIPTION HERE",
  "url": "https://example.com"
}

Google provides documentation on Nearby Notifications on their Developer Portal.

Once your beacon is registered and your attachment has been added, you should be able to turn on a beacon with the identifiers you registered (or use MacBeacon) and your device should respond by displaying a notification.

MacBeacon Screen Shots

Summary

We at Radius Networks believe Nearby Notifications will bridge a massive gap in the use of beacon technology. Now Android users will no longer need a mobile app to be notified of value-added experiences near points of interest.

Please reach out to us to see how we can help you engage your customers using this Nearby technology from Google and Radius Networks. Click here to contact us.

At Radius Networks we’re proud of our extensive collection of software and development tools geared towards location services and Bluetooth beacons. Today we’re excited to announce the latest addition to this family of tools and products, the JavaScript Beacon Library.

What is the JavaScript Beacon Library?

The JavaScript Beacon Library is (surprise) a JavaScript library for broadcasting BLE beacon advertisements. It harnesses the internal Bluetooth capabilities of the host OS to send out beacon transmissions that nearby phones/tablets can discover, turning your device into the ultimate software beacon. It’s simple to use and integrate, letting developers concentrate on building cool apps that use beacon technology instead of worrying about the nuts and bolts behind the beacon advertising.

What platforms are supported?

Currently the only platform supported is Chrome OS, the JavaScript Beacon Library can be used inside Chrome apps to transmit beacon advertisements on any Chromebook, Chromebox, Chromebit, etc. It leverages the Bluetooth APIs internal to Chrome OS in order to do the beacon broadcasting, which are limited in use to Chrome apps only.

Getting started with the JavaScript Beacon Library

First you’ll need a Chrome app to start integrating the library, I recommend starting with this guide from the Chrome developer site for a quick introduction to Chrome apps and how to start developing one of your own. There you’ll find a sample app you can download to start developing with if you want a quick start. Once you have a Chrome app set up, head to the JBL Github repo where you can download a copy of the library, the file is called beacon.js. Drop this into your project directory and add it to the header of the app’s index.html file:

<!DOCTYPE html>
<html>
<head>
  <script src="beacon.js"></script>
</head>
</html>

Now the library will be available in your app’s JavaScript source.

Registering a beacon advertisement

To begin broadcasting as a beacon in your Chrome app, you need to register a beacon advertisement with the JBL. This is done with the registerAdvertisement() method, which takes in an hash of options that dictate the beacon type, identifiers, and advertised transmit power.

This method is asynchronous; it returns a promise, for which you can specify the appropriate callback functions for success and failure of the advertisement registration.

Below is an example of registering a beacon advertisement of type AltBeacon:

beacon.registerAdvertisement({
  type: 'altbeacon',
  ids: ['2F234454CF6D4A0FADF2F4911BA9FFA6', 1, 1],
  advertisedTxPower: -59
}).then(advertisement => {
  console.log('Advertising: ' + advertisement)
}).catch(error => console.log(error.message));

If an advertisement is successfully registered, it will be transmitted by the OS until it is unregistered. The registered advertisement is stored in an array, accessible at beacon.advertisements, where it can be unregistered later on when you no longer want to transmit this beacon. This is done the unregisterAdvertisement() method:

let registered_adv = beacon.advertisements[0];
registered_adv.unregisterAdvertisement().then(() => {
  console.log('Advertisement unregistered successfully.');
}).catch(error => console.log(error.message));

Only one advertisement can be registered at a time, so if you want to register a new beacon advertisement you first need to unregister any existing ones.

Registering custom beacon types

By default, the JavaScript Beacon Library supports three beacon types:

Additionally, the JBL supports any custom beacon type, so you can register any other beacon standards and broadcast with them just the same.

To register a custom beacon type you only need to specify a name, beacon layout string, and either a manufacturer ID or a service UUID depending on the type of Bluetooth advertisement the beacon standard utilizes. This is done with the registerBeaconType() method, for example:

beacon.registerBeaconType({
  type: 'cool_beacon',
  beaconLayout: 'm:2-3=0000,i:4-19,i:20-21,i:22-23,p:24-24',
  manufacturerId: 0x1234
})

After registering a new beacon type, you can then register a beacon advertisement of that type using the name you specified.
For more information on the beaconLayout string used to classify custom beacon types check out this page from the Android Beacon Library docs.

Physical Web Display

With the release of the JavaScript Beacon Library, we’ve released an update to the Physical Web Display Chrome app in the Chrome Web Store. This new version incorporates the JBL, now enabling all major beacon types, not just Eddystone URL. This opens up the app to many other exciting use cases and extends the number of users you can reach drastically. To grab a copy of the newest version check out Physical Web Display in the Chrome Web Store, or check out this blog post for more info.

A note about Chrome OS BLE Advertising

One important limitation of BLE advertising on Chrome OS is that it is limited to Chrome apps running in “auto-launched kiosk mode” by default. This is a security decision made by the Chrome team, and can only be circumvented by enabling the “BLE Advertising in Chrome Apps” flag in chrome://flags. Without this flag enabled, only a Chrome app running in kiosk mode that is launched automatically at startup will be able to advertise BLE. For information on developing kiosk apps and putting your Chrome OS device into “kiosk mode” check out these links: