User:MaJac89/GSoC2013/ConceptualWiki

Identity
Name: Marco Jacopo Ferrarotti Email: marco[dot]ferrarotti[at]gmail[dot]com Project title: ConceptualWiki

Contact/working info
Timezone: CEST Typical working hours: Variable, ~5h per day between 8:00 am - 10:00 pm

Problem addressed
Mediawiki based websites are incredibly well suited for study and educational purpose, but in my opinion they still lack one feature which would be extremely useful in these contexts: the possibility of building a conceptual map as long as the final user navigates through related articles. Let's try to point out the problem.

Nowadays when you are facing an unknown subject, you will try to clarify your mind opening a web browser with the secret hope to find out a magical article on a wiki website. Usually you find such an article and you proceed with an algorithm that more or less sounds like this:


 * 1: when you find an unknown concept marked as inner link in that wiki -> right click -> open in a new tab;
 * 2: when you find a clarifying sentence -> try to memorize it -> bookmark the page;
 * 3: when you reach the end of the article -> pass to the next opened tab -> iterate until you are satisfied;

This kind of approach, that I personally experienced a lot of times, turns out to have several problems:
 * If you want to stop your investigation process and go on later you will feel a very strong headache trying to remember where you were;
 * In the middle of the process you will have a jungle of tabs in which you will be lost;
 * At the end nothing remains, if you would like to visualize or share your study-path simply you can't;

A possible solution
My proposal is to develop an extension for MediaWiki which can solve these problems allowing the user to create a conceptual map (as long as he navigates through related articles) with a simple and intuitive drag-and-drop interface.

The main element of the extension should be one additional entry in the side bar menu: Concepts;

V Cocepts | > Concept1 [save] [x] | > Concept2 [save] [x] | ...

Each element of the Concepts menu represents a conceptual map and it is made up of three clickable parts:
 * > ConceptTitle: expand the corresponding map;
 * [page]: save the corresponding map in a subpage (with a proper template) of your User page;
 * [x]: discard the corresponding map from the menu;

In each map we may find both SubConcepts (links to related articles in the same wiki) and "relevant text from articles":

... | V ConceptN [save] [x] | - "Relevant text from ConceptN article" - "Relevant text from ConceptN article" - "Relevant text from ConceptN article" | > SubConcept1 | > SubConcept2 | > SubConcept3 | ...

The process that allows the user to create such a map should be very simple and intuitive so I thought to a drag-and-drop interface (taking advantage from HTML5 features):
 * create a SubConcept entry in the currently expanded map: drag-and-drop an internal link into the side bar;
 * create a "Relevant text" entry in the currently expanded map: select a portion of text and drag-and-drop it into the side bar;
 * discard a map's element: drag-and-drop it outside the sidebar;
 * create a new map: drag-and-drop an internal link or a portion of text into the sidebar with no expanded map;

Key features and benefits

 * fast and easy tool to sketch conceptual maps as long as you navigate in a wiki website;
 * promote a new type of collaboration between users: now you can share a whole path across different articles;
 * educational tool: both for student and teacher (they can provide a study track to be followed);

Required deliverables

 * 1) ConceptualWiki extension: fully working MediaWiki extension which implements a drag-and-drop interface to create conceptual maps;
 * 2) ConceptualWiki template: the page template that the extension will use to save conceptual maps as subpages of your User page;

If time permits

 * 1) ConceptualWiki extensible maps: allow to clone other users maps and modify/expand them;
 * 2) ConceptualWiki exporter: allow to export maps in different formats, so that they can be visualized with specialized programs;

Project schedule

 * ~20 days: Study of the API and prototyping;
 * ~20 days: Development of the additional menu entry with the drag-and-drop interface;
 * ~20 days: Development of a proper template and implementation of the [save] feature;
 * ~20 days: Built up the complete extension, tests its functionality, revision/polishing process;
 * ~10 days: Documentation

About you
I'm a very passionate student, I've faced a lot of different subjects: from Electronics and Computer science to Quantum and Statistical physics always achieving excellent results. During this study trip I vastly used wiki websites coming up with the idea of the extension that I'm proposing here. This project would mean a lot for me, it is the tool that I always dreamed about visiting websites rich of contents and users like Wikipedia and other WikiMedia sites.

Thank you for reading, I hope you would like to discuss about this project,

-MaJac89 (talk) 17:36, 21 April 2013 (UTC)