Over the course of my career, I have been engaged as either the sole inventor or co-inventor on a number of novel innovations related to communications, user interfaces and location-aware content, many of which have subsequently been granted both in the United States and the United Kingdom.

Distributing Presence Information


Setting your IM availability, based on your calendar.

A method of distributing availability information from a first user terminal to at least one further user terminal connected via a communication network, comprising:

  • executing a communication client at the first user terminal;
  • the communication client accessing schedule data stored on a storage means relating to a user of the first user terminal;
  • the communication client analysing the schedule data to determine a current status of the user;
  • mapping the current status of the user to a selected one of a group of predefined availability settings at the communication client;
  • and transmitting a message comprising the selected availability setting over the communication network to the at least one further user terminal.

Communication system and method


Handling notifications using a TV remote control.

A television receiver system and corresponding method, the television receiver system comprising: a television receiver for receiving broadcast television signals, signal processing apparatus operable to process the received television signals for output to a television screen, and a control device allowing a user to select a viewing activity by controlling the output to the television screen.

The television receiver further comprises a memory storing a communication client application; and communications processing apparatus operable to execute the communication client application.

The client application is programmed so as when executed to allow the user to establish bidirectional communications with one or more other users via a packet-based communication network, and to provide notifications to the user of incoming communication events from other users.

The client application is further programmed to control the notifications of incoming communication events in dependence on the selection of viewing activity.

Communication system and method


Creating social avatars based on TV content.

A media appliance and corresponding method, the media appliance comprising a video signal source such as a TV receiver, and signal processing apparatus for generating a corresponding sequence of frames for output to a screen.

The appliance comprises a client application programmed to capture one of the frames and use the captured frame to generate an image to represent a user in relation to bidirectional communications over a packet-based network.

Indicia of contact viewing activity


Watch TV shows together across platforms.

Embodiments include a television appliance configured to display a selected on-screen viewing activity, and a client application.

The client application is configured to maintain a list of contacts and allow a user of the media appliance to establish communication events with contacts via a network interface and packet-based network.

The client application is further configured to receive a machine-readable data item via the network interface and packet-based network from a television appliance of one or more of said contacts, the machine-readable data item indicating a current television channel being viewed by the respective contact.

In at least some embodiments, the client application may control operation of said user's television appliance in relation to the contact's television appliance based on the data item.

Logging communication events


A location-enabled phone log.

A user terminal comprising: a positioning system arranged to detect a geographical location of the user terminal; a transceiver for communicating with other user terminals via a communication network; and a communication processing apparatus coupled to the transceiver and positioning system.

The communication processing apparatus is arranged to detect communication events occurring via the transceiver and communication network in relation to other user terminals, and to maintain a log of the communication events.

Further, the communication processing apparatus is configured to organize the log in dependence on a geographical location detected by the positioning system.

Switching between user devices during a VoIP call


Transferring calls between home electronics devices.

The invention allows a user to switch between devices during a call whilst maintaining a consistent user identity, but without having to log-out or re-dial.

The system comprises a first user device and at least a second user device for the same user, at least one of the devices being a household media appliance, e.g. television or set-top box (STB), and each being installed with a respective instance of a communication client application, e.g. VoIP client, for conducting voice or video calls over a packet-based network.

Each instance is associated with the same user identifier, with the first of the instances being associated with a first sub-identifier and a second of the instances being associated with a second sub-identifier.

The instances are configured so as, during an ongoing call between the first user device and a remote user device conducted over a first network connection established using the user identifier and the first sub-identifier, after the call has been answered, to establish a second network connection using the user identifier and the second sub-identifier and to switch the call to the second network connection.

Location information in a communications system


Using location and timezones in communications apps.

A method of communicating location information relating to a first user of a first communication client from a first user terminal over a communications system to a second user terminal, the first user terminal executing the first communication client and the second user terminal executing a second communication client, the method comprising:

  • the second communication client displaying a list of contacts associated with a second user of the second communication client, the list of contacts comprising a first contact representing the first user;
  • the first user terminal determining a location of the first user;
  • the first user terminal storing the determined location in a store of the first user terminal;
  • the first communication client reading the stored location from the store;
  • the first communication client generating a message comprising a visual indication of the location read from the store;
  • transmitting the message from the first user terminal to the second user terminal;
  • and displaying the visual indication of the location on the second user terminal in the contact list in association with the first contact.