Android App development. Best choice for a Mobile Platform?
The reality of the Android market share today:
The figures speak for themselves, in the infographic below (source IDC) for instance, the smartphone market worldwide says it all, and Android dominates all the other operating systems with the lion’s share by culminating at over 80% on average for the last two years.
Android development is the first choice on many occasions for devices using Android OS such as smartphones, tablets, TV, digital cameras, home utilities remote devices, cars, game consoles, and wearables.
The mobile applications development industry is growing fast, and because of its flexible device compatibility, the PC will soon be seen as a dinosaur, enabling you to perform most of your tasks on the go: since 2014 mobile apps have been taking over the desktop software and represent the biggest change since the start of the internet.
We spend an average time of 3 hrs per day on smartphones with this year the US topping the world with an average of 4.7 hours per day if you consider you are awake only 15hours a day, this represents a fair amount of your life spent with a device…and most of it is spent on a few apps only such as social media and shopping. If you think you are “addicted” to your apps, ZeroDesktop has created an Android app called “QualityTime”, monitoring your smartphone activities and displaying where you spend most of your time enabling you to cut down on the culprit app, a bit like going on a diet!
When Google Inc. bought Android Inc. in 2005 it all seemed like a match made in heaven for Android development and last year Google reached the benchmark of 1 billion of Android OS active users per month.
Android application development: a new technology was born
Android is an operating system (OS), based on the Linux kernel and primarily designed for touchscreen mobile devices such as smartphones and tablets. Android user interface is mainly based on the two following features:
– direct manipulation, using touch gestures such as tapping swiping, and pinching in order to interact with on-screen object
– use of a virtual keyboard for text input and on some devices a pen/stylus to enable you to draw.
This is an end user’s dream but what does it mean for Android developers?
It translates as understanding your mobile application development options: as often related by the specialists and the people making Android apps, the battle is still very strong between Android developers creating apps: native or web app or even hybrid ?
Raluca Budiu explains it well: “Native and hybrid apps are installed in an app store, whereas web apps are mobile-optimized webpages that look like an app. Both hybrid and web apps render HTML web pages, but hybrid apps use app-embedded browsers to do that.”
Both have their pros and cons, what is the best for you is what works the best for you and your client/end user, if it makes business sense and build your clientele database faster well it is good stuff.
What do developers like the most about Android?
- Android intent: great stuff, it allows you to pass data between apps and between internal parts of an app, so it brings into the equation some other functions without interrupting the main running process, for instance a mate of mine is developing an app for Heating engineers in the U.K. called Sprint Mobile (a native app) which allows the engineers for instance to enter data about boilers, design an invoice, have a digital signature, book an appointment etc. Therefore, in his development he brings into the equation a barcode scanner, a photographic device, a pdf doc, a calendar etc.
- Android compatibility: mainly because of the need for a common ecosystem and because of the desire to have a customisable device, Android is the ultimate platform for developers
- Android Open Source Project: especially great for libraries, it will be cost effective especially if someone else has been there before, yes you can always fine tune it but you could spend those extra weeks of coding doing something else instead, so don’t be shy; there is an interesting blog by Ben Jakuben that will surely entice you to go for it if you haven’t done so already.
- And also amongst some other stuff the versatility of Android layouts, the SQLite database, the Android Network Operations allowing you to gain control of the available network resources.
How powerful is a mobile app?
Think of it as “wearable and portable computing”. The technology has evolved so fast, getting more and more miniaturised as more and more powerful at the same time
In 1988, a “super computer” was launched called the Cray Y-MP, according to TechRepublic “Today that poor Cray Y-MP that would have set you back over $20 million would barely be able to run Windows Vista. Even a low-end laptop today has more power than that machine.”
Nowadays any basic mobile phone has more computing power than NASA in the 1970’s, so just imagine what a smartphone/ tablet /watch/ glasses could be capable of!
What are the restrictions of mobile devices for Android developers?
Now that 4G is happening, restrictions are mainly brought on by the technological capacity of your device: it is one of the few times when size matters: trying to get ahead of the games, manufacturers have tried to merge the capabilities of a PC with TV & mobile phones, however they still haven’t managed to break the ceiling of limited storage capacity and CPU, the poor transistors in your device can only cope with so much!
Also to be perfectly “mobile” and autonomous you would need really long life batteries and at the moment the usage of apps eats up some big chunk of energy in a few hours, making you having your mobile device on charge all the time and at the end of the day, making you stay in a close environment next to some power point… it defies the purpose.
Android fragmentation: myth or reality?
Fragmentation means that there are lots of different versions of Android OS devices being used and that these devices are not being updated either because they are too old in terms of versions to be supported or because the manufacturer hasn’t released the build for it yet.
Android did not have the exclusivity of the fragmentation problem, it went much deeper than that and the app developers knew it.
Tony Bradley from PC world said:” Unfortunately, it is not that easy. There is fragmentation between tablets and smartphones, between the hardware capabilities and specifications of individual devices, between the mobile OSs, between the available programming languages, and between the different app store distribution channels.”
Since 2014, the fragmentation issue is (nearly) a thing of the past especially since Google moved his core Android features, APIs, apps elements into the Google Play Services.
Time for Halloween with “Stagefright”:
In a great blog on the subject, Phil Nickinson declares: “”Stagefright” is the nickname given to a potential exploit that lives fairly deep inside the Android operating system itself. The gist is that a video sent via MMS (text message) could be theoretically used as an avenue of attack through the libStageFright mechanism (thus the “Stagefright” name), which helps Android process video files. Many text messaging apps — Google’s Hangouts app was specifically mentioned — automatically process that video so it’s ready for viewing as soon as you open the message, and so the attack theoretically could happen without you even knowing it.”
So, where does it leave us and should we be concerned? One thing for sure is the lack of clarity on the subject matter, on one hand Google security people are partly reassuring, trying to calm things down and on the other hand, lots of techy specialists and concerned members of the public are challenging the fact that exploit remains on the card. So yes we should be concerned as Android OS devices users, be careful and protect our devices but not to the point of paranoia, and, as Android developers all we can do is keeping on using good practice throughout our programming.
What makes a good app?
An Android developer is as good as his last app but is that enough?
You could have created the best Android app in the world, slick, colourful, functions galore, working like a dream, with a heavenly code to make the Bugdroid (The Android Robot Masco) blush with envy…yes you could be all that and still remaining with zero download.
Because at the end of the day the aim of the game is for people to download your mobile app and what the general public downloads the most is not what the professional download the most, this is why the net is full of “Top 10 apps…”you can find so many lists according to age, gender, useful, shopping, media, social media, sports, news, games and even then some of the most popular downloads have on occasion the worst ratings. All it shows is that it has to be taken with a pinch of salt.
Also the rating system is not malicious proof, yes you have to download the app to be able to write a review on it but you could just slaughter the developer on Google Play store and then uninstall the app.
The ideal Android app…
….should combine a good visual, with great navigability, readable font, be useful and/or fun, and allows for further improvement, in one expression do not let your app be “a one trick pony”.
- Check out that nothing similar exists, if it does, download it and see how you can improve on it by adding features not included in its architecture, sometimes the basics are overseen by the developer.
- Look for some relevant libraries that will suit your needs, do not re-invent the wheel.
- Check out for the responsivity so ideally on top of your emulator run it on a real tablet and smartphone.
- Follow Android material design: the app has to attract visually, use bold colours and big size fonts, choose some icons that will be versatile enough for all devices and easy to understand by all, do cater for the broadest possible range of users.
- Make your user interface flow intuitively: the user should not feel trapped in a particular sequence of events unless they are using an e-commerce app where the process is usually linear when you have make a payment.
- If necessary insert some Terms & Conditions for the use of your app prior to its activation, so if they press “Accept” they are taking full responsibility for the use of its content. It is also useful to have a Privacy Policy linked to Google Play.
We want you!
This is a fierce market, and big companies will use big development agencies not only because they can afford to do so but because the big agencies will have in place a good outsourcing structure as well as an in-house pool of developers that will speed up the workload and have your app ready in …well certainly in a much shorter time than it would take one single developer to do it.
Not all is lost for one-man band developers, what you can do in 3 easy steps:
- Do your research on stats towards your community and try to find out if people are using Android OS running devices or not, if yes bingo, if not consider extending your catchment area or moving out.
- Consult with your local Chambers of Commerce and ask to make a presentation, introduce some Android apps that small/local businesses will not be able to resist and get a deal for developing a tailored made one unique to their business.
- Be realistic on how long it will take you and plan a careful schedule, monitoring with your client the progression of the process, its testing. Payment schedule is for you to negotiate along with the terms of service delivery. Playing your cards right with attention to details, honesty and friendly approach could do more for your career than just dumping an app on Google Play Store. Trust is important and recommendations speak louder than any CV.
Android support: websites you need to have in your bookmarks!
Learning the ropes of Android development, tricks of the trade, good practices, happy programming for Android: everything you need to know about how to create an Android app, the Android development environments, how to upload Android apps on Google Play, how to download Android libraries, where to find some awesome Android source code and general Android documentation.
Google’s Coding Standards for Java Source Code
Professional & Enthusiast Programmers
E-magazines look alike full of blogs, reviews, latest Android development technology, new and old products, mobile application development, Android market, politics, what is the future of Android and much more.
E-learning references, forums, videos
Alternative Android blogs: apart from the usual well known websites already mentioned, some keen Android developers have created their own websites, you love it or leave it but here are some alternatives from the mainstream actors; it is often useful to read several blogs on the same topic to get a more panoramic view of what is going on.
Blogs & Resources for Indie Game Developers
List of Android Development Blogs
The future of Android development
The motto could look like “Be ahead of the game!” easier said than done because the evolution of the Android development market and especially for mobile applications is moving very fast.
Be ready to grab some opportunities, find some niche but keep flexible, keep the learning process going, add new skills, explore what the future job market will be, right now in developed countries there is a need for people services in terms of personal care for the ageing population at home, in special care units, food & drinks industry (restaurants, goods deliveries, artisan shops etc.) and self-development (e-learning, life coach, retreats weekends etc.), sports, health issues, and leisure mixed with alternative destinations (short stays, carbon footprint, alternative visits of a town, country etc.).
Last June in a post dedicated to the analysis of the ecosystems based on Android, Richard Windsor from Radio Free Mobile declared: “One has to be good at bits or bytes to succeed in Android. Those with an ecosystem (bytes) desired by users, an edge in hardware (bits), technology or huge scale can make a decent living but everyone else is fighting for the scraps. “
Over the recent years most of the analysts studying the app market share agreed on the fact that whilst Android had the biggest figures for downloads, iOS had the biggest number in terms of revenue, explaining overall that iOS was sought after by the US & European market: good brand, easier platform to develop on because of its ecosystem, whereas Android would suit the emerging markets (Asia, Eastern Europe etc.) better because of the cheaper price for the handsets.
Watch that space: since the improvement on the Android OS stability/fragmentation, developers over the world are considering it to be the future for apps development and generate more revenue than Apple by 2020, unless the competition is no more!