Google Summer of Code/2010/AcceptedProjects/AndroidPOICollector

From OpenStreetMap Wiki
Jump to: navigation, search

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

Bonding period

Specs

Linkdump

Week 1

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

Week 8

Week 9

Week 10

Week 11

Week 12

Week 13

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)