opensocial in education and learning
DESCRIPTION
Demos of different gadget and web technologies that can be used for learning and education. Focus on OpenSocial and its Space extension. Note: Some APIs are not currently supported by OpenSocial and will be available in OpenSocial 2.1. All APIs work in Graaasp.TRANSCRIPT
OpenSocial in Education and Learning
Evgeny Bogdanov
May 30, 2011
1/26
Content
I Educational scenario: now
I Educational scenario: better
I Space concept
I Graaasp as a platform supporting spaces
I Opensocial gadgets (why and how)
I Demos
I Ideas gathering
2/26
Intro: Educational scenario
Now: Remote experimentation (Automatic control at EPFL)I People
I ProfessorI AssistantsI Students
I ResourcesI Description of experimental settingI InstructionsI Theory book
I AppsI Device in the labI Remote access to device
3/26
Intro: Educational scenario (extended)
Extension: Remote experimentation (Automatic control at EPFL)I People - social platform → more interaction
I ProfessorI AssistantsI Students
I ResourcesI Description of experimental settingI InstructionsI Theory bookI External info - Wikipedia, Youtube videos, Slideshare
I AppsI Device in the labI Remote access to deviceI Chat, Visualizations, Recommendations
4/26
Space concept
Definition
Space is an abstract concept that shapes the context in which useris currently placed. It normally consists of:
I People
I Applications
I Resources
I Sub-spaces
Example
A space can represent a group of people, a university course, acompany division, a folder, a forum, a blog, etc.
Definition
Widget or Gadget is a [small] application that can be installed andexecuted within a web page by an end user (Wikipedia)
5/26
Educational scenario in Graaasp
6/26
OpenSocial gadgets understanding
7/26
Demo: Gadgets and OpenSocial
I Widgets container (functional skin)
I Resources viewer widget (youtube, etc.)
I Recommendations widget (recommendations from Graaasp)
I Remote lab (functional skin)
I Remote experimentation widget (gyroscope example)
I 3D widget (3D pad)
I 2D widget (graph based on data from assets)
I OpenApp interwidget communication
I Chat widget
I Graaasp’s 3D pad in iGoogle
I Remote lab in iGoogle
8/26
Functional skin / Bundle: Widget container
This functional skin takes all widgets from a space and shows themin a grid layout: two column view.
9/26
Functional skin: Resources playerThis functional skin, when added to a space, allows to viewcontent of all documents from a space. For example, youtubevideos, slideshare presentations, wikipedia, etc.
10/26
Widget: Recommender
This is a recommender gadget. When added to a space, it allowsto get recommendations for this space.
11/26
Functional skin / Bundle: Remote labThis is an example how functional skin “Widget container” is used.Four widgets are integrated together within a functional skin toprovide user with remote lab experience.
12/26
Widget: Remote experimentation (Gyroscope)This gadget shows a rotating gyroscope model. When it is addedto a space, it displays people in the space that can collaborate overthis gyroscope.
13/26
Functional skin: 3D pad
This is a functional skin gadget. When added to a space, it allowsto view all items from a space in 3D space.
14/26
Widget: 2D Graph
Gadget to display data as graphs. Takes data from assets in aspace and shows it on the graph.
15/26
Widget: OpenApp interwidget communication
One gadget sends data, another receives it.
16/26
Widget: Chat
Chat gadgets allows people to talk to each other.
17/26
Portability: Graaasp’s frozen 3D pad in iGoogle
This is a frozen gadget. It is generated in Graaasp and taken toother containers (iGoogle for example).
18/26
Portability: Remote lab functional skin in iGoogle
This is a Remote lab widget running in iGoogle.
19/26
REST API
I http://graaasp.epfl.ch/rest/spaces/4/@person
I http://graaasp.epfl.ch/rest/applications/4/@space
I http://graaasp.epfl.ch/rest/documents/4/@person
I http://graaasp.epfl.ch/rest/people/4/@self/@space
I http://graaasp.epfl.ch/rest/recommender/4/@person
20/26
RPC API
I osapi.spaces.get({contextId: “4”, contextType: “@person”})
I osapi.applications.get({contextId: “4”, contextType:“@space”})
I osapi.documents.get({contextId: “4”, contextType:“@person”})
I osapi.recommendations.get({contextId: “4”, contextType:“@space”})
People are a bit different (shindig hack)
I osapi.people.get({userId: “4”, personId: “@person”, groupId:“@self”})
21/26
Useful RPC request
Get current context (Space or Person)
osapi.context.get().execute(function(context){// context.contextId = "1"// context.contextType = "@space"
});
Get current viewer
osapi.people.getViewer().execute(function(viewer){// viewer.id// viewer.displayName
});
22/26
Reminder!
I Widgets can exchange data with each other
I Widgets can get data about space containing it
I Widgets have access to container information:spaces/people/applications/documents
I Widgets have access to Realtime aspects (collaboration)
I All other Web stuff is available (2D,3D,calculation,etc.)
23/26
Ideas gathering!I Geography
I scenario: on word selection in w1 show location in w2I widget1: view Geography resourceI widget2: google map with location
I HistoryI scenario: on word selection in w1 show location in w2 and
wikipedia entry in w3I widget1: content viewer (history book)I widget2: on word selection show google map with locationI widget3: wikipedia entry
I ChemistryI widget1: Formula editing widgetI widget2: 3D view of a molecule
I Math courseI widget1: Formula editing widget
I Remote lab at LA gadgetI widget1: Formula editingI widget2: notes taking tool
24/26
References 1
I OpenSocial gadgetsI Templating
http://opensocial-resources.googlecode.com/svn/spec/2.0/OpenSocial-Templating.xml
I Gadgethttp://opensocial-resources.googlecode.com/svn/spec/2.0/Core-Gadget.xml
I OSAPIhttp://opensocial-resources.googlecode.com/svn/spec/2.0/Social-Gadget.xml
I OpenSocial Space extensionhttp://docs.opensocial.org/display/OSD/Space+Proposal
25/26
References 2
I 3D graphics - WebGL + C3DL
I 2D graphics (scalar) - RGraph
I 2D graphics (vector) - Raphael (JavaScript library)
I Interwidget communication: OpenApp
I Websocket and HTML5
I XMPP
26/26