Present Perfect


Picture Gallery
Present Perfect

N900 life support

Filed under: Hacking — Thomas @ 10:35


I don't want to simply be complaining about Nokia's sad Linux story ending.

It's obvious that things aren't going to get better though for Maemo device owners.

Here are two things that caused me trouble over the last few months, and the fix that did it for me, in case you were suffering from the same problems.

      The Facebook photo sharing functionality just stopped working for me. It would upload the file, then give me an error without specifying any reason. I had simply assumed the Facebook API had changed, and since afaik this plugin is sadly closed-source (what on earth possessed Nokia to make a social media sharing component closed to begin with is beyond me - what kind of IP secrets could you possibly have in there?) I thought I would have to do without for now. And it really is a hassle to manually copy photos off then share them from the desktop.

      Turns out that I simply had to re-authenticate the Sharing Account in Settings. No idea why - maybe Facebook changed some authentication system in the last few months ? Now it works again.

      (As a side note, this plugin's behaviour is really annoying when it comes to uploading photos. It will always try to upload as soon as you connect to a network, although usually all you get is access to some web page on which you have to authenticate, usually by paying, to get on to the net. The sharing plugin already blasts photos at facebook, then fails, gives you a non-useful error message, and then sits there forever without any option to retry. All you can do is cancel the transfer, in which case you will have to re-upload the photos from your library. After some time I figured out that a reboot caused it to retry all pending uploads on the next network connect, and then after that I figured out a kill of a sharing manager process did the same thing. But really, Nokia engineers - a simple 'retry' button was too hard ?)

      For the last two weeks my GPS stopped getting a lock completely. This wreaked havoc on my barriosquare/foursquare checkins as well, which simply don't register without a GPS lock (yes I still have a half-done port of bsq to the new foursquare API, but last time I tried I was still stuck on the simply terrible browser coming with the device that seems to be unable to properly complete SSL requests in emulator mode).

      I stumbled across this page and simply changed the AGPS server to google's. Worked like a charm on the next connect. Nokia, I don't know what you did to your AGPS server - surely other phones you have are using it too, not just the Maemo ones ?

      I swore I wasn't going to buy an N9 because there's no point in buying an EOL'd phone if I plan to develop for it. The reviews when it actually came out almost persuaded me to get it, and the five minutes I got to play with Luis de Bethencourt's phone got me really close. I've even seen plans in Belgium offering this phone! But really, there isn't much point if Nokia isn't going to support this phone any more and services are just going to get worse, and important parts of the stack remain closed and thus unfixable down the road.

      This month's Android course at work at least got me familiar developing for the phone and I was actually impressed by Eclipse this time around, and while Java still seems like a bitch to program in, the whole emulator setup is easy to use... Who knows, my next phone may in fact be an Android.

      In the meantime, it's nice to see that some of my fixes go noticed. That motivates me to possibly fix that other annoyance in erminig-ng - all-day events triggering an alarm at midnight and waking me up :)


  1. The closedness of code talking to social service APIs is usually a result of requirements of those APIs.

    Some of them have a brain dead concept of identifying the accessing client code or its developer(s) by using some shared secret and requiring by means of terms of services or similar that this secret is kept secret.

    The established method for doing that is to store it inside the client’s binary.

    I am not saying they couldn’t have published the code without the key but I guess that would be incur more effort (making sure the key is not in any branch of a public repository or removed before source archives are created or loaded from an internal source when doing internal builds, etc).

    Regarding the (future) support of the N9 I am less worried than for early Maemo devices. Those were targetted at developers and tinkerers, the N9 is a consumer device, heavily advertised by carriers (at least here in Austria. seen huge billboard ads already weeks before it became available)

    Comment by Kevin Krammer — 2011-12-29 @ 12:37

  2. If you want to target Android without the hazzle of Java, there is Qt for Android, a.k.a. Necessitas.

    Comment by Johan Thelin — 2011-12-29 @ 14:53

  3. N9 is really a diffefent beast compared to N900, targetted to “normal” consumers. It will get support for years, just saying.

    Comment by Petteri — 2011-12-30 @ 09:20

  4. Ok, so what happened to supl.nokia.com you think?

    Comment by Thomas — 2011-12-30 @ 19:20

  5. The facebook plugin is not really secret IMHO. The secret part is some sort of API key embedded in there for which Nokia surely had to pay facebook and thus has to keep private. Facebook maintains a ton of old and (by current standards) obsolete APIs for older mobile phones with frozen software. I guess Nokia simply stopped paying.

    Comment by zyga — 2011-12-30 @ 19:02

  6. I finally gave up on my N900, sold my soul back to Google, and got a MyTouch 4G Slide (HTC Doubleshot, which is basically a Sensation with a hardware keyboard).

    It’s utterly ludicrous that I need a Google account just to use frickin’ Google Maps, but once you’ve resigned yourself to that, I have to admit, modern Android on good hardware is a hell of a lot nicer experience than the N900.

    Of course, I run CyanogenMod rather than the garbage stock ROM.

    Comment by Adam Williamson — 2012-01-02 @ 04:43

RSS feed for comments on this post. TrackBack URL

Leave a comment