Education/Projects/JetpackForLearning/Profiles/expressionWidjets
Project Abstract
Expression Widgets is part of the JetPack for Learning, an effort to support open education. The project proposes a system that leverages the web browsing experience and the JetPack infra-structure, and support learners to collaborate and produce open-based educational resources. The model proposes a collaboration environment where students express their thoughts as part of ongoing sessions, such as a lecture given by a professor.
To support students to contribute to educational resources, Expression Widgets introduces a number of pre-developed widget modules. This model explores various communication forms such as text, canvas-based drawing, SVG, MathML, and also suggests other interactive scenarios where teams can build more complex structures together. The annotated resources are organized and kept using simple wiki pages with less rules to the server and more focus on possibilities for team-centred conventions.
Main Links for JetPack for Learning
- Project homepage on Github with a video overview, link to installation of the jetpack, and also information on how to set the environment.
Use Cases of Repositories
Warning - These URLs are use cases URLs that represents classes. The ExpressionWidget JetPack application can read/write to these URLs or other URLs that match the same wiki markup structure. Please do not write in these pages. These URLs are meant to be written by the ExpressionWidgets JetPack Module.
Project Development
Updates
These videos are here as reference materials on the developments. This should be used by developers or folks closer to being a contributor.
- (video) Video Tranport Mechanism
- (video) Video 2 Interaction with Wiki
- (video) User Managed Session and Widgets
- (video) Overview with Drop, Text, Math Expression, and Page Screenshot widgets
- Next - Other Widgets - SVG and MathML
- Next - Collaboration
Bugs/Feedback
- (x) render things / overlay the wiki page is a must - or some sort of visualization
- (x) A bit confusing the dual username
- (x) Date/Time stamp is incorrect - there is a zero as month
- (fixed) Textify widget creates multiple line iframe panels
- (fixed) widget:text needs a bigger UI text area
- (fixed) New loading feedback icon at the top
- (feedback) Snapshot and Textify are cool
- (feedback) Gomes tested on Windows - all great
- (feedback/paula) Difficult to understand the save mechanism
Concept of Widgets
Widgets are helper applications that lets users to create and channel content into the session. The challenge now is to let participants use the natural Web ( apps and content available online ) and be able to associate the content from these apps into the experience. To illustrate a scenario, imagine that user A creates a drawing DA and user B may want to clone the drawing DA as drawing DB. User B wants to see the rendered view of DA as part of his/her moment of visualization. When it is time to edit, the original meta/data must be cloned and a editing view must exist. At this point, being the drawing app a Web-based app, the URL of the app must be loaded with the DA data feed into it. User B can then edit the drawing and again new meta/data and a rendered view must be generated and associated as an input from user B.
At this stage, some widgets are local wrappers to remote apps, like the textify case. In other cases, we have local widgets - JavaScript code that is bundled together with the Expression Widgets prototype.
- Canvas-based drawing apps - We need a very simple drawing app that can be canvas-based however the data to be kept as markup/meta-data and not pixels;
- Simple canvas-based drawing that keeps image as pixels; example case
- Simple inline SVG editor
- Simple inline MathML editor
- (done) Textify - http://www.texify.com/
- (done) basic text
- (done) screenshot taker
- (done) drag selection
Remote Apps
We currently studing how to make remote apps to interact with the repositories in a social-friendly way and to become part of the experience. The end-goal is not to reimplement or need to create local widget wrappers to remote apps, but the best we can simply take the best from the R/W web.
- Web-based Drawing - Sketch - http://www.hanovsolutions.com/webdraw/
- Web-based Function Plotter - http://www.snappymaria.com/canvas/FunctionPlotter.html?formula=cos%28x%29#
- Multitouch Finger drawing app - Firefox 3.7 with multitouch support - http://www.mgalli.com/development/drawing/
- Simple example of SVG and drag interactors - http://www.croczilla.com/bits_and_pieces/svg/samples/xbl-shapes2/xbl-shapes2.xml