Sunteți pe pagina 1din 71

TOPIC 1

INTRODUCTION TO MOBILE WEB PLATFORM


1. Understand Mobility and Android

2. Discuss Application Design Issues and Considerations

3. Discuss Monetizing Application


CURRENT TRENDS IN MOBILE
COMMUNICATIONS TECHNOLOGY & SYSTEMS
1) CLOUD COMPUTING
The cloud in cloud
computing can be
defined as the set of
hardware, networks,
storage, services and
interfaces that combine
to deliver aspects of
computing as a service.
CURRENT TRENDS IN MOBILE
COMMUNICATIONS TECHNOLOGY & SYSTEMS

2) LONG TERM EVOLUTION (LTE) Telecommunication


Standard for wireless communication of high-
speed data for mobile phones and data terminals.
Current trends in mobile communications
technology & systems

3) SMARTPHONE
A Smartphone is a mobile phone built on a mobile
operating system, with more advanced computing
capability and connectivity than a feature phone.
Five Fantastic Advances in Smartphone Technology
Flexible Screens
Waterproof Phone
Double Screens
1080p Display HD Resolution
Phone to TV Application
DESKTOP AND MOBILE APPLICATIONS

DESKTOP APPLICATION
An application that runs stand alone in a desktop or laptop
computer.
Desktop Deploy an application for a desktop computer, such as a
Windows computer or Macintosh.

MOBILE APPLICATION
Mobile App is an application delivered to users from a web server
like the Internet / downloaded from apps store.
Mobile Deploy an application for a mobile device, such as a
phone or a tablet.
Difference Desktop App Mobile App
s
1) Accessibility Applications need to be Applications can be
individually installed on easily accessed from
each computer any device or location.
2) Security risk There are always risks involved when dealing with
working online
3) Cost Based on client needs
4) Connectivity Most of desktop Most of mobile
application did not need application must have
an internet connection an internet connection
5) Speed Developed and brought to Mobile app
market faster developers are
freelancers, and the
field is growing rapidly
CLEAR EXAMPLE: DESKTOP VS MOBILE APP
Example Desktop Web Mobile Mobile Web
Facebook None Open through Open through Open through
browser on icon browser on
computer downloaded in device at
(Chrome, Safari, Google Play, http://m.faceboo
FireFox, IE, etc) iTunes, etc. k.com

Photo iPhoto, Paint, Sites like Flickr and Instant Retro Flickr, etc,
Editing Microsoft PicMonkey - Photo, PicSay launched
Office Picture Launched by (Android); through mobile
Manager computer PicStitch, Be browser
Funky Photo
Editor (Apple)
Solitaire Comes stock worldofsolitaire.co The Solitaire worldofsolitaire.
on Microsoft in m; games.com; Games (Apple); com;
Accessories - solitaire- games.com;
doesnt need cardgame.com Solitaire Free
Internet Pack (Android) Opened in
mobile browser
BENEFITS OF MOBILE APPLICATION

Mobile Apps is a software application designed to


run on Smartphone, Tablet and other Mobile
devices.
Benefits;
i. Fast and easy to use
ii. Rich data capture in real time
iii. Volume of information - Custom branding
iv. Advertising - provide a form of advertising that
you can carry in your pocket
v. Reduce problem solving time
vi. Interactivity/Gaming
TOP APPLICATIONS FOR MOBILE PHONES
1)SOCIAL NETWORKING 5)EDUCATION & BOOK
Facebook, Twitter, iBooks, MyKamus
WeChat
6)ACCESSORIES
2)CLOUD STORAGE Camera360 Ultimate, Waze,
Dropbox, Instagram Google earth

3)ENTERTAINMENT
YouTube, iPlayer Radio

4)GAMING
Angry birds, Asphalt 8,
AirAttack, Subway Suffers
Mobile technology consists of:
Mobility is the ability to move or be moved freely and easily.
Mobile Platform

1. Mobile Platform referred to as mobile Operating


System, that operates a smartphone, tablet, PDA, or
other mobile device.
Samsung Galaxy S6 HTC One A9 Apple iPhone 6s
Apple ipad Pro Microsoft Surface Pro 4 Samsung tab 4
Mobile Platform
Mobile App Development Approaches
Mobile App Development

Mobile Device;
Android Platform

1. A software stack for mobile devices:


OS kernel
System libraries
Application frameworks
Key apps

2. Android SDK for creating apps


Libraries & development tools
Android Architecture
Android Architecture

1. Linux Kernel
Standard Services
Android Specific
2. Libraries
3. Android Runtime
Core Java Libraries
Dalvik Virtual Machine
4. Applications
5. Application Framework
Linux
1 Kernel

2
Libraries
Android Runtime

2
App written in Java

Compiled to Java ByteCode files

DX converts Java ByteCode files to a single Dex


ByteCode file (Classess.dex)

Dalvik executed Dex ByteCode file


Application Framework
1. Package Manager
2. Window Manager
3. View System
4. Resource Manager
5. Activity Manager
6. Content Providers
7. Location Manager
8. Notification Manager
1) Package Manager
2) Window Manager
3) View System
4) Resource Manager

String convert content based


on language setting
5) Activity Manager
6) Content Provider
7) Location Manager
8) Notification Manager
Applications
iOS (formerly known as iPhone OS) was released on June, 2007 by Apple Inc.
Below is the basic architecture of iOS:
The kernel in iOS is based on the same variant of the Mach kernel in Mac OS X. On
top of this kernel are layers of services that are used to implement applications on
the platform. These layers include the Core OS, Core Services, Media services, and
the Cocoa Touch layer.
1) Core OS, Core Services: These provide fundamental low-level services like file
I/O and network sockets.
2) Media: This layer provides services used to support 2D and 3D drawing, as well
as audio and video.
3) Cocoa Touch: This layer provides the fundamental infrastructure used by
applications. Besides providing object-oriented programming support for
collections, file management and network operations, this layer also provides
access to the device users profile information, accelerometer, and other
hardware features.
Windows Phone 7 was launched in February, 2010 by Windows Inc.
it is Microsofts first mobile operating platform to focus on the consumer market
instead of the enterprise market
The architecture details of Window Phone 7 have not been released for the public by
Microsoft yet.
Unique features:
1) One significant distinguishing component of Windows Phone 7 is in the UI, dubbed
the Metro UI utilizing the Metro Design Language by Microsoft.
2) The Metro UI utilizes simple, clean and modern as its design language, and revolves
around having easily accessible and glance-able information.
3) Two concepts that Metro uses to achieve these goals are live tiles and hubs. Any
application can be pinned to Start as a live tile, and applications can choose to
animate or update the live tiles with key information pertaining to the app (e.g. the
number of unread e-mails for an E-mail app).
- This allows the user to see at a glance at all times if there are items that are in need of
his attention.
- The second are Hubs, of which functions of a similar nature are grouped together.
- The People hub for example, not only acts as an address book across the users phone,
mail, exchange server accounts, but also integrates with Facebook and shows Facebook
statuses and updates for the users contacts.
Three types of approach:
1) Native mobile app development
2) Mobile web app development
3) Hybrid app development
Native mobile apps are developed using the native language of the mobile
operating platform.
These apps have access to all the device capabilities and functionalities as they
use the native SDK for the app development.
Mobile web apps are developed using mobile web framework technologies like
HTML5, CSS3, and Java Scripts.
These Apps are executed on the Web servers and accessible via Mobile Web browsers
and are highly portable across multiple mobile platforms.
Despite the fact that some of the device specific functions and offline stores can be
accessed through HTML5, there are several constraints due to the dependencies of the
sandbox nature of specific platforms and the extent of adoption of HTML5 specifications
by native browser components that are still evolving.
As the name suggests, Hybrid app development platforms use combination of both web
based and native app development.
Applications are built using web technologies like HTML5, CSS3, and Java Scripts and
involve the native APIs for access to device specific capabilities.
These apps are resident on the devices as they are packaged within the browser control
of the platform and compiled using the native SDK.
This type of app provides better portability across platforms as compared to native apps
and they rely on the platform provider for hybrid platform development.
Some of the hybrid platforms also provide flexibility to extend and customize the
platform by adding additional wrapper plug-ins so that the apps can leverage plug-in
extensions to access more specific native device capabilities to a limited extent.
Design Issues

1. Operating system issues


2. Screen size and orientation issues
3. Connectivity issues
4. Battery issues
5. Hardware issues
Designing for the specific device your app will run on is extremely important!.
Applications that work well on a traditional computer may be complete disasters if ported to
a mobile platform without redesigning the logic to fit the devices capabilities.
Additionally, the capabilities of the device enable you to design an application that can do
different things than an application on a traditional computer.
Apps are cheap and easy to obtain. If yours doesnt work well, there is likely to be an
acceptable alternative. A well-designed app can be a delight to use.
A poorly designed app will not be used for long, if at all.
Issues includes:
1) Operating system design
2) Screen Size and Orientation Issues
3) Connectivity Issues
4) Battery Issues
5) Hardware Issues
The primary technical difference between mobile device operating systems and
operating systems used on laptop and desktop computers is that the mobile operating
system is not a true multitasking system.
On mobile devices, only one app can be active at a time. When another app is started,
or the app is interrupted by another app (for example, a phone call), the app that was
running gets put in the background. It remains in the background until the user
specifically accesses it again. If it remains in the background too long, or if available
memory gets too low, the operating system may kill it.
This back-and-forth between different states is called the apps life cycle. Both Android
and iOS apps have a life cycle.
The life cycle is based on the users interaction with the app and the operating systems
need for memory and processing resources. As users interact with the device, they may
switch between apps or different views within a single app.
When this happens the app goes through different states, requiring the developer to
handle this switch so that users dont lose data or get unnecessarily interrupted in the
task they were performing
The mobile device has significantly less area to design the interaction that your users can
experience with your app.
Poor interface design is the easiest way to get bad reviews for your app. Mobile devices are also
used in different situations than traditional computing devices are. App users are often
multitasking (walking, talking with friends, and so on). The app design must allow users to switch
to your app and do what they want to do right away, before they are distracted again. If users
cant easily figure out how to use the app, no amount of help will satisfy them. This is no different
from traditional development. However, the very limited screen real estate makes it a significant
challenge. In addition, the focus among app developers has been on very good user interface
design, so the competition is fierce for apps that work really well.
In response to the limited screen size, both iOS and Android have the capability to scroll to
interface elements not on the screen. Scrolling can be both horizontal and vertical. However, both
scrolling capabilities should be used judiciously, especially horizontal scrolling.
Scrolling down a list has become a natural action on both traditional computers and mobile
devices. However, horizontal scrolling has not. Horizontal scrolling should be reserved for use for
elements that start on the main screen and extend off the screen. Users wont naturally think to
horizontally scroll to look for items they cant find on the main screen. Even vertical scrolling
should be limited. Lists are obvious choices for vertical scrolling, but other types of interface
elements should be limited. Additionally, when scrolling, you must also fix certain elements so
that the user can perform needed operations without scrolling back through the entire contents
of the screen.
One of the most important aspects of mobile devices is that they are able to communicate
with other devices and the Internet. This enables the capability to create very powerful and
useful apps. However, this also poses design problems. The devices capability to connect
can be lost, or the connection speed may be very slow.
Additionally, these problems can arise if the device moves even a few feet. Compounding
the problem is that users may not recognize or even understand that there is a connectivity
problem while they are using your app.
Apple requires that all apps submitted to the app store include a user warning when the
network connection is lost, but this doesnt address slow speeds, and is not required by
Android at all.
The primary issue that the app developer has to be concerned with is blocking the user from
working with your app. When the app gets or sends data, it can take a significant amount of
time. Users are unlikely to be happy waiting for this action to complete before doing other
tasks. This means you have to plan for uploading and downloading data asynchronously,
which means you have to make it run outside the main thread of the app.
They rely on batteries for their power, and batteries can be drained. Your job as a
developer is to not drain those batteries unnecessarily. This is not just a courtesy issue. If
every time your app is used the users device quickly becomes a brick, it will be noticed.
An app that quickly drains power will not get used, will get bad reviews, and eventually
will not get downloaded at all.
The primary power draw for devices is the display. You cannot do much about that
except to make sure that your code is efficient and doesnt take an unnecessary amount
of time to complete the work that the user wants to do. Also, you should make sure that
users can pick up where they left off if the app is interrupted so the screen doesnt need
to be on so long.
After the screen, the primary power drains are the sensors. Global Positioning System
(GPS), camera, communication, and other sensors are all big power draws. Fortunately, it
is within your power to control these things. You control access to device hardware within
your app and should turn on these capabilities only just before the user needs them. You
should also turn them off as soon as the user completes the task that requires these
items.
A very cool aspect of mobile computing is the set of hardware components available on the
device. Many devices have the capability to locate the device within a few meters using the GPS,
have sensors that can capture device orientation, have lights that can be turned on and off, have
cameras, and have other hardware components that allow the device to interact with the
environment.
The first issue to be aware of is availability of the component. Different manufacturers make
Android devices, and some include devices that others do not. iOS devices are generally more
homogeneous, but differences still exist. Because of this, it is very important to consider how
important the component is to the primary functionality of your app. For example, for a device to
get a GPS signal, the device has to have the capability to get the satellite signal required for
operation. If the user is indoors, the GPS may not work.
A second issue to be aware of is time delays. To access a hardware component you must use the
components Application Program Interface (API). The component may take some time to turn
on and respond with the information you need. If this delay is significant, it may impact the user
experience in such a way that your app is viewed negatively.
A final important issue with the use of hardware devices is accuracy. There are several aspects of
this issue. First, the accuracy of the component can differ among manufacturers. Consider what
the minimal level of accuracy is needed for effective use of your app, and design for that. Be
sure to give the user options if the required level of accuracy is not available. Second, accuracy
often takes time. For example, to find the location of the device within a few hundred meters is
often very quick.
Android devices (phones and tablets) and iOS phones and tablets each have a unique
set of hardware and software capabilities that make the way the user interacts with the
device different for each. Again, to fully capture the devices capabilities and not
degrade the user experience, you must design for those unique characteristics.
Comparisons between:
1) Android
2) iOS
Android devices originally used four hardware buttons to support the users use of the
device. These buttons were the Home button, the Menu button, the Search button, and
the Back button.

However, more recent Android devices (running Android 3.0, API 11 and greater) have
replaced these buttons with virtual buttons at the bottom of the screen and an action bar
at the top of the screen .
The primary hardware button of concern on iOS devices is the Home button. This button
immediately moves any app presently running to the background. The
viewWillDisappear:, applicationWillResignActive:, and applicationDidEnterBackground:
methods will all be called. Plan your app so that this action will not cause problems.

Both Android and iOS have a button that puts the device to sleep or reboots it. This action
also must be handled. Fortunately, the same methods that put the app in the background
for other actions are executed so, typically, no additional programming is required to
prepare for this.
Monetization

1. Paid application
2. Ad-supported applications
3. In-application purchases
4. Understanding the economics of
application stores

App Monetization is ability to


generate money
App developers create programs for a variety of reasons community service, agenda-
advancement, love of technology. But for most, the motivation behind the release of an app
is the same as the majority of publicly-available products: to make money.
But where creators of tangible products follow for the most part traditional paths of
revenue generation, app entrepreneurs often have to be a little more creative to claim big
pay days.
Less than a decade after the explosion of the mobile app marketplace, a small number of
monetization methods have emerged as the strategies most likely to achieve success among
consumers.
Type of strategies:
1) In-app Advertising
2) Freemium
3) In-app purchases
4) Paid application
5) Subscription
In-app ads are perhaps the most popular, as well as the fastest-growing, of the free-to-
download monetization strategies. The most common in-app ads are usually simple banner
ads that live on the bottom or the top of the users screen during their app experience. As the
app monetization industry matures, more engaging and visually appealing ads are
appearing on users phones ranging from full-screen ads to native ads to video ads.
Even though it seems easy, it is very important for developers to strike a balance when using
in-app advertising. Too many advertisements can annoy users, especially if the ads
unnecessarily interrupt their app experience. Too little advertisements will not make the
developer any money.
In-app ads would work best for your app if:
1) You dont want to worry about collecting money directly from users.
2) In-app purchases will not fit naturally into your app
3) You collect/are willing to collect basic demographic data about your users
4) You have a high amount of users, your users start new app sessions frequently, or your
users have long app sessions.
Another popular strategy, freemium apps are offered as free-to-download but the user has the option
to pay money to unlock new features once they have used the app for a while. Some apps which have
a freemium strategy also combine it with in-app advertising. The free version of the app is ad-
supported, but the user can then pay a small price to get rid of the ads.
Freemium apps are popular because it lets the user test the app before deciding if they want to
purchase. The problem with freemium apps, however, is that some developers do not put enough
features into the free version of the app. A lack of features in the free version will discourage users
from paying later. Devs really have to walk the line between offering enough features to get users
engaged and making sure the freemium-level features are exciting enough to get users to pay.
Freemium would work best for your app if:
1) You would like a little extra revenue on top of in-app ads
2) You have a gaming app
3) Your freemium features will provide real value to the user
4) You have a strong, free-to-play version as a base
5) You have a high amount of users or long app sessions
Not to be confused with Freemium, apps with in-app purchases give their users the
opportunity to spend money on real-world or virtual goods. Offering real-world (physical)
goods is mostly limited to retail or services app, but non-retail apps can choose to offer
virtual goods which the user can then use freely within the app itself. These virtual goods
usually take the form of credits, in-app currency, or fun accessories or add-ons.

In-app purchases are a strong and stable monetization strategy, but there are some
drawbacks. First, most of your users will not make an in-app purchase. This means that the
user should be able to use every part of your app without needing to buy anything. In order
to convince users to buy in-app goods, you need to really demonstrate how or why the in-
app purchases will benefit them.

In-App Purchases would work best for your app if:


1) You have a retail app, a services app, or a gaming app
2) You will make enough revenue to offset the percentage of revenue that Apple and Google
take from in-app goods sales
3) An in-app store would fit naturally into your app
4) The in-app goods provide real value to the user
5) You have a high amount of users with long session times
The simplest monetization strategy is to charge users for the initial download of an app.
Paid apps are usually (relatively) inexpensive, and can benefit consumers by providing
full user experiences free of ads.
Developers of paid apps can dedicate all their time and efforts to the UX components of
their software, without worrying about making room for ads or deciding which features
to hold back in order to pull in revenue via upgrades and in-app purchases.
Unfortunately for advocates of paid apps, consumers have made it abundantly clear that
they prefer free or freemium apps and its not even close. Demand for free mobile
software has led to a dearth of paid apps, with approximately 90 percent of programs on
Apples App Store available free-of-charge (at least initially) in 2013.
Typically used for content-driven apps like news and blog providers, subscription-
based apps use paywalls to charge consumers for access to offerings like articles,
videos, and podcasts.
Many subscription-based apps offer limited numbers of posts for free each month,
then require payments before any further content can be accessed. Subscription
apps are usually purchased in weekly, monthly, or yearly intervals, and target users
likely to become loyal consumers of the type of content provided by the program.
Subscription apps provide steady streams of revenue for developers, but also
require the constant addition of new and relevant material in addition to the
normal upkeep associated with mobile software.
Monetization Strategies

S-ar putea să vă placă și