towards collaborative portable web spaces

25
www.role-project.eu/mupple09 Towards Collaborative Portable Web Spaces Stéphane Sire (speaking) Evgeny Bogdanov Matthias Palmér Denis Gillet

Upload: stsire

Post on 14-May-2015

1.329 views

Category:

Technology


2 download

DESCRIPTION

Presentation done at MUPPLE-09, 2nd Workshop on Mash-UP Personal Learning Environments (MUPPLE-09), Interoperable Widgets, Services, and Microformats to facilitate Competence Development, held at the 4th European Conference on Technology Enhanced Learning (EC-TEL09), Nice, France, September 29 - October 2, 2009. Proceedings online at: http://CEUR-WS.org/Vol-506/This article: http://CEUR-WS.org/Vol-506/sire.pdf

TRANSCRIPT

Page 1: Towards Collaborative Portable Web Spaces

www.role-project.eu/mupple09

Towards Collaborative Portable Web Spaces

Stéphane Sire (speaking) Evgeny Bogdanov Matthias Palmér Denis Gillet

Page 2: Towards Collaborative Portable Web Spaces

2 www.role-project.eu/mupple09

Mashup & Widgets progression

Source: eco.netvibes.com/universes

Source: www.programmableweb.com

Page 3: Towards Collaborative Portable Web Spaces

What are we talking about ?

3

Mashup ?

Dashboard ?

Tab ?

Container ? Portal ?

Universe ? Space

Page ?

www.role-project.eu/mupple09

Page 4: Towards Collaborative Portable Web Spaces

What is a Web Space ?

Components + Data-Flow wiring

4

Widgets + Grid Layout

Mashup

Tab, Universe, etc.

Web Space

www.role-project.eu/mupple09

Page 5: Towards Collaborative Portable Web Spaces

Web Spaces are the next big stuff in Web Sharing !

TODAY

•  Pages : blogs, wikis •  Videos : YouTube •  Slides : slideshare •  Widgets : widgetbox (embed with cut & paste) •  Mashups : Yahoo pipes (embed with cut & paste)

TOMORROW

•  Full Web Spaces Sharing •  enabler for collaboration •  especially for learning

•  e.g. “learn english” web space

5 www.role-project.eu/mupple09

Page 6: Towards Collaborative Portable Web Spaces

Scenarios of Collaboration with Web Spaces

6 www.role-project.eu/mupple09

Page 7: Towards Collaborative Portable Web Spaces

Portability Scenario

7 www.role-project.eu/mupple09

Page 8: Towards Collaborative Portable Web Spaces

Cloning Scenario

8 www.role-project.eu/mupple09

Page 9: Towards Collaborative Portable Web Spaces

Broadcasting Scenario

9 www.role-project.eu/mupple09

Page 10: Towards Collaborative Portable Web Spaces

Co-Editing Scenario

10 www.role-project.eu/mupple09

Page 11: Towards Collaborative Portable Web Spaces

What to share ?

11

Mashup

list of components

data-flow wiring of components

component settings

Widget Composition

list of widgets

layout

widget preferences

widget states

third party user’s data on external services

www.role-project.eu/mupple09

Page 12: Towards Collaborative Portable Web Spaces

Current State of the Art

•  Some scenarios already possible at the widget or mashup level •  most of the time limited to cloning or broadcasting •  most of the time with knowledge of Javascript required

•  Yahoo Pipes example :

12 www.role-project.eu/mupple09

Page 13: Towards Collaborative Portable Web Spaces

Example: broadcasting a mashup dashboard on www.afrous.com

<script type="text/javascript" src="http://resource.afrous.net/release/2.1/js/afrous-dashboard-include.js"> </script> <script type="text/javascript"> afrous.config = { SITE_KEY : '7e0cd16c11ff3ffe8ad75dfc981b37ee'}; window.onload=function() { afrous.dashboard.showDashboard( { el : 'dashboard', id : '4bf13a9aef4428fe235ed090d3cf112d', hideDrawer : true }); }

</script>

13 www.role-project.eu/mupple09

Page 14: Towards Collaborative Portable Web Spaces

Example: sharing a widget on Netvibes

14

Copy of the Widget configuration

www.role-project.eu/mupple09

Page 15: Towards Collaborative Portable Web Spaces

Our first implementation: iGoogle !

15

Broadcasting Co-Editing Widget Level

Cloning Space Level

Portability Space Level

www.role-project.eu/mupple09

Page 16: Towards Collaborative Portable Web Spaces

Our first implementation (Cont’d)

16

Broadcasting scenario

Co-Editing scenario

Social Gadget

www.role-project.eu/mupple09

Page 17: Towards Collaborative Portable Web Spaces

Our first implementation (Cont’d)

17

Cloning scenario

www.role-project.eu/mupple09

Page 18: Towards Collaborative Portable Web Spaces

iGoogle : the most complete implementation up to date

18

Scenario Solution Widget Level

Space Level

Portability “Export / Import settings”

no yes

Cloning “Send my settings”

? yes

Broadcasting “View my content”

yes no

Co-Editing “View and edit my content”

yes no

•  But all these features are not cross-platform •  No fine grain control other what is shared and when and by Who

www.role-project.eu/mupple09

Page 19: Towards Collaborative Portable Web Spaces

Portable Collaborative Web Spaces Roadmap

1.  Common agreement on a Web Space configuration language •  e.g. extension of OPML from news feeds to Web Spaces •  e.g. Widget gallery format on W3C mailing list •  e.g. GadgetTabML from Google

2.  Extension of the language to support collaboration •  what to share •  when to share •  who to share with •  how to share it

3.  Agreement on architecture for achieving runtime independence

19 www.role-project.eu/mupple09

Page 20: Towards Collaborative Portable Web Spaces

Example of a Web Space configuration language

<GadgetTabML version="1.0" xmlns="…/GadgetTabML/2008"> <Tab title="Accueil" skinUrl="skins/sampler.xml"> <Layout iGoogle:spec="THREE_COL_LAYOUT_1" /> <Section> <Module type="RSS"> <UserPref name="numItems" value="3"/> <ModulePrefs xmlUrl="http://…"/> </Module> <Module type="REMOTE"> <ModulePrefs url="http://gocomics/…/gc.xml"/> <UserPref name="defaultIdx" value="1" /> <UserPref name="selectedTab" value="comments" /> <UserPref name="mycomics" value="9|32"/> <UserPref name="favoritesIdx" value="0" /> </Module> <Module type="RSS"> <ModulePrefs xmlUrl="http://…" /> </Module> <Module type="WEATHER"> <UserPref name="temperatureUnit" value="F"/> <Location name="New Orleans" country="US" language="en" /> <Location name="San Diego" country="US" language="en"/> </Module> </Section> ... </Tab> </GadgetTabML>

20 www.role-project.eu/mupple09

Page 21: Towards Collaborative Portable Web Spaces

Extension of the configuration language for collaboration

•  What ? •  unit of sharing: whole space, widget, individual setting (or state) •  maybe layout and stuff like that

•  When ? •  refresh rate

•  page reload •  COMET

•  With Who ? •  participant lists

•  How (scenario) ? •  update rule:

•  Broadcasting •  Co-Editing •  No sharing

21 www.role-project.eu/mupple09

Page 22: Towards Collaborative Portable Web Spaces

Proposition for XML based configuration languages

22 www.role-project.eu/mupple09

Page 23: Towards Collaborative Portable Web Spaces

Example

23

<GadgetTabML version="1.0" xmlns="…/GadgetTabML/2008"> <Tab title="Accueil" skinUrl="skins/sampler.xml">

<Participants owner="alice">[email protected] [email protected] [email protected] [email protected]</Participants> <Layout iGoogle:spec="THREE_COL_LAYOUT_1" /> <Section> <Module type="RSS"> <UserPref name="numItems" value="3"/> <ModulePrefs xmlUrl="http://…" sharing="BROADCAST" refresh="ASYNC"/> </Module> <Module type="REMOTE" participants="[email protected] [email protected]"> <ModulePrefs url="http://gocomics/…/gc.xml"/> <UserPref name="defaultIdx" value="1" /> <UserPref name="selectedTab" value="comments" /> <UserPref name="mycomics" value="9|32" sharing="BROADCAST"/> <UserPref name="favoritesIdx" value="0" /> </Module> <Module type="RSS"> <ModulePrefs xmlUrl="http://…" /> </Module> <Module type="WEATHER" sharing="EDIT" refresh="SYNC"> <UserPref name="temperatureUnit" value="F" sharing="NO"/> <Location name="New Orleans" country="US" language="en" /> <Location name="San Diego" country="US" language="en"/> </Module> </Section> ...

www.role-project.eu/mupple09

Page 24: Towards Collaborative Portable Web Spaces

Towards an Open Architecture for sharing Web Spaces

24 www.role-project.eu/mupple09

Page 25: Towards Collaborative Portable Web Spaces

Conclusion

•  The vision is here •  one mainstream software editor seems to have embraced it… •  how to convince others to join in ? •  how to avoid multiple non-compatible formats to emerge ?

•  W3C Web Apps work stops at Widget Level

•  Enabling technologies are appearing •  Google Wave Federation Protocol & Client-Server Protocol •  DOM Server-side Event (HTML 5 ?) •  OpenSocial (participant lists : towards an OpenGroup) ?

•  Lot of Opened Issues •  usability (esp. how to design widgets for collaboration ?)

•  How to share the vision from now ? 25 www.role-project.eu/mupple09