Math Formula

Wednesday, February 8, 2012

Progress Report: My First Mobile Application

A couple of weeks ago, I made a bold claim on this place: I want a tiny little piece of the mobile development cake. So, three weeks later, how am I doing with my first mobile application? Time for a quick update!

As I indicated in the last post already, I'll try to sharpen the knife on a simple, yet maybe useful application: a currency converter. Unlike other converters, though, on mine it is NOT required to select base and target currency yourself. Instead my converter has the ability to automatically "guess" your most probable conversion (based on your native and current location), and consequently I call it Auto Currency Converter.

Key features are:

  • Support for more than 170 countries and more than 130 currencies
  • Automatically maps a country to a currency
  • On app start, automatically provides conversion between your most probable choice
  • Keeping track of your most recent conversions, and thus providing even better suggestions
  • Capability for offline conversion (NO Internet required)
  • Fully automated update of all exchange rates
  • Conversion in both directions (from base to target currency, and vice verse) at the same time

In order to get feedback from potential users as early as possible (remember, I want to fail fast and fail often), here is the first draft of the user interface:

First draft of the user interface of the Auto Currency Converter
Even if you are not interested in my self-estimation of the progress and don't continue reading, I want to ask for your first impressions on that draft. You like it, you hate it, you would never use an app with such awful a background color, or you would love an icon of an unicorn in the upper right corner - whatever it is, please drop a comment below.

I'll describe the progress against three different dimensions: 1.) State of achievement; 2.) Problems encountered; 3.) Future activities.

1. State of achievement
I familiarized myself with the development environment (Eclipse with Android SDK). Running the device emulator is a bit slow at time, but it's doing a fairly good job.

The Android documentation is pretty good either, and for all the things that are not fully covered there, odds are that somebody else encountered a similar challenge already. For most questions arising I found an answer on the web very fast.

Accessing the Yahoo Finance service for exchange rates is not a big deal, either. I am happy to say that all calculation-related modules are in a proper test harness, as simple as they may be.

What I'm really impressed about is the great, flawless, built in SQLite database in Android. Easy to use and just working! I'm using the database both for the exchange rates and keeping track of the user's last conversions.

So, most features envisaged are in place. Also, I managed to provide a first draft of the user interface.

2. Problems encountered
As expected, the biggest challenge for me will be the user interface.

For a small application like this, providing the required functionality is a piece of cake; providing a good-looking user interface for me is not. Not only are there some challenges unique in mobile development, but even more, it is simply time consuming.

Ensuring the application

  • looks good several different devices (imagine a smartphone vs. a tablet screen) and
  • different operating system versions (most smartphones still run Android 2.x, but some nice features were added in 3.x, which I want to use if available)
  • supports both landscape and portrait screens (and ideally, also the transition between those two)
  • finding proper free icons
  • supporting different user-languages and preferences (what should be displayed as "08.02.2012" in most European countries should better be "02/08/2012" in the US)
etc. ... it simply sums up.

Some of the other potential challenges I did not face up to now (such as marketing and the likes), simply because I did not yet publish my application.

3. Future activities
Most features are in place; what remains to be done is polishing up the user interface.

What I have not yet decided, is whether to include ads (the easiest choice probably being Google's AdMob) in that first application, or not. I guess users are most likely much more opposed to ads if they are introduced later, compared to having seen them from the very beginning.
On the other hand, if I keep seeing this first app as a pure learning field, and may be a "reputation builder", there is no need for ads at all.

Oh yes, and then, finally, I should publish the app as well, and make people aware of it.

Apart from that, there is another thing that concerns me: I think that I totally lack any vision of what exactly I actually want to achieve (not with this first application, but with the others yet in the pipe). What can I provide?
Even though I know I should have a clear picture on that upfront, I hope it will work the opposite for me and will evolve over time.

For the moment, I'm just interested in getting my first mobile application done, and I feel that I'm on a good track. In order to progress further, I need your help. I would be very grateful for a brief comment about your first impression of the screenshot above.


  1. First of all congratulations! Pretty nice progress for just 3 weeks in the Android world! ;)

    Concerning your screenshot:
    1) First of all I would try to put some margin between the input fields and the screen border.

    2) The small icons next to "Base currency" and "Target currency" point both to "Euro (EUR)" in this case. That was rather irritating at first sight at least for me.

    3) I'd tend to emphasize the actual result. Ok, well, it's surrounded by a blue border ;) But I'm talking about centering it, making it bigger.. maybe something like that:
    Just some white background for the input and result fields and that's it!

    4) Regarding the background: Apple has always used rather simple, very calm but not less powerful color gradient backgrounds:
    Maybe that's something for you too?

    1. Hi Michael,

      thank you very much for your helpful suggestions.
      So you would center only the results, or also the input controls?
      I'll try to fire up paint and arrange some gradient background tomorrow ;-)



Search This Blog