How to approach mobile development today?

How to approach mobile development today?

  • Comments 2

Today, developers increasingly need to be thinking about a mobile component and scenario, so they have to consider the actual fragmentation of this incredibly fast growing market if they want to be successful. I discussed the differentiation and fragmentation of the ecosystem in my previous post. In this post I am trying to synthetize what the approach to a mobile development looks like today.

What are some of the questions a developer needs to ask before starting a mobile application project?

  • Do I have an existing solution that I can consider reusing?
  • What technologies am I (or my teams) more familiar with?
  • What markets do I want to target (consumer, enterprise, developing countries, industrialized countries…)?
  • What are my competitors doing?
  • Where will I make the most profit?
  • What choice will bring me to market faster?
  • What is the future of the technologies I will be using?
  • What are the security/compliance/confidentiality requirements?
  • What is the upfront cost?
  • What are my partners using (so I can interface with them easily)?
  • Should it be proprietary or open-source?
  • Should I bet on industry standards or go native?
  • Should I optimize for each target platform or should I leverage a cross-platforms solution?
  • Should it be free with ads or paid?
  • Will my grandma use this solution?

All the responses to these questions likely come with compromises that will impact the customer reach, the revenue, the flexibility, the maintenance cost … There is no absolute right response… it depends…

Actually, when someone wants to make its services or applications available on different mobile platforms, they are offered several different approaches (bear with me here, I might be over-simplifying, but I do have a point I want to make…) that they will have to choose between based on responses to all these questions:

  • Go the native way: create several applications that will be integrated and optimized for each of the platforms
  • Go the Web way: create a web application that will be consumed within the device’s Web browser
  • Go the cross-platform way: find some good cross-platform solution that will allow him to minimize the amount of code he is developing
  • Go the Hybrid way: something in between all of the above…

Note that these approaches are not exclusive.

Need to think “interoperability”

This is where interoperability comes into the game. Whichever way you decide to go, you will need to think about the following things:

  • When going the native way: you might need to connect your application to a backend that is based on a platform from a different software company than your mobile platform (i.e. connect to an Azure backend from an Android application or to an AWS backend from a Windows Phone application.)
  • When going the Web way, you will need to adapt your solution and development to the capabilities of the various mobile browsers to deliver a consistent experience.
  • When going cross-platform, you will need to find the right cross-platform solution, framework that is available on all the mobile platforms you need to target and consider the loss in performance or flexibility.
  • When going the hybrid way, well, you basically have all of the above considerations to deal with…

All of these considerations are interoperability ones. In a perfect world, you wouldn’t even have to wonder as all devices would support all sort of apps that connect to all sorts of back ends, and software would be developed with any sort of tool… (not sure I am depicting an ideal world here J).

So my next blog post will take a look at what Interoperability looks like for the mobile platforms these days.

Leave a Comment
  • Please add 5 and 1 and type the answer here:
  • Post
  • Very Nice, queries & suggesstion to be asked before mobile app development, if you are an user experience of mobile?

  • One of the biggest challenges an organization looking at adopting a mobile development strategy encounters is the choice between native mobile development and HTML5. If it opts for native mobile development, it will need to deliver and maintain software for the four or five dominant mobile platforms on the market today. But embracing HTML5, and employing a browser-based approach to mobile application development, means a less user-friendly system and greater difficulty in providing consistency across platforms.

    Both strategies have their strengths and weaknesses. So given the contrasting nature of the two approaches, how does an organization decide which approach to take? In this interview, Nate Cavanaugh, Liferay's director of UI engineering and one of the creators of the powerful JavaScript library AlloyUI, gives five questions that we should be asking when trying to choose between the two competing strategies. And once empowered with answers to these five key questions, organizations will be better suited to make the right decision about the future of their mobile development strategy.

Page 1 of 1 (2 items)