Mobile Development Issues: Things to Consider

admin | Monday, February 21st, 2011

Mobile Development Issues: Things to ConsiderIn a previous post, I shared lessons learned from Jim Kaubisch’s lecture ‘Developing mobile apps’.  The post attempted to spell out what is and what’s not a mobile app. In today’s post, I’ll be sharing some basic but important issues you might want to address before developing your mobile app.  These are a continuation of lessons learned from Kaubisch’s lecture and experiences learned from interactions with startups in the MEST Incubator and the general developer community in Accra. The ‘issues’ have been put into two categories, namely: technical issues and business & legal issues. Please bear in mind this is not the complete list.

Technical development issues

  1. The device supplier determines the development environment: For example, developing on an Apple device means learning the ‘objective C’ programming language i.e. if you are not familiar with the language already.
  2. Developer is forced to follow device supplier’s hardware / software version updates.
  3. Cope with version behavior differences e.g. you need to find out if you need one of each device’s versions.
    • For example, developing on an iPhone 3 platform does not mean the same application can run smoothly on an iPhone 3Gs, iPhone 4 or the iPad.
    • Find out, do I need one of each operating system (OS) versions? Your application can behave differently on the various operating system versions e.g. IOS 3.1, 4.1. or 3.56 (iPad).

Business and Legal Issues

  1. Contract limitations with 3rd party services: For example, the Flurry instrumentation agreement, the Google location service agreement (if you are considering developing a location based application, using Google map).
  2. Contracts with the ‘Apple Store’: You must abide by the Apple ‘Standard’ requirement in order to be able to sell your application on the AppStore.
  3. Last but definitely not the least; consider the standard privacy regulations for your application.

Thanks for reading; I hope this provides you with some fundamental factors to consider when developing your mobile app. Please do let me know what you think and what else developers should be considering.

  • Konstantin

    Amma very nice post. Congratulations. Mobile development does bring a lot of challenges. For me the most frustrating is the challenge of building multi-platform applications. When your mobile application is ready, for instance an iphone application, how do you get it onto the other platforms as easy as possible. this can be a difficult task unless of course you are familiar with the programming language of the other platforms. Sometimes i feel its always best to build mobile applications that work in mobile browsers…that is using html, css and javascript. But then this is also very limited as most browsers cannot come to a complete agreement with implementation. one thing works in one browser and doesnt in another browser. You cannot also get full phone OS functionality using browser languages like javascript because the supported api methods are never available to the browser for a very long time.

    Ghana Software Developers (facebook group)

  • One technical consideration that cannot be overlooked as well is whether to build a native app (eg. objective C for IOS / Java for Android ) or go the web app route(HTML+CSS+JS+PHP/RoR/Python/). Each choice has its own pros and cons but the right choice would depend on what tradeoffs are appropriate for your situation.

  • Desmond Owusu

    Amma, good work.It is also imperative to consider the size of the screen especially with J2Me when using the Canvas and GameCanvas.More frameworks like titanium are sprouting which allows you to target both android and ios platforms with a single source code.

    • Amma Baffoe

      Thanks Desmond, and couldn’t agree with you more… good that we have these platforms that seek to ease up things a little bit. But mobile development always comes with limitations and advantages. here are some more limitations:
      – Screen size
      – Clumsy mouse
      – Processor speed
      – Memory size etc

      In the midst of these limitations, it also comes with the advantage of being portable (which is why we all love mobile devices). Thanks and looking forward to your contributions 🙂

  • Raymond

    Hi Amma,

    Great post. I however would like to address a few points you missed.

    In Apple’s instance you have to pay the $99/ year developer fee, the cost of purchasing a Mac/ MacBook (the iOS SDK is packaged OS X only) and either an iPhone/ iPad/ iPod for testing . There are ways to run OS X in a virtual machine but doing so is illegal. Apple also takes 30 % of the proceeds from the sale of your app in their app store.

  • Raymond

    In Android’s case, Google allows device manufacturers to lock down the device to a particular OS version ( take the Sony Ericsson Xperia family of phones which are locked in to Android 2.1) depending on the agreements they have . You should note here that Android is not provided to phone manufacturers for free, thus enabling manufacturers to pay for certain versions of the Android OS only like Sony did for the Xperias. This makes it hard for you as a developer because some of your customers might be on these devices ( which would never receive an update to the OS) and would not receive the same experience if your app uses API methods that are in the most current Android OS revision. Apple’s case is minimal compared to Android as most legal iOS devices ( not jailbroken phones) tend to upgrade to the latest revisions within the first week or two.

  • Raymond

    In the end it all depends on the market conditions. In the Bay Area, I have noticed that a lot of developers target the iOS first because statistics show that iOS users buy more apps than Android users and only develop for Android after they have gained critical mass on the iPhone examples being Angry Birds, Bump, Words with Friends. I’m pretty sure Instagram would join Android soon too as they just hit 2 million downloads on the iPhone in about four and a half months of operation

  • Continuing from the Emails on the GH Dev Mailing List.


    Verizon’s version of the Galaxy S, the Fascinate, had Bing as default and you could not change the default back to Google, without serious hacking.

    There is also a ‘fork’ of sorts of Android called the OPhone.

  • Amma you left out a very important issue for GH based mobile developers and entrepreneurs, Payment Options.

    Even if your app is oriented at the world market, eg the next killer mobile twitter client for all platforms, if GH people cannot buy, will we truly have benefited from your innovation?

    Of course, economic circumstances (eg. VC funding) may dictate that you take a harsh decision (leave GH behind) but that would be unfortunate.

    • Amma Baffoe

      Kwabena, I agree the lack of a comprehensive payment platform has a potential to be a major setback for the Ghanaian developer. Nonetheless, I am hopeful it won’t be long before we get a solution to this problem.

      By the way, thanks for your comments 🙂

  • Apple now has Rhapsody as an app, which is a great start, but it is currently hampered by the inability to store locally on your iPod, and has a dismal 64kbps bit rate. If this changes, then it will somewhat negate this advantage for the Zune, but the 10 songs per month will still be a big plus in Zune Pass’ favor.

  • Zune and iPod: Most people compare the Zune to the Touch, but after seeing how slim and surprisingly small and light it is, I consider it to be a rather unique hybrid that combines qualities of both the Touch and the Nano. It’s very colorful and lovely OLED screen is slightly smaller than the touch screen, but the player itself feels quite a bit smaller and lighter. It weighs about 2/3 as much, and is noticeably smaller in width and height, while being just a hair thicker.

  • A well written blog post. I’m always looking for information like this.