User:Seer~mediawikiwiki/GSoc2010

Abstract
To bring Wikipedia POIs (Point of Interest) into a maps-layer that is stable under high load.

Identity
Name: Shubhendra Singh

Email: shubhendra DOT singh AT yahoo DOT co DOT in

Working info
Time zone: UTC/GMT -7 (USA)

Typical working hours: 10:00 – 09:00

Project summary
I started with discussing the idea of interactive maps with User:Kolossos. Where I had vision of showing a map if you are going over a link, this would enable the user to find out location of a particular POI. The idea was revised to, "To show Wikipedia-POIs on a map". There is already a fast way to handle Wikipedia POIs with the help of a Quadtree inside Wikiminiatlas but need to make this in Openlayers. There exist some of the wanted features in Wikipedia-World-Project, but it produce a high load on the database server so it is not possible to use it on maps inside Wikipedia-article with a lot of request per second. So we need high performance to showing Wikipedia-POIs to use these inside the OSM-WP-collaboration projekt. The Wikipedia-World-Project works with the Network-Links feature inside KML file format. For this feature has OpenLayers no support, so we need a new way like in.

The support for maximum number of languages is a really good feature and a filtering by relevance to the topic is necessary as POIs shown shouldn't put too much pressure on database. A nice feature would be to render names on the map, so everything is visible on the first look, which is much better than showing a cluster on map. Map shows icons according to relevance of article so instead of all "W"-icons, use different icons for churches, tower, museums etc.

It would be really interesting to make Wikipedia layer which can be used to connect parameter "name" (article topic) to more than one coordinate. For example, lets say we have a wiki page on "Titanic" the famous ship, and we could show on the map where it was build, where it started and where it sinking.

About me
I am a Computer Engineer completed my bachelor's in 2009, since then I am studying towards my Master's degree at Arizona State University. I have been developing softwares for past 4 years on different platforms using different tools. I have special interest in developing software's for mobile platform as development here makes programmer think about all the constraints such as battery life, CPU cycles, efficiency and many more aspects. I have developed software's on Symbian based phones and also on iPhone. I simply love innovative ideas and like to do work on creative projects. I was nominated as Forum Nokia Champion in year 2009. I was also in Forum Nokia Developer Advisory Council for Nokia Maps and Nokia's Web developer's library.

My drive for the work is innovation and creativity, I have even worked on project related to Traffic control on freeways as the project had some new challenges and to make the project successful I had to think out of box. Reason to participate in GSoC is due to various reasons firstly this project idea will cater to MediaWiki User's to understand articles more clearly and find the association between different articles. Contributing to MediaWiki is in turn contributing to millions of user's. Better usability for user's ensures better feedback.

I have experience with Python, JavaScript and have worked on some other languages for different projects example C, C++, Java, Perl, Visual Basic. I have worked with MySQL, sqlite3.

Required deliverables

 * Wikipedia POIs in Openlayers


 * Support of widely spoken languages


 * The layer of Wikipedia POIs having multiple icons


 * Wikipedia layer which can be used to connect parameter "name" to more than one coordinate

Project schedule
The exact schedule will be put once requirement phase of project is over. Requirement phase generally takes around 1-1.5 week for 3 months project. This phase requires to understand problem statement, watch the inputs and decide desired outputs. Look for algorithm that will best suite the needs and also understand the possible points of failure. Even understand what currently lacks in already existing solutions.

With the requirement phase done the designing phase starts which will take around another week to design the whole system according to the project, this includes software installation on a machine, look for best versions of different softwares which can interact without problems. Design the algorithm keeping in mind which software will do what task.

Coding Phase, simply code algorithm (Approximately 1.5-2 months).

Testing Phase, 1 week time should be good enough to test this project.

Another week to understand the changes need to be made after testing phase, or from wish list created for this project which are easily attainable in given period of time left (For this there really needs to be a small bug list).

This is multitasking work which requires to document work and take opinion from mentor on daily terms.

Participation
The direct communication with MediaWiki community on mailing list and with mentor on a daily progress basis is good option. Setting up milestones and working towards milestones is a good strategy.

Past open source experience
I was one of the co-founders of Manipal LUG. I have been using open source softwares for past 4 years. LUG Manipal