User:ConnorSchlesiger/GSoC 2013 Proposal

My name is Connor Schlesiger and I am applying for the Google Summer of Code 2013. Constructive feedback is greatly 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 to knowledge can 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
An uncluttered, clean interface would be used, 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. The paths may also change based on user semantics. For example, the paths would be different if you were learning mathematics versus studying the history of mathematics.

Nodes would contain very little text, to keep them as non-intrusive as possible - and to save on window real estate. The nodes expand as the user hovers a cursor over them. A small node would only contain a title, while a focused node would also contain content links. Content links would point to encyclopedia's, textbooks, articles, and then applicable quizzes and exams. Browsing through nodes would be like reading a map. The nodes would continue off-screen, 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 add content links to each node or create new nodes. Users can also create there own semantic network from scratch or copy parts of others.

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

Problem Addressed
With this tool, curriculum's can be globally 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. I have no objection to using those technologies; however, I would also be interested in testing Node.js and perhaps alternative database tools, such as NoSQL with HyperDex.

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

Mentors
None so far. I am late to the party.

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 or Future 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;
 * 8) Curriculum Wiki Accessibility: Incorporate accessible and empowering tools for those with disabilities and special needs;

Resources
I have the ability to host the project myself. I manage a couple personal Debian VPS's that I am comfortable using for early prototyping.

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

What About Wikiversity?
Wikiversity is a terrific site among many great learning tools. My major gripe is that the content does not reference any outside lessons or quizzes. Also, it falls short in design and aesthetics. I feel very claustrophobic using Wiki-style pages for tasks other than reading.

Perhaps one day all educational content will be located on one site, but that is unlikely. Many wiki-esque sites already exist for very special purposes (For example, Star Trek Wiki's, Pokemon Wiki's, etc.). What I am proposing would not only serve as a collaborative curriculum, but also as an aggregator of educational links. Educational tools can be developed by others and wiki users can link those lessons and quizzes to the appropriate nodes. The content is provided by others and linked in the relative node. By separating the content creation, the focus is only on semantic network, links, and interactivity.

Summary
I don't believe Curriculum Wiki is a very good name. I am open to suggestions. Semantic Network Wiki is too scary.

I feel the really hard work is done, by the creation of the content by the vast contributors to Wikipedia. Wikidata has also begun digesting that content into accessible data. Let's begin aggregating content not only from Wiki sources, but around the world, into digestible, accessible, educational tools. Let's organize that content into collaborative, interactive data.

Also, folks are already collecting great sources of educational tools. Here is a wonderful list compiled on reddit.

About Me
I just finished my 5th year of my computing systems undergrad. I enjoy programming and systems administration as a profession and hobby. I try to be security conscious. I enjoy reading about industrial and functional design. Please visit my profile for further information, contact info, and links to my website and blog.

Thank You
I appreciate your interest. I hope and look forward to further discussion. Connor Schlesiger (talk)