User:ConnorSchlesiger/GSoC 2013 Proposal

My name is Connor Schlesiger and I am applying for the Google Summer of Code 2013. Feedback is always appreciated. You may contact me by email, IRC, or via the talk page.

Identity
Name: Connor Schlesiger Email: connor@undefinedschlesiger.ca Project title: Curriculum Wiki

Contact/working info
Timezone: EDT Typical working hours: I am very flexible about my working hours, but I would like a steady routine. IRC: wallzero (freenode)

Project summary
Educational resources are growing online at increasing rate. From encyclopedia's, textbooks, syllabi, courses, quizzes and exams; these resources have become digital and public. Availability online, however, does not equal accessibility.

How do you learn what you need to know? How do you know what you don't know? Curriculum and syllabi forge a path of knowledge. They map a sensible learning strategy. Today, the content is available online, but the path is incomplete or disjointed.

Curriculum Wiki is the solution. Using a new interface, the "Wiki" aspect of the project would focus on data relations, instead of content. Wikipedia and Wikidata would serve as the backbone, and a new conceptual interface would be designed.

Interface
The interface would be minimalistic, and minimal data would be initially represented. Data would be contained by nodes. Straight lines would connect data based on user semantics. The lines would contain arrows representing the path of content.

To go into further detail, the paths may change based on user semantics. For example, the path would be different learning mathematics or history of mathematics.

Nodes would contain very little text, to keep them as non-intrusive as possible. The could expand as the user hovers a cursor over them. The path of nodes is what is important, not the content.

A small node would only contain a title, while a focused node would contain content links. Content links would feature Encyclopedia articles, textbook pages, and articles, then applicable quizes and exams.

Browsing through nodes would be like reading a map. The nodes would continue offscreen, and the user will bring them into view by dragging the background of the screen (similiar to Google Maps).

Users can edit node connections by dragging an edge of the focus node to the edge of another node. With user editable connections, this starts to become a true Wiki. Users can also add content links to each node, or create new nodes. Users can also create there own semantic network from scratch

Diagrams
''Confused? Rough diagrams are coming...''

Problem addressed
With this tool, curriculum's can be globablly and collaboratively organized. Content and quizzes from educational institutions can be incorporated. Users can create and share profiles of completed readings, courses, and quizzes. The educational resources from institutions around the world become accessible.

Technology Involved
Currently, Wikimedia primarily uses PHP and MySQL. These could be the primary tools used to serve the users. I would also be interesting in testing a Node.js backend. Also, alternative database models, such as NoSQL with HyerDex, may also be tested.

For the user interface, I suggest using HTML5, CSS3, and Javascript. Modern browsers may be a requirement.

JQuery can be used for the draggable interface. AJAX will pull nodes as the user moves across the page.

The URL could be used to focus on profiles, focus nodes, or curriculum/curriculum position. Generally, the URL would only be used for the initial starting point (Node, curriculum, subject, profile, etc.) and will stay the same throught most navigation.

Key features

 * Navigable semantic network initially derived from Wikidata
 * Easy to build, collaborative curriculum/syllabi
 * Collection and organization of educational materials

Deliverables
This proposal is likely out of scope. The initial project should focus on design, and content and semantic retrieval.

Required Deliverables

 * 1) Curriculum Wiki Design: How and where information is represented will be complete;
 * 2) Curriculum Wiki Functionality: The basic interaction of the site - dragging nodes, navigating across the page, populating nodes - must work;
 * 3) Curriculum Wiki Semantic Retrieval: The project will need to retrieve data from Wikidata and represent it in the semantic network;
 * 4) Curriculum Wiki Navigation: Navigation via dragging the page and bookmarks;

Potential Deliverables

 * 1) Curriculum Wiki Aesthetic Design: This project will need to work around the functionalities and navigation, while maintaining the feel of Wikimedia;
 * 2) Curriculum Wiki Search: Searchable nodes, subjects, curriculum, user profile;
 * 3) Curriculum Wiki Modifications: Node modifications, adding additional data;
 * 4) Curriculum Wiki Creations: User created semantic networks, with ability to copy or partially copy other networks;
 * 5) Curriculum Wiki Profile: Tie user accounts to Wikimedia;
 * 6) Curriculum Wiki Languages: Integrate translational functions;
 * 7) Curriculum Wiki Export: Some form of export;

Project schedule

 * All days: Documentation;
 * 30 days: Study the Wikidata or Wikipedia API, and prototyping. Determine primary technologies;
 * 20 days: Design of nodes and data retrieval.
 * 20 days: Relational/connected nodes and functional navigation;
 * ~30 days: Draggable nodes, node connections;
 * Remaining days: Editable nodes;

Examples
Draggable div tag

Summary
I feel the really hard work is done. The hard work was the creation of the content, by the millions of contributors of Wikipedia. Wikidata knows

I don't believe Curriculum Wiki is a very good name. It could be worked on. Semantic Network Wiki is too scary.

Also, the world is already collecting great sources of education. Here is a wonderful list compiled on reddit.

About Me
I just finished my 5th year of my computing systems undergrad. I enjoy programing and systems administration as a profession and hobby. I try to be security conscious. I enjoy reading about industrial and functional design.

Thank you
I appreciate your interest. I hope and look forward to further discussion.

-ConnorSchlesiger (talk)