Download - Natural End-User Development of Mashups

Transcript

1

Natural End-User Development of Mashups

Saeed Aghaee, Cesare Pautasso, and Antonella De Angeli

Email: [email protected]: @mr_wersa, @naturalmashWebsite: http://naturalmash.com

VL/HCC 2013, San Jose, CA, USA

Faculty of InformaticsUniversity of Lugano (USI)

Switzerland

DISIUniversity of Trento

Italy

2

Situational Applications

3

Situational Applications

Small group of users

Good enough

Shortlife-span

Rapid development

4

Web 2.0 Mashups

Situational Applications

5

Web-based

Mix reusable components

Cost-effective

Useful

Web 2.0 Mashups

6

9

Develop-it-yourself

End-user mashup development for everyone on the Web

10

11

Too specialized/complex for non-professional users

12

Too simplified

13

Bridge the gap between what the programmable Web has to offer and what end-users are readily

capable of

14

15

“Intuitiveness”

Expressiveness

16

Mashup development using natural language and visual interaction

17

Description

Output mashupAvailable ingredients

Used Ingredients

18

Event-based (“when the map is clicked, ..”) and sequential (“find youtube videos about title, and …”) integration styles

Natural Language based Integration

19

Every API has a short description with natural language (autocompletion helps with discovery)

Natural Language Autocompletion

20

Move and resize widgets

User Interface Design

21

Description

Direct manipulation

Programming by Demonstration (PbD)

22

Live Programming Style

23

Requirements / Features

Expressiveness Intuitiveness

Natural Language Programming

X X

Autocompletion X

UI Design (WYSIWYG) X XPbD X XLive Programming X

Main Features

24

DemoShopping Assistant Mashup

25

Architecture

26

Compiler

Scanner

Formal parser + NL Parser

Semantic Extraction (Control Flow)

Semantic Extraction (Data Flow)

Code Emitter (JOpera)

27

User-centered Design and Development

Two iterations are completed

Design

ImplementationEvaluation

Analysis

28

Design

ImplementationEvaluation

Analysis

Two iterations are completed

User-centered Design and Development

29

Exploratory Evaluation: Goals

Main Goal: Identify usability problems to help correctly drive the design.

Sub Goal: Assess the success of the design in meeting the requirements (expressiveness and naturalnesss)

30

Exploratory Evaluation: Participants

Sampling: 36 participants (iteration 1: 12, iteration 2: 24) were selected by convenience method from high school students, first year BSc students, and university staff.

Background: diverse background (20 non-programmers and 16 novice programmers)

31

Exploratory Evaluation: Methods

Task-based

Questionnaire

Screen and session recording (Iteration 2)

Interview (Iteration 2)

32

Exploratory Evaluation: Tasks

Pre-constructed task:4 different (given) mashups

Open (self-generated) taskA mashup proposed by the individual participant

33

Exploratory Evaluation: Process

Background Assessment Tutorial Tasks

End-of-session

questionnaireInterview

34

Iteration 1 version

35

Iteration 2 version

36

Semi-structured Editor

completely eliminates the possibility of making syntactical errors

Punctuations are added automatically, while they can also be typed by the user

37

Ingredients Toolbar

shows a searchable list of available components (ingredients)

38

Component Dock

Shows which components (ingredients) are used in the mashup

39

Drag & Drop

Allows to add ingredients to the mashup being edited by dragging them from the toolbar and dropping it in the text field or visual field.

40

Requirements / Decisions

Expressiveness Intuitiveness

Semi-Structured editor X

Ingredients Toolbar X X

Component Dock X

Drag & Drop X

Feature Additions (Iteration 1)

41

Requirements / Decisions

Expressiveness Intuitiveness

Composition suggestion X X

Categorizes examples for mashups

X X

Stateful live programming X

Feature Additions (Iteration 2)

42

Exploratory Evaluation: Results

Task completion:The majority (90%) of the participants (in both iterations) completed the tasks

Satisfaction and user experience:The majority of the participants felt satisfied and positively about the tool.

43

Exploratory Evaluation: Results

- A mashup that measures the level of online presence in tourism, using social network APIs such as Twitter and Facebook.

- A mashup that enhances online shopping experience using eBay, Flickr, and Facebook.

- A mashup that delivers location-based news with related media content (video and image) using Google News, Youtube, Flickr, and Twitter.

Self-generated tasks:

44

Bridge the gap between what the programmable Web has to offer and what end-users are readily

capable of

can

45

Natural End-User Development of Mashups

Saeed Aghaee, Cesare Pautasso, and Antonella De Angeli

Email: [email protected]: @mr_wersa, @naturalmashWebsite: http://naturalmash.com

VL/HCC 2013, San Jose, CA, USA

Faculty of InformaticsUniversity of Lugano (USI)

Switzerland

DISIUniversity of Trento

Italy

46

Component Development

Technical part:API protocol standards: REST, SOAP, etc.Input/output data types

Technical-independent part:Natural Language annotationSemantic annotation of input/output data

47

Mashup Use-cases

Business and financial analysis

Crisis management

Internet of Things

E-learning

48

- HTTP+POX- OAuth (1.0, 1.0a, 2.0)- JavaScript+HTML Widgets- SOAP- JSON- XML

Web API Technologies

User-based API ranking