Android – As a tool of innovation
Pallab Sarkar
Pradeep Kumar Govindaraju
Smart Phones vs Feature
Phones
Is Internet a major factor ?
Android Operating System
 Android is an open source operating

system, initially developed by
Android, Inc which Google later
bought in 2005.
 Linux based (3.4.10 kernel) OS.
 Can be programmed in C/C++ but
most app development is done in Java
(Java access to C Libraries via JNI
(Java Native Interface))
 In last Quarter of 2013, Android
account for 81.3 % of global
Smartphones.
Open Handset Alliance
 The Open Handset Alliance (OHA) is

a consortium of 84 firms to develop open
standards for mobile devices.
 Member firms
include Google, HTC, Sony, Dell, Intel, Motorola, Q
ualcomm, Samsung Electronics, LG Electronics
, Texas Instruments.
 Competes against Apple, Microsoft, Nokia (Symbian), HP (formerly Pa
lm), Samsung
Electronics/ Intel (Tizen, bada), and Blackberry.
What made Android so popular?
(From developers point of view)
 Global partnerships and large installed base
 Powerful development framework
 Open marketplace for distributing your apps
 Free Apps & Advertisements.
Features – Open Source
 Initially

device manufacturers were not
supporting third party firmware.
 After the US government declared “Jailbreaking”
as legal, manufacturers and carriers have
softened their position regarding 3rd party
development.
 Cyanogen Mod, is the most popular custom
ROM.
Features – Security & Privacy
 Android applications run in a

sandbox.
 Permissions are provided to the
application by the user while
installing them from Play Store
 Google uses “Google Bouncer”
Malware scanner
 Only 0.5 % of malware had
come from Google Play Store.
Features – Memory Management
 Android

manages RAM to keep power
consumption in minimum level.
 Though it supports multitasking, when memory is
low, the system will kill apps that have been
inactive for a while, in reverse order of usage.
Features - Hardware Support
 Main Hardware is 32 bit ARM v7 Architecture.
 Graphics Processing Unit (GPU)

 Connectivity Options (3G ,4G LTE, WiFi, Bluetooth)
 Accelerometer w/compass

•
•
•
•
•
•
•

Ambient light sensor
Proximity sensor
GPS
Gyroscope
NFC
Touch / Pressure Sensor
Finger Print Scanner and so on…
Android - Architecture
Demo on Sample Android App
Development

Android
Manifest
Resource
XML

Java Source

Generated
Class
Android
Libraries

Java
Compiler

.dex
File

Dalvik
VM
Dalvik virtual Machine
• Application virtual Machine or Managed Runtime
Environment currently used in Android for running
applications.
• The compact Dalvik Executable format is designed
to be suitable for systems that are constrained in
terms of memory and processor speed.

Android's ART virtual machine
• Introduced with Android 4.4
• It uses Ahead-of-time (AOT) process in which the
bytecode is pre-compiled into machine language at
the time of installation
BYOD – Bring Your Own Device
NFC – Near Field
Communication
Google Android Open Accessory
(AOA) Protocol
• Accessories use the (AOA) protocol to
communicate with Android devices, over a
USB cable or through a Bluetooth
connection.
• Accessory Development Kit (Arduino)
• Arduino based boards.
.

How Application development is made
easier and keeps in par in with latest
technologies?
3G & 4G Connectivity (Gobi)
•It provides a common software interface (API) for developers to
connect, locate, and manage the broadest range of 3G/4G devices in the
industry.
•Tap into the location functionality within Gobi to include services such as driving
directions, asset tracking, anti-theft, and enhanced commerce within your mobile
app
Computer Vision (FastCV)
•FastCV is a mobile-optimized computer vision (CV) library for developers of
sophisticated CV apps, CV middleware developers and CV app framework
architects.
•FastCV will enable you to add new user experiences into your camera-based
apps like:
•gesture recognition
•Face detection, tracking and recognition
•Text recognition and tracking
•Augmented reality
Context Aware (Gimbal)

•Gimbal is a context aware and proximity platform utilizing geofencing, microlocation, beacons enabled with Bluetooth Smart technology, interest sensing
and consumer privacy controls.
•A user’s mobile app can be enabled to look for the beacon’s transmission.
When it’s within physical proximity to the beacon and detects it, the app can
notify the customer of location-relevant content, promotions, and offers.
Mobile Gaming & Graphics
Optimization (Adreno)
•An SDK to optimize for faster frame
rates, smoother rendering and longer
battery life.
•Designed for everything from 3D rendering
to high-end effects.
•The
Adreno
SDK
includes
tools, libraries, samples, documentation, an
d tutorials for working with the OpenGL
ES, DirectX, OpenCL, and OpenSL API’s.
Peer-to-Peer
•Create unique apps and services by including the ability for devices to connect
via ad-hoc, peer networks using P2P technology. Nearby devices can
communicate directly with one another over Wi-Fi or Bluetooth without the need
to connect to cellular networks
•Qualcomm’s AllJyon
•Samsung’s Chord (All Share)
•Google’s Chromecast
Augmented Reality - Vuforia SDK
• Faster local detection of targets
• Cloud recognition of up to 1 million targets
simultaneously
• User-defined targets for run-time target
generation
• Cylinder targets – Detection and tracking of
images on a cylindrical surface
• Text recognition – Recognition and tracking of
printed text (words)
• Robust tracking – Augmentations stick to the
target and are not easily lost as the device
moves
• Optimizations that ensure better and more
Demo On AR
Open CV – Computer Vision
 OpenCV (Open Source Computer Vision library )
 http://opencv.org
 It’s a open-source BSD-licensed library
 Includes several hundreds of computer vision

algorithms.
 It has easy to use Android port called
OpenCV4Android getting very popular nowadays
 OpenCV has a modular structure,
 It has OpenCV Manager as an Android service
targeted to manage OpenCV library binaries on end
users devices.
Main modules of OpenCV

 core – Defines basic data structures, like











array Mat and basic

functions used by all other modules.
imgproc - Image processing module that(linear and non-linear
image filtering, geometrical image transformations (resize, affine and
perspective warping, generic table-based remapping), color space
conversion, histograms, and so on.)
video - Video analysis module (motion estimation, background
subtraction, and object tracking algorithms.)
calib3d - basic multiple-view geometry algorithms, single and stereo
camera calibration, object pose estimation, stereo correspondence
algorithms, and elements of 3D reconstruction.
features2d - salient feature detectors, descriptors, and descriptor
matchers.
objdetect - detection of objects and instances of the predefined
classes (for example, faces, eyes, mugs, people, cars, and so on).
highgui - Interface to video capturing, image and video codecs, as
well as simple UI capabilities.
gpu - GPU-accelerated algorithms from different OpenCV modules.

Also like ml(machine learning), objdetect(object detection). etc
Few example
 Color space conversion

Imgproc.cvtColor(Mat src, Mat dst, int code)
OR
Highgui.imread(String filename, int flags)
 Histogram Equalization

Imgproc.equalizeHist(Mat src, Mat dst)
 Straight Line

Imgproc.HoughLinesP(Mat image, Mat lines, double
rho, double theta, int threshold)
Contours

Imgproc.findContours(Mat image, List<MatOfPoint>
contours, Mat hierarchy, int mode, int method)
Like many use cases possible….
Android – As a tool of innovation
Android – As a tool of innovation

Android – As a tool of innovation

  • 1.
    Android – Asa tool of innovation Pallab Sarkar Pradeep Kumar Govindaraju
  • 2.
    Smart Phones vsFeature Phones
  • 3.
    Is Internet amajor factor ?
  • 4.
    Android Operating System Android is an open source operating system, initially developed by Android, Inc which Google later bought in 2005.  Linux based (3.4.10 kernel) OS.  Can be programmed in C/C++ but most app development is done in Java (Java access to C Libraries via JNI (Java Native Interface))  In last Quarter of 2013, Android account for 81.3 % of global Smartphones.
  • 5.
    Open Handset Alliance The Open Handset Alliance (OHA) is a consortium of 84 firms to develop open standards for mobile devices.  Member firms include Google, HTC, Sony, Dell, Intel, Motorola, Q ualcomm, Samsung Electronics, LG Electronics , Texas Instruments.  Competes against Apple, Microsoft, Nokia (Symbian), HP (formerly Pa lm), Samsung Electronics/ Intel (Tizen, bada), and Blackberry.
  • 7.
    What made Androidso popular? (From developers point of view)  Global partnerships and large installed base  Powerful development framework  Open marketplace for distributing your apps  Free Apps & Advertisements.
  • 8.
    Features – OpenSource  Initially device manufacturers were not supporting third party firmware.  After the US government declared “Jailbreaking” as legal, manufacturers and carriers have softened their position regarding 3rd party development.  Cyanogen Mod, is the most popular custom ROM.
  • 9.
    Features – Security& Privacy  Android applications run in a sandbox.  Permissions are provided to the application by the user while installing them from Play Store  Google uses “Google Bouncer” Malware scanner  Only 0.5 % of malware had come from Google Play Store.
  • 10.
    Features – MemoryManagement  Android manages RAM to keep power consumption in minimum level.  Though it supports multitasking, when memory is low, the system will kill apps that have been inactive for a while, in reverse order of usage.
  • 11.
    Features - HardwareSupport  Main Hardware is 32 bit ARM v7 Architecture.  Graphics Processing Unit (GPU)  Connectivity Options (3G ,4G LTE, WiFi, Bluetooth)  Accelerometer w/compass • • • • • • • Ambient light sensor Proximity sensor GPS Gyroscope NFC Touch / Pressure Sensor Finger Print Scanner and so on…
  • 12.
  • 13.
    Demo on SampleAndroid App Development Android Manifest Resource XML Java Source Generated Class Android Libraries Java Compiler .dex File Dalvik VM
  • 14.
    Dalvik virtual Machine •Application virtual Machine or Managed Runtime Environment currently used in Android for running applications. • The compact Dalvik Executable format is designed to be suitable for systems that are constrained in terms of memory and processor speed. Android's ART virtual machine • Introduced with Android 4.4 • It uses Ahead-of-time (AOT) process in which the bytecode is pre-compiled into machine language at the time of installation
  • 15.
    BYOD – BringYour Own Device
  • 16.
    NFC – NearField Communication
  • 17.
    Google Android OpenAccessory (AOA) Protocol • Accessories use the (AOA) protocol to communicate with Android devices, over a USB cable or through a Bluetooth connection. • Accessory Development Kit (Arduino) • Arduino based boards.
  • 18.
    . How Application developmentis made easier and keeps in par in with latest technologies?
  • 19.
    3G & 4GConnectivity (Gobi) •It provides a common software interface (API) for developers to connect, locate, and manage the broadest range of 3G/4G devices in the industry. •Tap into the location functionality within Gobi to include services such as driving directions, asset tracking, anti-theft, and enhanced commerce within your mobile app
  • 20.
    Computer Vision (FastCV) •FastCVis a mobile-optimized computer vision (CV) library for developers of sophisticated CV apps, CV middleware developers and CV app framework architects. •FastCV will enable you to add new user experiences into your camera-based apps like: •gesture recognition •Face detection, tracking and recognition •Text recognition and tracking •Augmented reality
  • 21.
    Context Aware (Gimbal) •Gimbalis a context aware and proximity platform utilizing geofencing, microlocation, beacons enabled with Bluetooth Smart technology, interest sensing and consumer privacy controls. •A user’s mobile app can be enabled to look for the beacon’s transmission. When it’s within physical proximity to the beacon and detects it, the app can notify the customer of location-relevant content, promotions, and offers.
  • 22.
    Mobile Gaming &Graphics Optimization (Adreno) •An SDK to optimize for faster frame rates, smoother rendering and longer battery life. •Designed for everything from 3D rendering to high-end effects. •The Adreno SDK includes tools, libraries, samples, documentation, an d tutorials for working with the OpenGL ES, DirectX, OpenCL, and OpenSL API’s.
  • 23.
    Peer-to-Peer •Create unique appsand services by including the ability for devices to connect via ad-hoc, peer networks using P2P technology. Nearby devices can communicate directly with one another over Wi-Fi or Bluetooth without the need to connect to cellular networks •Qualcomm’s AllJyon •Samsung’s Chord (All Share) •Google’s Chromecast
  • 24.
    Augmented Reality -Vuforia SDK • Faster local detection of targets • Cloud recognition of up to 1 million targets simultaneously • User-defined targets for run-time target generation • Cylinder targets – Detection and tracking of images on a cylindrical surface • Text recognition – Recognition and tracking of printed text (words) • Robust tracking – Augmentations stick to the target and are not easily lost as the device moves • Optimizations that ensure better and more
  • 25.
  • 26.
    Open CV –Computer Vision  OpenCV (Open Source Computer Vision library )  http://opencv.org  It’s a open-source BSD-licensed library  Includes several hundreds of computer vision algorithms.  It has easy to use Android port called OpenCV4Android getting very popular nowadays  OpenCV has a modular structure,  It has OpenCV Manager as an Android service targeted to manage OpenCV library binaries on end users devices.
  • 28.
    Main modules ofOpenCV  core – Defines basic data structures, like        array Mat and basic functions used by all other modules. imgproc - Image processing module that(linear and non-linear image filtering, geometrical image transformations (resize, affine and perspective warping, generic table-based remapping), color space conversion, histograms, and so on.) video - Video analysis module (motion estimation, background subtraction, and object tracking algorithms.) calib3d - basic multiple-view geometry algorithms, single and stereo camera calibration, object pose estimation, stereo correspondence algorithms, and elements of 3D reconstruction. features2d - salient feature detectors, descriptors, and descriptor matchers. objdetect - detection of objects and instances of the predefined classes (for example, faces, eyes, mugs, people, cars, and so on). highgui - Interface to video capturing, image and video codecs, as well as simple UI capabilities. gpu - GPU-accelerated algorithms from different OpenCV modules. Also like ml(machine learning), objdetect(object detection). etc
  • 29.
    Few example  Colorspace conversion Imgproc.cvtColor(Mat src, Mat dst, int code) OR Highgui.imread(String filename, int flags)
  • 30.
  • 31.
     Straight Line Imgproc.HoughLinesP(Matimage, Mat lines, double rho, double theta, int threshold)
  • 32.
  • 33.
    Like many usecases possible….