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 aims to explore various communication forms using web-based standards. The goal is to reach a condition where participants can create/capture/modify content such as text, canvas-based drawings, SVG elements, MathML or other type of mathematical expression formats, and more.
The annotated resources are organized and kept in simple wiki pages, so there are less rules associated with server systems and focus on possibilities for team-centered conventions. This is a key component of this project as we want to minimize the aspects of governance and let participants simply create open-based repositories and start collaborating. While keeping an user interface that let everyone express while they are browsing, the system aims to spread the idea that annotations about live events can eventually become an open-based education resource. This may support educational organizations to break traditional thinking that all the materials need to be books or something that is old-fashion printed. Since everyone is contributing, the association with personal attribution may loose value as the social interactions can gain attention thus spreading a culture of continued collaboration over the materials.
Note - March Review
* http://taboca.github.com/Expression-Widgets/ ( new documentation section was uploaded to the project home )
Note - Feb 4th Update
- Reviewer and interested users - Notice from February 4th - if you find the GitHub location down or slow, please use this alternative hosted site.
Main - Jan 31th UTC-8 6.28PM Update
- Project homepage on Github with a video overview, link to installation of the jetpack, and also information on how to set the environment. The video shows an earlier version of the system, however the overview demonstration applies fine to the current application. The app current version is 0.5.8.
- phase two - Project Home Page, Video, and Prototype Install
- phase two - Source Code
- phase one - Original Proposal
- More ways to visualize the shared resources. At this stage, when a participant clicks the 'class' button, they enter in overlay mode. The current visualization is quite simple and it shows a case of social aggregation that organizes the statements from the various participants using the date time stamp information. Moving forward, it is important to explore new ways to visualize the aggregated information from the participants. Maybe even explore the case where input from a participant can influence partially the visualizations.
- As students can share their statements under a same ongoing session, the system should explore interactive scenarios where teams can build more complex document-based structures together, such as a collaborative diagram. At this point it is not possible for user A to clone statements from user B.
- Improve compatibility with server-side repositories. There are identified challenges as the system interacts with an existing wiki page. As an example, the image widget stores the image bits information using inline data in the wiki which can lead to huge sections in the wiki. We need to evaluate this model and also how wiki systems can deal with external applications. At this stage, the implementation of the transport mechanism deals with the wiki page using a hidden iframe. It is important to move to explore real web services interfaces as a means to read/write on behalf of users.
Concept of Widgets
Widgets are helper applications that can help participants to create and format content into the collaborative session. In this context, a major challenge is how 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 uses an online app and creates a drawing DA. An user B may want to clone that drawing DA as a new drawing DB. In order to do that, User B needs to see the visualization of DA, then, when it is time to edit, the original meta/data, not the graphics view, must be cloned and an editing experience must be recreated, now for user B with a clone DB of DA. Being the drawing app a Web-based app, the system needs to mediate the data from user A and pass along to the web app as being data for the user B. This negotiation needs to be done in the client and maybe with some guidelines or rules that are part of the shared document.
A number of current widgets implemented and locally added to the ExpressionWidgets JetPack application. These widgets should be considered as examples of applications that can support participants to express their thoughts for an ongoing session:
- (done) Textify - http://www.texify.com/
- (done) basic text
- (done) screenshot taker
- (done) drag selection
Other widgets to be explored:
- 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
- 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
Concept 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, unless you are following the instructions along with the JetPack. These URLs are meant to be written by the ExpressionWidgets JetPack Module, and also visualized, at this stage, by the Expression Widgets overlay visualization mode.
These videos are here as reference materials on the developments. This should be used by developers or folks closer to being a contributor.
- (video 1) Video Tranport Mechanism
- (video 2) Video 2 Interaction with Wiki
- (video 3) User Managed Session and Widgets
- (video 4) Overview with Drop, Text, Math Expression, and Page Screenshot widgets
- Next - Other Widgets - SVG and MathML
- Next - Collaboration
- (feedback) A bit confusing the dual username
- (feedback) Snapshot and Textify are cool
- (feedback) Gomes tested on Windows - all great
- (feedback/paula) Difficult to understand the save mechanism
- (feedback) More improvements and new visualizations to the overlay mode
- (bug) tooltips now working ( Jetpack? )
- (bug) Cannot put spaces around screenname
- (bug) There is been reports of screenshot not working. So far the widget panel needs to be in the slidebar at the same time you visit the snapshot page;
- (bug) If you are saving, and editing new stuff, you will loose til the saving goes on - a new reload happens