There is no doubt that mobile industry is one of the most intensely growing nowadays. Any product that earlier used to be desktop or web is moving towards going mobile. Everyone is taking designing experiences for smaller screens seriously. As for the web, we’re seeing swarms of recently updated sites that are employing responsive design or more mobile-friendly layouts. This is quite critical, especially when you consider that accessing the web from mobile devices is on track to surpass desktop usage in a just a year or two.
With so many mobile apps/sites out there you have to do all it takes to deliver a good mobile product that will be competitive on the market. The key input for success here often is conditioned by the convenience of mobile services. You have to start predicting what the customer wants to see when they try a mobile application or website. The use of mobile context in delivering mobile experience is just one of the big challenges that application developers face. Here’s a number of the most important challenges we see.
1. Mobile Context
There has always been emphasis on context – the idea of being sensitive to where users might be and what they might be doing at the same time that they’re using your app/site. Is a user in line at the grocery store or on the living-room couch? Is a user connected to the Internet via Wi-Fi access, with fast page loads, or an infuriatingly weak Internet connection? Are both of the user’s hands holding the device in landscape orientation, or is the user using only the right thumb to navigate the interface in portrait mode? We have to think about all of this. Basically the customer’s mobile context consists of:
Preferences: the history and personal decisions the customer has shared with you or with social networks.
Situation: the current location, of course, but other relevant factors could include the altitude, environmental conditions and even speed the customer is experiencing.
Attitude: the feelings or emotions implied by the customer’s actions and logistics.
Getting a good contextual awareness will require collecting information from many sources. For instance it could be mobile device itself, the local context of devices and sensors around them an extended network of things they care about and the historical context of their preferences. Gathering this data is a major challenge because it will be stored on multiple systems of record to which your app will need to connect.
2. Device Proliferation
Another challenge facing mobile developers is device proliferation. It looked like mobile app development process was pretty well defined: build your app, make sure it looks pretty on a 4-inch smartphone and a 10-inch tablet, then submit it to an app store. Most app developers prioritized a few popular devices, such as the iPhone, the Samsung Galaxy S III and the iPad.
It’s not quite that easy now, and it’ll be much tougher in the near future. Picking the most popular devices will become more of a challenge as device types and platforms proliferate. Google and Apple already support tablets of different sizes and, with Windows 8 now shipping, developers can expect to find a whole range of larger touch-sensitive devices, such as Hewlett-Packard’s Envy series.
3. Voice rather than Touch
There are a lot of situations where you would want to build voice input into your app today. For a running or fitness app, a phone is likely to be strapped to a person’s sweaty arm. The same is true while driving. Modern applications are to let people use their devices while keeping their eyes and hands off it.
4. Hybrid Applications
With each release, popular mobile operating systems get better at supporting HTML5 and its attendant APIs. That capability will let companies reuse more code across multiple devices, which will be important in keeping app development costs down taking into account the proliferation of connected devices and form factors.
5. Cloud Powered Mobile Applications
With the power of the cloud, the mobile application market is about to change radically. Several industry analysts predict that mobile applications will gradually move to the cloud and move away from being installed and run directly from the handsets themselves. Instead, cloud powered mobile applications are accessed and executed directly from the cloud through a mobile web browser interface and several technologies facilitating this change are already available. HTML5, for example, is necessary for enabling caching on the handset, so that users will experience uninterrupted service levels despite fluctuations in network service delivery.
Cloud powered mobile applications are not limiting their choice to one platform. Application developers also have real advantages from mobile cloud computing. The largest benefit is that it allows them to have access to a larger market. This means developers will have a much wider market which means they can bypass the restrictions created by mobile operating systems. But with greater developers’ power comes greater responsibility for security and performance. Expect more developers to be on call for application support in the new model, using triage to handle defects and investigate degradation to production services. Those tasks have traditional been the domain of systems administrators. Expect IT operations personnel to become integrated into development teams and to start their work at the inception of an idea.
I think the challenges mentioned are some of the most important ones. What are the challenges you have already faced in the mobile development? Even more interesting to hear about the challenges you are envisaging for the near future! As usual many thanks for sharing your thoughts!
App developers are facing many challenges while mobile app development. Increasing number of mobile devices and demands of applications are compelling the app developers to triumph over the obstacles through their experience. Find this blog is very useful to overcome the challenges faced during development.
Sam, thank you for your complimentary comment! Happy that you find our blog useful 🙂
After a first glance on the blog post, I see two issues with Mobile App Development, and they are from a quality perspective:
1. Lack of competence & quality: One big difference between app’s developed by hackers sitting home and established software companies, is the QA process. Normally before delivery you have reviews (code and systemization) and test (basic integration, on end target) for make sure bugs are found and discover performance issues. I do believe that home hackers take a much short way. They who doesn’t have the understanding and/or resources how to use the hardware resources in a good way, and don’t understand how their mobile app can be used in other ways.
2. Handle resources: This one might be difficult to understand, but there is a difference between what the engineers think how the hardware and operating system will be used, compared to how young and single developers _are_ using it.
An example: When the mobile network was designed long time ago (before smartphones) the thought on how it should be used, was phone calls and downloading of a webpage.
a. You start a task/connection
b. do what you want to do
c. end the task/connection.
Today mobile apps is pulling/pushing in and out information and advertising. Lot of re-establishment. And for many that sound _not a problem_, but for those of you who understand how radio network and resource scheduling works, knows this will be an issue.
Another example: The uTorrent app in my smartphone makes it go bananas when I reach a download speed of 1-2 mbit/s . Probably all my 4 CPU cores is used to 100%. I can’t close the app or doing anything else.
Now, this is when you learn to ride a bike: it’s easy to ride a bike, but it’s hard to ride in traffic.
Thanks for a lot great information
Some ideas I want to share in your reply! surely no doubt mobile app development become challenges for us but after all I would fix out these challenges, if we want to exit and remain touch to market….it’s not means I could wrong it’s me own perception.