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

Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jNeo4j
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 

Recently uploaded (20)

Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 

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