Category Archives: Uncategorized

Android application backwards compatibility

11th
Mar. × ’10

Say you are an Android application developer. You have a last-generation Nexus or Droid phone, and you use for development a recent Android SDK version 2.1. Yet more than a half of your potential users have older phones with older versions of Android: 1.5 (Cupcake) or 1.6 (Donut).
You can simply ignore the not-up-to-date user base, [...]

Posted in Uncategorized | Leave a comment

The free AppEngine: how much does it cost?

17th
Feb. × ’10

AppEngine is a Google product that allows to write web applications in Python or Java and host them on the Google infrastructure. AppEngine takes care of the typically difficult tasks of distribution, scalability and fail-over. It offers easy to use APIs for web request handling, data storage, memcache, etc. One of the biggest benefits is [...]

Posted in Uncategorized | Leave a comment

Nexus One display and subpixel pattern

7th
Jan. × ’10

According to the Nexus One specs, it has a 800×480 AMOLED display.
According to Wikipedia, this is what makes an AMOLED display different from standard LCD:

It does not need a backlight, the pixels emit light themselves. This allows for thinner display.
Only the turned-on pixels consume power. In average AMOLED uses less power than LCD. The power [...]

Posted in Uncategorized | 15 Comments

Android package name

16th
Dec. × ’09

There are two independent notions of “package” in Android. One is the usual Java package, which is how the Java classes are organized inside your project. The other is the Application package, which is an unique application identifier used by Android to manage the installed applications. The two package names are completely independent and serve [...]

Posted in Uncategorized | 1 Comment

Android: allocation-free code avoids the GC freeze

10th
Nov. × ’09

When a Java program creates new objects (using new), it results in the subsequent invocation of the Garbage Collector to free up memory. On Android an invocation of the GC takes of an order of 100ms, so it produces a user-visible short freeze of the application. Especially when the application is doing some form of [...]

Posted in Uncategorized | Leave a comment

Android Proguard with useful stack-traces

23rd
Oct. × ’09

As I said in my previous post about using Proguard with Android apps, the only drawback is that the stack-traces (following an application crash) become illegible. But that is not entirely true because Proguard allows you to shrink while maintaining useful stack-traces. After this finding, there isn’t really any drawback to using Proguard anymore!
The updated [...]

Posted in Uncategorized | Leave a comment

Kreactive calculator uses the Arity library in disguise

21st
Oct. × ’09

I installed today the Kreactive Calculator from the Android Market and I realized that it uses my Arity library. As I released Arity under the Apache 2.0 License (a very permissive license), a new user of the library is usually good news. But Kreactive does not seem to be a good open-source citizen: they repackaged [...]

Posted in Uncategorized | Leave a comment

Android and Proguard, the shrink recipe

20th
Oct. × ’09

Proguard is a Java shrinker and obfuscator. It reads java .jar files and writes them back with a significantly smaller size. This is achieved by various optimizations, elimination of unused code, and renaming of classes, methods and members to shorter (1-letter) names. Proguard is a good and very useful tool for general Java projects.
What about [...]

Posted in Uncategorized | 4 Comments

Synergetic Stupidity in Java

21st
Jan. × ’09

In the Java “class” file format specification, the length of the bytecode of any method is limited to 64KB. This arbitrary limitation is bad in itself, but see below what it does in conjunction with the other stupider Java ‘feature’.
In any normal language, a literal array constant (used for array initialization) is represented as a [...]

Posted in Uncategorized | 3 Comments

Mobile Monday Warsaw

28th
May. × ’08

I just participated to the first MoMo event to take place in Poland, Mobile Monday Warsaw. There were about eight presentations, of which I most enjoyed the NFC talk by Florian Resatsch from Servtag, and the MRIA (Mobile Rich Internet Application) talk by Alex Nerst of fring (both are start-up companies). The event was well [...]

Posted in Uncategorized | Leave a comment