Tuesday, 25 March 2014

Evaluating the BlueCats Starter Pack: Part 2 - The Server Side

The Application

Perhaps I should start by saying this is not quite the post I'd like to be writing.

What I'd like to be writing about is my experience of evaluating the BlueCats Enterprise Platform, about BlueCats' approach to managing and deploying beacons at scale, about the rich insights to be gained from the platform's inbuilt visualisation tools, and about how event data can be seamlessly exported to a BI platform for complex multi-dimensional analysis.

But that's just my wish list - these features aren't included in the starter pack, and that's understandable. I assume the purpose of the starter pack is to give the prospective customer (or interested developer) a chance to evaluate the product's potential and, if they're interested, see how it could be integrated with their current environment. 

The BlueCats starter pack largely succeeds on these terms though the lack of some Enterprise Platform features, such as beacon provisioning and management and data export tools, means an additional qualification exercise would be needed to verify the full scope of the solution. This may well be a deliberate marketing strategy on behalf of BlueCats, and if so I can definitely see the sense in it (follow up questions from a prospect mean BlueCats can be fairly sure they have a decent lead) but I also see it as something of a missed opportunity.

Anyway, enough about what's not available - it's not like BlueCats are being stingy with features as there are still plenty of toys to play with in the starter pack, including of course the beacons themselves (as discussed in my previous post on the subject).

I'll spare you a detailed textual description of the UI as screen shots of the main pages are included below. Suffice to say the main functions are accessed via a row of large square tabs that run along the top of the page. Some squares behave as hyperlinks and can be clicked while others are just place holders for data, which may tip your local UI/UX professional into mixed metaphor meltdown mode. Fans of the colour blue are well served, in what I think is an attractive and modern scheme that stays just the right side of fussy.

I have not been able to use the application under IE10 on Windows 7 - when trying to load the application I get an error (CORS Error - API Not Accepting Request) and the application fails to load. This could well be an issue with my particular browser instance - we are talking about Internet Explorer after all. The application seems to work just fine on Chrome and Safari (both on OS X and iOS).

Edit: 27th March 2014 - I've tried accessing the application via IE10 on a colleagues PC and the same problem is present. It seems the app is not compatible with IE10, which I'd categorise as a significant issue and one that really should be fixed.

The Dashboard

On signing in to the application the user is presented with the BlueCats dashboard, from which they can navigate to the functional area of their choice (via the aforementioned squares). The dashboard also provides links to the integration elements of the starter pack, as well as giving an overview of recent activity. 

The page looks like it's composed of multiple portlets (remember them?), but is actually static and not configurable. This isn't an issue though, as it does a good job of introducing the user to the application, by hinting at the possibilities within and providing clear and usable navigation.

The BlueCats Dashboard. Big colourful screen furniture, and just the right side of fussy.

Integration Options

Being in possession of some shiny new beacons and wanting to see them do their stuff meant this page was my first port of call. 

BlueCats were in the process of getting the sample iOS app onto Apple's App Store when my starter pack arrived so I had to wait a few days before I could download the app. The app works well on my iPhone 5s (more on this in an upcoming post) and is activated via an app token, which is generated on this page.

Builders of iOS apps can download the BlueCats SDK and access sample source code, both of which are housed on GitHub, via links on this page. 

There is no Android SDK at the time of writing, though according to a posting on the BlueCats support site it's in the works and will be available soon. 

The App Integration page - note your options are iOS only, at least for now.

Configuring Beacons

The starter pack ships with beacons pre-configured, so the first time the user logs into the application they will see default configuration details. The user is able to change the name of each beacon and its location, as well as assigning it to one or more categories and adding notes.

There's no support for changing the UUID, major, minor, loudness or target speed attributes, but this is completely logical given that you'd need an up link to the beacon to accomplish this. It may be the case that BlueCats beacons ship with identifier attributes permanently set, but loudness and target speed can be modified via the SDK.

The Beacons page - note presence of configuration options and insights on the same page.

If you want to view insights for a particular beacon this is accomplished via the "Insights" button on this page rather than via the main Insights page, which only provides an aggregate view. I can see the case for including the functionality here but not for omitting it from the Insights page; a minor point perhaps.

Insight data for a specific beacon is accessed via the Beacons page, not the Insights page, as you might expect.
Which leads me nicely on to...

Gaining Insight

The Insights page aggregates any data transmitted to the BlueCats back end by sample apps, and displays it in graph form. A textual representation of the statistics used to plot the graph is also displayed on the page, as can be seen in the screen shot below.

The main Insights view, which aggregates data for all beacons into a single view.

The data is well laid out and easy to read, though there are a couple of limitations: there is no ability to select a date or time range - the maximum reporting period is a single calendar day, and there is no data export functionality. This will probably be fine for most users, considering this is effectively a demo application. 

I would personally like to see filters on this screen, so that a user can drill down into the aggregate information provided and view specific combinations of categories or beacons on demand. Such views do exist but they are accessed via the Beacons and Categories pages, which gives the insights functionality within the application a slightly disjointed feel.


Categories provide BlueCats' mechanism for providing beacons with real world context.

Micro-location in a retail environment is widely regarded as the most compelling use case for beacon technology, so it's perhaps unsurprising that BlueCats' default categories (those within the blue rectangles in the screen shot below) relate to areas typically found in a supermarket.

Our initial proof of concept was based on micro location in our office environment, so we created a category for each of our three target areas (see the orange rectangles in the screen shot) and then associated them with the appropriate beacon.

There's a slight quirk on this page; no insights are available for default categories, even when they're associated with a beacon. This may be by design but seems a little odd. You'll also note that user defined categories can be modified and deleted, while default categories cannot.

Categories give your Beacons real world context, you can configure them here.

Sites, Teammates and Support.

I've not provided screen shots for the remaining the pages in the application, as they're fairly simple in terms of functionality and design.

The Sites page allows the user to configure one or more physical locations in which BlueCats beacons are deployed. The team at BlueCats pre-configured the latitude and longitude of our office when setting up our site, which was a nice touch.

It's also possible to get per-location insights via the Sites page, and to drill into the beacons deployed on a particular site. As was the case with beacons, it feels a little odd that per-location insights aren't available on the Insights page.

The Teammates page allows the user to invite other users to use the application and is effectively the user management module for the application.

The support page is a fairly simple affair, displaying contact details and the BlueCats support forum.


The BlueCats web application provides a solid introduction to the BlueCats ecosystem. The range of functionality offered, in conjunction with the BlueCats iBeacons and sample iOS app that comprise the rest of the starter pack, does a decent job of scaling down a micro location implementation to a manageable size, while still retaining key concepts and components.

There are a few minor issues (I'm assuming the IE10 problem is local to my machine) Edit: the IE10 issue seems more widespread than I'd first thought and in my opinion really should be addressed. Some of the user experience choices made by BlueCats won't be to everyone's taste, but the application is fully functional and (IMHO) attractive and easy to use.

I would need to evaluate the full Enterprise Platform before I could consider recommending a BlueCats solution for deployment in a production environment. If the Enterprise Platform exhibits the same IE compatibility issues as the starter pack this would likely be an issue for corporate customers - IE may not be universally popular in the developer community but it remains the corporate standard for many organisations.

On balance, my experiences while evaluating the starter pack lead me to conclude that this is a quality product I would be happy to continue working with. 

TagPoints rolls out iBeacon based loyalty programme to UK shopping centre

Brighton, UK based company TagPoints is claiming a UK first in its roll out of an iBeacon based service to the Swan Centre in Eastleigh, Hampshire.

TagPoints founder Jess Stephens does a much better job of explaining the service and its supporting infrastructure than I ever could in this video from Internet Retailing.

I'll attempt to summarise by saying the service is a loyalty card platform that is capable of sending targeted marketing to end users via a mobile app. Jess gives a full explanation of the system's potential benefits in the video.

Both iOS and Android are supported, and there are some interesting usage statistics over on TagPoints' G+ page.

Congratulations to TagPoint on getting the service up and running. It's great to see real world iBeacon based service implementations, and especially pleasing that a UK startup has had the vision and energy to make this happen.
Thanks to my colleague Jan Van Eijck for the heads up.

Monday, 24 March 2014

iBeacon Scanner - Example Android App and Source Code

If you happened to be walking through Coventry's West Orchards Shopping Centre at lunchtime last Saturday, you may have found yourself wondering "who is this guy wandering up and down staring at his Nexus 4 rather than looking at the many fine bargains on display?"

I'm slightly embarrassed to admit that was me; I was obsessing over iBeacons again, rather than doing my bit to help the economic recovery with some weekend discretionary spending. Why was I staring at my phone? Well, I thought I'd see for myself whether the iBeacon wave had broken over my local provincial shopping mall.

So I fired up an app that I'd hacked together, by taking some code from a sample app and the open source Android SDK provided by Radius Networks to do the ranging, then tweaking the UI and adding some code to output the results.

Here's the screen that's displayed when the application is launched:

...press the button to start scanning...

...and when you're ready press the button again to stop.

Note the toast pop up confirming that a file has been created; the file contains whatever data was displayed on screen during the scanning session.

Source code for the app and an Eclipse project are available here on GitHub. If you'd like to side load the app you'll find the IBeaconPoC.apk file in the /bin directory (here's a brief "how to" on side loading which should help if you've not tried side loading before).

The app can be easily modified or extended. You'll note just the major and minor IDs, RSSI and proximity are logged, along with a simple counter. This is done via hard coded concatenation right now but it would be simple enough to allow which items were logged, and in what order, to be selected by the user at run time. It would also be fairly trivial to push logged data off the device via a wireless connection, to a web service or ftp site for example. That's a couple more use cases added to my to do list...

So, back on the question I asked earlier: has the iBeacon wave broken over Coventry? Er...no...at least not at the time of writing. I'm afraid I didn't detect a single solitary iBeacon - not even from the local Apple retailer. ;-)

Tuesday, 18 March 2014


Oscar Mayer's new app+gizmo combo wafts the heady smell of bacon into your bedroom.

Wonder when we'll get access to the iBacon SDK?

Thursday, 6 March 2014

Evaluating Estimote? Read the developer kit teardown from Make:

If (like us) you're evaluating Estimote's beacon offering, this teardown and analysis from Make: is required reading.

The discussion of how to compromise the beacons is fascinating, and the working proof of concept should make anyone interested in securing their beacon network take note - which let's face it should be everyone who has a beacon network.

Take the time to scroll through the responses as Jakub Krzych, Estimote co-founder, supplies some detail on how Estimote's roadmap will address the concerns raised in the article.

Update: Wojtek Borowicz, a Community Evangelist over at Estimote has been in touch to flag up this article detailing the new features in the latest versions of the Estimote SDK and demo app; an over the air firmware upgrade is also available. There's a general note on spoofing and security that's worth reading too.

Wojtek's contribution is an example of the great work Estimote are doing on community engagement. It seems wherever there's a beacon blog there's an Estimote evangelist to highlight the company's latest initiative. This type of engagement could be instrumental to some when choosing a vendor, as it's important to feel your technology supplier has got your back - particularly when building novel applications with leading (or bleeding) edge technologies.   

Wednesday, 5 March 2014

Recommendation: the beekn blog

If you're reading this then there's a good chance you know at least the Bluetooth LE basics and have explored some of the more well known use cases.

I'm of the opinion that there's always more to learn, as was evidenced today when I discovered Doug Thompson's excellent beekn blog.

Among the many interesting and insightful posts on beekn is this myth busting primer on BLE tracking, which is probably the most concise and well written summary of the subject I've come across to date.

There's also a Guide to iBeacons, which includes an expansive list of currently available devices, and a Developer Guide that's well worth a look if you're tempted to indulge in a bit of beacon wrangling.

Highly recommended.