INTRODUCTION TO Mobile App Dev
INTRODUCTION TO Mobile App Dev
INTRODUCTION TO Mobile App Dev
1 INTRODUCTION
What is Android?
Android is an operating system that powers mobile devices and is one of the most popular
mobile platforms today. The android platform runs on hundreds of millions of mobile devices
throughout the world. It's the largest installed operating system of any mobile operating system
and growing rapidly day by day.
You can develop apps and games using Android and it gives you an open marketplace for
distributing your apps and games instantly.
Android is the operating system for powering screens of all sizes. The Android version is named
after a dessert. The latest version of android is Android 9.0 – Pie. The following table shows how
the android platform evolves.
Android is an open source and Linux-based Operating System for mobile devices such as
smartphones and tablet computers. Android was developed by the Open Handset Alliance, led by
Google, and other companies.
Android offers a unified approach to application development for mobile devices which means
developers need to develop only for Android, and their applications should be able to run on
different devices powered by Android.
The first beta version of the Android Software Development Kit (SDK) was released by Google
in 2007, whereas the first commercial version, Android 1.0, was released in September 2008.
On June 27, 2012, at the Google I/O conference, Google announced the next Android version,
4.1 Jelly Bean. Jelly Bean is an incremental update, with the primary aim of improving the user
interface, both in terms of functionality and performance.
The source code for Android is available under free and open-source software licenses. Google
publishes most of the code under the Apache License version 2.0 and the rest, Linux kernel
changes, under the GNU General Public License version 2.
Features of Android
Android is a powerful operating system competing with Apple 4GS and supports great features.
A few of them are listed below:
Feature Description
Beautiful UI Android OS basic screen provides a beautiful
and intuitive user interface.
Connectivity GSM/EDGE, IDEN, CDMA, EV-DO,
UMTS, Bluetooth, Wi-Fi, LTE, NFC, and
WiMAX.
Storage SQLite, a lightweight relational database, is
used for data storage purposes.
Media support H.263, H.264, MPEG-4 SP, AMR, AMR-
WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI,
Ogg Vorbis, WAV, JPEG, PNG, GIF, and
BMP
Messaging SMS and MMS
Web browser Based on the open-source WebKit layout
engine, coupled with Chrome's V8 JavaScript
engine supporting HTML5 and CSS3.
Multi-touch
Android has native support for multi-touch
which was initially made available in
handsets such as the HTC Hero.
Multi-tasking Users can jump from one task to another and
same time various applications can run
simultaneously.
Resizable widgets Widgets are resizable, so users can expand
them to show more content or shrink them to
save space
Multi-Language Support single direction and bi-directional
text.
GCM Google Cloud Messaging (GCM) is a service
that lets developers send short message data
to their users on Android devices, without
needing a proprietary sync solution.
Wi-Fi Direct A technology that let apps discover and pair
directly, over a highbandwidth peer-to-peer
connection.
Android Beam A popular NFC-based technology that let
users instantly share, just by touching two
NFC-enabled phones together.
Android Applications
Android applications are usually developed in the Java language using the Android Software
Development Kit.
Once developed, Android applications can be packaged easily and sold out either through a store
such as Google Play or the Amazon Appstore.
Android powers hundreds of millions of mobile devices in more than 190 countries around the
world. It's the largest installed base of any mobile platform and is growing fast. Every day more
than 1 million new Android devices are activated worldwide.
This tutorial has been written to teach you how to develop and package Android applications.
We will start with environment setup for Android application programming and then drill down
to look into various aspects of Android applications
Benefits
Most of these devices have easy functionality and use
Mobile Application development is a key part of the evolution of mobile phones
How does this application help me?
Does it make my work easier?
Does it enable me to easily use it?
Very popular mobile applications
Game applications
Weather information
Sports scores and updates applications
The Bible, Koran
The Dictionary
Fitness and health applications etc…
There are also free trial applications that are in the development stages
Select an application that helps you have functionality and style as well, like
The blackberry has a set of sophisticated and fabulous features
The stock viewer enables you to keep track of your stocks and business listings
iPhone’s breathtaking application is the text n drive
The mobile application development industry truly is bringing innovative solutions to the
technological realm.
MOBILE APPLICATION PLATFORMS, TOOLS, AND
TECHNOLOGIES.
1 INTRODUCTION
“Mobile is the future” - Eric Schmidt (Ex-CEO, Google)
Mobiles are rapidly becoming an integral part of people’s lives. Gartner expects the mobile
applications industry to increase to a massive 21.6 billion sales figure by 2013 generating
revenue of 29.5 billion dollars. Therefore, as developers, we can look at this phenomenon as an
opportunity to develop software that has the potential of reaching a vast audience.
Also, for individual mobile developers, this industry could offer very lucrative benefits. Even
today, the possibility of making profits is huge. Success stories of developers, both novice and
expert, becoming instant millionaires after creating the hit application(s) are plenty. The job
opportunities for mobile developers are very good too. According to ACM career news, there is a
high demand for mobile application developers but not enough skilled people are available(ACM
CareerNews 2010). Hence, if, as a developer, your resume boasts mobile development
knowledge, you have an advantage over those who don’t. This knowledge will be useful even if
you do not want to focus your career just on mobile application development. More and more
businesses are entering the mobile application industry and introducing mobile applications for
their users (at&t Media Newsroom 2011); hence you can use this knowledge in almost any field
you enter.
Thus, this chapter aims to be a starting point for the readers into the world of mobile application
development by giving an introduction and basic overview of different aspects of mobile
platforms and applications.
The chapter has been organized as follows: Firstly, we will cover some basic concepts important
to mobile development. Then, we will give a step-by-step guide to developing applications, from
designing to publishing. Simultaneously, we will introduce and explain the related concepts.
Later, we cover the differences between desktop development and mobile development - mainly
the constraints and opportunities mobile development has. To conclude, we look at what the
future of mobile holds and then give a summary of the concepts covered in the chapter.
2 CORE CONCEPTS
Before we can delve into mobile application development, let’s look at some of the core
concepts.
Using the expertise of a reputable mobile app development company may help the firm create
mobile applications which are quick, reactive, and provide excellent user interactions. The use of
mobile app development platforms speeds up and simplifies the app creation procedure.
1. NativeApps
They are designed for specific operating systems such as Android, iOS, and Windows.
Apps make use of device features such as RAM, camera, GPS, and so on.
2. WebApps
A Web app is a software that is kept in a distant location and distributed via the Web
using a browser interface. Emails, online shopping sales, auction sites, weblogs, instant
messaging apps, and other web apps are popular.
3. HybridApps
Hybrid apps are applications that are launched on a smartphone in the same way that
every other application is. What sets them apart is that hybrids combine features from
native apps and components from web apps.
When financial constraints and a large number of customers are the primary goals, an
application development firm may choose hybrid or cross-platform application
development technologies.
This blog is more focused on key factors to consider before developing a mobile application for
your business. Mobile app development is thriving like never before. With the invention and
innovation of new mobile devices and OS’, it has now become imperative for every business to
create mobile apps presenting their products and services. Though making a business app has
become an easy task, if you are looking for your app as a tool for your business growth, then you
need adequate strategies, effort, cost, and the right sort of marketing campaigns.
The operating context and physical characteristics of mobile devices demand careful coding and
design. For example, streamlining code so that it executes as fast as possible is crucial. Code
optimization can only go so far, of course; intelligent design that works within the device
limitations can also help prevent your visual presentation from overtaxing the rendering system.
Code
While making your code run faster is always beneficial, the slower processor speed of most
mobile devices increases the rewards of the time spent writing lean code. In addition, mobile
devices almost always run on battery power. Achieving the same result with less work uses less
battery power.
Design
Factors like the small screen size, the touch-screen interaction mode, and even the constantly
changing environment of a mobile user must be considered when designing the user experience
of your application.
Code and design together
If your application uses animation, then rendering optimization is very important. However, code
optimization alone is often not enough. You must design the visual aspects of the application
such that the code can render them efficiently.
1. Research
If you have a great idea to develop a world-class mobile application for your business, the first
thing you need to understand is the market, customer demand, and trends. Even before giving a
technological touch to your business app, you need to do market research. A market analysis
report can give you very useful insights. You can understand the popularity of similar apps
available in the market and your competitor strategies. This will allow you to optimize your app
from the very beginning. Apogaeis believes in “Learning from others' mistakes than Learning
after making mistakes.”
Customer reviews can provide you with a glimpse of customer likes and dislikes, choices,
preferences, and future demands. You can take note of the pain areas and try to resolve those in
your mobile app. Research can allow you to plan better and allow you to prepare a robust
application from the very beginning.
2. Identify Target Audience
This comes under the research stage and is extremely important. Identifying the right set of
audiences for your application is very important. The entire application future depends on these
target sets of users, as they play a very significant role in application development, as well as app
feature expansion and growth. Questions like who is going to use my application and how it can
add value to their lives should be asked before starting development. If you meet the expectation
of your users, definitely your app is going to get popular and it will help you to generate more
revenue.
3. Right Platform Selection
One of the most important questions you need to ask yourself is, on which platform you want to
deploy your business app. It is advisable to start with one platform. Be a master of a single
platform, later you can move on to other platforms. iOS, Android, and Windows are the most
popular mobile app platforms.
To decide the best-suited platform for your mobile application, you need to keep certain things in
your mind like app brand, target audience, app features, and most importantly pricing strategy.
After that, you need to choose a development methodology for your business app; Native,
Mobile Web, or Hybrid. Native applications have many advantages, but they may be slightly
expensive.
4. Set Plan of Action
Before starting to build your business mobile application, make sure you understand the entire
process. A robust business app takes a decent amount of time and effort. It also passes through
various stages. The business owner should understand the importance of all the stages, before
going ahead. Project Management, App Design, App Architecture, App Development
Methodology, App Testing, Enhancement, and finally App Deployment- These are the basic
stages of any mobile application. Set a plan of action for your app development process.
Monitoring and controlling is very much essential. Release a beta version of your app first, and
do rigorous testing and review before releasing the full version to the end users.
5. Know your Budget
Developing a business mobile app requires investment along with knowledge and strategy.
Knowing your budget and allocating it properly during each stage of app development is
essential. There are various aspects of an app that requires money to be invested in; app
development, maintenance, updating, marketing, etc. Your app budget depends on your niche.
The type of app you want to create and the type of content you wish to add to your app.
6. Think Out of the Box
Always keep one thing in mind. People want something different. Why did they choose one
brand ahead of another similar brand? It is only because they feel the chosen brand has
something unique to offer. Mobile applications are the best way to engage your customers and
probably the easiest way to convert a lead into a potential buyer. Human beings tend to get bored
of one thing very quickly. As there are millions of smartphone applications available in the
market, app users want to be served something new. Hence, it is recommended to think out of the
box strategies or features and don’t let your users choose someone else.
7. Smooth and Efficient
No excuse, your business mobile app must be smooth and efficient. If your app is taking a lot of
time to load, it may prove to be fatal. Either user uninstalls the app after first use or rarely opens
it. It adds to create a negative impression in the user’s mind. Make sure your app does not
consume a lot of memory space and processing power on a mobile device.
Efficiency is something users expect from all mobile applications. It includes user-friendliness,
data efficiency, battery usage, security, and the like. If your app is using a lot of 3G or 4G data, it
might not work for you in the longer run. Users may download and forget. So, don’t fall into that
category and develop your app in such a manner that it won’t consume more data from your
users and does not drain the battery.
8. User Experience
User Experience is the backbone of any application. If you failed to provide your users with an
excellent experience, then there is no reason for them to come back to you and use your app.
User experience is an increasingly crucial feature when it comes to the digital landscape. An app
defines how a user feels and thinks about your business and services. It is about making
something valuable, easy to use, and effective for your target audience. Don’t make your app
confusing or complicated.
A well thought mobile application offering a seamless user experience can translate into several
key benefits. The functionalities and content that are delivered to your app must be in line with
your target audience. The end product must provide superior quality customer service. If you are
unable to provide a quality mobile application, it may harm your brand image.
9. Focus on Marketing Strategy
There is no meaning in building an app for your business if you are not focusing on, how to
market it and make it available to potential users. Creating a buzz, before the launch can promote
your app in such a way that your app can get a lot of reach from the word go. Most business
owners fail in executing their marketing strategies for their mobile applications.
Different Mobile Applications have different targeted users. Similarly, you have to analyze your
industry and your potential user base. After analyzing that only, you can make strategies on how
to promote it. Online campaigns are one of the preferable options for many business owners. But
your marketing strategy depends largely on your industry, offerings, and your potential users.
10. Testing
It is important to test your mobile application before you launch. Before users get an experience,
you should make sure it can fulfill their requirements. Smooth, efficient, and high-performance
are a few of the things you should keep in mind while testing. Testing will allow you to dust out
all the nooks and crannies and make your app a strong business tool that can connect your
business with your customers.