Tag Archives: Android

WordMix Android game in the Market

My first Android game is ready to be released in the Google Play Store (former Android Market).

The game is pretty simple and very similar to Toss Words, Spill and Spell, Perquackey or the German games Letra-Mix and Wörter Würfeln.

In the game you get a set of random letters and you have to arrange them in a limited time to valid words. The words are checked against a database of valid words using available spell checkers. After the first update, the game comes with support for English, German, Romanian, Spanish and French, both the dictionary and the localization of the user interface.

Get the game fresh from the Store, while it’s still hot: 🙂

https://play.google.com/store/apps/details?id=de.saschahlusiak.wordmix

T-Mobile ate my EXIF-Headers

I was debugging my Frupic Android app the other day, trying to rotate images according to the orientation stored in their exif headers.

The necessary Android class ExifInterface(String filename) to read exif information from local files was quickly set up, but I couldn’t get it to report the correct orientation, it always returned ORIENTATION_UNDEFINED (0).

After debugging my code for a while on my physical device, double and triple checking on my PC that the file to be downloaded actually contained correct exif information, I found out that the file on the phone was about 2kb smaller than the file on the PC and on the server.

I knew my phone was downloading the file over my German T-Mobile data connection, believing that T-Mobile does not touch the files when requesting the image directly. I also knew that T-Mobile does replace image URLs in HTML files to be able to cache requested images on a server close by and I also knew they might compress them. I assumed, T-Mobile would not binarily alter a file if it is directly requested.

Browsing to http://speed.telekom.de (only available from within their mobile data network), customers are able to alter the behaviour of T-Mobile’s transparent HTTP proxy:

  • Compress Picture- and Video transfers (this reduces quality and filesize)
  • Optimize transfer without loss in quality
  • No optimazion

Default is to optimize the transfer without loss in quality, which apparently does remove all exif headers from downloaded images but is also told to remove comments from HTML code and doing other micro optimazion stuff.

While I can choose to enable exif headers for slightly more traffic, it’s clear that my Android App can not rely on the exif information being available, unless the images are downloaded over SSL. I guess I am just one of few who have actually hit this limitation and I do not mind it being there. Could have saved me a lot of debugging time though.

FruPic App for Android

FruPic App in Google Play Store

 

Finally my second Android App is done, this time an image viewer and uploading app for the FruPic image sharing site: http://frupic.frubar.net.

The app shows the posted images in a nice grid-like overview or as a flingable gallery, offering abilities to download or re-share the posted images as well as upload pictures from your gallery to the site in two clicks.

I integrated an offline caching mechanism of the downloaded data, so you should be able to browse FruPics as far as they are previously cached.

Get the app fresh from the Google Play Store (former Android Market):
https://play.google.com/store/apps/details?id=de.saschahlusiak.frupic

And the source code of this thingy lives on github:
https://github.com/shlusiak/FruPic-App

 

Android App for HRW IT-Monitoring

Android App
HRW IT-Status in Google Play Store

Android is an interesting platform and it’s easy and fun to develop for. My first app is a very simple tool to query the IT-Monitoring state from the University of Ravensburg-Weingarten, as also available on their public website:

http://www.hs-weingarten.de/web/rechenzentrum/dienststatus

In the background, a complex Icinga installation provides the necessary data, making it available through a public XML interface.

The app is available in the Google Play Store (former Android Market)
https://play.google.com/store/apps/details?id=de.saschahlusiak.hrw.dienststatus

Source code is also available on GitHub:
https://github.com/shlusiak/HRW-Dienststatus