Moving favorites from Google Maps to OsmAnd

I used to have Google maps on my android phone for a long time, but I faced two simple problems:
1- No offline maps, so whenever I'm traveling I need to get data roaming package.
2- Renaming a favorite is very tedious (Open http://www.google.com/bookmarks and edit the name), and can't believe Google is not supporting something like this but I have searched so many times and this is the case till the time writing this blog.

I decided to do some search before I go for a trip and use another free or low price software, I ended up with two software OsmAnd and Copilot GPS.

OsmAnd: It is free and offer 10 files download (9 maps, & 1 voice), have free turn-by-turn navigation, point of interest are great and use global trusted free data from Open Street Map. You can purchase the full version OsmAnd+ for only 7.98$ (Thanks to the developer) and open the limitation of 10 files.

Copilot GPS: All maps are downloadable free, navigation is working without voice which is really important as I can't look at the mobile all the time during driving to make sure I'm on right track. The paid version that offers the voice turn-by-turn 3D navigation is available through in-app purchase for around 29.99$.

I started with OsmAnd, and following are the steps to migrate favorites:
1- Export Google favorites (Starred my places) maps as KML:
Unfortunately, Although Google has made data liberation making sure you have access to export your Google data, but till the time of this blog it is not having option for exporting starred Google maps location. You have either one of these options:
    a- Manual migrate of starred location to a Google map, detailed here.
    b- Use a python script for converting Google bookmarks to KML file, detailed here.
This is the longest step both above methods require some tweaks to work, for me manual migration only worked :(

2- Convert KML to GPX (GPS Exchange Format):
There are two ways:
    a- Online (Without installing software): Directly uploading KML to http://kml2gpx.com .
    b- For offline programs you can use free GPSBabel to convert KML to GPX. After downloading the application just use command line:
gpsbabel -i kml -f in.kml -o gpx -F out.gpx

3- Import GPX to OsmAnd:
    a- Rename the gpx file to favourites.gpx
    b- Upload it to OsmAnd on your android device folder (It will look something like /storage/extSdCard/osmand).
    c- Start the application.
    d- Go to favorites, click on import button (Looks like sync button actually).

I hope this help someone, I will update this article with my opinion in the software after trying it for a while.

-- This section added on 2013-Aug-20 on review of OsmAnd free v1.5.2 beta on Android --

Advantages
Disadvantages
1- Really can't believe this is a free application, it has lots of customization options including right and left area navigation area. It is very hard to tell what option is missing. 1- Navigation route calculation is not good, I always choose fastest, in many cases I find it computing wrong best route to destination & skipping something like high way I'm already taking and suggest another short cut in tiny streets that will take longer time.
1- Maps data are great, level of details like traffic lights, high pressure electricity line, details of public open areas are great, border crossing, fees collection gates and supported warning for such special cases, I think this is great advantage. 2- POI data is moderate, I was testing gas stations as really important during travelling by car, inside city it was ok, but on high ways between towns was missing too much data. Maybe this as I'm testing in Middle East and it is already reported with 2 stars in coverage.
3- Very stable application, I have went for trip for around 500 km without a restart, my previous Nokia maps used to restart twice for same trip. 3-Favorites data that can be stored is very limited, name & categorization only, I like Nokia maps and Google maps that you can add more data or description, like phone, URL, ...
4- Contribute to Open Street Map from within the application, and you can edit later from the site, I think you need to contribute your area at least to enhance maps and POI better. 4- When I choose location on map and use it (For map or reporting) I find the recorded pin is deviated around 50 - 100 meter from what I actually selected, and I really don't know why?!?!
Neutrel
1- Reported driving speed is always reading 3 - 5 km/hr less than the actual speed, this is happening with my two cars but this is the same case in Google maps & Nokia maps so I can't put this in disadvantage but of course affects speed warning.