Posts Tagged ‘hackday’

Watson News Companion

Friday, December 12th, 2014

newscompanion screenshotWe recently ran a hackathon at work: people within IBM were invited to try building a mobile app aimed at consumers using Watson services. It was a fun chance to try out some new ideas, as well as to build something using our APIs – dogfooding is always a good thing.

I worked on a hack with David which we submitted on Wednesday. This is what we came up with, and how we built it.

The idea

A mobile app that will help users to digest the news by explaining references in stories and providing greater context.

Background

It’s difficult to find the time nowadays to properly read and understand what’s going on in the world. We rarely have the time to sit and read through a newspaper. Instead, we might quickly read news stories online from our smartphones and tablets. But that often makes it difficult to understand the broader context that a story is in. There might be references in the story to people, places, organisations or events that are unfamiliar.

Watson could help. It could be an assistant as you read the news, explaining unfamiliar references and the broader context.

Features

Our Watson News Companion demo is a mobile news reader app that:

  • anticipates questions and suggests areas where it can help improve understanding
  • provides answers to questions without needing the users to lose their place in the story
  • allow the user to dig deeper with their own follow-up questions


A video walkthrough of the hack

(more…)

Making National Traffic Control data more useful

Sunday, September 12th, 2010

or ‘my hack for Over The Air 2010’

National Traffic Control Centre - on AndroidYesterday was Over The Air 2010 – a very cool event for mobile developers, that really warrants a post to itself, but I’m too tired so that will have to wait for another day.

But while I was there, I had a go at the hack challenge. I’m pleased that there was a fair amount of interest in what I did, so in this post, I want to share some of the technical details.

The hack centred around getting access to (pseudo-)realtime data about UK roads. It turns out that there is an effort to make traffic and road monitoring data available in a consistent, interchangeable format: DATEX II.

The DATEX site has a list of documentation for the traffic data made available for England, Scotland, Sweden, Italy, Spain, Portugal, Netherlands, and regions in France and Germany. For a data geek, this was quite a cool find 🙂

I only had 24 hours to play, so started with the data available for England – covering the motorway and trunk roads. The web page includes a 39-page PDF which documents the data that the National Traffic Control Centre publishes for England.

The nice thing about DATEX II being an agreed standard is that although I spent the evening working with the English traffic data, once the code was done, there wouldn’t be anything to stop me using the same code with the Scottish data too.

They publish a lot of data – more than I realised was being collected, let alone made publicly available. This chimed well with the keynote on Saturday morning by the brilliant Tim Berners-Lee, in which he talked about the importance of publicly available data.

The data includes:

  • current and future planned roadworks
  • current and future planned events expected to affect traffic
  • unplanned events affecting traffic
  • the current message being displayed on variable message signs (the electronic traffic signs that can be set to display text messages like “don’t drink and drive”)
  • the current graphic being displayed on matrix signs (those square electronic displays that can display icons like which motorway lanes are closed)
  • information about traffic on monitored stretches of road

This was an impressive list – is it just me, or is the ability to find out what is currently written on the electronic sign hanging over every major road in the country seriously cool? No? Okay… so I’m a geek. 🙂

But beyond the list, what was impressive was the amount of detail.

National Traffic Control Centre - on AndroidFor roadworks, you can find out not only where they are, but what type of roadworks they are – e.g. resurfacing, barrier repairs, bridge repairs, etc., what times of day they will be active, when they are expected to finish, the anticipated level of disruption, number of lanes to be closed, and much more.

For events, you can find out the type of event (e.g. if it’s a sports event what type of sport, if it’s an entertainment event what type of entertainment – e.g. boat show), as well as details about times, expected level of disruption, and so on.

For unplanned events, there are codes for a variety of types of events e.g. Spillages are divided into types like chemical, oil, and – unusually – “shed load”. Accidents are categorised into serious, multi-vehicle, vehicle fire, vehicle recovery, overturned vehicle, and so on. Other event codes include animals on road, people on road, obstructions, severe weather like fog, rain, snow, ice, high winds, etc. And loads more. And again, you get all the detail about times, level of disruption and so on.

For the variable message signs, you get the message text itself, the location of the sign, the source of the message (which authority set it), and so on. For the matrix signs, you get the code for the icon being displayed, the location of the sign, the time the message was set, etc.

National Traffic Control Centre - on AndroidFor the traffic data, you get data divided into monitored stretches of road. In the England data, there were tens of thousands of these road sections. For each stretch of road, you get:

  • current average travel times to traverse the section
  • the typical travel for this stretch of road for this time and day of the week based on historical profiles
  • the theoretical ideal travel time if there was no traffic
  • the current average vehical flow rates (number of vehicles per hour) divided into the length of vehicle – how many vehicles shorter than 5.2m, how many vehicles between 5.2m and 6.6m in length, how many vehicles between 6.6m and 11.6m, and how many vehicles longer than 11.6m (the doc warns that “The accuracy of the loops when classifying vehicle lengths is 1% so measurements around each breakpoint could fall into adjacent categories” – like that’s a problem!)
  • the current average vehicle speeds on the stretch of road
  • the current average occupancy for the road

Not only was it detailed, but it was up-to-date. Data is updated at two-minute intervals if you pay for a premier account, or ten minute interals for the free standard account.

This was awesome. So much information!

(more…)

Your data. Mobile. (a hackday hack)

Thursday, November 12th, 2009

screenshot stored on PhotobucketWhat do the following have in common?

Weather Channel Max – an iPhone weather app. StockWatch – an iPhone stock prices app. CNN Mobile – an iPhone news app. FlightTrack – an iPhone flight updates app. Tweetie – an iPhone twitter app.

They are all apps which provide users with updates to their phone when some information changes. The information in question is different. But they’re all ways for users to get information that they are interested in, while they are on the move.

Having a dedicated hard-coded app for each type of data is great for information that a large number of people are interested in.

For example, there are enough people who are interested in the weather that it’s worth having an app dedicated to it.

But what if you want updates for information that isn’t so widely needed? What about niche interests?

We’re all different. There is going to be something that you’re interested in that not everyone else is. Or at least a particular set of interests that noone else exactly shares.

People’s needs and interests are almost infinitely varied, so we can’t come up with enough applications to meet everyone’s unique needs. Particularly for more esoteric topics, which are too long tail to each justify a specific mobile app.

For these situations, we need something generic that individual users can customise.

This was an idea I played with on the last IBM HackDay. I managed to get a proof-of-concept working on the day, but not had the chance to share it before now.

What I tried to create was:

  • a generic mobile application – something that can display an arbitrary number of bits of information
  • a browser extension approach – some way that a user can pick any bit of any webpage, adding it to their list of information that will be pushed to their mobile

I’ve recorded a video of it running. (Difficult to see without full-screen – sorry!)

To summarise, the steps involved are:

  1. User visits a webpage at their computer
  2. User highlights a portion of the page, and uses a Firefox extension to register this with my notifications server
  3. The notifications server informs the mobile app of the new topic of interest
  4. The notifications server continues to monitor the webpage
  5. When the highlighted portion of the webpage changes, the updated contents are pushed to the phone
  6. The mobile app notifies the user of the change

(more…)

Writing an offline wiki client

Saturday, October 10th, 2009

Friday was the seventh IBM Hack Day, and I again got the chance to spend a day playing with some random ideas.

As Hack Days go, I had a surprisingly productive day! I had four ideas on the day:

  • two mobile hacks (both of which I wrote a chunk of code for),
  • a twitter hack (which never got off the scribbled diagram stage, but it’s an idea I definitely want to come back to), and
  • a hack to extend an IBM product (which I created an alpha version of)

In this post, I’ll describe what I did for the last of these ideas: writing a client app for the wiki that comes with IBM’s Lotus Connections.

The idea

In the same way that I am writing this post in an offline blogging client, I wanted the same for using wikis: read and make changes to a wiki while offline, with changes uploaded to the online wiki the next time you are online.

This wasn’t a new idea. In fact, I tried it at IBM HackDay 4 back in 2007 but the wiki we used at work at the time had no API access for retrieving or updating wiki pages. So I sort of gave up and forgot about the idea.

But now I use Lotus Connections wikis at work. And Lotus Connections does have an API – an AtomPub API that gives you feeds to know when pages are changed, and a way to publish changes.

So I decided to revisit the idea.

The “finished” (ish) hack

It’s still very rough around the edges (this was a HackDay – I wrote the client code in under a day!) but it already shows the basic idea.

Offline wiki client

The top left view shows the list of your wikis.

Clicking on this fills the list below – a list of pages in the selected wiki. Clicking on a page in that list opens the contents of the page in the main view on the right.

(more…)

Addressing concerns over location sharing

Tuesday, May 12th, 2009

I wrote a quick post on Sunday morning about the mobile location sharing hack I wrote at Open Hack London. My post tried to explain the tech behind it, but I wanted to follow it up with a post to explain my thinking around the social innovation in the idea.

Sharing your location with your friends. People have been talking about this for ages, but recently it’s started to hit the mainstream.

More and more mobile phones are coming with GPS. For the ones that don’t, systems like Skyhook and Google Maps for Mobile are getting smarter at using GSM Cell IDs and WiFi access point addresses to work out where you are.

The reaction to this stuff finally arriving for the masses hasn’t all been positive, though. The response to the UK launch of Google Latitude – Google’s mobile application for sharing your location with friends from your Google contact list – is a good example.

A threat to privacy?

Privacy International said that “…Google has created an unnecessary danger to the privacy and security of users…”. They argued that it was too easy for Latitude to be “…enabled by a second party without a user’s knowledge or consent…” and that once enabled it could remain undetected for a long time, with massive potential for abuse.

Liberal Democrat MPs Tom Brake and my local MP Chris Huhne submitted an Early Day Motion to Parliament arguing that Latitude “…could substantially endanger user privacy…” and that “…Google has created an unnecessary danger to user privacy…”.

Tom Brake followed this up with the now widely reported quote that “Google Latitude poses an insidious threat to our hard-won liberties“.

I personally think this was unnecessarily alarmist, but at any rate, it is clear that the model of granting ongoing access to your location (until / unless you revoke it) worries some people.

(more…)

Fire Eagle Guest Pass

Sunday, May 10th, 2009

Imagine you are in a town or city. Perhaps one which you are unfamiliar with.

You’ve arranged to meet someone, and want to help them find you.

They’re not a close friend or family member, so you don’t want to sign up with something like Google Latitude which feels like quite a long-term thing for people who want to always be able to see where you are.

You don’t want to have to ask them to sign up for some new service like Fire Eagle just to find you.

Maybe they’re a client coming to meet you for a meeting. You want to help them find you, but you’re not sure that you want them to be able to see where you go after the meeting, or what pub you go to that evening.

This is the sort of thing that “Fire Eagle Guest Pass” – my hack entry for Open Hack London 2009 – was written for.

I’ve put together a few pictures to explain what it does on slideshare. They’re not exactly fine art, but hopefully they explain the idea 🙂

(more…)

Social TV

Tuesday, November 18th, 2008

At the BBC hackday “Mashed” earlier this year, I went to a talk explaining how to write applications that can be delivered to televisions through Freeview set-top boxes. For our CurrentCost-themed hack, we reused (that is to say, shamelessly stole!) some code from a colleague to get CurrentCost notifications onto a TV channel. The idea was that it’d be a ‘press the red button’ kind of thing where you could have results of CurrentCost challenges from you and your friends pop up as text overlaid onto the bottom of the screen while you watch TV.

I loved this idea, and it’s been bouncing around at the back of my head since. There is a lot of social network data on the web that I think would be well suited to notifications via a TV. Rather than needing to have a separate computer on, or send stuff to mobile phones, or use stand-alone ambient type devices like Nabaztags or Chumbys, why not have stuff popping up while you watch TV?

(more…)

Thinking about Home Camp

Monday, November 17th, 2008

This is a quick post to spread the word about Home Camp to anyone who follows my blog but doesn’t follow Chris Dalby (aka @yellowpark).

I’ve posted a lot about CurrentCost since I got the meter back in May, but in the past few months it seems like lots of people are giving it a try – I’m seeing more tweets and blog posts about the potential of CurrentCost, and I’m getting more and more emails about my Python CurrentCost app.

So I’m really looking forward to Home Camp – Chris’ idea for a CurrentCost-themed unconference, and a chance to discuss and try ideas relating to monitoring our energy use.

Although it’s CurrentCost-inspired, it wont be limited to CurrentCost or even only electricity monitoring. For example, I’ve prepared a short presentation on monitoring home gas usage in a CurrentCost-type way, which I hope will get some ideas going. And I’ve started thinking about how we could monitor personal car petrol usage – probably my most expensive energy bill!

(more…)