Do you know?
Mobile Application Development
Jan 13, 2024
Smart Devices at Home / Office
2
Smart Devices on Road
3
Mobile Programming Projects
Mobile Millennium Traffic in San Francisco and the Bay Area
Source: http://traffic.berkeley.edu/
CarTel Project at MIT
http://cartel.csail.mit.edu/doku.php
4
Mobile Application Development
In-body smart devices
Sensors/monitoring devices
Drug delivery systems
Medical robots
Neural implants
5
Mobile Programming Projects
Habitat Monitoring
6
Mobile Programming Projects
Mobile Social Networking
7
Smart Phone – Overview
A smartphone is a high-end mobile phone
Combines the functions of
mobile phone, personal digital assistant (PDA)
portable media players, camera phones
high-resolution touch screens
web browsers, GPS navigation
Wi-Fi and mobile broadband access, etc.
Feature phone vs. Smartphone
Feature phone
proprietary firmware & limited platforms
Smartphone
open and complete mobile operating system
tightly integrate with the user interface and phone features
relies on a more powerful application programming interface (API)
8
Smart Phones – Statistics
9
Smart Phones – Statistics
10
Smart Phone – Pros
Always with the user
Increasingly powerful devices
Typically GPS capable
Typically have accelerometer
Designed for communication
2+ types of wireless connections
Many apps are free or low-cost
11
Smart Phones – Cons
Limited battery life
Limited processor speed
Limited RAM
Limited, unreliable, and slow network access
Limited screen size
Limited permanent storage capacity
Limited or awkward input
(none great: soft keyboard, phone keypad, touch screen,
stylus, speech)
Inconsistent platforms across devices
High costs associated with data transfer
12
Mobile Applications
What are they?
Any application software that is developed for small low-power handheld
devices such as personal digital assistants, enterprise digital assistants or
mobile phones.
Users on mobile phone’s
Typically check the news, weather, email, or their social networks
Often have a choice between the mobile web version or a specially-created
mobile app.
Mobile App Types
Web apps: run in a web browser
HTML, JavaScript, Flash, server-side components, etc.
Native: compiled binaries for the device
Not cross-platform, but more interesting options
13
Mobile Application Development
Web Apps Vs Native Apps
Web apps are developed using HTML5, Javascript and others.
The application package is generated using frameworks like
PhoneGap
Development is generic
But the application requires Internet connectivity if the
application is run from a webserver. Also, the application
might be influenced by the web style of appearance.
Native Apps are specific to the operating system of the mobile
and development is made using Objective-C or Java or others.
14
Native Development Environments
Options
Java ME
.NET Compact Framework (C++, C#, VB.NET) for
Windows Mobile
Qualcomm’s BREW (C or C++)
Symbian (C++)
BlackBerry (Java)
Android (Java)
iPhone (Objective-C)
Is having so many choices and so much industry
turmoil/competition a good thing?
15
Development Environments
Most platforms have an SDK that you can download and
build against
Every platform has an emulator that you can use to test your
apps
Most emulators are configurable to match a variety of mobile
devices
Various screen sizes, memory limitations, tablets, etc.
In practice, emulators quite limited
IDE - integrated development environment that provides
tools to allow a developer to write, test and deploy
applications into the target platform environment.
16
xCode IDE & iPhone Emulator
17
Eclipse and Android Emulator
18
Android
Android, Inc. founded in Palo Alto, California in October 2003
Google acquired Android Inc. in August 2005
Developed a mobile device platform powered by the Linux kernel
Google marketed the platform to handset makers and carriers on the premise of
providing a flexible, upgradable system
On November 2007, the Open Handset Alliance, a consortium of several companies
(e.g., Broadcom, Google, HTC, Intel, etc. unveiled itself).
The goal is to develop open standards for mobile devices.
Open Handset Alliance unveiled their first product, Android, a mobile device platform
built on the Linux kernel version 2.6
Android OS (open source) released in October 2008
19
Why Android
Simple and powerful SDK
Android SDK makes use of JDK (Java SE Development Kit)
No licensing fees
Excellent documentation, and a thriving developer community
From commercial perspective
Requires no certification for becoming an Android developer
Provides the Android Market for distribution and
monetization of your application
Has no approval process for application distribution
Gives you total control over your brand and access to the
user’s home screen
20
Android Overview
Open source OS and development platform
In theory, you can change anything
In practice....
Hardware reference design
Linux OS kernel
Open-source libraries for app development
E.g., SQLite, Webkit, OpenGL, media manager, Mobile
Application Design and Development
SDK and tools
Preinstalled apps
Wild west of app stores: the Market / Play Store
21
Android Version
Initial: 1.5 (Cupcake) (Apr 2009) , 1.6 (Donut) (Sep’09)
2.0/2.1 (Eclair) (Oct’09/Jan’10) : new web browser, new
user interface, support for HTML5, Geolocation API,
enhanced camera features / voice controls, 5 homescreens,
animated backgrounds.
2.2 (Froyo) (May’10) : speed improvement, Chrome v8
JavaScript engine, Wi-Fi tethering, Adobe Flash support
2.3 (Gingerbread) (Dec’10) : Near Field
Communication
3.0 (Honeycomb) (Feb’11) : tablet-oriented release,
supports multicore processors, hardware acceleration for
graphics
3.1 (Honeycomb) (May’11) : directly transfer content
from USB devices
3.2 (Honeycomb) (July’11) : adds several new
capabilities for users and developer (e.g., providing https://source.android.com/sou
developers with more precise control over the UI) rce/build-numbers.html
4.0 (Ice Cream Sandwich) (Oct’11) : combination of Version 4.4 – 4.4.4; KitKat:
Gingerbread and Honeycomb API Level 19
4.1 (Jelly Bean) (Jul’12) : improve user interface 22
Android – Features & Specifications
Platform is adaptable to larger, VGA, 2D graphics library, 3D
OpenGL graphics library
Storage - SQLite, a lightweight relational database
Connectivity - supports connectivity technologies including
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi,
LTE, NFC and WiMAX.
Messaging – SMS, MMS, threaded text messaging, Push
Messaging service.
Multiple language support
Web browser - based on the open-source WebKit layout engine,
coupled with Chrome's V8 JavaScript engine.
Java support – no Java Virtual Machine, Dalvik executables
and run on Dalvik 23
Android – Features & Specifications
Media support - audio/video/still media formats: WebM, H.263, H.264,
MPEG-4 SP, WAV, JPEG, PNG, GIF, BMP, etc.
Streaming media support - RTP/RTSP streaming (3GPP PSS, ISMA),
HTML5 <video> tag, Adobe Flash Streaming (RTMP), HTTP Dynamic
Streaming, Apple HTTP Live Streaming
Additional hardware support - video/still cameras, touchscreens, GPS,
accelerometers, gyroscopes, magnetometers, dedicated gaming controls,
proximity and pressure sensors, thermometers, accelerated 2D bit blits and
accelerated 3D graphics
Multi-touch
Bluetooth - supports A2DP, AVRCP, sending files (OPP), accessing the
phone book (PBAP), voice dialing and sending contacts between phones.
Keyboard, mouse and joystick (HID)
24
Android – Features & Specifications
Video calling – no native video calling, but some handsets have a customized
version of the operating system that supports it. Video calling through Google
Talk is available in Android 2.3.4 and later. Skype 2.1 offers video calling in
Android 2.3, including front camera support.
Multitasking
Voice based features - Google search through voice and voice actions for
calling, texting, navigation, etc.
Tethering - Supports sharing of Internet connections as a wired/wireless
hotspot
Google describes Android as: “The first truly open and comprehensive
platform for mobile devices, all of the software to run a mobile phone but
without the proprietary obstacles that have hindered mobile innovation.”
25
Please visit our website to know
about mobile app development
course.
Visit: whytechnologies.co.uk
26