Skip to main content

Ralsina.Me — Roberto Alsina's website

Endomondo Lied To Me

A week ago I re-s­tart­ed my di­et and ex­er­cise plan. Since I am gross­ly over­weight, the ex­er­cise plan is ba­si­cal­ly "walk around 5km ev­ery day, fat guy". Since I am a nerd, I want­ed da­ta so I could stop ly­ing to my­self about how much I was walk­ing.

I had seen En­domon­do men­tioned in my tweet­er time­line a bunch of times and the fea­ture­set looked pret­ty much ex­act­ly as I need­ed:

  • Track my walk­ing

  • Keep his­­to­ry

  • Show it in google maps (be­­cause it's nice)

It even did things like track­ing calo­ries burnt and so on.

The on­ly prob­lem was... it re­al­ly sucks at fig­ur­ing out how much you walked. It con­sis­tent­ly over­es­ti­mates by around 50% the dis­tances, and since it cal­cu­lates the av­er­age speed based on time and dis­tance (and the time mea­sure­ment is cor­rec­t) it over­es­ti­mates speed by 50%, which then means it over­es­ti­mates calo­ries burnt by (I am guess­ing) 125%.

How did I ver­i­fy that En­domon­do is wrong, and avoid the ob­vi­ous ex­pla­na­tion of "y­our GPS is bro­ken"?

  1. I tracked my­­self us­ing En­­domon­­do and Google Trails at the same time.

  2. I coun­t­ed steps ro­­man-mile style (count ev­ery "left­­-right", mul­ti­­ply by 1.6)

  3. I mea­­sured the path I walked in Google Maps and Bing Maps

All those mea­sure­ments tell me a walk of 1100m +/- 150m is mea­sured by En­domon­do as 1.68 km

Ver mapa más grande

Why does this hap­pen? I could as­sume En­domon­do is just crap, and prob­a­bly be right, but try­ing to come up with a "in­ter­est­ing" ex­pla­na­tion, I am lean­ing to­wards noisy mea­sure­ments. For ex­am­ple, if En­domon­do saw my po­si­tion shift­ing ran­dom­ly 10 or 15 me­ters left or right it would prob­a­bly add enough noise to make the path 50% longer (for a much more fun ex­am­ple of this, read this pa­per (by no oth­er than Benoit Man­del­brot!) but this does­n't ex­plain why Google Trails works so much bet­ter (un­less Trails does some­thing smart with an­tialias­ing and in­ter­po­la­tion).

If you use En­domon­do, care to share your ex­pe­ri­ence? I am re­luc­tant to 1-s­tar it in Google Play with­out in­de­pen­dent con­fir­ma­tion.

How I Made My Phone Useful

So, I got this phone on my trip to the US. It's a Gal­axy SII vari­ant called the S959G. It's not a very com­mon vari­ant, and of course it was locked to a net­work that's un­avail­able here, and comes with An­droid 2.3 which is an­cien­t, so it need­ed some fix­ing.

And man, the An­droid com­mu­ni­ty is a mess about doc­u­ment­ing stuff. So here's my shot at it.

This on­ly ap­plies to THIS PHONE if you go blind do­ing this, or your dog catch­es fire, not my prob­lem.

The goal:

  • Un­locked

  • Root­ed

  • New­er An­­droid

  • Google Apps

  • Done us­ing Ubun­­tu (be­­cause I pre­fer it)

The process is a bit length­y, but sim­ple.

Install heimdall

It's in the re­pos, just use ap­t, piece of cake

Go to the XDA page for this phone be­cause that seems to be the canon­i­cal in­for­ma­tion source.

Get (from where it says "The best way to root") the CWM RE­COV­ERY v6.0.27 file. It's called CWM-Re­cov­ery.­tar.md5 be­cause ver­sion names are for the weak.

Get the recovery.bin that's inside it using tar xvf CWM-Re­cov­ery.­tar.md5

Put your phone in­to down­load mod­e. For this mod­el that's done like this:

  • Turn off

  • Plug in­­­to USB

  • Press Vol­ume Up and Vol­ume Down (keep pressed)

  • Press pow­er (keep pressed)

  • When Sam­­sung ap­­pears on screen, let go of pow­er but­­ton

  • When you see a warn­ing sign, let go of vol­ume but­­tons

  • Click Vol­ume Up

Flash the recovery.bin using heimdall: heimdall flash --re­cov­ery re­cov­ery.bin

Now you have to go in­to re­cov­ery to make back­up­s:

  • Turn off

  • Un­­plug USB

  • Press Vol­ume up and down and hold

  • Press pow­er

  • Let go of pow­er when Sam­­sung flash­es

  • There you are

In this mod­e, vol­ume up­/­down move the cur­sor up­/­down and the pow­er but­ton choos­es the se­lect­ed op­tion. Do the ob­vi­ous thing to do a back­up.

Turn on the phone and make sure it work­s.

Now copy the Cyanogen­Mod zip file from XDA (or any i777 im­age) in­to the phone's SD Card some­how (drag and drop in Nau­tilus works ;-)

Go back in­to re­cov­ery mode as above.

Clean up the phone: Clean data, cache, and in ad­vanced, clean dalvik cache.

In­stall by us­ing "In­stall zip from sd­card" and choos­ing the right one, and do­ing the ob­vi­ous thing.

Boot the phone, it should now be in Cyanogen­Mod (yay).

Try to make a phone cal­l. If you can't and/or the phone asks for a SIM PIN, it's still locked. To un­lock I used this APK which was untest­ed on this mod­el, but hey, it worked.

You may al­so need to in­stall one of the "modem" files from XDA. Just put them in the SD card, go to re­cov­ery, and in­stall one, try, if it does­n't work then try an­oth­er one.

Get gapp­ from the XDA page.

Copy that in­to the SD card, then in­stall from re­cov­ery mod­e.

And that's it. If it fail­s, you can prob­a­bly go back to some­thing rea­son­able us­ing the stock firmware that's in the same page, but I have not done it so I don't of­fer in­truc­tion­s.

Good luck!

Contents © 2000-2021 Roberto Alsina