Getting back in touch with the Internet of Things

Our second instalment in an increasingly inaccurately titled series of blogs about the Internet of Things, or IoT to those in the know 😉

Nine months ago I posted about a project we were working on to make some of the stuff we use in stores a bit smarter and more communicative. Things were going pretty well: we’d built a Proof of Concept device, based on an Arduino micro controller, and got a few people excited about the possible applications. But then we learnt a hard lesson concerning the difference between a Proof of Concept and a prototype, a pain which I shall attempt to convey in the following paragraphs.

Most people use the terms Proof of Concept (PoC) and prototype interchangeably, but in truth they are very different things. The PoC demonstrates that something is physically possible to do in its broadest sense. With a PoC, the little details can be put aside. Worried about battery life? No problem, attach it to wall socket. Heat problems? No drama, put a fan over it. Two weeks to build and test each unit – fine, it’s just a proof of concept. Conversely, the prototype demonstrates exactly how it will be implemented in an operationally viable way that won’t bankrupt the company. Battery life – how are we going to monitor it? How does it get recharged? Will it last long enough between charges? Is it easy to find the socket to plug it into? Can it be recycled?

The first challenge we faced when moving to a prototype stage was how could we make the electronics come in at a reasonable price point. It’s worth noting that, in our naivety, we thought we could pass the PoC to an electronics company and get back a complete solution. However, we found the costs were prohibitively expensive, so we were back to doing it ourselves. But this was a good thing because we made a rather marvellous discovery: it’s possible to get a small run of printed circuit boards manufactured for under £100. So using some free software, called DesignSpark, we were able to build a nice circuit board that we could assemble in a couple of hours. How cool is that? The second discovery we made was that the expensive, and rather unwieldy, Arduino could be replaced by a much smaller and cheaper ‘Pro’ version. So a couple of revisions later, we had a very robust and economically viable ‘brain’ for our device.

Our second challenge was which sensors to use. Our Proof of Concept detected changes in state using magnetic switches. Unfortunately, this would have meant installing powerful magnets to the equipment that would be used with it: a big no-no as far as economics and health and safety were concerned! Micro switches were too hard to mount, optical switches didn’t work reliably and laser range finders seemed a bit like overkill. Fortunately we discovered some infrared proximity sensors that could be used. These are fairly useful, and some are supplied with a big rely such that they could be used to control mains voltage. Not for this project, but worth keeping in mind.

We still have a few challenges to overcome, but I think we’re on the final strait. Hopefully in my final instalment I’ll be able to give the ‘big reveal’ and say what it is that we’ve actually been working on.

Project: Health Buddy

What role can Tesco play in promoting good health and wellbeing?

Background and Introduction

What we eat can contribute a huge amount to our general health and wellbeing. As the UK’s biggest supermarket, Tesco recognises the key role it can play in promoting good health and wellness.

The app and wearable tech market, in particular, has grown dramatically over the last 3-4 years. Health products from Nike, FitBit, JawBone and Pebble have emerged on the market as fantastic Health aids.

In the lab we wanted to see whether we could develop a product that would harness the excitement generated by this new app and wearables market, but put a Tesco spin on it.

Goals and Objectives

HealthBuddy is ostensibly research driven, we’ve had ‘fun’ exploring:

  • Alternative ways for customers to record their daily calorie consumption.
  • Utilising in-built android phone sensors to track customers daily activity.
  • Pairing an Android application with a wearable hear-rate monitoring device.
  • The latest Android UI patterns.
  • Activity based gamification mechanics.
  • How to build mobile apps using the Xamarin platform.

Our aim has not been to produce an application we would immediately give to customers.

Where We’re At Now

We have built and Android app that delivers on what we set out in our goals and objectives. Customers can use HealthBuddy to track their calorie consumption in multiple ways and monitor four variations of physical activity.

Customers can select an activity goal when they setup a profile. A simple overview screen is available to track progress. Rewards are released for achieving activity goals which can then be shared socially.

Our next step is to test HealthBuddy with a control group and gain feedback on potential uses for the prototype moving forward.

Will robots ever become aware of their own existence?

Science fiction writers like Asimov have written about this idea for some time. But could it ever happen?

Just before I left the office for the weekend, my colleague Nick posed this question to ponder.  Here are my thoughts. 

Science fiction writers like Asimov have written about this idea for some time.  Bicentennial Man and iRobot are examples of this, and there have been many memorable film ‘characters’ like HAL 9000 and David from AI that help us speculate what could happen if machines ever became self-aware.  But could this ever happen?

Well, perhaps the first concept to consider is that of self-awareness.   As humans, most of us would probably consider ourselves to be self-aware, sentient beings.  We’d probably be fairly comfortable in saying that some mammals, such as dolphins and primates, have at least some degree of self-awareness too. Cats and Dogs? Maybe.  Ants, probably not.  This suggests we tend to believe that intelligence is a prerequisite of self-awareness and that to be aware of its own existence a machine would need to be intelligent.  But is this possible?

This is a big question, on which there are two broad perspectives.  The symbolic AI perspective suggests that even if machines become infinitely complex, they will only appear to show intelligent behaviours rather than possessing actual innate intelligence. Take chess, for example. We assume that any human who is good at chess is also intelligent.  We’d think that a dog that could play chess was nothing short of miraculous.  But a computer, well, even if it’s hard to beat we know that it’s just following a set of rules.  Similarly Expert systems use a large set of rules to come to a decision.  If the rule base is infinitely large, it might seem omniscient. It might even seem to be self-aware, but would it be?  Google Chinese Room and let me know what you think.

An alternative perspective is connectionist AI.  With tools like neural networks, we can simulate intelligence by simulating how the brain actually works, with layers of interconnected neurons that fire when they are sufficiently excited by an external stimulus. At the moment, the simulation is pretty crude, since the computing power required to handle the interconnections is enormous.  But here’s the killer question: if we were able to simulate a human brain at a deep enough granularity, and situate it in a robot that had the same senses we do, would it be intelligent? Would it be self-aware?  Would the Chinese Room argument still apply?

One final difficulty to consider is that there is also no universally agreed definition of what intelligence is, or how it can be measured.  Sure, we have metrics like IQ, but these tend to be flawed due to their cultural bias.  For example, a typical IQ test question might involve adding together some letters based on their positions in the alphabet, which measures a) ability to add b) knowing the sequence of the alphabet c) taking a mental leap – which typically comes from having seen this kind of puzzle before.  This is all culturally dependant information: it measure experience rather than intelligence. Intelligence is more a measure of capacity to acquire capacity.  The Turing test, which implies that any computer that is capable of fooling a human into thinking it is another human must be intelligent, suffers from the same failings.

So in conclusion there seems to be no reason why machines could not eventually become self-aware, given enough computing power.  But we probably shouldn’t assume that once they are, they would be able to tell us about it.   It would be also interesting how they would they look upon their relationship with us?  Will they consider us to be violent, and if so, how will they react? *  Tell us what you think!

*Possibly with a blue screen and a frowny face.

Getting in touch with the Internet of Things

The Internet of Things involves making objects smart by giving them the ability to communicate with the outside world. We’ve been prototyping – and we’re pretty pleased with the results.

The Internet of Things (IoT) was one of the core themes at this year’s Consumer Electronics Show.  For those who aren’t familiar with the term, IoT involves making objects smart by giving them the ability to communicate with the outside world.  This means that your fridge could tell you what is available to eat for dinner, your car could tell you where it’s parked and your sandwich maker could tell you that is unloved, disillusioned and alienated. And so on.

This month I’ve had the opportunity to get the soldering iron out and install a bit of digital chattiness into some of the ‘things’ we use in our stores.  Like Nick’s Christmas Robot Project, I’ve been using an Arduino for the main control board. This has the advantage of being a) very cheap b) difficult to break c) easy to program and d) very extensible.   Extensibility is probably the biggest benefit since there are a large number of readymade circuits, such as WiFi and Bluetooth modules, that are ready to be ‘plugged in’. Then all that’s left then is a bit of simple electronics, which can be picked up pretty easily by looking through some of the examples online.   If anyone’s interested, we could run a couple of workshops that would get you up and hacking pretty quickly.

Now that the soldering is complete, and three wreaked prototypes later, I’m actually pretty pleased with the results. The next step will be concealing all the snazzy looking electronics inside a rather plainer little black box. I’m using our office Makerbot 2 3d printer to help me to do this.

20140212_101506

It’s interesting to reflect that this could be the future of consumer electronic products. That is modular electronics, housed in a customised case that can be 3d printed specifically for the purpose in hand.  We’ve already seen the start of this trend with the popularity of multi-purpose boards like Arduino and Raspberry Pi. Google’s Ara has taken this a step further, by creating what has been described as a ‘Lego’ phone.  But equally some experts argue that the cheapness of hardware could also negate the benefits of hardware customisation, so his approach may never be economically viable.  I’d be interested to hear your thoughts.

In the meantime though, grab hold of an Arduino and a WIFI module, integrate it with something bizarre and tell us all about it!   In the words of Bob Hoskins ‘It’s good to talk’*

*Especially if you are a sandwich maker.