Projects/Atlas America: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:


<b>Project Title :</b> Geography with Environment Awareness Application.
<b>Project Title :</b> Geography with Environment Awareness Application.

<b>Please see [[User:vaish.rajan/Weekly_Updates | Weekly_Updates]] for latest about the project information/status/download links etc.</b>


<h2>Synopsis :</h2>
<h2>Synopsis :</h2>

Revision as of 18:51, 5 August 2008

Greetings !

Name : Rajan Vaish

Project Title : Geography with Environment Awareness Application.

Please see Weekly_Updates for latest about the project information/status/download links etc.

Synopsis :

When awareness comes into picture, awareness about our Earth physically and politically is also very important, it lets one know where he/she resides on Earth what all is near and far from his/her location. Studying Geography is all about it. But our earth is being hurt by Pollution, and children being future generation need to be aware of the fact early and must know causes and effects of pollution, who is causing and where is it effecting most. The application will teach it all. After being commented by SJ,I probably will now be working on A Geography teaching application which is run by Mr.Nestor Guerrero and which requires technologies like : Mapserver, OpenLayers and GEORss ( http://olpc.mixtk.com/html/base.htm ).It is a project being developed in Mexico and in Spanish,hence I have also proposed its translation using Internationalization procedures and making entire application more rich in content and user friendly.Thanking you !


NOTE:SINCE NOW I WILL BE WORKING FOR PROJECT UNDER Mr.NESTOR,WHICH IS AN EXTENSION OF THE PROJECT"ATLAS AMERICA" UPON WHICH HE WAS ALREADY WORKING,SO THE NEW NAME OF PROJECT I AM INVOLVED IN IS: "ATLAS AMERICA" .Original Wiki can be seen at : http://wiki.laptop.org/go/Geography_with_Environment_Awareness_Application
Updated : 25 April'08 .


Requesting an XO

Why I want an XO ?
I am working on this project with Mr.Nestor being my mentor where I have to develop an application using Mapserver,Openlayers,GEORss,QGIS which further require Python2.5,PyQT. The project work has just begun,so for learning purposes I installed it all in Windows XP.But as the project will move ahead further,I will be needing an XO.As the project though seems web based ,it isn't actually.We have kept in mind that XO is an educational tool and used by unprivileged children,where Internet connectivity is either costly,slow or not at all.So though the project seems web based,entire Atlas will be download able once connected to internet and then it will work like any Desktop Application, for the same we need to deal with the installation isssues,i.e installing in an XO(which actually requires to know the file system of the same,i.e configuring mapserver in this new environment and setting paths etc in accordance to *.html ,*.shp and *.map files).Finally Testing,one of the most important step of the project development process,it requires that application is properly installed in the XO and that children are not having any problems using it,it will help keeping the application simple and easy to use,as during the process we will be working on the glitches.Certainly its less possible or perhaps (not sure about the working),when an installation system is being developed for such a device,which has never been used to test its working.

Although Emulator can be installed to run the SUGAR image but its hard finding a localserver based in Python to test the lesson.Hence I request an XO to be granted .Thanks in advance !
Experience with Software/Hardware
I am a Computer Science Major,have successfully completed 5 of 8 semesters in University with a CGPA of 7.6.Hence I have a strong hold on Softwares,I have worked on various softwares like Visual Studio.NET 2003,2005,Visual Web Developer,Quantum GIS,Eclipse,NetBeans,Adobe Photoshop,Dreamweaver. I am a primarily a Windows user,but I have worked on Fedora for the purpose of Networking programming in C and used Red HAT for studying Compiler Design i.e using LEX and YACC tools. Regarding hardware,I have studied Computer Systems architecture and worked on Assembly Language programming with Registers.I have fair amount of knowledge about RAMs/ROMs and many times fixed my computer.
Additional Info/Notes
I am a Children loving soft hearted person,that makes OLPC my first destination to work for.I am an OLPC fan and I am a thinker by nature,I have great IDEAS on certain new projects on which I want to work in future,I want to have a long term connection with OLPC and continue working for the same,even when I am no more a student and in work,i.e Long term commitment.Turning my IDEAS into reality,I have benefited few Startups in United States with my Ideas and Strategies.Now want to bring those to this great cause,combining with my technical skills.Thanks!
Number of XOs Required? 1
Duration of Project 3 Months
And YES,I agree that I will readily give XO to anybody working on an OLPC PROJECT in the area near mine,if I am not working on any project by OLPC Updated:26May'08

Benefits to One Laptop Per Child  :

Since the project is children oriented and children being our future generation so they need to be smart and remain aware of the World around them Both physically and environmentally. Also in today's scenario a lot of children are getting dependent on tuitions and teachers and forgetting the best way of study – self study. The application will make them habitual for the same. So, it will benefit in development of child’s personality too, as an aware child is a smart child.

Deliverables :

A complete Geography with Environment Awareness Application with proper documentation attached with snap shots will be provided.

Project Details:

The application will be coded in Python as it’s the Organization’s requirement and a very powerful language. The Application will be divided into two parts basically Geography and Environment which will be connected later. A Smart World Map will be the platform for learning very similar to the one line in Microsoft Encarta for Windows. The GUI may be used using QT 4.3.4 GCC 4.2.1 . where in the *.ui file the event handling will be implemented.

Geography module will help children learn about various Physical and Political features of Earth. There will be a Tutorial section and for each tutorial there will be an interactive exercise followed by a game. Studying from tutorial will help students or children learn to study on their own, improving self dependency. There will be small chapters like Rivers of World, Mountains of World, Plateaus of World, Vegetation of World, Oceans and Seas of World and similar. After they are done with the chapter, they have to tick on the index. Only after it is ticked, the child will be allowed to go through its interactive World Map round, where from a database of hundreds of questions will be randomly generated and student has to mark that place on the World Map, by DRAG – DROP and CLICK THE LOCATION features. Easy/Medium/Tough levels will be for choice. On that basis the score will rise high. But before starting Physical World’s exercises. It will be advised to go through the Political Map or Tutorials first. A Master Map for both physical and political features can be viewed anytime while tutorials, however while exercises it will be blocked. Chapters on States of Countries, Countries, Continents, Cities will be set for children. In total about 100 tutorials will be there for Geography itself, for interested students the maps will get more detailed. If needed FLASH will be implemented so that students/children can have a better understanding of maps.

The game related to improve knowledge of cities and countries etc. will be a game between child and computer, where names of cities, countries, physical features like rivers, oceans are used. as the child enters a name the word with which name has ended, computer responds with a name starting with that without repeating the words already being used in that session. This will help in increasing the knowledge of names of cities and countries etc.

Environment Module will help children learn about various sources of pollution and ways to protect our Environment. Instead of tutorials though Articles will be placed for students to understand Sources of Pollution, Types of Pollution, Ranking of Countries in terms of pollution, Ranking of polluted rivers etc., students while having a session with exercises will be ranking them again or similar questions maybe put upon. Topics like: which industry pollutes more and Global Warming like issues will be dealt too. Wildlife won't remain untouched either.

Global Warming monitor can be used, where on increasing years one can see the state of coastal areas in future. And on increasing/decreasing the rate of gases causing pollution will re-show the state. Using a slide bar such a feature can be dynamically noticed.

It is a heavy database application with SQL queries running it.

Project Schedule:

The Project is planned to be split into 4 stages.

1 – ANALYSIS (26 May – 10June): Using Software Engineering techniques, I will be creating the work flow of the project and design the Database for the same.

2 –RESEARCHING AND COLLECTING DATA/INFORMATION (11June – 20 June): Since this is an informational application so data for the same and some research in that respect must be conducted.

3 –GEOGRAPHY MODULE (21 June – 21 July): Functionality for implementing Geography Module will be done during this phase starting with building up the database probably MySQL. The names game will be part of it.

4- ENVIRONMENT MODULE (22 July – 10August): Functionality for implementing Environment Module will be done during this phase. The Global Monitor will be part of it.

5- TESTING AND DOCUMENTATION ( 11 August – 18 August ) : Final and Robust testing with proper documentation pasted with snapshots to be prepared.


My Project deadlines remain same,i.e August end even if working under Developer's/Contributor's programme .Accepted by my to be mentor Mr. Néstor Guerrero.Thanking you.

Changes after being Commented :

Instead of Qt and MARBLE, after being commented I now will be using PyGTK (Python and GTK. And for the Maps drag and drop, I propose few methods:

1 :There is a very nice combination of Python and Desktop GIS (Geographic information system) where maps can be obtained as image (bitmap) maps which are georeferenced, mostly one can use terraserver maps, but any map with a world file will work. One can go to http://www.acme.com/mapper/ and create the map needed. Then click on the "Save Map" button. Saving the image in a file ending in 'i', and the world file information in a file ending in 'w'. Putting these files in a directory called 'maps'. Then, copying the file '/usr/bin/makemaps' from the iPAQ to the desktop. One needs the Python Imaging Library installed. It looks in the ./maps directory for images, then constructs an index file in maps. Copying all of those files (one really only needs the images and index, not the world files) to /usr/lib/pygps/maps/, and its good to go!

Logic for the implementation will be same, that is grabbing the latitude/longitude and the position with respect to monitor (so that mouse can be used to drag and drop, the capital to respective country) and matching it with the value stored for the capitals name (it can be label too). We have inbuilt drag-drop features in PtGTK which functions as follows:

  • Drag begins. Source can get "drag-begin" signal. Can set up drag icon, etc.
  • Drag moves over a drop area. Destination can get "drag-motion" signal.
  • Drop occurs. Destination can get "drag-drop" signal. Destination should ask for source data.
  • Drag data request (when a drop occurs). Source can get "drag-data-get" signal.
  • Drop data received (may be on same or different application). Destination can get "drag-data-received" signal.
  • Drag data delete (if the drag was a move). Source can get "drag-data-delete" signal.
  • Drag-and-drop procedure done. Source can receive "drag-end" signal.


2 :Using a simple picture of world map or any map in this case,to make it smart and intelligent. I will be using 3 main objects which comes with PyGTK, namely:

1 - gtk.gdk.Pixbuf (which is an object contains the data that describes an image using client side resources). 2 - gtk.TextBuffer (is the core component of the PyGTK text editing system which contains the text, pixbufs and child widget anchors that are displayed in one or more gtk.Textview widgets ) 3 - gtk.TextView (is a widget provides the display for the contents of a gtk.TextBuffer object). Now I can create a pixbuf using a image (a map's image) and you can imagine a textview as the UI gadget of a texteditor and text buffer is the part that stores all text data of a textview. But good thing is we can use a textview to represent any images other than text data. So I can create a pixbuf using an image, insert pixbuf to textbuffer and finally use that data in textbuffer to be represented in a textview.

Now comes the task to make Map intelligent, i.e. setting boundaries, as this is India, this is USA, this is Canada, etc. I plan to set variable say country_id x_start x_end y _start y _end now when a Drag and Drop occurs, I will match the mouse coordinates with the ranges in the DataBase and if the matching country matches with your answer for the question or say London with England. It's done! Though for this I will also have to maintain a Q&A DB and one for Boundaries .


3 :Using Google Maps API or Yahoo! Maps API, which work in Desktop applications very well. And incorporate Drag-Drop features. Also grabbing latitudes/longitudes won't be a problem using these API's, which will be used to match. Say capitol with its respective country.


4 :Using PyGAME,See to this : http://www.pygame.org/projects/10/472/?release_id=811 A nice 3-D World Map already there, which is open source. Using which I intend to implement my Geography game's functionality. It will not be tough to implement, perhaps the 3-D look will give a more interactive vision to the students.


I am proposing many methods and techniques for its implementation,so that the best can be chosen from a variety of choices, looking at all aspects like less resource consuming, easy implementation, student friendly, robust, etc. So if I am selected for this project, my mentor can choose the method he/she wants me to work on.

On SJ's call,I probably will now be working on A Geography teaching application which is run by Mr.Nestor and which requires technologies like : Mapserver, OpenLayers and GEORss upon which I have started working too .It is a project being developed in Mexico .Thanking you !

Bio:

I am a 6th semester Computer Science Major from India. Currently pursuing my B.S equivalent B-Tech from Jaypee University of Information Technology, Solan, H.P, India. I have been programming in several languages for more than 3 years like C, C++, JAVA with Basic J2EE, ASP.NET using C# and PHP. I have been always very passionate about Computers and Ready to Learn attitude. I believe in self study which makes me very self-dependent and Challenges Loving. Amongst Human speaking languages, I have full command on English and Hindi. I am a novice developer in Python but with my knowledge in many Object Oriented Languages, I am confident to learn Python in 1 week before 26th May. I have a sound command working on Database projects and handling SQL queries. I have experience in working on Real World Open source Applications like the one I made for IBM’s Great Mind Challenge 2007 using Basic J2EE .AJAX is my current area of Interest and I have been developing applications using PHP and AJAX. Hence I firmly believe that I will be able to successfully complete the project well in time. I have already made few 3-TIER architecture applications successfully.

I am decently strong in technical skills, on that basis I have been recruited by ASIA’s largest software company (TATA Consultancy Services) and ACCENTURE and awarded the post of Consultant currently for an Online Internship at a US based firm (Music Management LLC). Within short span of time I became important member of the team due to my IDEAs and Strategy making skills. I have this hobby of thinking new IDEAS for software improvement and innovation. Which is the best asset I have, I will keep adding Ideas to the project even after it’s over for the GSoC ’08 session and contribute to OLPC life long along with my work for any company. I will remain committed to OLPC. However, I won’t be able to visit Boston during summers due to money constraints. Geography has always been one of my favorite subjects and I won JOINT UNIVERSITY GEOGRAPHY QUIZ in 2006. I am very keen to contribute for OLPC and be a part of such an ambitious project for a great cause.

Please contact me, if any part of the proposal remains unclear, thanking you.

Thank you for considering this proposal, and for your time!

My Resume : http://vaish.rajan.googlepages.com/myresume E-Mail : vaish.rajan@gmail.com