SlideShare a Scribd company logo
Towards Collaborative Portable Web
Spaces

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




                           www.role-project.eu/mupple09
Mashup & Widgets progression




    Source:                    Source:
    www.programmableweb.com    eco.netvibes.com/universes


2                                             www.role-project.eu/mupple09
What are we talking about ?


                                     Page ?
        Mashup ?
                                                 Tab ?


                                 Space
                                                    Universe ?
Dashboard ?



                                              Container ?
                      Portal ?


3                                                 www.role-project.eu/mupple09
What is a Web Space ?



Components + Data-Flow wiring   Mashup




Widgets + Grid Layout           Tab, Universe, etc.




                                   Web Space



4                                        www.role-project.eu/mupple09
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
Scenarios of Collaboration with Web Spaces




6                                            www.role-project.eu/mupple09
Portability Scenario




7                      www.role-project.eu/mupple09
Cloning Scenario




8                  www.role-project.eu/mupple09
Broadcasting Scenario




9                       www.role-project.eu/mupple09
Co-Editing Scenario




10                    www.role-project.eu/mupple09
What to share ?


      Mashup                             Widget Composition

      list of components                 list of widgets


      data-flow wiring of                layout
      components


      component settings                 widget preferences


                                         widget states




          third party user’s data on external services


11                                                            www.role-project.eu/mupple09
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
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
Example: sharing a widget on Netvibes




Copy of the
Widget
configuration




 14                                       www.role-project.eu/mupple09
Our first implementation: iGoogle !


                                             Cloning
                                             Space Level

                                             Broadcasting
                                             Co-Editing
                                             Widget Level




                                             Portability
                                             Space Level


15                                    www.role-project.eu/mupple09
Our first implementation (Cont’d)




 Broadcasting
 scenario




 Co-Editing
 scenario



Social Gadget

16                                   www.role-project.eu/mupple09
Our first implementation (Cont’d)




     Cloning
     scenario




17                                  www.role-project.eu/mupple09
iGoogle : the most complete implementation up to date


            Scenario      Solution    Widget      Space Level
                                      Level
            Portability   “Export /   no          yes
                          Import
                          settings”
            Cloning       “Send my    ?           yes
                          settings”
            Broadcasting “View my     yes         no
                         content”
            Co-Editing    “View and   yes         no
                          edit my
                          content”


     •  But all these features are not cross-platform
     •  No fine grain control other what is shared and when and
      by Who
18                                                      www.role-project.eu/mupple09
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
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
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
Proposition for XML based configuration languages




22                                                  www.role-project.eu/mupple09
Example
<GadgetTabML version="1.0" xmlns="…/GadgetTabML/2008"> 
 <Tab title="Accueil" skinUrl="skins/sampler.xml"> 
   <Participants owner="alice">alice@kth.se bob@epfl.ch charlie@epfl.ch dave@kth.se</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="alice@kth.se bob@epfl.ch"> 
         <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> 
    ... 


23                                                                           www.role-project.eu/mupple09
Towards an Open Architecture for sharing Web Spaces




24                                                    www.role-project.eu/mupple09
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

More Related Content

Similar to Towards Collaborative Portable Web Spaces

Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
Tom Deryckere
 
Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and Counterexamples
ROLE Project
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
Guillaume Laforge
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
Paul Jensen
 
Custom Runtimes for the Cloud
Custom Runtimes for the CloudCustom Runtimes for the Cloud
Custom Runtimes for the Cloud
CloudBees
 
MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross Introduction
Stuart Lodge
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross Seminar
Xamarin
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011
sullis
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
Building Mobile Websites with Joomla
Building Mobile Websites with JoomlaBuilding Mobile Websites with Joomla
Building Mobile Websites with Joomla
Tom Deryckere
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
Tom Deryckere
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
fulv
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and more
Yan Shi
 
Web app and more
Web app and moreWeb app and more
Web app and more
faming su
 
Transmission2 25.11.2009
Transmission2 25.11.2009Transmission2 25.11.2009
Transmission2 25.11.2009
Patrick Lauke
 
Dojo (QCon 2007 Slides)
Dojo (QCon 2007 Slides)Dojo (QCon 2007 Slides)
Dojo (QCon 2007 Slides)
Eugene Lazutkin
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)
patrick.t.joyce
 
Starting with jQuery
Starting with jQueryStarting with jQuery
Starting with jQuery
Anil Kumar
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
masuland
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
Mohanadarshan Vivekanandalingam
 

Similar to Towards Collaborative Portable Web Spaces (20)

Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
 
Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and Counterexamples
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Custom Runtimes for the Cloud
Custom Runtimes for the CloudCustom Runtimes for the Cloud
Custom Runtimes for the Cloud
 
MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross Introduction
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross Seminar
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
 
Building Mobile Websites with Joomla
Building Mobile Websites with JoomlaBuilding Mobile Websites with Joomla
Building Mobile Websites with Joomla
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and more
 
Web app and more
Web app and moreWeb app and more
Web app and more
 
Transmission2 25.11.2009
Transmission2 25.11.2009Transmission2 25.11.2009
Transmission2 25.11.2009
 
Dojo (QCon 2007 Slides)
Dojo (QCon 2007 Slides)Dojo (QCon 2007 Slides)
Dojo (QCon 2007 Slides)
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)
 
Starting with jQuery
Starting with jQueryStarting with jQuery
Starting with jQuery
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 

Recently uploaded

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 

Recently uploaded (20)

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 

Towards Collaborative Portable Web Spaces

  • 1. Towards Collaborative Portable Web Spaces Stéphane Sire (speaking) Evgeny Bogdanov Matthias Palmér Denis Gillet www.role-project.eu/mupple09
  • 2. Mashup & Widgets progression Source: Source: www.programmableweb.com eco.netvibes.com/universes 2 www.role-project.eu/mupple09
  • 3. What are we talking about ? Page ? Mashup ? Tab ? Space Universe ? Dashboard ? Container ? Portal ? 3 www.role-project.eu/mupple09
  • 4. What is a Web Space ? Components + Data-Flow wiring Mashup Widgets + Grid Layout Tab, Universe, etc. Web Space 4 www.role-project.eu/mupple09
  • 5. 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
  • 6. Scenarios of Collaboration with Web Spaces 6 www.role-project.eu/mupple09
  • 7. Portability Scenario 7 www.role-project.eu/mupple09
  • 8. Cloning Scenario 8 www.role-project.eu/mupple09
  • 9. Broadcasting Scenario 9 www.role-project.eu/mupple09
  • 10. Co-Editing Scenario 10 www.role-project.eu/mupple09
  • 11. What to share ? Mashup Widget Composition list of components list of widgets data-flow wiring of layout components component settings widget preferences widget states third party user’s data on external services 11 www.role-project.eu/mupple09
  • 12. 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
  • 13. 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
  • 14. Example: sharing a widget on Netvibes Copy of the Widget configuration 14 www.role-project.eu/mupple09
  • 15. Our first implementation: iGoogle ! Cloning Space Level Broadcasting Co-Editing Widget Level Portability Space Level 15 www.role-project.eu/mupple09
  • 16. Our first implementation (Cont’d) Broadcasting scenario Co-Editing scenario Social Gadget 16 www.role-project.eu/mupple09
  • 17. Our first implementation (Cont’d) Cloning scenario 17 www.role-project.eu/mupple09
  • 18. iGoogle : the most complete implementation up to date Scenario Solution Widget Space Level Level Portability “Export / no yes Import settings” Cloning “Send my ? yes settings” Broadcasting “View my yes no content” Co-Editing “View and yes no edit my content” •  But all these features are not cross-platform •  No fine grain control other what is shared and when and by Who 18 www.role-project.eu/mupple09
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. Proposition for XML based configuration languages 22 www.role-project.eu/mupple09
  • 23. Example <GadgetTabML version="1.0" xmlns="…/GadgetTabML/2008"> <Tab title="Accueil" skinUrl="skins/sampler.xml"> <Participants owner="alice">alice@kth.se bob@epfl.ch charlie@epfl.ch dave@kth.se</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="alice@kth.se bob@epfl.ch"> <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> ... 23 www.role-project.eu/mupple09
  • 24. Towards an Open Architecture for sharing Web Spaces 24 www.role-project.eu/mupple09
  • 25. 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