WHAT IS APPROXIMAL?

It’s an iPhone/iPad app that uses Bluetooth LE (Low Energy) to notify you when friends and people with common interests are nearby.

WHY BLUETOOTH LE?

Technically, Bluetooth LE has two significant advantages:

Untechnically:

It’s one way to make presence work as it should: efficiently, reliably, and invisibly, in the background.

WHAT SORT OF RANGE ARE WE TALKING ABOUT?

It depends on the environment, but you can imagine a seventy foot radius around you; big enough to poke into doorways as you walk down the street, cover a restaurant or a gallery as you walk through it, overlay an airplane or an office.

WHAT'S A SCENARIO WHERE I MIGHT FIND THIS USEFUL?

You're flying to a conference in another country.

In the departure lounge, Approximal discovers someone else going to the same conference.

During the flight, you discover a few more people (even though the plane has no wifi) and chat with them.

On the first day of the conference, Approximal remembers other attendees you were near, and back at the hotel, you browse their profiles. You mark some of them as favorites so that you'll be notified when they're nearby again.

Eating lunch at a local restaurant the next day, you're alerted to another attendee (even though you have cellular data turned off to avoid outrageous roaming fees).

On your way home, you add contacts to your address book for people you want to remember.

WHAT PERSONAL INFORMATION DO I HAVE TO DISCLOSE?

You can decide how little or how much you want to share. There are four profile settings, where only the first one is required:

You can change these at any time. Other people will see the changes immediately.

HOW DOES APPROXIMAL DECIDE WHO SEES ME?

If you are visible to another person, they are visible to you and vice versa.

To be visible to one other in Approximal, you and another person must be considered friends in at least one social network or group.

WHAT IS A SOCIAL NETWORK?

It’s Facebook, Twitter, Pinterest, GitHub, and more than a dozen others.1 If you give Approximal permission to access your list of friends using the social network’s secure API, it will periodically fetch the list so it knows who to look out for.

Note that to be considered friends, you and the other person must follow one another in the social network. Approximal ignores one-way relationships.

WHAT ABOUT EMAIL, THE OLD-SCHOOL SOCIAL NETWORK?

It’s in the list between Dribbble and Facebook. Approximal will first confirm your email address, and then the use the other email addresses in your device Contacts as your list of email friends.

Note that to be considered friends, you and the other person must have one another's email addresses in your Contacts lists. Approximal ignores one-way relationships.

Only current email friends can see your email address, not friends in other social networks.

WHAT IS A GROUP?

While a social network is a well-known public space, a group is an ad hoc network you can create for any purpose.

To be considered friends, you and another person must belong to a group with the same name and optional password.

WHAT ARE THE USES FOR A GROUP?

There are two main uses: private and public.

PRIVATE GROUPS

You can create a private group with a password and share it with a specific set of people so you’ll always be notified when any of you are near one another.

Two groups with the same name but different passwords are considered unrelated, so your I LOVE BUNNIES group won’t overlap with anyone else’s I LOVE BUNNIES group. (Well, unless you also all choose the same password, but in that unlikely case, you’d notice strangers appearing, and you can decide to change your group password, or make new friends based on your mutual interest in bunnies.)

PUBLIC GROUPS

The primary use for a group is to make it easy for people with common interests to discover one another.

Imagine you’re going to WizzoCon 2016, and you want to see and share information about yourself and other people attending. In that case, if you each add a group called WizzoCon 2016, you’ll be notified about one other any time you’re in proximity; at the conference, as you travel around the area, and in the future.

HOW DO I ADVERTISE A GROUP NAME?

Here’s an easy way. Just fill in the form below, and it will generate an HTML link. Put the link on a web page, and when someone taps on it from their phone with Approximal installed, it’ll launch Approximal and add the group for them. Alternatively, just send the bolded URL from the generated link in an email or text message.

OK, I ENABLED A SOCIAL NETWORK OR TWO. NOW WHAT?

Now Approximal is quietly waiting in the background for notification that another Approximal-enabled device is nearby.

When it gets a notification, it exchanges a minimal amount of information with the other device to decide if you and the other person are friends. If not, the two devices disconnect like ships that pass in the night. But if you are friends, you’ll show up in one another’s Nearby list.

THAT TOOK LONG ENOUGH.

It’s more complicated to explain than it is to use.

Nearby is a continually-updated list of people around you, showing their profile details (name, picture, status, URL). You can choose to view people in a list, or just a grid of faces, sorted in name or time order. You can also choose to see only people who are nearby right at the moment, or also people who’ve been nearby within the last 24 hours.

HOW DO I FIND OUT MORE ABOUT SOMEONE IN THE LIST?

Tap on their picture for detailed information, including social networks and groups.

For social networks, you’ll see the network name and the other person’s username for any social networks you both belong to. If the other person is already your friend in that network, the network name is displayed in black, if not it’s displayed in gray. The username is a link; tap on it to open that person’s profile in the network.

For groups, you’ll see the group names for ones you both belong to. If the group has an associated URL, the group name is a link; tap on it to open the URL in your browser.

CAN I CHAT WITH THEM?

Sure, just type in the chat window. Any URLs and phone numbers received are tappable.

Chat message history is kept for 30 days.

CAN I ADD SOMEONE AS A FAVORITE?

Sure, tap on their picture and choose Add to Favorites. Favorites are indicated by a red star on their picture. When a favorite is discovered nearby, the notification sound🔊  is distinct from the sound🔊  for other people.

Information about favorites, including their profile, social networks, and groups, is kept until you remove the favorite.

CAN I ADD SOMEONE TO MY CONTACTS?

Sure, tap on their picture and choose Add to Contacts.

CAN I HIDE FROM SOMEONE?

If you don’t want to be contacted by or visible to someone, tap on their picture and choose Block.

The person will immediately disappear from your Nearby list, and any chat messages they try to send you will be returned undeliverable. You will disappear from their Nearby list as soon as you are out of immediate range, and from then on you’ll be invisible to one other.

This will continue until you manually unblock the person using the Privacy item on the Settings menu. In use, there is no indication that either person is blocking the other.

HOW IS ALL THIS INFORMATION SENT? IS IT ENCRYPTED?

All communication takes place directly between devices using Bluetooth LE. It is encrypted, but you should consider it “good enough to discourage random eavesdroppers”, not “good enough to dissuade the NSA”.

BUT HOW PRIVATE IS IT REALLY?

Want all the details? Here's how Approximal uses your information.

PICTURES

When you set your picture, the image file is uploaded to Amazon S3 and stored using your randomly generated ID. Friends fetch it from there rather than over the low-bandwidth Bluetooth connection. If you remove your picture from the app, it’s removed from S3.

SOCIAL NETWORKS

When you enable a social network, the network's login page is displayed in an embedded browser view. Note that Approximal never stores (or even sees) your account password for the network. After you authorize access, a unique token supplied by the network is stored in the secure iOS Keychain.

Once you’ve enabled a social network, Approximal periodically fetches and updates your list of friends in that network. It requests the most restrictive permissions needed to do that and only that. Approximal will never post anything to the network or contact other users through the network.

If you enable the Email social network, a confirmation code is sent to your email address from the Approximal website.

GROUPS

If you add a group with an associated URL, Approximal fetches the URL’s favicon2 to use as the group logo.

TROUBLESHOOTING

Approximal uses Crashlytics for crash reporting. If the app falls over, information about the offending location in the software and generic device demographics (model, memory, etc.) is reported to Approximal’s Crashlytics account for post-mortem.

If you’re having problems and choose the Help option to send data files, Approximal will create an email message containing a zip file of logging and usage data. You can edit the email before sending it.

Approximal sends no other data over the Internet. It does not track your usage, your location, your conversations, or your friends. Approximal will happily function in an underground bunker or at the bottom of a well (if that’s a useful scenario for you).

WHAT’S NEXT?

More social networks, APIs permitting.

The Approximal of Things.

  1. 500px, AngelList, Dribbble, Facebook, Flickr, Foursquare, GitHub, Goodreads, Google+, Path, Pinterest, Product Hunt, Reddit, Runkeeper, SoundCloud, Strava, Twitch, Twitter, and Vimeo to be exact.return

  2. A favicon is that tiny site-specific icon you see in a web browser address bar.return