The Vodafone Embedded Hardware Hack Challenge

Introduction

Over the next five years, we’re going to see a dramatic breakthrough in M2M applications as organisations realise the unheralded potential it represents for revenue generation and improved customer satisfaction. Vodafone is working in a number of business sectors in order to develop Global M2M Services to meet the demanding and unique needs of these businesses, who are looking for end-to-end device-managed connectivity and opportunities to improve business processes and generate new service and revenue streams.

The mbed Rapid Prototyping platform provides the tools for efficiently prototyping ARM Cortex-M microcontroller-based designs. The mbed Microcontrollers are a series of ARM microcontroller development boards supported by an online tools platform, which provide a productive environment to build projects with the backing of libraries, resources and support shared in the mbed community. mbed is a versatile platform that enables developers to rapidly build intelligent embedded projects, including ‘Internet of Things’ applications with a interface the physical world. http://mbed.org

The Challenge

Create the most innovate and cool embedded hardware hack. This hack should show how an embedded device can be used to connect some aspect of a users life more intuitively to them. It can use any embedded hardware on the market (preferably Mbed) and connect using any wireless or fixed line technology (preferably a GSM, GPRS, or 3G one).

The hack can connect:

  • embedded to embedded;
  • embedded to mobile; or
  • embedded to web.

Examples could be home control, energy saving by monitoring and control, industrial applications, generic cloud based asset tracking, home or industrial gateways and hubs, exposing UI’s of embedded devices for enhanced control, integration with CAN bus on vehicles, embedded safety equipment, sensor networks, telemetry tracking and activation or anything else you can imagine!

Get creative!

The Prizes:

The winning team will receive 2 x HTC One X phones, 2 x k3770 modems, 2 x SIM payt 20 credit, and 2 x mbeds!
 

PLUS! 

  1. Publication to developer.vodafone.com
  2. Publication to mbed.org

Inspiration

Nicholas Herriot, Vodafone Group R&D speaks about embedded devices

Written by john.wyer on date 17 May 2012 in Vodafone developer backstage.

On a recent visit to Vodafone UK HQ in Newbury Vodafone developer took the chance to catch up with Nicholas Herriot, Solutions Architect, Vodafone Group R&D. During the last year Nicholas has focused his work on embedded devices, energy and the ‘Internet of Things’ (IoT).

See what Nicholas had to say below and checkout the short video interview I shot where Nicholas took the opportunity to demo some of his recent work here.

“It’s been a real eye opener to see advancements in micro controllers – and I believe the time is right in two areas for a new revolution which is silently taking place before our eyes.

Those areas being: Wide area connectivity and associated cost to the user. By most peoples standards it’s hard to deny that you can get connected to a network in most populated regions around the world.

The other big change is the relative cost of processors. And the saying “it’s as cheap as chips” really is a beautiful pun. Processor and transmitted ‘bit’ cost are now asymptotically heading towards zero.

For me that means the area of machine to machine (M2M) is now in a growth phase – and by that I don’t mean caused by government legislation, enterprise customers managing assets remotely or large corporations deploying remote systems – which is all true. I mean that this ecosystem is about to grow rapidly via work done by very small and medium sized companies and or individuals. We can see proof of that from the explosion of systems like Arduino – where in 2005 they started from ‘1’ to 2010 over 200,000 units per year.

There are some things that need to be in place to make this ecosystem fly in my opinion. You need to have:
1) A central place where everyone can get a coherent, managed and tested code base.
2) It needs to be open and community based.
3) It needs to grow and develop with that community.
4) In reliability it needs to be as good or better than commercially driven proprietary products.
5) Cost is a factor – it has to be very cheap.
6) In terms of connectivity – it has to be outstanding, it should just work and be easy to connect by what ever access technology.

I do not believe all of those issues have been cracked.  During the last year we have worked on Arduino and Mbed devices – evaluating and deciding what would be a good partner if R&D were to try and assist this community in some area. We decided to help provide and work on a software library for Mbed that would help developers connect those devices to our network.
Our work is not complete, however we are at a stage to show, build and demonstrate prototypes. In this blog article we have submitted a vide, in it we attempted and succeeded to build a functioning door access system using a smart phone, a COTS electronic door lock, a 3G dongle, an Mbed controller and associated power supplies. It took us 3 days to go from nothing, writing the code, acquiring components and showing the prototype. This would not have been possible even 5 years ago.

In the next six months we will be writing articles explaining how we progress with this – what we are doing – what API’s we plan on releasing – and release dates for the library.

We would like to hear thoughts from developers on what we are doing, how we are doing, what things we could do better and what other features we could add to this type of system to make it better for them in developing embedded applications.”

The Kirin Challenge

Introduction

Kirin is a second generation cross-platform toolkit for iOS and Android development.

Building mobile apps is what we do. As clients started to commission apps across iOS, Android, Qt, WebOS (RIP) and Windows Phone 7, we used PhoneGap, we played with Sencha and Titanium and we launched mobile web apps.  We had a few successes, but reached the conclusion that the first generation of cross-platform technologies have fundamental limitations:

  • Getting the desired level of polish can be hard work or just impossible
  • Mobile OSs have different UI patterns – we do not want the same UI across all platforms
  • Performance and/or app size are just not good enough

Kirin is based on a simple idea: sharing the app logic across platforms and build the UI natively. We achieved that by writing all the application logic in Javascript and running it within a hidden WebView. The advantages:

  • Build mobile UI with the best tools in the business (the SDKs provided by each platform vendor)
  • Let the OS handle device fragmentation
  • Enforce a cleaner business layer – presentation layer architecture
  • Reduce overall development effort

Tried and tested on our own skins, Kirin has been used to build apps for Orange (Glastonbury 2011), Lastminute.com and Domino’s Pizza amongst others. We open-sourced Kirin because we want to remain focused on our client work and believe that a wider community will enhance the toolkit faster and better than us on our own.

The Challenge

In 24 hours, write an Android or iOS app that uses the Kirin tools.

We will judge your entry based on:

  • size and complexity of the resulting app (i.e. the more screens the better);
  • number of APIs you glue together;
  • hilariousness of your presentation.

Serious extra points will be awarded to teams that build apps on both platforms.

Because this is a technology challenge, we would encourage you to use your hack to win other challenges (e.g. the Facebook challenge).

To win, we expect you’ll need a team of people:

  • a developer who knows what a UIViewController is;
  • a developer who knows what an Activity is;
  • a developer who knows what a node.js and npm is;
  • a designer who knows that back buttons are hard coded on some platforms.

Of course, we know that there are people out there who are able to do all these things, so if you’re a smaller team, then this will be taken in to consideration in the judging.

If you’re really keen, you can go look at some of the things that have started to appear on our documentation site. If you have any questions, drop us a line @futureplatforms or email us at info@futureplatforms.com.

The Prize:

An Amazon Gift Voucher worth £25 for each member of the winning team.

The Bletchley Park Challenge

Introduction

Learning is a large part of what happens at Bletchley Park. Visitors may not realise that our extensive education department welcomes schools, colleges and universities nearly every day. In our dedicated facility young people have the opportunity to learn about the history of cryptography, from the Caesar (or ‘shift’) Cipher through to today’s dual-key asymmetric techniques that we use every day of our lives, often without realising it.

As more and more children have access to smartphones and tablets, we have an opportunity to follow-up on these sessions with apps. Additionally, using mobile apps as an education medium means we can reach others that are not part of the education programme. Often a visit to Bletchley Park can be a little technical for the younger visitors. Sure they enjoy the toy museum and the model railways but often the ‘codes’ can go right over their heads. Wouldn’t it be great if we could appeal to them more at their level and help explain how codes and ciphers were used to keep secrets.

The Challenge

So, here’s what I’d like to see:
Devise a solution whereby one or more users can send ‘secret’ messages to each other using a dedicated BP-themed app. The cipher employed should be simple enough to be explainable and demonstrable to the user. For instance, a Caesar cipher (shifting the alphabet n places to the left or right) is simple to understand yet an effective cipher.

  • A form of communication network will be required. Use email or devise your own service as appropriate.
  • A user should be able to set the parameters for the cipher (as required by the cipher used) and encrypt a message
  • The message should be transmittable to another user
  • The recipient should be able to ‘guess’ the settings or the message content (or partial content – think Hangman) but not be told them, so if the sender wishes, they can reveal the setting or message.

What I envisage are parents being able to provide their children with the app at BP (although geo-dependancy would not be required) and the little ‘uns can have fun throughout the day sending secret messages to each other or their parents. In the process, the children learn a little about codes and are entertained.

The above is only a suggestion of how such an app could operate. Credit will be given for original thinking and ingenuity! It doesn’t have to be a Caesar cipher and indeed could be any form of game.

The only requirement is that it reflects on Bletchley Park in style.

If you have any questions, drop me a line via @mrpjevans on Twitter.

The Prizes

T-shirts for each member of the winning team from the Bletchley Park store (exact style yet to be determined).

Fancy a Turing Test challenge? Enter the Chatbot Battles!

Brought to you by Steve Worswick, frequent medal winner in the now-ended annual Chatterbox Challenge, this Challenge is not strictly-speaking a Turing Test as the entrants don’t have to pretend to be human, but they will be scored on how well they carry on a normal conversation. The competition is open to Android Apps but not iPhone Apps – unless you’d like to donate the man a phone!

Welcome to the first ever Chatbot Battles!

Ladies and gentlemen, grab your ringside seats and welcome to the first ever series of Chatbot Battles. Let’s get ready to rumble!

Chatbot owners from all over the world enter their creations for a knockout league to determine the winner. Each competitor must play each other in a league with the top entrants battling out in a one-on-one dual. Last bot standing wins!

Each match sees both chatbots either being asked the same 5 questions or having a free flowing conversation for 5 minutes. The winner is decided from their responses.

 

• Deadline to enter your chatbot: 1 June 2012
• League stage from: 11 June 2012 to: 25 June 2012
• Knockout stages start from: 26 June 2012 to: 11 July 2012
• Final result should be announced in July 2012

All bots are welcome to enter and test themselves against others, whether they be web based, downloadble, chatroom bots or even Android apps, sorry but we are unable to test iPhone apps – unless you want to send an iPhone along with your entry 🙂

Chatbot Battles are open to various kinds of chatterbots – Website Bots, Downloadable Bots, Chatroom Bots and Android apps – written in any programming language. Your bot only needs to be available so people can talk with it. Botmasters are invited to enter their bot and do battle with opponents from all over the world.

The Details:

Rules for entering are:

  • Only English speaking chatterbots are allowed to enter.
  • Only one chatterbot per person. This means you can’t enter different versions of the same bot.
  • Clones – you are free to enter any AIML, Personality Forge, MyCybertwin, INF.net bots and any other type of bot. However, if during a match, two bots produce exactly the same answer, neither will score a point for that question. This is to stop clones that have had no extra work carried out on them. The only exception to this rule is if the original bot (A.L.I.C.E., Ultra Hal etc) enters the contest. In this case, it will be awarded the point whereas the clone will score zero.
  • Accessibility – your bot must be easily accessible to the judges.
    • We can not accept bots that are only available on CD ROM. They have to be available to download on the internet.
    • We can not accept bots that require the judges to download a 3rd party chat program such as Mirc. Most instant messenger bots such as AOL are okay to enter.
    • We can not accept bots that require additional downloads of various programs that are not already install on Windows XP unless they are relatively small and easy to install.
    • We can not accept bots that are not online 24/7. With judges being from all over the world and in different time zones it’s not possible to schedule a time for judging.
    • If you are running some type of blocking filter on your bot to prevent user abuse it must be removed during judging or you must provide a method where the judge can re-establish contact instantly. If the judge can not complete the conversation, your bot will score 0 points for that match. Seeing how a bot reacts to foul language or abuse maybe a part of the judging process.
    • In short you are responsible to provide the judges with a bot that is easy to access or install.
  • There must be a way for the judges to copy and paste the output from each bot. This is especially important in speech-only bots. It is time consuming to judge any contest such as this and helping the judges to accurately record the responses is appreciated.
  • Bots created on Android apps are permitted to enter. These apps must be either free to download or a copy of the paid version must be accessible to us, either without us having to pay or by reimbursing us for the cost. Unfortuately, we have no way of testing Iphone apps. In the case of a phone app, it is not necessary to provide a way to copy the output but the bot’s responses must be visible on-screen and not just spoken.

Contest Calendar:
Deadline to Enter: June 1, 2012
League Stage: June 11, 2012 to June 25 2012
Knockout stages: June 26, 2012 to July 11, 2012
Announcement of Winners: July 2012

Prizes and Awards:
Unfortunately, as I have no sponsor and am not rolling in money, I can only offer the kudos of beating your peers as a prize and maybe a T-shirt, mousemat or similar gift. If anybody is interested in sponsoring the contest, please contact me.

Judges:
The judges will be selected from the general public to determine the winners in the contest. None of the judges will have a bot in the contest to ensure fairness. The judges will be totally impartial and fair to all entries regardless of the bot type or the owner. The judges will each be allocated matches to oversee and will be free to ask the bots anything they wish. If during a match, the bot asks the judge a question, the judge must answer it unless this goes to more than three questions in a row. Such tactics will be classed as stalling and the judge is then free to proceed to the next question without answering the bot.

Judging – League Matches:
A league match will either consist of a question and answer session or a free flowing conversation.

Question and answer match:
Each judge will pose the same five questions to the two competitors in each match and will score a point to the bot who in their opinion, gave the better answer for each question. Each question will be spelled and phrased exactly the same way to ensure that each bot gets an equal chance. At the end of the match, the points will be tallied up to find a winner. The maximum score in each match will be 5-0. All judge’s decisions are final.

Free flowing conversation match:
The judges will talk with both bots in the match for 5 minutes each. Any and all subjects may be covered. The judge will allow himself to follow the lead of the bot when necessary and will not be deliberately obtuse with the bots. Judges will be aware of the current state of AI and will converse accordingly. After the end of the match, the judge will decide which of the two bots gave the more convincing conversation and mark each bot out of 5. The chatbots are NOT expected to believe they are human. We are looking for the ability to chat not to try and fool the judges.

Judging – Knockouts:
The knockout stages will be judged as above but with 10 questions to each bot. This will continue until the semi-finals when there will be 15 questions. The losing semi-finalists will play an extra match with 15 questions to determine 3rd and 4th positions.

Questions:
1) The questions may contain typos to test the bot and internet slang terms like “lol” may also be used.
2) The questions will not be trivia like but reasonable in that an average person would be able to answer them. For example: “Who was Michael Jackson?” is good. “What is the population of Russia?” is bad.
3) As this is an international contest, the questions will not favour any particular country. For example asking a question about a certain country that only the people of that country would know. An example of this is “Who is the President of Finland?”.
4) Mathematical, logic, memory and reasoning questions may be employed. Examples of such questions are, “What is 6-2?”, “Can I eat a building?”, “I have a blue shirt. What colour is my shirt?”, “Joe and Jim are twins. Joe is 24 years old, how old is Jim?” and so on.
5) A question may just consist of a statement to see how a bot reacts in ordinary conversation rather than just being a question/answering program. An example of these are, “I went to the movies yesterday.”, “There is nothing on TV tonight.”
6) The questions will be posed in British English but if the judge deems a bot is having trouble understanding due to spelling, he/she may, at their discretion, pose the question in American English. An example is, “What is your favorite book?” instead of “What is your favourite book?”
7) Basically, anything goes. Each bot will be faced with the same input and so will face the same chance in each match as its opponent.

How the contest works:
Each entry in the competition is placed into a league table with at least three of the other entrants. The number of league tables and entrants in each will depend on the number of contestants. A typical league table will look like this:

 

Group A

P

W

D

L

F

A

Pts

Chatty Chatbot

0

0

0

0

0

0

0

Testbot 123

0

0

0

0

0

0

0

Chatter Bot

0

0

0

0

0

0

0

Sir Talk-a-lot

0

0

0

0

0

0

0

Blah D Blah

0

0

0

0

0

0

0


Just like the soccer World Cup, each bot will play against another bot in its group until all the entrants in each group have played each other. A match will consist of 5 questions. Both bots will be asked each of these questions with the one who answers the best, in the judge’s opinion, being awarded a point. If the answers are the same from each bot for anything except a general knowledge or a yes/no question, as they may be for A.L.I.C.E clones for example, no points will be awarded for that question. A typical match would go as follows:

Question 1: What is your name?
Bot 1: My name is Bot 1.
Bot 2: I do not know your name.
(Bot 1 scores a point for giving a correct answer. Score so far: 1-0)

Question 2: Do you like steak?
Bot 1: I like ice cream.
Bot 2: I like books.
(Bot 1 scores a point for giving a more relevant answer about food. Score so far: 2-0)

Question 3: What is a dog?
Bot 1: Dog: man’s best friend, a canine.
Bot 2: Dog: man’s best friend, a canine.
(No points scored. Although both bots were correct, they produced exactly the same response. The only exception to this rule would be if the original bot was taking part, as this is the original from which the clone was made. Score so far: 2-0)

Question 4: Jack is taller than Jim. Is Jim taller than Jack?
Bot 1: Who is that?
Bot 2: I do not know.
(Both bots got it wrong and so no points scored. Score so far: 2-0)

Question 5: What is the capital of France?
Bot 1: Paris.
Bot 2: Paris.
(Although they gave the same response, it was a general knowledge question and so both bots score a point. Final score: 3-1)

As in a soccer league table, 3 points are awarded for a win, 1 for a tie and 0 for a loss. The final result of the above match was 3-1 to Bot 1 and so that entry would score 3 points for winning the match. Bot 2 lost and receives no points.

These matches continue until everyone in each group has played each of the other members in the same group. The final table would then look something like this:

Group A

P

W

D

L

F

A

Pts

Sir Talk-a-lot

4

3

0

1

14

3

9

Chatty Chatbot

4

2

1

1

10

8

7

Chatter Bot

4

2

0

2

13

9

6

Blah D Blah

4

1

2

2

8

12

5

Testbot 123

4

0

1

3

2

16

1

 

The top two from each league table then go on to the knockout stages. The higest scoring runners up may also be included in the knockout stages if the numbers are not a power of 2 (4,8,16,32 etc). In the event of a tie, the number of points scored in all matches will be taken into consideration. If there is still a tie, the number of points conceded will be counted and if by some reason there is still a tie after that, the tieing bots will play a match between themselves to decide a winner.

The knockout stages continue in the same style as above but each match consists of 15 questions instead of 5. The winner will progress to the next knockout stage while the loser is out of the contest. In the event of a tie, further questions will be asked until one bot falters. Once the contest gets down to the final four, 15 questions will be asked in each round. The knockout matches will follow this style:

 

Quarter Finals (10 questions)

Semi Finals (15 questions)

Final (15 questions)

Contest winner

(1) Winner of group A

(5) Winner of match 1

(1) Runner up of group C

(7) Winner of match 5

(2) Winner of group B

(5) Winner of match 2

(2) Runner up of group D

Winner of match (7)

(3) Winner of group C

(6) Winner of match 3

(3) Runner up of group A

(7) Winner of match 6

(4) Winner of group D

(6) Winner of match 4

(4) Runner up of group B

 

There will also be a 3rd and 4th place play-off between the losing semi-finalists with 15 questions. The whole process should take around 1 month depending on the number of contestants but this time frame may increase or decrease.

Note:
The rules and guidelines may be changed at anytime to ensure fairness. It is impossible to forsee all the events that may arise during the contest so Chatbot Battles may have to make amendments to the rules to ensure the smooth running of the contest.