Categories
Blog

How far have we come?

Things like these makes me wonder, with all the advances in computer science how far have we really come?

  • 40 years after the invention of relational databases we are still manually defining indexes
  • 40 years after the invention of Unix, the scheduler in Android (= Linux) still does a terrible job at scheduling the tasks that really depend on it (games and audio)
Categories
On the web

AndNav2 is now Open Source

Wow this is quite a nice suprise. Nicolas gave in and released the source of AndNav2. So I can now spend my time hacking that instead of reverse-engineering it 🙂 I rooted my HTC Hero so I actually don’t need to do that anymore, but that is really beside the point. With the source available there is no ends to what can be done 🙂

As I have said before, I really think this is a killer app for Android. Google released their navigation which is nice, but I’m not sure how well it works in offline mode.

Categories
android

Andnav2 working on Hero again

First a short background. HTC Hero released with android 1.5. Google releases android 1.6 with TTS (text-to-speech) support. Andnav2 working fine since it uses external tts library. Author of Andnav2 (Nicolas) releases version compatible with android 1.6, but leaves all users of 1.5 devices out in the cold. The update was uploaded to marked with NO warning. After many talks back and forth Nicolas finally agrees to release a version that at least starts up on 1.5, but still crashes when using turn navigation. HTC announces that they are working on a new firmware based on 2.0, but release has not yet been determined.

So with that history out of the way, I now announce a version of AndNav2 that works on HTC Hero by simply removing all the calls to TTS. You can download the version here. Please note that you need to uninstall your previous version of andnav2 first as this version is simply signed with the android beta key.

I could have removed all the ads as well, but that was not the point of this reverse engineering. I simply want to be able to use a program, which in my view, is the killer app for the android phone. Don’t get me started on Google Maps with navigation. It’s US only, not based on OSM, and works only on android >= 1.6.

Enjoy 🙂

Categories
android

Getting android emulator running on Ubuntu 9.10

I had a little trouble getting the android emulator running on my laptop. I wanted to start debugging why andnav2 is no longer working. Hopefully Nicolas can get it fixed, but it appears that he’s quite busy 🙁

The first problem I ran into was that the buttons in the tools/android application where not responding properly. Starting tools/android with the env variable GDK_NATIVE_WINDOWS=1 fixed that problem. Next problem was that the ssl mirror for getting the different SDK versions was not working. A quick google revealed that adding a sdkman.force.http=true to ~/.android/androidtool.cfg fixed that. Do not try to just remove the http. You’ll get the SDKs, but it will not work.

Last problem was getting java jdk working. I settled on openjdk as it seems to be the way forward. Be sure to use java-alternatives to set your java version. Sun-java6 seems to be 9.04 so I should probably remove that at some point. Just don’t want to ruin my webbank 😉

After getting everything up and running I tried the debugging tool and it appears to be really neat. It has tons of debug information, even down to when the GC is running, and was able to give me a proper backtrace of the problem. Another really cool thing is that it’s extremely easy to test ones application one 1.5, 1.6 and 2.0 by simply running 3 different emulators. Or different screen sizes for that matter. One can also see some of the goodies coming in android 2.0. The browser seems to have gotten a nice overhaul. Can’t wait for HTC to release an updated ROM based on 2.0.

Categories
android

8 free android apps and two web

One of the more interesting aspects of the HTC Hero for me was the android market. As paid applications are not yet available in Denmark, this list only includes free (as in beer) apps:

  • Locale: Brilliant and simple program to handle profiles automatically. Currently I just use it to have the phone silent when at work and with ringer on at home. But there are endless possibilities with this application. No wonder it won the Android Developer Challenge 1 competition. Highly recommended.
  • Facebook: pretty decent way to read and post status updates. Mostly needed because their website sucks in the browser.
  • Flickr.com: While not an app, the web site is simply a blast to use with the browser. Way to go flickr!
  • Wikipedia.com: Also not an app, but I’ve tried a few different apps, and the web site beats them all hands down. Don’t bother installating any apps.
  • AndNav2: I wrote a seperate post about it here. I’ll just add that I tried mapping with it yesterday and that also works perfectly. This application for me is the killer app for the android right now.
  • Google sky map: Mostly a wow-factor application but to be fair this application is pretty nice.
  • PMix: Application to control music player daemon (mpd) that I use at home for playing music. It’s ok, but still quite rough around the edges (=crashes).
  • Skype lite: The software uses normal phone minutes for calling and thinks its a feature. Very disappointed.
  • Pro football live: Just to keep up with the latest games. Works pretty well. The best NFL app I have used.
  • Advanced task killer: The best I have found to keep the android running lean and clean 🙂
Categories
android

Getting album covers working on the HTC Hero

I’ve been strugling getting album art working properly with the music player included on the HTC Hero. Covers was only working for some albums. After a bit of googling and a few different tries, since there was a lot of misinformation on google about this problem, I finally figured out how it works. The player reads covers from a tag on the files. This is apparently the only way it supports covers. The player after reading a new cover, then thumnails them and stores the thumb in the albumart directory on the flash. The first application that I tried to add the album art to the files was Easytag, sadly it has a pretty nasty bugs that leads all the covers all fucked up. That combined with the caching of the player, left me strugling trying to correct the covers after I found a tagger that actually worked. So please don’t try that at home 🙂 My second try was Kyamo, which I can’t recommend sadly. There are simply too many things that sucks in it. Things that combined makes fixing up ~10gb music a complete pain in the ass. I finally settled with Mp3tag, it’s for Windows, but at least it works quite well and its free (as in beer). Another annoying thing about the player is that, while it supports Ogg Vorbis, it doesn’t understand covers embedded in ogg. So no cover for those albums. Ah yeah, I should probably also mention that the thumbs generated are in 320×320, so in my experience around 500×500 pixels works best.

Hopefully this should help others, who have been struggling with figuring out how the hell the music player on the HTC Hero handles covers.

Categories
android

Andnav2, open maps for the android

As I was researching the android platform before buying a HTC Hero, one of the things that really got me excited was the mappping/gps application andnav2. It’s a frontend for openstreetmap, that uses the open routing service to provide turn-by-turn, all for free. The only thing is that it requires is a internet connection for routing, but it’s not really a problem as a route is only a few kilobytes. Maps can be preloaded onto the device also, for situations where one doesn’t have an internet connection available (like when traveling). I used the nice TrekBuddy atlas creater application to fill the device with maps of all of Denmark, London, Berlin and Europe at a decent level.

I was really impressed by the openstreetmap when I was in Corsica earlier this month. I had preloaded maps onto the device before going and it really served us well as the rented car didn’t have a GPS, and my other GPS of course didn’t have maps for Corsica. This was using the excellent maemo mapper and the Nokia N810, but it should be the same with the android.

The user interface of andnav2 could use a lot of cleaning. It’s not very user-friendly, but it will hopefully improve. As the coverage of openstreetmap improves, it will be harder and harder for companies like Tom Tom to ask 750kr for their mapping application like on the iPhone.

Also as the search interface in android marked sucks hard (of the irony Google), one needs to enter andnav2 and not andnav, as that will only show the older version.

Happy mapping!

Edit: The author released a new version, that only works on android > 1.6 (because of TTS), and appears to not really care about older versions of Android. I have approached him multiple times asking for him to fix it, sadly he’s been playing the silent ninja. Just making the old binary available would be fine, but sadly no. Since the source is not available there isn’t much we can do except wait for HTC to release the 2.0.

Edit2: Working version available here: http://people.iola.dk/arj/2009/11/25/andnav2-working-on-hero-again/

Categories
android

Fixing the HTC Hero Sync installer for non-english versions of Windows

I recently aquired a HTC Hero phone. More on that later. First I just wanted to help out other poor souls out there, who are forced to use Windows to upgrade the software on the phone. There is a bug in the installer for the HTC Sync program which leads to the drivers not being installed, in turn resulting in the inability for the computer to find the android device. Very frustrating to the say the least. The installer writes the driver to the localized program files directory (on a Danish version of Windows this is C:\Programmer), but looks for it at the hard-coded path C:\Program Files, resulting in the drivers not being installed. Fixing the problem is pretty easy:

  1. Copy the HTC directory from C:\Programmer to C:\Program Files (you might need to create this first)
  2. uninstall the HTC Sync application and the HTC drivers
  3. Reinstall the HTC Sync application

After that you should be able to upgrade the phone to the much improved new firmware.

Happy phoning 🙂