Monthly Archives: November 2012

Compass 1.1.1 released!

gabenative Compass

Changelog:

  • Introduced sensor fusion on devices with a gyroscope. This is a really big change. The result is a completely not wobbling compass arrow, when the device is not moved.
  • Changed the low-pass filter algorithm for Android 2.2 with a better one that is more responsive and is compatible with the new sensor delay option.
  • The compass now chooses the best sensors for your device for calculating the compass degree.
    • Sensor Fusion: For devices with Android 2.3 or higher and a gyroscope
    • Accelerometer/gravity and compass: For devices without a gyroscope or with Android 2.2
  • Added new settings option for the sensor delay. You can now decide at which rate the compass gets new values from the sensors. The lower this rate the less battery is consumed. If the compass does not work on your device, try setting a lower sensor delay.

More than 70,000 downloads and 500 ratings in 10 weeks!

A little more than two month ago, i looked for a fast and cheep device i could use to develop my Android apps. It was clear for me from the beginning that i needed a Nexus device with long term support and updates.

My first thought was to buy the Samsung Galaxy Nexus. It’s a fast and really nice device. But it was to expensive. At the same time Google announced the Nexus 7 16 GB for 250 €. I thought 250 € for 7″ tablet? Perfect! So i bought it. 
 
I got it, opened it and one of the first things i was looking for was the camera app to test the front camera. But there was no icon for the default Android camera app. Long story short. I made my own Nexus 7 Camera Launcher to start the default Android camera and i published it on Google Play.  I just wanted to try something out and was not expecting any success. 
 
Today, 10 weeks after the release of the  Nexus 7 Camera Launcher, i’m proud to announce that it got over 70,000 downloads and over 500 reviews, with an amazing overall rating of 4.4. It’s my most downloaded and best rated app. 
 
Thank you, guys for downloading and rating this really useful app!

How i missed thousands of app downloads

Recently i got a bug report from a reader and he complained about the fact that he cannot download my compass. So i asked him which device he was using to check if his device supports all needed sensors. It was strange that his device had all necessary sensors to get the compass to work. So i was asking myself why does Google Play filter his device.

My first thought was that there should be some kind of restriction in the manifest.xml of the compass. I looked inside the manifest.xml found out that there were 3 <uses-feature> tags with the attribute android:required=”true” and all other set to false.

<uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.location.network" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />
<uses-feature android:name="android.hardware.sensor.compass" android:required="true" />
<uses-feature android:name="android.hardware.screen.landscape" android:required="false" />
<uses-feature android:name="android.hardware.screen.portrait" android:required="true" />
<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />
<uses-feature android:name="android.hardware.faketouch" android:required="true" />

My compass was available to about 580 devices with this configuration. I thought, if i remove some <uses-feature> or set them to required=false would Google Play filter less devices? So i removed faketouch, landscape  and portrai and uploaded the compass apk file to Google Play.

Interestingly Google Play automatically added the <uses-feature> touchscreen and landscape to my app. I thought, what if i set landscape and portrai to required=false? Would Google Play still automatically add the  <uses-feature> landscape  and touchscreen? So i changed the manifest.xml and uploaded it again. Now Google Play added only touchscreen to my app and no landscape. So there it was. I got rid of one  <uses-feature> by using the following configuration.

<uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.location.network" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />
<uses-feature android:name="android.hardware.sensor.compass" android:required="true" />
<uses-feature android:name="android.hardware.screen.landscape" android:required="false" />
<uses-feature android:name="android.hardware.screen.portrait" android:required="false" />

<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />

I was curious now if my changes would get Google Play to make my app available to more devices and looked inside the product details page of the compass. I could not believe what i was reading there.

This application is available to over 1798 devices

Really Google. Really. I just removed faketouch and set landscape and portrai to required=false. How can this be the reason why the compass is now available to nearly 4 times more devices than before? My app is online since the 11th of July 2012. Can you imagine how much downloads the compass would have if i had known this before?

Well what did i learn for the future? The next time i publish an app, i will test the best configuration for the manifest.xml. So that Google Play makes my app available to as much devices as possible.

Compass 1.0.9 released!

 gabenative Compass

I’ve work on the new Compass 1.0.9 recently. Yersterday i finally finished the development and i’ve released it today. Here it is, the new awesome Compass.

Changelog:

  • Added actionbar button for screen rotation on/off toggling
  • Added Settings Dialog
  • Added Settings for auto rotation and default screen orientation
  • Image scaling quality highly optimized. Compass now looks fantastic on Nexus 7 and other devices!