32
Matteo Picozzi http://home.deib.polimi.it/picozzi {[email protected] } % )( ,#&'$%* & +#*!,! % &##&(*!, )+') Doctoral Consortium CHI Italy 2013 Trento (TN) September 16 th , 2013

End User Development of Multidevice and Collaborative Mashups

Embed Size (px)

DESCRIPTION

Presentation for the Doctoral Consortium @ CHI Italy

Citation preview

Page 1: End User Development of Multidevice and Collaborative Mashups

Matteo Picozzihttp://home.deib.polimi.it/picozzi

{[email protected]}

�%���)�(���,�#&'$�%*�&���+#*!��,!����%���&##��&(�*!,����) +')

Doctoral ConsortiumCHI Italy 2013

Trento (TN)September 16th, 2013

Page 2: End User Development of Multidevice and Collaborative Mashups

��) +'����!%!*!&%�

UI

Web Applications

public APIs

widgetsdata sources

Mashups

Page 3: End User Development of Multidevice and Collaborative Mashups

��) +'�� �(��*�(!)*!�)�

Vertical

Mashups are

applications for

particular needs

Page 4: End User Development of Multidevice and Collaborative Mashups

��) +'�� �(��*�(!)*!�)�

Contingent

Mashup might be useful for a short period of time

Page 5: End User Development of Multidevice and Collaborative Mashups

��) +'�� �(��*�(!)*!�)

Composable

Reuse of building blocks, called components

Page 6: End User Development of Multidevice and Collaborative Mashups

��) +'�� �(��*�(!)*!�)

Flexible

It’s easy to adapt mashups to new needs changing components or synchronizations

among them

Page 7: End User Development of Multidevice and Collaborative Mashups

��) +'�� �(��*�(!)*!�)�

Lightweight

Mashups are usually lightweight applications

Page 8: End User Development of Multidevice and Collaborative Mashups

� ��$�) +')����!%%!%��

Housingmaps

• Mashups were born to meet real user needs• An example is Housingmaps.com, the first map mashup:

- In 2005, Paul Rademacher overlays data from Craiglist on his Google Maps hack- Then Google decided to open up the Google Maps API for developers- And Google Maps become the preferred mapping platform for the web

Page 9: End User Development of Multidevice and Collaborative Mashups

� ��$�) +')����!%%!%�

The first mashup developers were hackers

who however discovered a world

where also end users can take advantage of mashup solutions for

their needs

Page 10: End User Development of Multidevice and Collaborative Mashups

�)�()��%����) +')��

It is noteasy to

predict end user needs...

Page 11: End User Development of Multidevice and Collaborative Mashups

�&%��*�!#��

Numb

er of

users

Number of web applications

Developed

applications

Market opportunity for mashups

Page 12: End User Development of Multidevice and Collaborative Mashups

�%���)�(���,�#&'$�%*��

Web 2.0

Active co-creation of new ideas, knowledge and

simple applications

Culture of participation

User involvement

in the creation of contents

Collaboration among users through

web applications

End User

Development

Page 13: End User Development of Multidevice and Collaborative Mashups

��) +')�&''&(*+%!*.��

With the right tools

also end users can develop

their mashups

Page 14: End User Development of Multidevice and Collaborative Mashups

�!���.�#���

Resource Selection

Mashup Composition

Usage and Maintainance

Dismissal

Mashup idea

Manual development of mashups

Page 15: End User Development of Multidevice and Collaborative Mashups

�!���.�#���

Resource Selection

Mashup Composition

Usage and Maintainance

Dismissal

Mashup idea

Component Editing

Mashup Sharing and co-

creation

Manual development of mashupsTool-assisted

and Registration

Reusage

New

New

Page 16: End User Development of Multidevice and Collaborative Mashups

�!� *-�!� *���,�#&'$�%*�'(&��))

• Abstraction from technical details- A platform speaking the user language (functionality and

terminology), possibly through visual mechanisms• Continuous feedback

- Immediate visual feedback → immediate mashup execution• Composition support

- Assisted composition, e.g., by means of recommendations• Domain specific focus

- A platform restricted to a well-defined domain the user is comfortable with

The need for composing an application, starting from resources responding to personal needs, and simply running it, without

worrying about what happens behind the scenes, arises

Page 17: End User Development of Multidevice and Collaborative Mashups

��,�#&'$�%*�'(&��))�

Component editing Mashup composition

Component synchronization Collaboration

Page 18: End User Development of Multidevice and Collaborative Mashups

��) +'��&$'&)!*!&%��

Page 19: End User Development of Multidevice and Collaborative Mashups

��,�#&'$�%*�'(&��))��

Component editing Mashup composition

Component synchronization Collaboration

Page 20: End User Development of Multidevice and Collaborative Mashups

�&$'&%�%*�).%� (&%!/�*!&%�

Page 21: End User Development of Multidevice and Collaborative Mashups

��,�#&'$�%*�'(&��))��

Mashup composition

Component synchronization Collaboration

Component editing

Page 22: End User Development of Multidevice and Collaborative Mashups

�&$'&%�%*���!*!%���

Page 23: End User Development of Multidevice and Collaborative Mashups

��,�#&'$�%*�'(&��))��

Component editing Mashup composition

Component synchronization Collaboration

Page 24: End User Development of Multidevice and Collaborative Mashups

�&##��&(�*!&%��

Page 25: End User Development of Multidevice and Collaborative Mashups

�&��#)��,!)+�#�*�$'#�*��$&��#

• UI Template- Set of “empty” visual

elements called visual renderers

- Different kinds of VT

- Must be filled by data

��

List

Map

Chart

Page 26: End User Development of Multidevice and Collaborative Mashups

�&��#)��,!)+�#�*�$'#�*��$&��#�

ImageTitleSubtitle

UI template itemData

Data representation

Mapping

<visual-mapping> <global type="List"> <vr name="Title" type="Text"> <data source="IMDB" query="/title"/> <data source="MyMovies" query="/@name"/> </vr> <vr name="Subtitle" type="Text"> <data source="IMDB" query="/director"/> <data source="MyMovies" query="/@director"/> </vr> <vr name="Image" type="Image"> <data source="IMDB" query="/poster/image"/> <data source="MyMovies" query="/@photo_url"/> </vr> </global></visual-mapping>

Schema Export for multiple devices

Page 27: End User Development of Multidevice and Collaborative Mashups

Event Bus

�&��#)��* ���,�%*��(!,�%�$&��#�

Component 1

Component 2

Component 3

Component 4

Component 5

Event 1

Operation 2

Binding

Binding

Publisher: Component 1Event: Event 1

Subscriber: Component 3Operation: Operation 2

Page 28: End User Development of Multidevice and Collaborative Mashups

�(� !*��*+(���

Other Devices

PEUDOM

UI Mashup Dashboard Component Editor

Composition Assistance Module

Collaboration Module

Platform Repositories

Web Resources

Mobile Device

MobileExecution Environment

Large Screen Device

Large ScreenExecution Environment

Page 29: End User Development of Multidevice and Collaborative Mashups

��#!��*!&%• 3 experiments

- Mashup dashboard- Component editor- Collaboration mechanisms

• Goals- Demonstrate that end users (whether skilled or not) can execute tasks and

develop mashups- Compare the behavior of technology expert users and non-expert users

• Setup of the experiments- Tutorial- Filling of the pre-experiment questionnaire- Observation of the users during the execution of increasing difficulty tasks- Filling of the post-experiment questionnaire

• Analysis of- Efficacy- Performances (time of execution of tasks)- User satisfaction

• Results- No significant difference between expert and non expert users

��

Page 30: End User Development of Multidevice and Collaborative Mashups

�&%�#+)!&%)

• Mashups are suitable for EUD• Coverage of the entire lifecycle• Lightweight development process• Platform for EUD

- Component editing for multi-device mashups- Mashup dashboard- Collaboration

• Validation of the approach through user studies with encouraging results

Page 31: End User Development of Multidevice and Collaborative Mashups

�+*+(��-&("

• Improvement of the real-time collaborative editing

• Adoption of different kinds of service standards

• Apply already studied recommendation techniques in order to help users select adequate resources

• Increase the flexibility and usability of our environments

• Improve mechanisms for domain specificity

��

Page 32: End User Development of Multidevice and Collaborative Mashups

�����&(�.&+(��**�%*!&%��