Tuesday, 25 November 2014

The London Bluetooth Hardware Developers Group

Last night I attended and presented at the London Bluetooth Hardware Developers Group's November meetup. The group are a "small but perfectly formed" bunch, some with specialist interest in and experience of Bluetooth and others who are new to the subject. Given the mixed experience levels, I kicked off with a Bluetooth 101 for Developers before moving into my main presentation during which I walked through the Bluetooth Smart Starter Kit (SSK) V2, a fantastic resource for developers from the Bluetooth SIG. I've been working on V2 of SSK for a while and it should be released very soon, so this was a sneak preview for the attendees last night. SSK helps developers learn how to develop Bluetooth Smart applications for their preferred platform, be it Android, iOS, Windows Phone or BlackBerry 10 and it's based around an Arduino project where you get to build a custom proximity device which your smartphone application will work with. Watch this space (and Twitter) for news on the availability of SSK V2.

I also showed a short video demonstration of a marvelous Bluetooth gesture controller called Myo from Thalmic Labs.

After my 1 hour session, the group's founder, Nick Brook, presented details of a project he's been working on which involves measuring the forces associated with motion and communicating them via a custom Bluetooth Smart service to an iPad application. The motion detection device was created using a Bluegiga development board, programmed with their scripting language, which resembles Basic.

Nick also gave a summary of the changes in Bluetooth 4.1 and an update on Apple's iOS 8, Home Kit and Watch Kit. Re: iOS 8, it now has a "suggested app" feature which will prompt the user to install an app that the OS thinks is relevant to some circumstance that has arisen. This is useful with respect to beacons. Apparently when loading an application to the App Store, you can provide a geofence definition which indicates the geographic region within which the application is relevant and can be used. Sounds very cool indeed.

You can download my presentation slides from here

Thursday, 20 November 2014

Bluetooth Smart and Mesh Networks

The SIG published my blog post about Bluetooth and mesh networks today. A must read topic if ever there was one :-)


Londroid Meetup and the IoT

Last night I presented to the London Android Group at Skillsmatter in Barbican as part of their Internet of Things themed November meeting. "Londroid" is a large group with nearly 3,000 members. I'm told it's the largest Android related group in Europe.

The session was fully booked and on the night there were only a few "no shows". Interest in IoT is high in the Android developer community as it is elsewhere. My presentation covered some key facts about Bluetooth Smart technology and its astonishing rate of proliferation and then sequed into the main, technical section, where the goal was to equip the audience with an understanding of the key Bluetooth Smart concepts and architecture and the knowledge they need to make practical use of Bluetooth Smart from within Android applications.

I kicked off the technical section with a demo I'd not done before. This involved controlling a Bluetooth Smart equipped LED lighting strip. With a standard Android app, I was able to show the audience how I could determine the light's current state (on|off) and control it, switching it on or off, changing its colour and even kicking off a pre-programmed sequence of on, off and colour change events so that with the addition of some suitable music, the place would have been transformed into something resembling a 1970s discotecheque. Fortunately I didn't have any 1970s disco music with me so the audience were saved the trauma of watching me do the Bluetooth Smart Boogie. Yes, there are many things in this life to be thankful for :-)

Note the Bluetooth Smart lighting strip around the pillar!

After the demo, we ran through the typical application features; device discovery, device connection, state data exploration and exploitation. We learned about Bluetooth Smart architectural components GAP, GATT and the Attribute Protocol (ATT) and about the GATT data structures with which a GATT server exposes it's state, Services, Characteristics and Descriptors. And of course no developer presentation is complete without code and so Android code fragments for each use case were briefly reviewed as well.

After a quick summary of the new Bluetooth Smart APIs that Android L has introduced, we got to what had to be the highlight of the session for at least two people in the audience. Prizes! The audience were invited to answer a couple of technical questions, based on the content of my presentation. Two of the audience members that raised their hands quickly enough *and* gave good answer  (I was shockingly tough on this point!) were rewarded with a Bluetooth Smart development kit, one a Texas Instruments SensorTag and the other, a Broadcom WICED Sense.

I got lots of good questions in the Q&A section and afterwards in the pub. The questions often revealed a gratifying train of thought; "This is exciting....what can I now go and *do* with this?" People were clearly mulling over all sorts of ideas for this exciting technology, from ways to enhance multi-player gaming to ideas for helping the blind. I look forward to finding out what attendees get up to with Bluetooth Smart!

The event's second speaker was Gabor Paller. He treated the audience to his own personal take on Bluetooth Smart and some of the cool projects he's been working on, including a Bluetooth Smart, tablet controlled motor boat! Gabor wishes to stress though that no hamsters were harmed in the making of any of his projects. You had to be there for that one :-)

A PDF version of my presentation is available for download here
A video recording of the presentation is available here

Thursday, 13 November 2014

Apps World, London - Day 1

I attended the first day of Apps World in London yesterday and wandered around all the exhibitors, chatting with many of them and making a few notes. I also watched Jason Bradbury deliver an interesting and entertaining presentation about wearables (and more). I'll return to that shortly.

The exhibition hall was organised well, with companies of similar types, grouped in a logical way. So for example there were a good few companies involved in mobile payment in one way or another and they were all clustered together in one corner of the hall.

On mobile payment, most of what I saw seemed to involve cloud based payment of one sort of another. Unless I missed it, I didn't see anyone offering NFC card emulation payment solutions. I talked with Zapp for a while, a new company "owned by the UK banks" who said they were looking at beacons to enhance the in-store purchasing experience and I was shown a mock up of how this would work when buying a coffee.

Zapp's beacon payment mock-up

I also visited the Pandapay stand, where they showed me how their app allows you to split a bill after a meal (perhaps) with a little less arguing about who had what, and to pay your share with ease from your smartphone.

More interesting given my role at the Bluetooth SIG, were the number of companies whose business was based around indoor location and/or proximity. Yes, there were quite a few beacons on display. Some companies were taking a more holistic approach to location though and beacons figured as only one source of location data from several. I spoke with Indoorz, Sensewhere and Proxitee for example.

Blukii have an extensive range of Bluetooth products including various beacons, some running off larger batteries and some of which are mains powered. The latter could make a lot of sense in some situations and of course would eliminate the need to keep an eye on battery levels. They also have a very simple (in a 'why didn't I think of that!' way) feature which allows you to configure your beacons so that the advertising rate drops to a minimum when outside a given time period. Clearly this allows you to make sure your beacons are fully active during opening hours and put them into a kind of energy saving mode when the shop (e.g.) is closed. They have more products than you can shake a stick at, including developer kits, so check out their web site but my favourite was a proximity solution which locks your laptop when you walk away from it and unlocks it when you get close enough.

Star were show-casing their Bluetooth POS printers, designed for retail environments where they tell me, wi-fi doesn't work too well but Bluetooth is perfect.
Star Bluetooth POS printer

"Wearables" had quite a high profile too. For example, I spoke with ebankit who are pioneering the use of smart watches in banking and also with Wear Lynx who have an interesting idea that makes wearables a central part of group communications, in conjunction with a smart phone app which has, I thought, a rather nice UI. Oh and they also have a very cool, retro adventure game (Go North!) for a Pebble smart watch. Could there be a rebirth of such games for your wrist? It would work really well I think!
Wear Lynx
The most enjoyable part of the day was without question, Jason Bradbury's presentation on wearables which in fact turned out to be an entertaining and interesting review of the exponential rate at which new technology is progressing or materialising and how this has produced wearables, amongst other things. Jason thinks we're at a point in that exponential growth where the curve is about to steepen significantly and all sorts of amazing things are just around the corner. He also made a comment to the effect that Bluetooth is having a kind of resurgence and that he's seeing it in more and more devices. I guess he's referring to the explosive adoption of Bluetooth Smart!
Jason Bradbury

All in all, a good day. Sadly I won't be able to make it to Day 2!

Tuesday, 11 November 2014

The Bluetooth Platform Capability Quick Reference

I thought it would be useful to have one place to assess the Bluetooth related capabilities that each mobile platform has, from a developers point of view. So working with colleagues at the Bluetooth SIG, we put together a new resource for developers, the Bluetooth Platform Capability Quick Ref. You can read all about it here: http://blog.bluetooth.com/an-introduction-to-the-bluetooth-platform-capability-quick-reference-guide/


Droidcon 2014

Android Developers Eager to Pursue the Bluetooth Smart Opportunity

On Friday 31st October, I was delighted to have the opportunity to speak at Europe’s largest Android developer event, DroidconThe event was held in central London at the Business Design Center in Islington and was attended by around 1000 people. There was a good selection of companies exhibiting too, with Bluetooth Smart well represented in products such as wearables, beacons and developer boards.

My session, “Creating the internet of my things using Bluetooth Smart” was extremely well attended, all the more gratifying since it was scheduled at around 4pm on a Friday, and I’m sure most people had all manner of Halloween fun planned for that evening. But the level of interest in Bluetooth Smart was clearly high and people had presumably decided that Trick or Treating could, if necessary, wait.

My presentation opened with some basic scene setting about the difference between Bluetooth Classic and Bluetooth Smart, the advantage that Bluetooth’s Adaptive Frequency Hopping gives in terms of reliability and some statistics and comment regarding the remarkable growth that Bluetooth is experiencing in terms of adoption right now and is forecast to experience over the next few years.
And I made the observation that for every new Bluetooth Smart product to hit the market, there are probably 10 new smart phone and tablet applications waiting to be developed. This is, without question, an amazing time for developers to be learning about Bluetooth Smart.

Quite quickly, the session moved into a technical phase and I interleaved information about basic concepts such as GAP, GATT and ATT with concrete guidance on how to accomplish the key tasks and use cases using the Android APIs with clear code fragments to illustrate each example.

I rounded off the session with a look at the new capabilities which Android L has made available to the Bluetooth Smart developer and an exploration of the types of tools, which they might find it useful to add to their development environment, including protocol analyzers, GATT explorers and developer boards.

The 5 minutes I retained for Q&A at the end were fully utilized and it’s no exaggeration to say I was “mobbed” by people wanting to ask more questions and discuss their ideas as I came off stage. We moved the highly enjoyable discussion which ensued outside the room to avoid delaying the final speaker of the day.

It was exciting for me to see the way in which Android developers recognised the huge potential for Bluetooth Smart, a key enabling technology for the Internet of Things, and the enormous opportunity it affords them as mobile application developers.

I will be delivering a similar presentation on the 19th November to the London Android Group. If you're interested in attending, check here for details: http://www.meetup.com/android/events/208993142/