Difference between revisions of "User Tours Project"

Jump to: navigation, search
(Technical Requirements)
(Starting to add details of external libraries assessed)
Line 8: Line 8:
  
 
= Summary =
 
= Summary =
Add a feature to allow administrators to create and share walkthroughs, which are a series of instructional overlays displayed on top of the Moodle User Interface.  
+
Add a feature to allow administrators to create and share walkthroughs, which are a series of instructional overlays displayed on top of the Moodle User Interface.
  
 
= Problem =
 
= Problem =
Moodle is a large application with many features. Some of these features are hard to understand without instruction. One on one training for Moodle is time consuming and hard to scale.  
+
Moodle is a large application with many features. Some of these features are hard to understand without instruction. One on one training for Moodle is time consuming and hard to scale.
  
 
= Solution =
 
= Solution =
Allow the administrator to create "walkthroughs" where a series of instructional overlays are displayed over the Moodle User Interface.  
+
Allow the administrator to create "walkthroughs" where a series of instructional overlays are displayed over the Moodle User Interface.
 +
 
 +
These are often known as:
 +
* instructional overlays; and
 +
* tours.
  
 
= Target Users =
 
= Target Users =
Line 26: Line 30:
 
* Full support for RTL
 
* Full support for RTL
 
* Full support for Multilang
 
* Full support for Multilang
 +
 +
= Integrations =
 +
Several external instructional overlay libraries already exist.
 +
These are JavaScript libraries which take configuration (usually JSON) and produce tours to display to end users.
 +
 +
== hopscotch ==
 +
Hopscotch is an Instructional Overlay written and maintained by LinkedIn.
 +
 +
{{Infobox Library Candidate
 +
|name = hopscotch
 +
|repository = https://github.com/linkedin/hopscotch
 +
|stability = Stable
 +
|activity = Low - Medium
 +
|starforks = 3361 / 483
 +
|release = v0.2.6 (July 2nd 2016)
 +
|author = LinkedIn
 +
|license = Apache 2.0
 +
}}
 +
 +
=== Features ===
 +
* event callbacks
 +
* multi-page tours
 +
* i8n support
 +
* lightweight
 +
* flexible templates
 +
* flexible placement
 +
* flexible targetting
 +
* range of tour and step options
 +
 +
=== Benefits ===
 +
* does not rely upon any external libraries, though it can utilise jQuery if it is present on the page
 +
* handles its own styling, and positioning
 +
* HTML5 session storage
 +
* wide range of events fired to allow additional customisations
 +
 +
=== Concerns ===
 +
* lack of responsive design. Steps are displayed off-screen on mobile devices
 +
* lack of accessibility
 +
* difficult to customise
 +
Although a number of events and customisation points are available, the library makes it difficult to utilise these. You can override the renderer, but are then unable to access the internal functions of the tour.
 +
 +
== bootstrap-tour ==
 +
Bootstrap tour is a 'Quick and easy way to build your product tyours with Bootstrap Popovers'
 +
 +
{{Infobox Library Candidate
 +
|name = bootstrap-tour
 +
|repository = https://github.com/sorich87/bootstrap-tour
 +
|stability = Stable
 +
|activity = Low
 +
|starforks = 3413 / 659
 +
|release = v0.10.3 (February 12th 2016)
 +
|author = Ulrich Sossou
 +
|license = MIT
 +
}}
 +
 +
=== Features ===
 +
* event callbacks
 +
* multi-page tours
 +
* lightweight
 +
* flexible templates
 +
* flexible placement
 +
* flexible targetting
 +
* range of tour and step options
 +
 +
=== Benefits ===
 +
* responsive design
 +
* Uses standard DOM Storage interfaces
 +
* wide range of events fired to allow additional customisations
 +
 +
=== Concerns ===
 +
* lack of accessibility
 +
* high dependence upon a specific version of Bootstrap (v2.3)
 +
 +
== joyride ==
 +
Joyride is an easy to configure jQuery site tour wizard.
 +
 +
{{Infobox Library Candidate
 +
|name = joyride
 +
|repository = https://github.com/zurb/joyride
 +
|stability = Stable
 +
|activity = Low
 +
|starforks = 1276 / 243
 +
|release = v2.1.0 (Jan 23 2014)
 +
|author = Zurb
 +
|license = MIT
 +
}}
 +
 +
=== Features ===
 +
* responsive
 +
* event callbacks
 +
* jQuery compatible
 +
 +
=== Benefits ===
 +
* responsive
 +
 +
=== Concerns ===
 +
* last release was 2.5 years ago. Though a v3 release is in the works, this seems to have stalled.
 +
* lack of accessibility
 +
* designed for Foundation/Zurb. A 'solo' version is available but includes a fair chunk of base Foundation library.

Revision as of 05:05, 20 July 2016

User Tours
Project state Developing
Tracker issue MDL-52777
Discussion https://moodle.org/mod/forum/discuss.php?d=335682
Assignee User:Andrew Nicols


Summary

Add a feature to allow administrators to create and share walkthroughs, which are a series of instructional overlays displayed on top of the Moodle User Interface.

Problem

Moodle is a large application with many features. Some of these features are hard to understand without instruction. One on one training for Moodle is time consuming and hard to scale.

Solution

Allow the administrator to create "walkthroughs" where a series of instructional overlays are displayed over the Moodle User Interface.

These are often known as:

  • instructional overlays; and
  • tours.

Target Users

Administrators, New Moodle users, Experienced Moodle users exposed to a new feature, Teachers, Students

Technical Requirements

  • Simple clear overlays that are easy to disable or replay
  • Import/export walkthroughs to a simple file format so they can be shared
  • Themable
  • WCAG AA compliant
  • Full support for RTL
  • Full support for Multilang

Integrations

Several external instructional overlay libraries already exist. These are JavaScript libraries which take configuration (usually JSON) and produce tours to display to end users.

hopscotch

Hopscotch is an Instructional Overlay written and maintained by LinkedIn.

hopscotch
Repository https://github.com/linkedin/hopscotch
Project stability Stable
Stars / Forks 3361 / 483
Project activity Low - Medium
Latest release v0.2.6 (July 2nd 2016)
Author LinkedIn
License Apache 2.0


Features

  • event callbacks
  • multi-page tours
  • i8n support
  • lightweight
  • flexible templates
  • flexible placement
  • flexible targetting
  • range of tour and step options

Benefits

  • does not rely upon any external libraries, though it can utilise jQuery if it is present on the page
  • handles its own styling, and positioning
  • HTML5 session storage
  • wide range of events fired to allow additional customisations

Concerns

  • lack of responsive design. Steps are displayed off-screen on mobile devices
  • lack of accessibility
  • difficult to customise

Although a number of events and customisation points are available, the library makes it difficult to utilise these. You can override the renderer, but are then unable to access the internal functions of the tour.

bootstrap-tour

Bootstrap tour is a 'Quick and easy way to build your product tyours with Bootstrap Popovers'

bootstrap-tour
Repository https://github.com/sorich87/bootstrap-tour
Project stability Stable
Stars / Forks 3413 / 659
Project activity Low
Latest release v0.10.3 (February 12th 2016)
Author Ulrich Sossou
License MIT


Features

  • event callbacks
  • multi-page tours
  • lightweight
  • flexible templates
  • flexible placement
  • flexible targetting
  • range of tour and step options

Benefits

  • responsive design
  • Uses standard DOM Storage interfaces
  • wide range of events fired to allow additional customisations

Concerns

  • lack of accessibility
  • high dependence upon a specific version of Bootstrap (v2.3)

joyride

Joyride is an easy to configure jQuery site tour wizard.

joyride
Repository https://github.com/zurb/joyride
Project stability Stable
Stars / Forks 1276 / 243
Project activity Low
Latest release v2.1.0 (Jan 23 2014)
Author Zurb
License MIT


Features

  • responsive
  • event callbacks
  • jQuery compatible

Benefits

  • responsive

Concerns

  • last release was 2.5 years ago. Though a v3 release is in the works, this seems to have stalled.
  • lack of accessibility
  • designed for Foundation/Zurb. A 'solo' version is available but includes a fair chunk of base Foundation library.