Android v ios Mobile Operating Systems



Similar documents
Developing Applications for ios

Mobile Phones Operating Systems

Android 5.0: Lollipop OS

Introduction to Android

01. Introduction of Android

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Example of Standard API

CS378 -Mobile Computing. Android Overview and Android Development Environment

Android Architecture. Alexandra Harrison & Jake Saxton

Workshop on Android and Applications Development

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Android Programming and Security

How To Use Ios 5

BYPASSING THE ios GATEKEEPER

Issues in Android on Mobile Platform and Their Resolution

MOBILE APPS. QA Testing for mobile applications

ADF Mobile Overview and Frequently Asked Questions

ANDROID OPERATING SYSTEM

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

ios Application Development &

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Cell Phone Operating Systems

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Deployment of Mobile Application for Multiplatform Operating Systems

Enterprise Apps: Bypassing the Gatekeeper

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

How To Develop An App For Ios (Windows)

Overview of CS 282 & Android

Choosing a Mobile Application Development Approach

Introduction to Android

Overview. The Android operating system is like a cake consisting of various layers.

Figure 6.1. Windows Phone 7 s hub-based interface, made up of live tiles and information aggregation

Smartphone market share

An Introduction to Android

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To

Introduction to Android

ipad, a revolutionary device - Apple

Lecture 1 Introduction to Android

Hacking your Droid ADITYA GUPTA

Development. SriSeshaa Technologies. Table of Contents

TELUS Business Connect Meeting User Guide. Video Conference. Web Share.

Android Development Tools for Eclipse

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Analysis of advanced issues in mobile security in android operating system

itunes Connect Developer Guide

OMX, Android, GStreamer How do I decide what to use? 15 July 2011

Praktikum Entwicklung Mediensysteme (für Master)

Take full advantage of IBM s IDEs for end- to- end mobile development

Penetration Testing for iphone Applications Part 1

Mobile Operating Systems. Week I

Deploying iphone and ipad Mobile Device Management

How to Run Your Existing Android APK on the Tizen Platform. Chandra Bajpai Matt O Keefe OpenMobile World Wide

Developing and deploying mobile apps

Android Mobile App Building Tutorial

All About Android WHAT IS ANDROID?

The Mobile Device and Operating System Landscape

Praktikum Entwicklung von Mediensystemen mit

Android Application Development

A Review of Different Comparative Studies on Mobile Operating System

Native vs. HTML5 Mobile App Development

EXTENDING ORACLE WEBCENTER TO MOBILE DEVICES: BANNER ENGINEERING SUCCEEDS WITH MOBILE SALES ENABLEMENT

Mobile Communicator for Mobile Devices

Building Apps for iphone and ipad. Presented by Ryan Hope, Sumeet Singh

Mobile Game and App Development the Easy Way

Apple Deployment Programs Apple ID for Students: Parent Guide

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Introduction to Android

Android Operating System

Fei Yu, (A survey paper written under the guidance of Prof. Raj Jain) Download

Module Title: Software Development A: Mobile Application Development

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus

App Distribution Guide

Supporting Apple ios Devices

RingCentral Meetings User Guide. Video Conference. Web Share.

Running Android Applications on BlackBerry 10 developer.blackberry.com/android

Deploying iphone and ipad Security Overview

ios Enterprise Deployment Overview

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Student ipad User and Setup Guide

Ensuring the security of your mobile business intelligence

RoverPal - A Mobile Payment Application

Native, web or hybrid mobile-app development

RDM+ Desktop for Windows Getting Started Guide

Mobile App Development

Mobile App Design and Development

Cross-Platform Development

Adobe Flash Player and Adobe AIR security

Creating Effective Mobile Advertising Campaigns

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

ios Technology Overview

Create shared Photostreams in ios 7

touchable 3 brings easy plug and play USB connectivity and 42 new templates for Live s Instruments and FX.

Cloud Computing for Education Workshop

Transcription:

v ios Mobile Operating Systems is an open source operating system widely used on smartphones and tablets. has been available under a free and open source software license from October 21, 2008 and until March 2011. Google published the entire source code (including network and telephony stacks) under an Apache License, and keeps the reviewed issues list publicly open for anyone to see and comment. Even though the software is open source, device manufacturers cannot use Google's trademark until Google certifies that the device complies with their Compatibility Definition Document (CDD). Devices must also meet this requirement to be eligible to license Google's closed-source applications, including the Market. Google purchased the initial developer of the software, Inc., in 2005. The unveiling of the distribution on November 5, 2007 was announced with the founding of the Open Handset Alliance, a consortium of 84 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. Google released most of the code under an Apache License, a free software license. The Open Source Project is tasked with the maintenance and further development of. The Kernel is based on the Linux kernel, with middleware, libraries and APIs written in C, and application software running on an application framework, which includes Java-compatible libraries based on Apache Harmony. uses the Dalvik virtual machine with just-in-time compilation to run compiled Java code. has a large community of developers writing applications ("apps") that extend the functionality of the devices. Developers write primarily in a customized version of Java. There are currently more than 200,000 apps available for. Apps can be downloaded from thirdparty sites or through online stores such as Market (available through a browser as well as on the phone). The OS was listed as the best-selling smartphone platform worldwide in Q4 2010 by Canalys with over 190 million devices in use by October 2011. OS Versions The platform releases software upgrades periodically and each substantial upgrade is named after a dessert. The December 2010 release of Gingerbread OS 2.3/2.4 has the highest percentage of market share, with 50.1% in December 2011. The key features of this update are the improved resolution for large screens, near-field communication, copy-paste feature, improved graphics for gaming and multiple camera. The last OS released on February 22, 2011 was Honeycomb OS 3.0 SDK. This is the first ever tablet only release of. The Motorola Xoom is the first tablet to run on this OS. The attractive features are the 3D desktop with redesigned widgets, Gtalk video chat and improved performance with hardware acceleration. The next update for will be Ice Cream Sandwich 3.0, which will include several software enhancements such as an improved copy and paste function, data logging and warnings, as well as the ability to be able to take screenshots by holding down on the power and volume buttons. There have been improvements with the UI, keyboard and dictionaries as well.

Apple ios Apple ios was originally developed for the iphone, it has since been extended to support other Apple devices such as the ipod touch, ipad and Apple TV. Apple does not license ios for installation on third-party hardware. As of December 2011, Apple is advertising more than 500,000 ios applications, which have collectively been downloaded more than 18 billion times. The user interface of ios is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. The response to user input is immediate and provides a fluid interface. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the ios operating system and its multi-touch interface. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode). ios is derived from Mac OS X, which shares the Darwin foundation, and is therefore a Unix-like operating system by nature. In ios, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The current version of the operating system (ios 5.0) uses roughly 774.4 megabytes of the device's storage, varying for each model. OS Versions The latest update was released at 6pm GMT on October 12, 2011. ios 5 introduced the icloud service and the Notification Center, as well as improvements to native apps such as Camera. The operating system also features new applications, such as the "Reminders" app and "Newsstand", an application that lets you buy newspapers and magazines. Unlike other applications, Newsstand is the first native application to actually run on the homescreen. "imessage" is an application that allows ipod touch, iphone, and ipad users to communicate, much like a chat service only used between these devices. The imessage feature has been integrated into the "Messages" application on the iphone. The ipod application on the iphone and ipad has now been split into the Music and Video applications, just like on the ipod Touch. According to Apple, the new OS has over 200 new features. Application Distribution distributes applications through the Market. Google hosts the applications, and a little more than half are available free of cost and the rest require nominal fees. has a refund policy in which they will issue a full refund if a user uninstalls an app within the first 24 hours after installing it. Because Google does not regulate or approve of applications in its Market, there are more security vulnerabilities and issues associated with. Apple Applications are available through the App Store on all ios devices. A little over a quarter of the applications Apple hosts are free, the rest require some form of payment. Applications hosted in Apples App Store are scrutinized prior to release. App writers must submit their apps to Apple, which has a process of deciding on whether they would like to host them or not. Additionally, Apple can also provide information about the range of the products available in their app store. Apple does not have a refund policy for their apps.

Symantec recently conducted a lengthy analysis in regards to the vulnerability of Apple s ios and. It outlined how ios is more resistant to traditional malware attacks, mostly due to Apple s app approval process and their extensive process of investigating developers to identify and eliminate potential attackers. 400 Number of Apps ios vs. No. of Apps, in 1,000's 350 300 250 200 150 100 50 Apple App Store Market 0 8/1/10 9/1/10 10/1/10 11/1/10 12/1/10 1/1/11 2/1/11 Graph depicting the growth of apps in the Market compared to the Apple App Store as of February 2011. Free vs. Paid Apps ios & (08-15- 2010) iphone (08-15- 2010) (02-14- 2011) Paid Free iphone (02-14- 2011) 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Percentage of Apps Graph depicting the number of free versus paid apps in the Market and Apple App Store.

Vulnerabilities It can be assumed that is a more vulnerable platform due to the fact that it is open-source and does not have as tight a leash on platform rules and features as Apple s ios. One of the recent vulnerabilities exposed in this platform was the permission-escalation vulnerability, which allows for an app to be installed without a user approving of the permissions typically required when installing an app. Another vulnerability is called the Linux kernel privilege escalation and it allows for an unprivileged application to escalate or gain privileges and full control over a device. The researcher that discovered the aforementioned vulnerabilities, Jon Oberheide, was able to upload an app disguised as Angry Birds expansion pack into the Market. Once downloaded, without any user knowledge, the application was able to install three additional apps that monitored the phone s contacts, location information, and text messages. All of the extracted data could then be transmitted to a remote server. Apple Although Apple s ios platform is more tightly controlled in comparison to, there is still some vulnerability that exists within the platform. One such exposed vulnerability is to an updated version of a tool called sslsniff, which allows users to easily perform man-in-the-middle attacks against SSL/TLS connections. With this tool, hackers can identify vulnerable Apple devices and have the ability to snoop on secure communications. The vulnerability is present in many versions of ios 4 as well as the newly released ios 5, and it allows anyone to capture traffic from your ios device with techniques to read and intercept any and all encrypted SSL traffic silently without notifying the user. Another vulnerability exposed within the ios platform is in conjunction with the Skype ios app. With this vulnerability, hackers can use a JavaScript exploit to extract address books from ios devices. For example, if a user is to open a chat with a malicious person, they can get access to the user s friend list and do whatever they would like with the information. Framework/SDK Differences is programmed primarily in Java on top of a custom VM (virtual machine). The object model is distributed and classes are freely invoked between apps and libraries, meaning that there is no sandboxing of applications such as that seen in Apple s ios platform. The lack of sandboxing between applications leads to a less secure device. Applications are free to communicate with one another, exchange information and data. Application development is facilitated through a set of tools that are provided with the SDK; these tools are accessible with the Eclipse plugin called ADT ( Development Tools) or from the command line. Development with Eclipse is preferred and encouraged because it allows the developer to directly invoke the tools needed while developing. The steps for developing are as follows: Set up Virtual devices or hardware devices Create an project Build and run the application Debug the application with the SDK debugging and logging tools Test the application with the Testing and Instrumentation framework

Application Licensing The market offers a licensing service that lets you enforce licensing policies for paid applications that you publish through the market. With market licensing, the developer s applications can query market at run time to obtain their licensing status for the current user, then allow or disallow further use as appropriate. The licensing service is a secure means of controlling access to a developer s applications; when an application checks the licensing status, the Market server signs the licensing status response using a key pair that is uniquely associated with the publisher account. The developer s application stores the public key in its compiled.apk file and uses it to verify the licensing status response. The SDK provides developers with library sources that can be included in their application projects; the License Verification Library (LVL) handles all of the licensing-related communication with the market client and licensing service. With the LVL integrated, the developer s application can determine its licensing status for the current user by simply calling a library checker method and implementing a callback that receives the status. In order for a developer to be able to use licensing for an application, they must register with a publisher account on market so they can publish the application to users. Developers can register for a publisher account through their existing Google accounts after agreeing to the terms of service. After the registration process has been completed and a publisher account has been acquired, developers can upload applications at their own convenience, and begin debugging and testing their licensing implementations. Developers can use the publisher account to obtain a public key for licensing, debug and test an application s licensing implementation (prior to publishing the application), and publish the applications to which they have already added licensing support. Apple ios Apple s ios is developed using the ios Software Development Kit. The ios SDK includes ios, Xcode tools, access to documentation, sample code, and resources needed to develop applications. The SDK and Xcode tools can be used on any Intel-based Macintosh computer with a current version of Mac OS X. Xcode provides the development environment developers can use to create the application code, compile it, run it, and debug it. Apple s ios is based on a variant of the same Mach kernel that is found on Mac OS X, and there are layers of technology services that are used to implement applications on the platform. The layers are divided into four; Cocoa Touch, media, Core Services, and core OS. Core OS and Core Services layers contain the fundamental interfaces for ios, including those used for accessing files, low-level data types, Bonjour services, network sockets, etc. The layers are mostly Cbased and contain technologies such as Core Foundation, CFNetwork, SQLite, and access to POSIX threads and UNIX sockets among others. Moving into the upper layers, such as the media layer, there are more advanced technologies using a mixture of C and Objective-C. The media layer contains the fundamental technologies used to support 2D and 3D drawing, audio, and video. This layer includes Cbased technologies such as Open GL ES, Quartz, and Core Audio, along with Core Animation, which is an advanced Objective-C based animation engine. In the Cocoa Touch layer, most of the technologies use Objective-C. Frameworks within this layer provide the fundamental infrastructure used by the developer s application; foundation framework provides object-oriented support for collections, file management, network operations and more. The UIKit framework provides the visual infrastructure for the application, including classes for windows, views, controls and the controllers that manage those objects. The starting point for any development project is the Cocoa Touch layer and the UIKit framework in particular.

Application Licensing Prior to having apps uploaded and installable on the App Store, developers must wait for approval of the application by Apple. Once Apple determines if the app can be published, it is uploaded to the app store and can be downloaded by any ios user. Developers have the option of offering free or commercial apps to itunes customers all over the world; they have the option of picking the price and receive 70% of the revenue generated. Developers that host their applications on the app store are able to get paid monthly and no hosting, credit card, and marketing fees are incurred. Additionally, there are no charges incurred for hosting free apps. Application developers can also create new and additional revenue by leveraging opportunities such as In-App purchases, iad Rich Media Ads, and the App Store Volume Purchase Program. Publishers can offer custom B2B apps directly to business customers that have a Volume Purchase Program account; a custom B2B app provides a unique, tailored solution to address a specific business need or requirement. Furthermore, Ad Hoc distribution enables developers to share their applications with up to 100 other ipad, iphone or ipod touch users. Through email or by posting it to a website or a server, users can download and install the developer s app. For more information on the Apple ios Enterprise Development program as well as creating inhouse apps, please refer to the PaRaBaL document entitled ios Enterprise Developers Program. Apple ios Google Estimated Number of Apps ~500,000 ~200,000 Latest s/w version ios 5.0.1 Ice Cream Sandwich 3.0 Application Distribution Apple App Store Market SDK ios Software Development Kit Google SDK Framework C and Objective-C Java and C Grouped Notifications Notification Center Pull-down Notifications (2008) Group, multimedia messaging (free within ecosystem) imessage Twitter sharing, integration ios 5, October 2011 Standard messaging; thirdparty apps (Kik, GroupMe) Sharing an original feature; status updates via apps Over-the-air updates ios 5, October 2011 Original feature (2008) Rich text formatting Mail app Third-party apps Voice Controls Siri Voice actions; third-party apps vs. Apple ios Comparison Table