User:Making-it-yours

Project Title
Wikipedia - My Encyclopedia

Name and contact information
Name: Vishal Thukral Email: hungers.to.nurture@outlook.com Freenode IRC Nick: Vishal_ Location (City, Country and/or Time Zone): Sonipat, India (GMT + 05:30)

Synopsis
Why I wish to work on this project ? You believe that knowledge should be free for every human being, And so do I. But, I experienced that there is no end of       knowledge and you can't get whole of it, Even if its freely available. So, how do we learn ? We keep on extracting the information from this bottomless sea until we have last breath to take. So, how do we extract ? We collect a cup of water from this sea and look for the elements we need. But, unfortunately there are a lot of other elements present in it and that cup of water contains very minimal amount of element we need...

'Extracting is a very very challenging task and I hope to help everyone who visits this sea to extract the elements they need, by  making this sea theirs. '		Wikipedia is the sea of all human knowledge. And the great thing is that one can extract anything from sea for free. But, this extraction is quite tedious and cumbersome. So, let's say I am working on an assignment. And I need to open some page on wikipedia. I see a lot and a lot and really a 				lot of content. Problem 1: This lot's of content really haunt me. Not just me but a lot of folks out there. How do I know about other folks ? Few days back, I saw an app named Wikipedia + in Windows 8 store. The price of the app was $2.49 and was warmly welcomed by a lot of people, making the app as top selling paid app in it's category. So, What this app did ? This app introduces it's own CSS while 			displaying the page of wikipedia. And the app's CSS truly and only tried to solve displaying lots of content problem. Solution 1: So, there is really a need of providing people few templates. So, that they can view the page in the way they like because maybe someone just likes lots of content at first glance and someone just don't.               Now, I don't bother about every word on that page but only that content which can help me with my assignment and may be a little bit extra. Now, here comes a challenging task of 'Extracting the content I need.' So, how do I do that ? while(page !finished) {                             * I read a paragraph. * Copied the content related to my assignment and pasted that content into the Notepad on my Computer }		 So, after reading 23 paragraphs the page got finished and hence the copy paste. After that I started reading, that extracted content from my notepad. And the content made no-sense to me because I have to callback that wiki-page and then that paragraph on that wiki-page from where that content in notepad was pasted to get the zest of context mentioned in that content. Finally, I deleted that notepad file and read again and again that page till my assignment wasn't finished.

Problem 2: Every page of wikipedia is a giant in itself and it's really very hard to extract the content you need.

Solution 2: After thinking a lot on the above problem I came up with this, what if we are just able to highlight the content we need, we care for while reading the page. It will remove that cumbersome process of copying and pasting. Plus it will be used for reference for our future purposes too. For example: if you visit that page again someday later you will know at once, what content you have already extracted by seeing your highlights. And now you can concentrate on new content.

Problem 3: Problem 1 and 2 lead to an another problem. So, how will wikipedia remember which template you love or which content you have highlighted on which page when you visit wikipedia again. Solution 3: We will invite users to register on wikipedia and you already had a system for that. I will create some new tables in your existing database so that wikipedia can remember highlighted text and the page on which it was highlighted. So,when users will Log-In, they will be able to personalize their Wikipedia in the way they like. They will be able to choose their favorite template and highlight text and wikipedia will remember it nicely.

Deliverables
May 27 - June 16 => Community bonding period Through this period, I hope to                        -> Warm up myself for Good Programming (Revise Lecture Notes etc.) -> Know about programming languages, techniques and other aspects Wikipedia uses. -> Set up my machine for development according to the previous point. -> Talk a lot with my community. -> Discuss all my ideas with the mentor and community members. -> Workout on suggestions made by my mentor and community members to prepare a final proposal for myself. June 17 - July 17 => Back-end I will start coding for a platform that will allow wikipedia to remember the highlights of user and favorite template. For that I plan to use SQL (may be My SQL) and PHP. At the beginning I will try this platform for remembering say user pages history. And then I will work on few algorithms to make it efficient as i can. My main motto will be on it's efficiently as wikipedia has more than 20 million articles and serves billion of users. So, efficiency matters a lot.. July 18 - July 25 => Extensive working with mentor Through this period I will ask for mentor's extensive advice and will further work on that. July 26 - July 29 => Brushing up for midterm submission Through this period I will brush up my app for mid-term submission. July 30 - August 15 => Front-end Through this period I plan to create 2 templates with the help of CSS3 and enabling highlighting with the help of javaScript. August 15 - September 5 => Integrating front end and back end Through this period I will work on integrating front and back end. September 5 - September 20 => Have feedback and work on it              Through this period I will ask for extensive feedback from my community and mentor and will work on that. I will also prepare documentation of my project during this period. September 20 - September 23 => Final Touch No need of explaining...