Technically, The DIAL technology can be used for
launching companion applications by implementing
the DIAL server functionality on companion devices
and client functionality on TV, but this will raise ad-
ditional security and battery lifetime issues on com-
panion devices. Furthermore, this requires compan-
ion devices to run services in the background which
is not possible on some mobile platforms like iOS as
we discussed in the previous section. In addition, the
flow for remotely launching companion applications
is not the same as for launching TV applications from
the end-user perspective. Bringing an application on
a companion device to the foreground without asking
the user while he interacts with another application is
a bad user experience. Most mobile platforms allow
this feature only in relation with a user interaction e.g.
the user starts a new application by clicking on a but-
ton in the current application or by clicking on a noti-
fication. On iOS, there are two types of notifications:
local and remote notifications. The end-user don’t see
any difference between them, they differ only in the
way how they are triggered: local notifications are
triggered by applications running in the background
on the same device while remote notifications are trig-
gered and sent by Apple Push Servers. This means, if
an application is not running at all (neither in the fore-
ground nor in the background), the user can be noti-
fied only through remote notifications. One option to
wake-up and launch a not running iOS application in
the background is by using iBeacon (Apple - iBea-
con, 2014), a new technology that extends Location
Services in iOS7. iBeacon uses a Bluetooth Low En-
ergy (BLE) (Bluetooth SIG, 2014) signal which iOS
devices detect. Any device supporting BLE can be
turned into an iBeacon transmitter and alert applica-
tions on iOS devices nearby. iBeacon transmitters are
in general tiny and cheap sensors that can run up to
2+ years with a single coin battery depending on how
frequent they broadcast information around. Main us-
age area of iBeacon are location based services: iOS
devices alert apps when the user approaches or leaves
a region with an iBeacon. While a beacon is in range
of an iOS device, apps can also monitor for the rel-
ative distance to the beacon. If the application was
not running while the user crosses (enters or leaves)
a Beacon region, the iOS device wakes up the appli-
cation and launches it in the background only for 10
seconds. In this time frame the application can react
to the changes in the user position and may request to
show a local notification, through which the user can
bring the application to the foreground.
3 CONCEPT
Based on the technical discussion in previous section,
we will propose some ideas for a user friendly remote
launch mechanism of TV companion applications us-
ing iBeacon and Notification technologies. We will
limit ourselves in this work to the iOS platform and
follow its application development guidelines to en-
sure best user experience, nevertheless the concept
can be easily adapted to companion devices with BLE
support running other platforms like Android. Unlike
on iOS, the only platform that provides native iBea-
con support, the iBeacon functionality needs to be
implemented on application level for the other plat-
forms.
As mentioned in previous section, the iBeacon
protocol uses BLE signals to transmit information in
a specific frequency e.g. each second. An iBeacon
message consists besides the BLE packet headers and
Apple’s static prefix of the following values (Apple -
iBeacon for Developers, 2014):
Proximity UUID: A 128-bit value that uniquely
identifies one or more beacons as a certain type
or from a certain organization.
Major: A 16-bit unsigned integer that can be used to
group related beacons that have the same proxim-
ity UUID.
Minor: A 16-bit unsigned integer that differentiates
beacons with the same proximity UUID and major
value.
iOS applications can use the iBeacon API available in
iOS7 for registering a Beacon region using the prox-
imity UUID, major and minor parameters described
above. If a device crosses the boundaries of a reg-
istered beacon region, the application will be noti-
fied on entering or leaving that region. The proxim-
ity UUID is mandatory for registering a Beacon re-
gion while major and minor are optional. Application
Provider needs to choose a value for the proximity
UUID and use it in all beacons as well as in the iOS
application. This means, the proximity UUID is in
general a fix value in the context of a specific appli-
cation or organization. Major and minor values can
be used to differ between different locations or places
for the same application or organization.
iBeacon seems to be a compromising technol-
ogy not only for location based services, but also for
launching companion applications in a multiscreen
environment if new generation of TV sets (also set-
top-boxes, TV dongles, etc.) are equipped with BLE
sensors and act as beacon transmitters. Main advan-
tage of this approach is that the TV will able to wake-
up companion applications only on devices belonging
TowardsaWake-upandSynchronizationMechanismforMultiscreenApplicationsusingiBeacon
69