code in the air : simplifying tasking on smartphones

1
Code In The Air: Simplifying Tasking on Smartphones Tasking Applications Run continuously, determine user context/activity and trigger actions Remind to fax document when I come to office Make my phone silent when I am in the lab and I am meeting my advisor Notify me when my friend is nearby Disable Wi-Fi when I am outdoors and moving When I am driving, track and store movement tracks Send me a text message whenever my spouse leaves work - Trivial for end-users to state but non-trivial to develop - Simple implementation can be energy-consuming Often involves coordination between multiple users and devices Code In The Air (CITA) - Rapid development of tasking applications - Activity detection as primitives - CITA helps two groups of people Developers End-Users - State Condition/Action rules in UI - “Mix and match” activities and tasks Architecture - Write only server side scripts even for tasks involving * multiple users and devices * a variety of sensors/activities * and the server. - Written in JavaScript Reduces coding and deploying effort by 100x Task Compiler Task Runtime Tasking Framework UI Script ing Users/Developers Activity Layer Push Service Push Client Task Runtime Activity Layer Sensors Web Phone Server Sub task Task Tasking Framework CITA Server CITA Client CITA Client CITA Client Users/Developers Tasks (JavaScript) Split-Task Execution Split-Task Execution Split-Task Execution Task Coordination Activity Layer InLocation, IsWalking, IsDriving, IsMoving, IsBiking, EnterPlace, LeavePlace, IsOutdoor, … - Several inbuilt activity primitives - Energy efficient execution of primitive and complex activities Tasking Framework - Server side scripting - Automatic code partitioning, execution and coordination across multiple devices - Program devices as objects Demo - Multi-device application Tiffany would like to be alerted when Hari is nearby. - Single-device application Disable Wi-Fi when the battery is low and I am not using it.

Upload: avent

Post on 20-Jan-2016

30 views

Category:

Documents


2 download

DESCRIPTION

Code In The Air : Simplifying Tasking on Smartphones. Tasking Applications. Architecture. Users/Developers. Users/Developers. Run continuously, determine user context/activity and trigger actions. Tasking Framework. Tasking Framework. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Code In The Air : Simplifying Tasking on Smartphones

Code In The Air: Simplifying Tasking on SmartphonesTasking Applications

Run continuously, determine user context/activity and trigger actions

Remind to fax

document when I come

to office

Make my phone silent when I am in the lab and I am meeting my

advisor

Notify me when myfriend is nearby

Disable Wi-Fi when I am outdoors and

moving

When I am driving, track

and store movement

tracks

Send me a text message

whenever my spouse leaves

work

- Trivial for end-users to state but non-trivial to develop- Simple implementation can be energy-consuming

Often involves coordination between multiple users and devices

Code In The Air (CITA)- Rapid development of tasking applications- Activity detection as primitives- CITA helps two groups of people

Developers End-Users- State Condition/Action rules in UI- “Mix and match” activities and tasks

Architecture

- Write only server side scripts even for tasks involving * multiple users and devices * a variety of sensors/activities * and the server.- Written in JavaScript

Reduces coding and deploying effort by 100x

Task CompilerTask Runtime

Tasking Framework

UI Scripting

Users/Developers

Activity Layer

Push Service

Push ClientTask Runtime

Activity Layer

Sensors

Web

Phone

ServerSub task

Task

Tasking Framework

CITA Server

CITA Client

CITA Client

CITA Client

Users/Developers

Tasks(JavaScript)

Split-TaskExecution

Split-TaskExecution

Split-TaskExecution

TaskCoordination

Activity Layer

InLocation, IsWalking, IsDriving, IsMoving, IsBiking, EnterPlace, LeavePlace, IsOutdoor, …

- Several inbuilt activity primitives

- Energy efficient execution of primitive and complex activities

Tasking Framework- Server side scripting

- Automatic code partitioning, execution and coordination across multiple devices

- Program devices as objects

Demo- Multi-device application Tiffany would like to be alerted when Hari is nearby.

- Single-device application Disable Wi-Fi when the battery is low and I am not using it.