Google Summer of Code/2010/AcceptedProjects/AndroidPOICollector
Project Overview
Title
Mobile POI Collector
People
- Student: Paweł Niechoda
- Mentor: Artem Dudarev
Objectives
We use maps to find the location of places which we need to visit (like shops, banks, cashpoints etc.). These points are called Points of interest (POI) and there are essential for map usability. My proposal is about creating easy-to-use POI collector browser application, which would work on all possible mobile platforms: android, iphone, blackberry and so on.
Wiki Page
The main wiki page for the project is Mobile POI collector.
Waves with discussions
Outline Programme
Main aim of the project is good usability. To achieve it end user should be involved in project development. This is why whole development will be dived into two increments. After first one software will be tested by users. Feedback given by users will be base for 2nd increment.
24 – 30 May: creating application frame
31 May - 10 June: implementing displaying map
11 – 15 June: handling GPS device, implementing marking current user position on map
16 – 20 June: logging to OSM account
21 June – 12 July: implementing adding/editing node
Mid-term evaluation aim: application should has base functionality which enables POI collecting
13 – 20 July: testing application (also by OSM users), user feedback, fixing bugs
21 July – 9 August: improving application according to user feedback, fixing bugs, in case of need finishing features which have not been implemented yet.
10 – 20 August: users test application, last fixes, writing documentation
Current Outstanding Issues
I need to resolve the following issues to complete the project:
- Choosing the framework which I would use in project, I am considering 3 frameworks: Phonegap, Rhodes, Titanium.
Weekly Reports
Week -4
Progress Update for Week Ending 2010-05-02.
Achievements this week: creating drafts of project wikipages and project svn repository.
Week -3
Progress Update for Week Ending: 2010-05-09
Achievements this week: decided to use on of cross-platform mobile frameworks (Phonegap, Titanium, Rhodes) as app framework . Taking a closer look at each of them, to decide which will be the most suitable for the project.
Week -2
Progress Update for Week Ending: 2010-05-16
Achievements this week: studying about possible frameworks, evaluating them, found some new ones, decided to limit choice only to Phonegap and Rhomobile. Specified aims for next week (doing some programming with both frameworks, looking at them to decide which would be better).
Week -1
Progress Update for Week Ending: 2010-05-23
Achievements this week: studying and testing possible frameworks (Phonegap and Rhomobile), decided to use Phonegap, wrote draft app specification, indicating things to do in the next week.
Week 1(GSOC starts)
Progress Update for Week Ending: 2010-05-31
Achievements this week: starting implementing the general application structure.
Week 2
Progress Update for Week Ending: 2010-06-06
Achievements this week: creating base app structure, implementing map display view, some base navigation, testing application on the android emulator
Progress Against Plan: whole application structure is not ready
Week 3
Progress Update for Week Ending: 2010-06-13
Achievements this week: working on implementing handling gps device, made map draggable
Week 4
Progress Update for Week Ending: 2010-06-20
Achievements this week: working on implementing handling gps device (improving it to work with android version higher than 2), creating second version of application, putting very test version of two applications on webpages (it tests map displaying and getting gps coordinates):
http://bialowieza2009.home.pl/poicollector/android-khtmlib/
http://bialowieza2009.home.pl/poicollector/android-openlayers
Week 5
Progress Update for Week Ending: 2010-06-27
Achievements this week: adding jqtouch library, adjusting code to use jqtouch. Creating new outlook, Working on implementing adding/editing POI mechanism (not finished yet). Studying and experimenting with dragable markers in android browser.
Week 6
Progress Update for Week Ending: 2010-07-04
Achievements this week: improving GUI(changes in editing form, map displaying form), refactoring code. I added support also for IP geolocation. GUI prototype: http://bialowieza2009.home.pl/poicollector/android-openlayers
Week 7
Progress Update for Week Ending: 2010-07-11
Achievements this week: changing the GUI (the way of zooming/moving map), first tests with real mobile device, fixing bugs, working on saving/sending POI data to the server (not finished yet).
Week 8
Progress Update for Week Ending: 2010-07-18
Achievements this week: handling communication with osm api (creating changesets, nodes), some changes in GUI, improving code responsible for reading gps coordinates, testing & fixing bugs
Week 9
Progress Update for Week Ending: 2010-07-25
Achievements this week: implementing reading current POIs, editing them (forms, communication with API), changes in GUI, fixing bugs
Week 10
Progress Update for Week Ending: 2010-08-01
Achievements this week: work on implementing drag-able map (with TouchMapLibrary), refactoring and improving code organization.
Week 11
Progress Update for Week Ending: 2010-08-08
Achievements this week: straggling with drag-able version of application, improve POI type edit (added new POI types), code refactor, fixing bugs.
Week 12
Progress Update for Week Ending: 2010-08-16
Achievements this week: code refactor, fixing bugs, writing documentation
Problems: problem with geolocation (it's causing application crash on some android versions)