+ All Categories
Home > Technology > 01 01 - introduction to mobile application development

01 01 - introduction to mobile application development

Date post: 27-Jan-2015
Category:
Upload: siva-reddy
View: 106 times
Download: 1 times
Share this document with a friend
Description:
introduction to mobile application development
Popular Tags:
25
Introduction Mobile Application Development
Transcript
Page 1: 01  01 - introduction to mobile application development

Introduction

Mobile Application Development

Page 2: 01  01 - introduction to mobile application development

AgendaWeb Apps vs. Mobile Apps

Mobile Application

Phases in Mobile App Development Platform

Languages Supporting Mobile App Development

What is a Smart Phone

Introduction to Different Smart Phones and its Features

Introduction to Different Smart Phone Application Development EnvironmentsWhat's different in developing Applications for Smart Devices (Smart Phones & Tablets)

Page 3: 01  01 - introduction to mobile application development

Advantages of Web Apps

• Universal access – Browsers are everywhere – Any device on the network can access content

PCs, Macs, Linux, Android, iPhone, Blackberry, etc.

• Automatic “updates” – Content comes from server, so is never out of date

• Well-established tools and methodologies – In multiple languages

Java, PHP, .NET, Ruby/Rails, CGI, etc.

Page 4: 01  01 - introduction to mobile application development

Disadvantages of Web Apps

• Few and weak GUI controls – Textfield, text area, button, checkbox, radio, list box, combo box. That’s it!

No direct drawing (except for HTML5 Canvas) • Cannot interact with local resources

– Cannot read files, call programs, or access devices on the user’s machine • Inefficient communication

– HTTP is weak protocol

• Hard to write – Requires knowledge of many technologies

Java, HTML, HTTP, CSS, JavaScript, XML

• Designed for large displays with mouse – So harder to use on small phone displays with touch screen

Page 5: 01  01 - introduction to mobile application development

Advantages of Mobile Apps

• Many GUI controls – Textfield, text area, button, checkbox, radio, list box, combo box,

clock, calendar, date picker, dialog box, image gallery, etc. • Comparable to options in desktop programming

– Supports direct drawing

• So animated games ala Angry Birds possible • Can interact with local resources

– Can read files (e.g., contacts list), have local database, access GPS, initiate phone calls, get input from microphone, create voice output, read screen orientation, etc.

Page 6: 01  01 - introduction to mobile application development

Advantages of Mobile Apps (Continued)

• Efficient communication – Can use any networking protocols you want

• Easier (?) to write – Requires knowledge of one language only

• Java for Android • Objective C for iPhone

• Designed for small displays with touch screen – So, many apps and GUI controls are optimized for this

environment

Page 7: 01  01 - introduction to mobile application development

Disadvantages of Mobile Apps

• No universal access – Apps must be installed one at a time on each phone – An Android app cannot run on iPhone, Blackberry, PC,

Mac, or Linux box • Difficult to manage updates

– User must intervene to get latest versions • Newer (esp. Android)

– So, fewer established tools and methodologies • On the other hand, Android programming is similar to

desktop Java programming, and there are plenty of established approaches there

Page 8: 01  01 - introduction to mobile application development

What is Mobile OS

A mobile operating system (mobile OS) is the operating system that controls a smart phone, tablet, PDA, or other mobile device.

Modern mobile operating systems combine the features of a personal computer operating system with

Touch screenCellularBluetoothWiFiGPS mobile navigationCamera, Video cameraSpeech recognition

Voice recorderMusic playerNear field

communicationpersonal digital

assistant (PDA)Other features.

Page 9: 01  01 - introduction to mobile application development

Mobile OS Challenges

Limited resources Memory / Processing

Power / Screen / Display width

Connectivity Constraints Bad Net work

connectivity / Roaming scenarios

Usability constraints User interfaces User input /Data

output Security Scalability Wide verity of devices

Different carrier Constraints Power management

Data safety in case of power loss is an issue

Compact Not much room for UI and

the application itself Reuse of common

components important Reliability

“Always on”

Page 10: 01  01 - introduction to mobile application development

Difference in Mobile and Desktop resources applications

Screen Size

• The screen size of mobile devices these days typically ranges between 2-4.5 inches as compared to that of a desktop which is normally 15-17 inches.

• Due to this dramatic change in the screen sizes the mobile web application design is quite challenging.

Graphics• In addition to this the graphical display on mobile too varies from that of

the desktop. • Very few graphics are present on mobile sites in comparison to many

graphics on desktop owing to the small screen size making place for only crucial information and necessary links to be present on it .

• However the traditional websites mainly accessed through desktops include a wide variety of content.

• Hence mobile site design focuses on the prioritization of content which the user is most likely to use while accessing through mobile phones.

Layout

• The layout of the mobile site also becomes vertical in contrast to the horizontal layout of desktop websites.

• Vertical layout leads to guided approach, one step at a time. • Even the use of hypertext is also minimal on mobile sites. • These are instead replaced by buttons and bars which are quite easy to

tap and access through fingers on mobiles. • So the design of website has to be user friendly and in accordance with

the size and color scheme of the mobile screen to avoid its distortion.

Page 11: 01  01 - introduction to mobile application development

Difference in Mobile and Desktop based applications Navigational limitation:

• There are two types of navigations possible on websites i.e. Global navigation and contextual navigation.

• Navigation on the desktop is quite complex and multi- layered contrast to the flat structure of mobile devices.

• While a desktop makes use of both types of navigations, mobile is limited to just global navigation with almost total absence of contextual navigation.

• Global navigation remains consistent across a site while contextual navigation shows the changes depending on where a user is on a site.

• So absence of contextual navigation makes the user unaware of its whereabouts on the site.

• Thus the navigation on mobile sites is kept simple and uncomplicated. • The content on mobile sites has to be placed such that user need not dig

deep to get its work done. Usability Environment:

• As a mobile device is used on the go while travelling, shopping etc. whereas desktops usually sit at a place so applications have to be developed in such a way that they do not restrict the mobility of a person when accessing them.

Page 12: 01  01 - introduction to mobile application development

Difference in Mobile and Desktop based applications

Processor and Memory capabilities:

• The processor of a desktop is quite different than that of a mobile. • The size of RAM on a mobile far less than that of desktops. Even after up gradation of RAM on

Mobile phones its size on desktops cant be matched.• Moreover the user would want faster response and quicker access to services with least

processing time.• Mobiles and desktops also differ in the amount of audio and video stuff which they support.• A desktop site can contain multiple video files, heavy images and Flash animations. • But all this cannot be supported on mobile sites because of browser and bandwidth limitations.• Hence heavy applications cannot work smoothly on mobile phones.• With this limited available memory and processing capabilities implementation of many

technologies like Flash and JavaScript gets limited. • Mobile sites have to be developed in a way that it uses minimum resources on phones.Different Expectations of users:• Mobile phones are basically communicating devices which nowadays is equipped with more

enhanced features like camera, music player, games etc. • As compared to its desktop brethren the demands and expectations of a mobile user might be

different and expect that too much of resources are not used up by it thus hampering performance of other applications on phones.

• One unique feature of mobile devices includes geo-location services and support.• Mobile phones make use of GPS to pinpoint locations, get to know there current location through

local searches. • This feature of personalized search is totally missing on a desktop.• Now a days even mobile websites are increasingly using this GPS feature to render various kinds

of services to the mobile users.• User expects to make use of this mobile feature in order to find out nearest available services like

getting the best restaurant or other products.• The expectation of a user has to be taken under consideration.

Page 13: 01  01 - introduction to mobile application development

Design Considerations of mobile apps

•In comparison to desktop Web sites, which usually contain a wide range of content and information, mobile sites usually include only the most crucial and time- and location-specific functions and features.

Content Prioritization

•On desktop Web sites, horizontal navigation at the top of a page is a widely accepted way of structuring and presenting a site’s content. However, vertical navigation replaces horizontal navigation on more than 90% of the mobile sites we analyzed.

Vertical Instead of Horizontal Navigation

•Hypertext is the signature component of the Internet and the Web. However, on mobile sites, there are few or no hypertexts on pages.

Bars, Tabs, and Hypertext

•On desktop Web sites, designers use graphics for many different purposes, including promoting, marketing, and navigating. Mobile sites avoid using promotional and marketing graphics and use minimal graphics for navigation.

Text and Graphics

•Various types of navigation are available on desktop Web sites. Some are global, so are consistent across a site, while others are contextual and change depending on where users are on a site. In contrast, while most mobile sites have global navigation, contextual navigation is rare on mobile sites.

Contextual and Global Navigation

•On desktop Web sites, footers typically provide either links to content users might expect to see on a site’s home page or quick links that are available across a site to provide access to content users often need. Mobile sites employ a minimal form of the first type of footer, but they do not use footers containing quick links.

Footers

•On desktop Web sites, breadcrumbs reassure users that they are on the right page and let them backtrack on their navigational path. Breadcrumbs are rare on mobiles sites and really aren’t necessary, because of the relatively flat structure of mobile sites.

Breadcrumbs

•Process funnels on desktop Web sites frequently use a progress indicator at the top of each page to guide users through the process. Such progress indicators do not appear on mobile sites.

Progress Indicator

•Mobile sites offer better integration with phone functions—and present marketing opportunities such as facilitating direct orders by phone or sending promotional text messages.

Integration with Phone Functions

•Mobile sites can take advantage of technology that automatically detects where users are to present local search results. When users set up their preferences or profile, personalized search results become even more relevant and valuable to them

Localized & Personalized Search

Page 14: 01  01 - introduction to mobile application development

Mobile Application Types

Thick Client•Both processing and Presentation logic resides on

the Mobile clients•Fact due to local processing•Heavy on the mobile

Think Client•Both processing and Presentation logic resides on

the Server•Only presentation engine resides on the client

•Heavily dependent on the wireless network conditions

•Slow due to dependency on the server for all transactions

Smart client•A mix of thin and thick client•processing resides on the Server while

Presentation logic and presentation engine resides on the client

•User store and forward method to avoid dependability on the wireless network

Page 15: 01  01 - introduction to mobile application development

Mobile Development Phases

Market Analysis

Gathering info for

client requirem

ents

Analyzing and

Planning

Concept Sketching

Research &

Strategies

Wire-framing

User Interface

Design

Development Testing

Page 16: 01  01 - introduction to mobile application development

Feature Android Windows mobile BlackBerry

company Google Microsoft RIM

OS family Linux Windows Mobile OS

Languages Java Visual C++ C++

SDK Platform Multiplatform dependent dependent

Face book Yes Yes Yes

Multitasking Yes limited limited

Differences between Smart Phones

Page 17: 01  01 - introduction to mobile application development

Some of the Platfrom Developments•J

ava but portions of code can be in C, C++

Android

•Java

BlackBerry

•C; the APIs are provided in C with a C++ style interface

BREW•O

bjective-C

iOS SDK•J

ava

Java ME

•C, C++, Pascal

Palm OS

•C++

Symbian

•JavaScript, CSS, HTML, C and C++ through the PDK

webOS

•C#, Visual Basic,C,C++

Windows Phone

•Action Script, HTML, CSS, JavaScript

Adobe AIR

Page 18: 01  01 - introduction to mobile application development

Various Platforms

•http://developer.android.com/

Android from Google

•http://us.blackberry.com/developers/

BlackBerry OS from RIM

•http://developer.apple.com/devcenter/ios/

iOS from Apple

•http://symbian.org/

Symbian OS from the Symbian Foundation

•http://developer.palm.com/

WebOS from HP

•http://msdn.microsoft.com/en-us/windowsmobile/

Windows Phone 7 from Microsoft

Page 19: 01  01 - introduction to mobile application development

Mobile OS comparison

Page 20: 01  01 - introduction to mobile application development

Different Kinds of Mobile OS Market share

Source: wikipedia

Page 21: 01  01 - introduction to mobile application development

World-Wide Smartphone Sales

Source: wikipedia

World-Wide Smartphone Sales

Quarter Android iOS Symbian RIM Microsoft Bada Other2011 Q4 [5] 50.9% 23.9% 11.7% 8.8% 1.9% 2.1% 0.8%2011 Q3 [4] 52.5% 15.0% 16.9% 11.0% 1.5% 2.2% 0.9%2011 Q2 [6] 43.4% 18.2% 22.1% 11.7% 1.6% 1.9% 1.0%2011 Q1 [7] 36.0% 16.8% 27.4% 12.9% 3.6% 1.7% 1.6%2010 Q4 [8] 31.1% 16.1% 32.9% 13.1% 3.4% 1.3% 2.2%2010 Q3 [4][9] 25.3% 16.6% 36.3% 15.4% 2.8% 1.1% 2.5%2010 Q2 [6][10] 17.2% 14.2% 41.2% 18.2% 5.0% 0.9% 3.3%2010 Q1 [7][11] 9.6% 15.3% 44.2% 19.7% 6.8% 4.4%2009 Q4 [8][12] 7.6% 16.2% 44.7% 19.7% 7.9% 4.0%2009 Q3 [9][13] 3.4% 17.0% 44.2% 20.5% 7.9% 7.0%2009 Q2 [10][14] 1.8% 13.0% 51.0% 19.0% 9.3% 5.9%2009 Q1 [11][15] 1.6% 10.5% 48.8% 20.6% 10.2% 8.2%2008 Q4 [12][16] 1.1% 10.6% 46.5% 19.3% 12.2% 9.1%2008 Q3 [13][17] 0.6% 13.1% 50.3% 16.1% 11.2% 9.8%2008 Q2 [14][18] 2.8% 57.5% 17.5% 12.1% 10.8%2008 Q1 [19] 4.6% 49.5% 11.6% 10.4% 11.6%2007 Q4 [20] 5.2% 62.3% 10.9% 11.9% 9.6%2007 Q3 [21] 3.4% 63.1% 9.7% 12.8% 11.5%2007 Q2 [22] 1.0% 65.6% 8.9% 11.5% 13.0%2007 Q1 [23] 61.2% 8.7% 13.4% 16.8%

Page 22: 01  01 - introduction to mobile application development

Smartphone

A smartphone is a mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a feature phone.

The first smartphones mainly combined the functions of a personal digital assistant (PDA) and a mobile phone or camera phone.

Today's models also serve to combine the functions of portable media players, low-end compact digital cameras, pocket video cameras, and GPS navigation units.

Page 23: 01  01 - introduction to mobile application development

Key Smartphone Features•In general, a smartphone will be based on an operating system that allows it to run applications. Apple's iPhone runs the iOS, and BlackBerry smartphones run the BlackBerry OS. Other devices run Google's Android OS, HP's webOS, and Microsoft's Windows Phone. Operating

System•While almost all cell phones include some sort of software (even the most basic models these days include an address book or some sort of contact manager, for example), a smartphone will have the ability to do more. It may allow you to create and edit Microsoft Office documents--or at least view the files. It may allow you to download apps, such as personal and business finance managers, handy personal assistants, or, well, almost anything. Or it may allow you to edit photos, get ]driving directions via GPS, and create a playlist of digital tunes.

Apps

•More smartphones can access the Web at higher speeds, thanks to the growth of 4G and 3G data networks, as well as the addition of Wi-Fi support to many handsets. Still, while not all smartphones offer high-speed Web access, they all offer some sort of access. You can use your smartphone to browse your favorite sites.Web Access

•By our definition, a smartphone includes a QWERTY keyboard. This means that the keys are laid out in the same manner they would be on your computer keyboard--not in alphabetical order on top of a numeric keypad, where you have to tap the number 1 to enter an A, B, or C. The keyboard can be hardware (physical keys that you type on) or software (on a touch screen, like you'll find on the iPhone).

QWERTY Keyboard

•All cell phones can send and receive text messages, but what sets a smartphone apart is its handling of e-mail. A smartphone can sync with your personal and, most likely, your professional e-mail account. Some smartphones can support multiple e-mail accounts. Others include access to the popular instant messaging services, like AOL's AIM and Yahoo! Messenger.Messaging

Page 24: 01  01 - introduction to mobile application development

Development Options of mobile

Sony Ericsson Java ME Symbian OS/UIQ Browser based

Motorola Android Windows Mobile Mobile Linux Java ME Web Widgets

LGJava MEWeb Widgets

SamsungSymbianWindows MobileJava ME

Page 25: 01  01 - introduction to mobile application development

Questions?


Recommended