Education/Projects/JetpackForLearning/Profiles/MUPPLE: Difference between revisions

Change link to Mupple download and bracketed instruction (the instruction needs to be confirmed, i.e. on how to install Mupple after download).
(Change link to Mupple download and bracketed instruction (the instruction needs to be confirmed, i.e. on how to install Mupple after download).)
 
(12 intermediate revisions by 2 users not shown)
Line 8: Line 8:
1) MUPPLE II is designed as Firefox Jetpack. Because it's cool, it is for free and open source. If you have not already switched to the 'world’s best browser', download it from http://www.mozilla-europe.org/en/firefox/ (recommended version: 3.6 and higher).
1) MUPPLE II is designed as Firefox Jetpack. Because it's cool, it is for free and open source. If you have not already switched to the 'world’s best browser', download it from http://www.mozilla-europe.org/en/firefox/ (recommended version: 3.6 and higher).


2) MUPPLE II runs on Jetpack. To get your own Jetpack plugin, download it at https://jetpack.mozillalabs.com/index.html (bottom of the page).  
2) MUPPLE II runs on Jetpack. Get your own Jetpack at https://addons.mozilla.org/en-US/firefox/addon/12025 (version 0.8.1).  


3) You are one-step away from your first MUPPLE II experience. Get the latest version at http://purl.org/ou/mupple (see install button at the top right side of the page).
3) You are one-step away from your first MUPPLE II experience. Get the latest version at https://github.com/Laurian/MUPPLE (see download zip button in right hand column).


You are now ready to trace and replay the web!
You are now ready to trace and replay the web!
Line 36: Line 36:
[[File:OverviewMuppleII.PNG|thumb|center|600px|alt=Overview of the MUPPLE II  interface|Overview of the MUPPLE II  interface]]
[[File:OverviewMuppleII.PNG|thumb|center|600px|alt=Overview of the MUPPLE II  interface|Overview of the MUPPLE II  interface]]


'''Please note that in the current prototype, the 'Open Workflows' and the 'steps list' are non-functional, that is that the prototype shows one single (default) workflow'''
'''Please note that in the current prototype, the 'Open Workflows' and the 'steps list' are non-functional, that is that the prototype shows one single (default) workflow.' Also MUPPLE won't force you open new or switch tabs for now.''


''Recording in Detail:''  
''Recording in Detail:''  
Line 116: Line 116:


The current [[http://github.com/Laurian/MUPPLE prototype code]] is quite hard to follow, it has grown organically around various real and supposed limitations of Jetpack.   
The current [[http://github.com/Laurian/MUPPLE prototype code]] is quite hard to follow, it has grown organically around various real and supposed limitations of Jetpack.   
* Jetpack code: http://github.com/Laurian/MUPPLE/blob/master/script/core.js
* Slidebar html code: http://github.com/Laurian/MUPPLE/blob/master/slidebar.html
* Slidebar javascript: http://github.com/Laurian/MUPPLE/blob/master/script/slide.js
''If github has issues, you can see the raw sources:''
* Jetpack code: http://purl.org/ou/mupple/script/core.js
* Slidebar html code: http://purl.org/ou/mupple/slidebar.html
* Slidebar javascript: http://purl.org/ou/mupple/script/slide.js


We adapted some cross-site scripting style strategies in order to achieve a tight coordination between Jetpack and the code in the slidebar; therefore we use a hidden iframe (fed with data URIs) to communicate from the slidebat to jetpack (which listens for the load event), while from jetpack to slidebar or to any tab we inject script tags with raw code or JSONP.  
We adapted some cross-site scripting style strategies in order to achieve a tight coordination between Jetpack and the code in the slidebar; therefore we use a hidden iframe (fed with data URIs) to communicate from the slidebat to jetpack (which listens for the load event), while from jetpack to slidebar or to any tab we inject script tags with raw code or JSONP.  
Line 134: Line 145:


And what we believe that is more important in collaboration: it may allow an user to discover friends and co-workers workflows - this would be achievable by publishing workflows with a [[http://xmlns.com/foaf/spec/#term_maker foaf:maker]] relation, and the user's foaf profile could point to friends, organisations (hence co-workers). (If the user lacks an explicit foaf profile, we could use one based on his Twitter relations: http://semantictweet.com )
And what we believe that is more important in collaboration: it may allow an user to discover friends and co-workers workflows - this would be achievable by publishing workflows with a [[http://xmlns.com/foaf/spec/#term_maker foaf:maker]] relation, and the user's foaf profile could point to friends, organisations (hence co-workers). (If the user lacks an explicit foaf profile, we could use one based on his Twitter relations: http://semantictweet.com )
Also, apart of the mentioned RDF approach, we hope that future versions of Mozilla [[Labs/Weave|Weave]] could enable various levels of collaboration.


We consider each recordable action as an annotation, and we would like to have them compatible/interoperable at some level with [[http://www.openannotation.org/ Open Annotation]] initiative. We already use [[http://xpointerlib.mozdev.org/ xpointerlib]] for ''note actions'' which would allow us to create [[http://www.w3.org/2001/Annotea/ Annotea-like]] annotations and be interoperable with Open Annotation.
We consider each recordable action as an annotation, and we would like to have them compatible/interoperable at some level with [[http://www.openannotation.org/ Open Annotation]] initiative. We already use [[http://xpointerlib.mozdev.org/ xpointerlib]] for ''note actions'' which would allow us to create [[http://www.w3.org/2001/Annotea/ Annotea-like]] annotations and be interoperable with Open Annotation.
Line 140: Line 153:


Moreover, think of the possibilities that the sole command ''translate'' from Ubiquity could bring to MUPPLE: ''collaboration that spans language barriers''.
Moreover, think of the possibilities that the sole command ''translate'' from Ubiquity could bring to MUPPLE: ''collaboration that spans language barriers''.
As we already mentioned, a LISL implementation on top of the Ubiquity's [[Labs/Ubiquity/Parser_2|Parser 2]]  might allow for a tight integration between LISL and existing Ubiquity commands, and it might leverage the [[Labs/Ubiquity/Parser_2/Localization_Tutorial|localization possibilities of the parser]] if needed.
Right now the prototype as UI is pretty much what we envisioned, but with partial functionality; this is mostly due not to the difficulties in added the envisioned functionality, but when observing, hands-on, that some activities must be separated, namely editing a workflow and "replaying" a workflow have to be distinct, as controls, as visual state communicated to the user; therefore we did not add extra functionality just for the sake of a prototype,  we believe that  a ''reboot'' of MUPPLE II is required, and we plan to do it in February.
After learning how to fly a Jetpack we can now focus on core functionality, code clarity and unit testing.
=Who did it?=
MUPPLE II is brought to you by the Knowledge Media Institute of the Open University, UK.
The  MUPPLE team are:
# Laurian Gridinoc (http://kmi.open.ac.uk/people/member/laurian-gridinoc)
# Fridolin Wild (http://kmi.open.ac.uk/people/member/fridolin-wild)
# Thomas Ullmann (http://kmi.open.ac.uk/people/member/thomas-ullmann)
For more information visit the MUPPLE technology page: http://kmi.open.ac.uk/technologies/name/Mupple




A ''reboot'' of MUPPLE II is required, and we plan to do it in February. After learning how to fly a Jetpack we can now focus on core functionality, code clarity and unit testing.


=Original Proposal=
=Original Proposal=
The initial [[vision MUPPLE II|vision of the MUPPLE II]] Firefox Jetpack talks more about the motivation and introduces a use case to write collaboratively a paper using Web 2.0 webpages.
The initial [[vision MUPPLE II|vision of the MUPPLE II]] Firefox Jetpack talks more about the motivation and introduces a use case to write collaboratively a paper using Web 2.0 webpages.