SlideShare a Scribd company logo
1 of 25
Download to read offline
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 Jun09Tom 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 CounterexamplesROLE 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 GaelykGuillaume Laforge
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkitPaul Jensen
 
Custom Runtimes for the Cloud
Custom Runtimes for the CloudCustom Runtimes for the Cloud
Custom Runtimes for the CloudCloudBees
 
MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross IntroductionStuart Lodge
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross SeminarXamarin
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011sullis
 
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 - textToma Velev
 
Building Mobile Websites with Joomla
Building Mobile Websites with JoomlaBuilding Mobile Websites with Joomla
Building Mobile Websites with JoomlaTom Deryckere
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009Tom Deryckere
 
Plone FSR
Plone FSRPlone FSR
Plone FSRfulv
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and moreYan Shi
 
Web app and more
Web app and moreWeb app and more
Web app and morefaming su
 
Transmission2 25.11.2009
Transmission2 25.11.2009Transmission2 25.11.2009
Transmission2 25.11.2009Patrick Lauke
 
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 jQueryAnil Kumar
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Webmasuland
 

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

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

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