atomate it! - people | mit csailpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10....

90
ATOMate It! End-user Context-Sensitive Automation using Heterogeneous Information Sources on the Web Max Van Kleek, Brennan Moore, David Karger MIT CSAIL { emax, zamiang, karger } @ csail.mit.edu Max Van Kleek, Paul André, mc schraefel enAKTing ECS, University of Southampton { emax, pa2, mc+www } @ ecs.soton.ac.uk Friday, May 7, 2010

Upload: others

Post on 26-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

ATOMate It! End-user Context-Sensitive Automation using Heterogeneous Information Sources on the Web

Max Van Kleek, Brennan Moore, David KargerMIT CSAIL { emax, zamiang, karger } @ csail.mit.edu

Max Van Kleek, Paul André, mc schraefelenAKTing ECS, University of Southampton{ emax, pa2, mc+www } @ ecs.soton.ac.uk

Friday, May 7, 2010

Page 2: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

ATOMate It! End-user Context-Sensitive Automation using Heterogeneous Information Sources on the WebHow to regain some of the time that Web 2.0 took away

Max Van Kleek, Brennan Moore, David KargerMIT CSAIL { emax, zamiang, karger } @ csail.mit.edu

Max Van Kleek, Paul André, mc schraefelenAKTing ECS, University of Southampton{ emax, pa2, mc+www } @ ecs.soton.ac.uk

Friday, May 7, 2010

Page 3: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. motivation - can we beat overload by delegating to machines?

2. atomate - reactive automation driven by web feeds

3. study

4. related work

5. next steps

Friday, May 7, 2010

Page 4: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. motivation

Friday, May 7, 2010

Page 5: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

"...in an information-rich world, the wealth of information

means a dearth of something else: a scarcity of [ ... ] the

attention of its recipients. Hence a wealth of information

creates a poverty of attention and a need to allocate that

attention efficiently among the overabundance of

information sources that might consume it"

(Simon 1971, p. 40-41)

Friday, May 7, 2010

Page 6: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

In 2010:

Friday, May 7, 2010

Page 7: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

In 2010:

peer/friend/citizen-produced content

Friday, May 7, 2010

Page 8: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

In 2010:

peer/friend/citizen-produced contentsocially and algorithmically recommended

Friday, May 7, 2010

Page 9: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

In 2010:

peer/friend/citizen-produced contentsocially and algorithmically recommended

more interesting content produced every day than we could possibly consume

Friday, May 7, 2010

Page 10: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

In 2010:

peer/friend/citizen-produced contentsocially and algorithmically recommended

more interesting content produced every day than we could possibly consume

‘social maintenance’ - updating friends

Friday, May 7, 2010

Page 11: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

In 2010:

peer/friend/citizen-produced contentsocially and algorithmically recommended

more interesting content produced every day than we could possibly consume

‘social maintenance’ - updating friends

keeping on top of the world

Friday, May 7, 2010

Page 12: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

In 2010:

peer/friend/citizen-produced contentsocially and algorithmically recommended

more interesting content produced every day than we could possibly consume

‘social maintenance’ - updating friends

keeping on top of the world

responding to others’ needs

Friday, May 7, 2010

Page 13: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

In 2010:

peer/friend/citizen-produced contentsocially and algorithmically recommended

more interesting content produced every day than we could possibly consume

‘social maintenance’ - updating friends

keeping on top of the worldmore responsibilities --professional, personal, socialthan we could possibly perform

responding to others’ needs

Friday, May 7, 2010

Page 14: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

P. Maes,“Agents the Reduce Work and Information Overload”Communications of the ACM Volume 37 , Issue 7 (July 1994)

Friday, May 7, 2010

Page 15: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Friday, May 7, 2010

Page 16: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

music listened torunning

sleep

desktop activity physical locations

events

documents

messages

travels friends/enemies

Friday, May 7, 2010

Page 17: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

wouldn’t it be great if computers coulduse all this information to do stuff for us?

Friday, May 7, 2010

Page 18: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

for example:

• remind me to take out the trash when I get home on Tuesdays...

• bug my friend who hasn’t replied to me in 2 days...

• send me my grocery shopping list when I arrive at the grocery store

• remind friends about an event I am going to attend

• text me important emails when I am traveling

...how do we get there?

Friday, May 7, 2010

Page 19: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

what we need

Friday, May 7, 2010

Page 20: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. a way for users to express: what they want to happen, and when, in terms of predicates relating

the states and properties of people, places + things in their world.

what we need

Friday, May 7, 2010

Page 21: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. a way for users to express: what they want to happen, and when, in terms of predicates relating

the states and properties of people, places + things in their world.

what we need

actions

Friday, May 7, 2010

Page 22: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. a way for users to express: what they want to happen, and when, in terms of predicates relating

the states and properties of people, places + things in their world.

what we need

actionsconditions

Friday, May 7, 2010

Page 23: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. a way for users to express: what they want to happen, and when, in terms of predicates relating

the states and properties of people, places + things in their world.

what we need

actionsconditionspredicates

Friday, May 7, 2010

Page 24: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. a way for users to express: what they want to happen, and when, in terms of predicates relating

the states and properties of people, places + things in their world.

what we need

actionsconditionspredicatesproperties

Friday, May 7, 2010

Page 25: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. a way for users to express: what they want to happen, and when, in terms of predicates relating

the states and properties of people, places + things in their world.

what we need

actionsconditionspredicatespropertiesentities

Friday, May 7, 2010

Page 26: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. a way for users to express: what they want to happen, and when, in terms of predicates relating

the states and properties of people, places + things in their world.

what we need

Controlled Natural Language Interface (CNLI) for Rules

actionsconditionspredicatespropertiesentities

Friday, May 7, 2010

Page 27: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. a way for users to express: what they want to happen, and when, in terms of predicates relating

the states and properties of people, places + things in their world.

what we need

2. a way to retrieve and interpret data from our many heterogeneous web sources as descriptions of these familiar people, places and things.

Controlled Natural Language Interface (CNLI) for Rules

actionsconditionspredicatespropertiesentities

Friday, May 7, 2010

Page 28: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

1. a way for users to express: what they want to happen, and when, in terms of predicates relating

the states and properties of people, places + things in their world.

what we need

2. a way to retrieve and interpret data from our many heterogeneous web sources as descriptions of these familiar people, places and things.

ATOM/RSS/REST APIs, End-user mashups + RDF

Controlled Natural Language Interface (CNLI) for Rules

actionsconditionspredicatespropertiesentities

Friday, May 7, 2010

Page 29: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Controlled/Constrained Natural Language Interface

Abraham Bernstein and Esther Kaufmann and Christian Kaiser and Christoph Kiefer, Ginseng: A Guided Input Natural Language Search Engine for Querying Ontologies, Jena User Conference, 2008.

previous work: for the construction of RDF KBs and queries:

Friday, May 7, 2010

Page 30: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Controlled/Constrained Natural Language Interface

Abraham Bernstein and Esther Kaufmann and Christian Kaiser and Christoph Kiefer, Ginseng: A Guided Input Natural Language Search Engine for Querying Ontologies, Jena User Conference, 2008.

previous work: for the construction of RDF KBs and queries:

express behaviors as rules

when <something happens> do <action>

Friday, May 7, 2010

Page 31: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Controlled/Constrained Natural Language Interface

Abraham Bernstein and Esther Kaufmann and Christian Kaiser and Christoph Kiefer, Ginseng: A Guided Input Natural Language Search Engine for Querying Ontologies, Jena User Conference, 2008.

previous work: for the construction of RDF KBs and queries:

express behaviors as rules

when <something happens> do <action>

query

Friday, May 7, 2010

Page 32: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Controlled/Constrained Natural Language Interface

Abraham Bernstein and Esther Kaufmann and Christian Kaiser and Christoph Kiefer, Ginseng: A Guided Input Natural Language Search Engine for Querying Ontologies, Jena User Conference, 2008.

previous work: for the construction of RDF KBs and queries:

express behaviors as rules

when <something happens> do <action>

query statement

Friday, May 7, 2010

Page 33: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Data streams: ATOM/RSS/REST APIs, End-user mashup for alignment + RDF

Friday, May 7, 2010

Page 34: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Data streams: ATOM/RSS/REST APIs, End-user mashup for alignment + RDF

Friday, May 7, 2010

Page 35: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Data streams: ATOM/RSS/REST APIs, End-user mashup for alignment + RDF

ATOM

FBAPI

ATOM

RSS0.95

RSS0.95

GDATA

RSS0.95

RSS0.95RSS0.95

Friday, May 7, 2010

Page 36: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Data streams: ATOM/RSS/REST APIs, End-user mashup for alignment + RDF

people

messagesemails

events

texts

www2010 ballroom

www2010 302

starbucks

home

office

places

david karger

max van kleek

brennan moore

paul andré

photos

web pages

???

IMs

ATOM

FBAPI

ATOM

RSS0.95

RSS0.95

GDATA

RSS0.95

RSS0.95RSS0.95

Friday, May 7, 2010

Page 37: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Data streams: ATOM/RSS/REST APIs, End-user mashup for alignment + RDF

people

messagesemails

events

texts

www2010 ballroom

www2010 302

starbucks

home

office

places

david karger

max van kleek

brennan moore

paul andré

photos

web pages

???

IMs

ATOM

FBAPI

ATOM

RSS0.95

RSS0.95

GDATA

RSS0.95

RSS0.95RSS0.95

from

Friday, May 7, 2010

Page 38: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Data streams: ATOM/RSS/REST APIs, End-user mashup for alignment + RDF

people

messagesemails

events

texts

www2010 ballroom

www2010 302

starbucks

home

office

places

david karger

max van kleek

brennan moore

paul andré

photos

web pages

???

IMs

ATOM

FBAPI

ATOM

RSS0.95

RSS0.95

GDATA

RSS0.95

RSS0.95RSS0.95

currently located at

from

Friday, May 7, 2010

Page 39: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Data streams: ATOM/RSS/REST APIs, End-user mashup for alignment + RDF

people

messagesemails

events

texts

www2010 ballroom

www2010 302

starbucks

home

office

places

david karger

max van kleek

brennan moore

paul andré

photos

web pages

???

IMs

ATOM

FBAPI

ATOM

RSS0.95

RSS0.95

GDATA

RSS0.95

RSS0.95RSS0.95

currently located at

from

RDF

Friday, May 7, 2010

Page 40: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Data streams: ATOM/RSS/REST APIs, End-user mashup for alignment + RDF

people

messagesemails

events

texts

www2010 ballroom

www2010 302

starbucks

home

office

places

david karger

max van kleek

brennan moore

paul andré

photos

web pages

???

IMs

ATOM

FBAPI

ATOM

RSS0.95

RSS0.95

GDATA

RSS0.95

RSS0.95RSS0.95

currently located at

from

RDF

end-user mashup

Friday, May 7, 2010

Page 41: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Data streams: ATOM/RSS/REST APIs, End-user mashup for alignment + RDF

people

messagesemails

events

texts

www2010 ballroom

www2010 302

starbucks

home

office

places

david karger

max van kleek

brennan moore

paul andré

photos

web pages

???

IMs

ATOM

FBAPI

ATOM

RSS0.95

RSS0.95

GDATA

RSS0.95

RSS0.95RSS0.95

RDF Activity Streams

RSS1.0

currently located at

from

RDF

end-user mashup

Friday, May 7, 2010

Page 42: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Friday, May 7, 2010

Page 43: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

sharing

production system

RDF world model

CLNI

Friday, May 7, 2010

Page 44: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

sharing

Friday, May 7, 2010

Page 45: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

2 atomatea few examples

architecture + world model

extending the system

sharing updates to other atomates

Friday, May 7, 2010

Page 46: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Example 1: Simple context-sensitive reminding

Remind me to take the trash outwhen I get home on Tuesday evenings

Friday, May 7, 2010

Page 47: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Friday, May 7, 2010

Page 48: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Example 2: Travel management

When I’m traveling, warn people who are e-mailing me that I might not get back to them for a while.

Friday, May 7, 2010

Page 49: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

Friday, May 7, 2010

Page 50: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

Friday, May 7, 2010

Page 51: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

Friday, May 7, 2010

Page 52: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

going on now?

Friday, May 7, 2010

Page 53: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

currently traveling?going on now?

Friday, May 7, 2010

Page 54: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

currently traveling?

Google Latitude

going on now?

Friday, May 7, 2010

Page 55: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

currently traveling?

Google Latitude

going on now?

Friday, May 7, 2010

Page 56: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

currently traveling?

Google Latitude

current location

going on now?

Friday, May 7, 2010

Page 57: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

currently traveling?

Google Latitude

atomate-wifi

current location

going on now?

Friday, May 7, 2010

Page 58: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

How do we tell when we’re traveling?

currently traveling?

Google Latitude

atomate-wifi

current location

> 100 km from home?

going on now?

Friday, May 7, 2010

Page 59: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Friday, May 7, 2010

Page 60: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

2 atomatea few examples

architecture, rule representation

extending the system

sharing updates to other atomates

Friday, May 7, 2010

Page 61: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

atom-smasher server for connecting atomates

RDF KB(mozStorage)

rule engine(core atomate XPCOM)

location logger(nsIWiFi)

feeder

web activity tracker

(xulrunner mozilla seamonkey, firefox, fennec)

web sources

rule creator + inspector UI

customized RSSand RDF-JSON feeds for atomates offriends, family, colleagues

RSS feeds/REST APIs

actionsREST APIs() atomate world model updates

RDF-JSON

Friday, May 7, 2010

Page 62: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

inside a rule:

when (one-shot) / whenever (repeating)

ANTECEDENT (conditions for execution) AND predicate( subj-pathquery, obj-pathquery-or-val )

AND predicate2(...) AND ...

CONSEQUENT (what to do)action(arg-path-or-val, arg-path-or-val..)

Friday, May 7, 2010

Page 63: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

rules in constrained natural language

possessives for path queries(e.g., my current location’s address)

infix english verbs for predicateseq(number,number) => “is”near(Location,Location) => “near”

entities represented by their label (e.g., “David Karger”, “home”, and special pronoun “me”)

“500 Fayetteville St..”addresscurrentlocation

me

Friday, May 7, 2010

Page 64: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

rules in constrained natural language

variables represented with “any/new <type>”

?x rdf:type :Person => “any Person”newly created Person entity: “new Person”

bound variables with “that <type>”

“any Person’s birthday is today email that person ‘happy birthday’”

Friday, May 7, 2010

Page 65: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

actions in constrained natural language

actions represented as fill-in-the-blank sentences with typed blanks

[“reply to”, {name:”email” type:”schemas.Email”}, “with”, { name: “message”, type:”schemas.String”} ]

reply to email with message

Friday, May 7, 2010

Page 66: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

2 atomatea few examples

architecture + world model

extending the system

sharing updates to other atomates

Friday, May 7, 2010

Page 67: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

extending the system

modifying/extending atomate’s schema

adding new data sources (sensors or entities)

Friday, May 7, 2010

Page 68: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Friday, May 7, 2010

Page 69: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

predicates and actionsnew JV3.schemas.AtomatePredicate( { id:"occurs_date_dows", name:"occurs on a", arg0type:"schemas.SpecificDate", arg1type:"schemas.SpecificDOW", impl:"function(JV3,x,y) { return x.getDate().getDay() == y.getDate().getDay();}" });

“occurs on a”

new JV3.schemas.AtomateAction( { id:"tweet-action", args:[“tweet”, {type:["schemas.String"], name:'message'}], impl:"function(x) { this.TwitterHelper.tweet(x); }" });

“tweet”

extending the system

Friday, May 7, 2010

Page 70: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

connecting atomateswhen my currently viewed page is the same asany person’s currently viewed page

Friday, May 7, 2010

Page 71: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

connecting atomateswhen my currently viewed page is the same asany person’s currently viewed page

Friday, May 7, 2010

Page 72: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

connecting atomateswhen my currently viewed page is the same asany person’s currently viewed page

rss pub-subserver

update feeds

to different groups

of friends

Friday, May 7, 2010

Page 73: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

3 studyCan users create rules?

Perceived difficulty of use

Pitfalls

Ideas for fixing these problems

Friday, May 7, 2010

Page 74: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Rule creation study (method)Recruited over the web

Basic demographics, sign up, 2 minute tutorial video

9 Rule creation exercises

(2 time, 3 easy, 3 medium, 1 difficult)

Short exit survey:

On average, how difficult was it to create the rules?Was there anything that was confusing/difficult?How useful would such a system be to you?What would you use this system for?What else do you wish this system could do?

Friday, May 7, 2010

Page 75: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Friday, May 7, 2010

Page 76: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Friday, May 7, 2010

Page 77: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Rule creation study

november 2009

33 participants recruited (26 completed)

(ages 25-45)

14 had some programming experience

All experienced with the Web

Friday, May 7, 2010

Page 78: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Rule creation study

correct - rule expressed perfectly

half-correct - rule insufficiently specific; will trigger more often than intended

wrong - 1 or more incorrectly expressed clause will not fire at all, or at all as intended

missing - rule not completed

Friday, May 7, 2010

Page 79: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Friday, May 7, 2010

Page 80: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

average time to complete each rule

Friday, May 7, 2010

Page 81: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

What caused problems?

Friday, May 7, 2010

Page 82: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

perceived difficulty of creating rules

Friday, May 7, 2010

Page 83: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

perceived usefulness

Friday, May 7, 2010

Page 84: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

survey

(P4) Identifying when two locations converge (i.e. mine and a friends are close). This is like social networking, but moving it towards actual life. People could grant access to their friends to view their locations, and thus know if people are close at a given time.

(P7) Reminding my friends and I that we have a shared event when we're both near each other. For example, I'm often meeting with someone and both of us want to go to the same event in an hour, but we get into a coding session and we forget about the event.

what would you use atomate for?

Friday, May 7, 2010

Page 85: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

(P15) When I send email to someone and I want a response, I can tell atomate to send them a reminder email in 3 days if they haven't gotten back to me or something like that.

follow-ups and coordination

(P24) Emailing or responding to people when I am in transit or unavailable (no network connectivity or in an event where my phone's silenced)

Friday, May 7, 2010

Page 86: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

mashups and mashup-makersYahoo Pipes!, IBM Mashup Center, Intel Mashmaker [R. Ennals]

end-user web customization toolsChickenfoot [M. Bolin], Coscripter [G. Leshed]

end-user reactive behavioral systemsiCAP [T. Sohn], CAMP [K. Truong], ReBA [A. Kulkharni]

constrained NL interfaces (CLNIs)GINO/Ginseng [A. Bernstein], Sloppy [G. Little]

4 related work

Friday, May 7, 2010

Page 87: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

5 ongoing work

reducing errors in rule specificationrule authoring by “picking” from your lifelog

predictability/understandabilitywhy’d it do that? what’ll it do next time?

taking into account variable feed quality (latency)making actions end-user authorable

Friday, May 7, 2010

Page 88: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

6 conclusionsBy treating web feeds as sensor streams for creating a simple, unified world model, we can start derive simple but useful reactive automation thathelps regular users manage the deluge of information.

Plenty of challenges remain!Reducing/eliminating errors in rule specification, predictability, improving efficiency of execution, etc.

Think beyond newsreaders and visual mashupswhen designing your Web APIs and data feeds

Friday, May 7, 2010

Page 89: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

try it!For adventurers who use Firefox (3.6+):http://atomate.me/pre-alpha

help us improve it ~http://code.google.com/p/list-it [List-it/Atomate Framework]

acknowledgements ~Web Science Trust, ECS, University of Southampton

contact me [email protected] / [email protected]

thanks!

Friday, May 7, 2010

Page 90: ATOMate It! - People | MIT CSAILpeople.csail.mit.edu/emax/talks/atomate-talk-slides... · 2010. 10. 21. · ATOM/RSS/REST APIs, End-user mashups + RDF Controlled Natural Language

Friday, May 7, 2010