+ All Categories
Home > Documents > CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab...

CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab...

Date post: 26-Mar-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
31
7 CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical Foundation This chapter describes the theoretical foundation with detailed explanation that will be used in this thesis. The theoretical foundation will be used for the author to support the design of solution for the problem and it will also benefit for the readers so they can understand the theory behind the solution for this thesis. 2.1.1 Mobile Device In this thesis, there are three types of mobile device that are going to be used. The first one is iPhone, a mobile phone, the second one is iPod touch, and the last one is iPad, a tablet PC. 2.1.1.1 Mobile Phone Mobile phone is an electronic portable device which main functionality is similar with home telephone but without need of cable to do the phone call. The first mobile phone is invented by Dr. Martin Cooper from Motorola in 1973 [4]. In the earlier development, mobile phone only can be used to make phone calls, however, mobile phone like other technologies has evolving from time to time with more capabilities and functionality. Short Message Service (SMS), Multimedia Messaging Service (MMS), listening to radio and browsing the Internet are the capabilities examples of the mobile phone evolution.
Transcript
Page 1: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

7

CHAPTER 2

THEORETICAL FOUNDATION

2.1 Theoretical Foundation

This chapter describes the theoretical foundation with detailed explanation that will

be used in this thesis. The theoretical foundation will be used for the author to support

the design of solution for the problem and it will also benefit for the readers so they can

understand the theory behind the solution for this thesis.

2.1.1 Mobile Device

In this thesis, there are three types of mobile device that are going to be used. The

first one is iPhone, a mobile phone, the second one is iPod touch, and the last one is

iPad, a tablet PC.

2.1.1.1 Mobile Phone

Mobile phone is an electronic portable device which main functionality is similar

with home telephone but without need of cable to do the phone call. The first mobile

phone is invented by Dr. Martin Cooper from Motorola in 1973 [4]. In the earlier

development, mobile phone only can be used to make phone calls, however, mobile

phone like other technologies has evolving from time to time with more capabilities and

functionality. Short Message Service (SMS), Multimedia Messaging Service (MMS),

listening to radio and browsing the Internet are the capabilities examples of the mobile

phone evolution.

Page 2: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

8

2.1.1.1.1 Mobile Phone Type

With wide array of capabilities of mobile phone, mobile phone is divided to

following categories [5]:

1. Basic Mobile Phone or feature phone: It is a mobile phone that can do basic

functionality of a phone such as telephone calls, SMS, and MMS. Newer basic

mobile phone support Internet service capabilities such as web browsing, and e-

mail.

Example: Nokia 2600, Nokia 1650, Nokia 2760

2. PDA: PDA (Personal Digital Assistant) is a palm size, small device that has

capabilities of what a basic computer can do. PDA can do computation task, fax

sender, and used as a personal organizer. In the earlier development, PDA does

not have phone or fax capabilities. PDA is more used to do computation task

rather than communication. Therefore, PDA today can be called as PDA Phone

or just PDA. There is a variant of PDA that called Pocket PC. Actually Pocket

PC is just a term used by Microsoft to call their PDA with Windows Mobile OS.

Example: HP iPAQ Mobile Messenger, Palm Treo 700p

3. Smartphone: It is a mobile phone that has capabilities that combine from PDA

and basic mobile phone. Smartphone can do computation task like PDA do and

can do phone capabilities like basic mobile phone. iPhone that used in this thesis

is categorized in Smartphone category.

Example: iPhone 4, iPhone 3GS, Acer Liquid E, Nokia E71, Blackberry 9700

Page 3: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

9

2.1.1.1.2 iPhone

iPhone is a multimedia-smartphone that combines an iPod, a tablet PC, a digital

camera and cellular phone made by Apple. iPhone is basically the term from Apple for

all of Apple mobile phone device. There is several type of iPhone, however, the iPhone

type from one to another basically an evolution of iPhone. The first iPhone is iPhone 2G

which unveiled on January 2007 and released on June 2007. The second one is iPhone

3G which added new features such as 3G capabilities and integrated GPS, released on

July 2008. The third one is iPhone 3GS which is an upgraded version of iPhone 3G with

some new features such as better processing speed and camera quality released on June

2009. The fourth one is iPhone 4 or 4G that was released on June 2010. The iPhone 4 is

the first iPhone with Retina display (the high-resolution screen for iPhone). The last one

is iPhone 4S, released in 2011. All iPhone has same navigation characteristic which has

multi-touch screen capabilities and without physical keyboard. iPhone 4S has same

physical design with iPhone 4 / 4G.

Figure 2.1 iPhone Picture From 2G to 4G [5]

Page 4: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

10

The summary of each iPhone comparison is shown in Table 2.1.

Table 2.1 iPhone Comparison Chart [7]

Page 5: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

11

2.1.1.1.2.1 Application

The iPhone, which is categorized as smartphone, has various application type or

categories that it supports. The iPhone supports capabilities of what basic computer can

do. Below is the list of application type that iPhone can support:

1. Internet Browsing and Networking Capabilities: User can browse the Internet

using iPhone cellular network or using WLAN.

2. Multimedia: iPhone can be used for watching video, listening music, viewing

picture or photo, reading books or magazine, and playing video games.

3. Document Editor: iPhone can be used to read the document and edit it. iPhone

supports most of popular document format that computer has (e.g.: .doc, docx,

.pdf)

4. Navigation: iPhone that has integrated GPS chip can do navigation like the

actual GPS device.

5. Sync and Backup: There are iPhone application that can do syncing or backing

up the data to or from computer or the Internet.

6. Social Networking: iPhone application can be integrated with social networking

such as Facebook or twitter so user do not need to go to the respective social

networking website.

2.1.1.1.2.2 Operating System: iOS

Mobile phone just like computer also has operating system to control the mobile

device. Different mobile phone may have different operating system. The operating

system will determine the behavior, function and features available on the mobile phone

such as navigation of the phone [8]. Mobile operating system also determines what

Page 6: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

12

third-party application can be used for specific device. Some of mobile operating

system is considered as manufacturer-built proprietary operating system, third party

proprietary operating system and free & open source operating system [9]. The

manufacturer-built proprietary operating system can only be used on manufacturer

product devices. Third party-proprietary operating systems can be run on other device

but the manufacturer of the device must pay for the license to run the operating system

to their product devices. For free & open source operating system, as it name describes,

it can be run on any mobile phone without need to pay for license. Example of

manufacturer-built proprietary operating system is Apple iOS, RIM BlackBerry OS, and

HP WebOS. For third party-proprietary operating systems there are Microsoft

Windows Mobile and Windows Phone 7. Google Android, MeeGo, and Symbian are

considered as free & open source operating system.

All iPhone operating system is using Apple iOS. Because Apple iOS is also

manufacturer-built operating system, Apple iOS is only run on Apple products. Each

generation of iPhone is come with different iOS when published, however, previous

generation iPhone can be upgraded to later version (limited upgrade). There are 5

versions of iOS that has been released by Apple so far [10]:

1. iOS Version 1: This is the initial iOS version when the first iPhone (iPhone 2G)

is launched. This iOS only run application from Apple, there is no third

application support yet for this iOS.

2. iOS version 2: This iOS is the initial iOS when iPhone 3G is released. This iOS

has features that make iPhone user can buy apps from third party application

using App Store. Furthermore this iOS, provide GPS support for iPhone 3G.

Page 7: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

13

3. iOS Version 3: iPhone 3GS is released using this iOS version. This iOS support

new features such as MMS support, tethering iPhone, voice memo, use keyboard

in landscape mode and IMAP e-mail.

4. iOS Version 4: This iOS is the initial iOS when iPhone 4 is released. This iOS

overcome the multitasking ability that previous generation iOS is lack of. Other

smaller improvement are toggle cellular data on and off, character count for

SMS messages and SMS search, addition of zoom support when taking photos,

ability to sync events, resizing photo when sending.

5. iOS Version 5 : This iOS is released in 2011 along with the release of iPhone

4S. This iOS have several new functionality such as iMessage (a messenger that

can connect between all iOS 5 users), iCloud (a storage in the internet (cloud)

that can be sync to all devices (Mac, iPad, iPhone, and iPod), and Notification

Center (a new feature that can collect all notifications in only one place).

2.1.1.1.2.3 Connectivity

Connectivity in mobile phone is important. It can be used to transfer data from one

device to another. iPhone supports most of connectivity that are being used in current

Smartphone. Below are the lists of connectivity that iPhone supports:

1. GSM: GSM or Global System for Mobile Communication is a standard

communication protocol for mobile phone. For Internet connectivity, GSM has

3 different classes: GPRS, EDGE, 3G (HSDPA). GPRS or General Packet

Radio Service is the slowest one, which has speed around 32 – 48 kbps. EDGE

(Enhanced Data Rates for GSM Evolution) speed is in the middle with speed up

to 384 kbps. The fastest one is 3G (HSDPA, High-Speed Downlink Packet

Page 8: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

14

Access) with speed up to 14.4 Mbps. See Table 2.2 to compare GSM

connectivity that each iPhone has.

Table 2.2 iPhone GSM Connectivity Comparison Chart

GPRS EDGE 3G (HSDPA)

iPhone 2G V V X

iPhone 3G V V V

iPhone 3GS V V V

iPhone 4 V V V

iPhone 4S V V V

2. CDMA: CDMA or Code Division Multiple Access is a digital cellular

technology that uses spread-spectrum techniques. CDMA is different with GSM

but the role to the mobile phone is the same (as a communication protocol).

iPhone only has two type that use CDMA which are iPhone 4 and iPhone 4S.

3. WLAN: Wireless LAN use Wi-Fi (wireless fidelity) connection to connect one

device to other. With WLAN, one device can connect to other without cable.

When the device connects to Internet hotspot using WLAN, the device will be

able to use the Internet connection from that hotspot. There are four classes of

WLAN that mobile phone can support: 802.11a, 802.11b, 802.11g, and 802.11n

[11]. The main different between each class is range and speed. iPhone 2G,

iPhone 3G, and iPhone 3GS are only have 802.11b, and 802.11g WLAN

standard. Only iPhone 4 and iPhone 4S that has 802.11b, 802.11g, and 802.11n.

No iPhone has 802.11a WLAN standard.

Page 9: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

15

4. Bluetooth: Bluetooth is a short-range radio technology that enable device to

communicate or transfer data with other Bluetooth device. All iPhone has

Bluetooth connectivity.

5. USB: USB or Universal Serial Bus is an external bus standard that support

transfer data between two or more connected devices. With this USB port,

iPhone can connect to other device such as computer to transfer or exchange

data.

In this thesis, the application needs Internet connectivity, thus the iPhone will

connect to the Internet either using GSM, CDMA, or WLAN.

2.1.1.2 iPod Touch

iPod touch is a mobile device from Apple that has operating system just like iPhone

but it is not considered as mobile phone because it does not have GSM or CDMA

connectivity. In other words, iPod touch cannot be used for phone call and SMS. With

having same operating system, it makes iPod touch has same functionalities with iPhone

(exclude the phone features). iPod touch is considered as multimedia mobile device

because it is mostly used for gaming, listening to music, watching video, and other

functionalities of common multimedia device.

Page 10: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

16

Table 2.3 iPod Touch Comparison Chart[12]

iPod touch has similar hardware including the appearance like iPhone. The hardware

specification can be seen in Table 2.3 iPod Touch Comparison Chart. Due to price

factor differences and similarities of software and hardware between iPhone and iPod

touch, most iOS developer that does not have iPhone can test the application using iPod

touch.

Page 11: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

17

2.1.1.3 Tablet PC

Tablet PC is a kind of notebook (or netbook) computer that has an LCD Screen on

which the user can navigate using stylus, or just using finger touch. The first

development of tablet PC is on 1888 when electrical engineer Elisha Grey got patent for

an electrical-stylus device for capturing handwriting [13]. Even though since that time

the tablet pc has been evolved from time to time, it is not till 2010 that tablet pc

popularity is began to rise. The launch of the first iPad from Apple in 2010 marks the

rising era of tablet pc. In 2010 also, other vendor began releasing their tablet PC (e.g.:

Samsung with their Galaxy Tab).

Page 12: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

18

2.1.1.3.1 iPad

iPad is a tablet pc made by Apple. The first iPad is released on March 2010. The

second one, which is iPad 2, is released on March 2011.

Figure 2.2 iPad and iPad 2 [14]

Page 13: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

19

The specification of iPad and iPad 2 can be seen on Table 2.4.

Table 2.4 iPad and iPad 2 Specification [15]

Page 14: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

20

The application that iPad can support basically is the same like iPhone because iPad

also has same operating system which is the iOS. The connectivity of iPad is divided by

two versions. The first type of iPad is Wi-Fi, it can only connect to the internet using

Wi-Fi. The second type of iPad is Wi-Fi + 3G. With Wi-Fi + 3G, the iPad has

capabilities to connect internet with GSM or CDMA connectivity.

Beside the similarities of application, operating system and connectivity that iPhone

and iPad has, those two has differences. The first difference that easily can be seen is

the screen size. iPad has larger than iPhone screen, iPad screen almost like netbook

screen size, around 10 inches and iPhone only 3.5 inches. This is due to iPad is

considered as a tablet PC so it main functionality is as computer daily use and iPhone is

a smartphone where it is mainly use for communication. The other difference is iPad

does not have capabilities of basic mobile phone communication. iPad cannot do

telecommunication call and cannot do text messaging (SMS) even if it has SIM Card (in

Wi-Fi + 3G model).

Page 15: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

21

2.1.2 Technology

In this thesis, there are several technologies that support the solution of the problem.

The technologies include the technique and the tools that needed to implement the

solution.

2.1.2.1 Objective-C

Objective-C is an object oriented programming language based on C that primarily

used to code for Mac OS X and iOS. Objective C has powerful extension to the standard

ANSI C language. Like other object oriented development environment, Objective C

consist of several parts [16]:

An object-oriented programming language

A library of objects

A suite of development tools

A runtime environment

2.1.2.2 Model View Controller Pattern

iOS programming use Model View Controller pattern. Model View Controller means

every object created will be exactly consist one of the following: a model object, a view

object, or a controller object [17].

View objects: An object that visible to the user (button, label, windows are all

view objects).

Model objects: An object that holds data and do not know anything with the user

interface. Example of model objects is an array of String object.

Page 16: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

22

Controller objects: An object that keep view and model object in sync, control

the “flow” of the program, and save the model objects out to the file system.

2.1.2.3 Cocoa Environment

Cocoa is an application environment for Mac OS X and iOS. Cocoa consists a set of

object-oriented software libraries, a runtime system, and an integrated development

environment. Cocoa has a set of object-oriented frameworks that provide runtime

environment for application running in Mac OS X and iOS. Cocoa is the ultimate

application environment for Mac OS X and the only application environment for iOS.

Example of Cocoa application that can be seen in Mac OS X and iOS are Mail, and

Safari.

Cocoa presents two types of environment like other application environment. Cocoa

has a runtime aspect and development aspect. In its runtime aspect, Cocoa applications

present the user interface and are closely integrated with other visible component of OS.

In the development aspect, Cocoa is an integrated set of object-oriented software

component that enables developer to build robust, full-featured Mac OS X and iOS

applications. These classes are reusable and adaptable software building blocks

(developer can use or extend them for specific requirement).

What makes a program considered as a Cocoa program is when the program

composed of objects that inherit from the root class, NSObject, and that are based upon

the Objective C runtime.

Page 17: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

23

2.1.2.3.1 Cocoa in iOS

The application framework layer of iOS is Cocoa Touch. The architecture of Cocoa

Touch in iOS can be seen in Figure 2.3.

Figure 2.3 Cocoa in the Architecture of iOS [18]

In cocoa architecture, there are often dependencies between components at one layer

to another layer below it. The following are the explanation summary of each layer [18]:

Core OS: This layer consist of the kernel, the file system, the network

infrastructure, security, power management, and device drivers. This layer also

has libSystem, which supports POSIX/BSD 4.4/C99 API specifications and

includes system-level API for many devices.

Core Services: This layer provides core services such as String manipulation,

collection management, networking, URL utilities, contact management, and

preferences. GPS, compass, accelerometer and gyroscope services are also

provided by this layer. This layer includes framework that provides abstraction

for common data types (Strings and collections): Foundation and Core

Foundation framework.

Page 18: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

24

Media: The framework and services in this layer rely on the Core services layer

and provide graphical and multimedia services to the Cocoa Touch Layer. This

layer contains Core Graphics, Core Text, OpenGL ES, Core Animation,

AVFoundation, Core Audio, and video playback.

Cocoa Touch: The frameworks in this layer directly support applications based

in iOS. They include frameworks such as Game Kit, Map Kit, and iAd.

The Cocoa Touch layer and Core Services layer both has an Objective C framework

that is very important to develop iOS application. There are two Core frameworks from

Cocoa for iOS: UiKit and Foundation. Beside two Core frameworks that Cocoa

provides, there are many frameworks that can help developer to create sophisticated

application such as Media Player, Quartz Core, CoreGraphics, Security, System

Configuration, and Message UI framework.

2.1.2.3.1.1 UIKit Framework

This framework provides the objects an application displays in its user interface and

give description the structure for application behavior (including event handling, and

drawing). iOS application cannot be developed without UIKit framewok. UIKit object

can be added by using the following method:

Use the Interface Builder development application to drag windows, views,

button, text field and other objects from an object library.

Create, move, manipulate the objects programmatically

Implement custom user-interface objects by subclassing UIView or classes that

inherits from UIView

Page 19: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

25

2.1.2.3.1.2 Foundation Framework

Foundation framework defines the foundation layer of classes that can be used for

any type of Cocoa program. This framework provides the basic behavior of objects,

establishes mechanism for their management, and provides objects for primitive data

types, collections, and operating system services. Foundation framework is very

important object oriented version of the Core Foundation framework.

2.1.2.3.1.3 Media Player Framework

The Media Player framework provides facilities for playing movie, music, audio

podcast, and audio book files [19]. This framework also supports application to access

the iPod library, so developer can find and play audio-based media items. The class that

usually used in this framework is MPMoviePlayerController to play streamed video

content.

2.1.2.3.1.4 Quartz Core Framework

The Quartz Core framework is a framework that supports an application for image

processing and video image manipulation [20]. With this framework, developer is able

to create simple animation in the application.

2.1.2.3.1.5 CoreGraphics Framework

The CoreGraphics frameworks provides low-level, lightweight 2D rendering with

unmatched output fidelity [21]. This framework is used to handle path-based drawing,

transformations, color management, off-screen rendering, patterns, gradients and

shadings, image data management, image creation, masking, and pdf document

creation, display, and parsing.

Page 20: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

26

2.1.2.3.1.6 Security Framework

Security framework is an API framework that is used to protect information and

control access to software [22].

2.1.2.3.1.7 System Configuration Framework

This System Configuration framework provides functionality to determine the

reachability of target hosts in synchronous or asynchronous connection. This framework

also provide error detection feature [23].

2.1.2.3.1.8 Message UI Framework

This framework provide specific view controller to show standard interfaces for

email and SMS (Short Messaging Service) text messages. These interfaces provide

messages delivery capabilities for email and SMS without leaving the app [24].

2.1.2.4 Development Environment

To develop Cocoa Software, there are two primarily developer application: XCode

and Interface Builder, one performance analysis tool: Instruments and Apple LLVM

Compiler as the compiler.

Page 21: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

27

2.1.2.4.1 XCode

XCode is the Apple’s IDE (Integrated Development Environment) to develop

application for Mac OS X and iOS. XCode is an application that manages of most

project details from beginning to deployment. The use of XCode[18]:

Create and manage projects, including specifying platforms, target requirements,

dependencies, and build configurations.

Write Source code in editors with features such as syntax coloring and automatic

indenting

Navigate and search through the components of a project, including header files

and documentation

Build the project locally

Debug the project locally, in iOS Simulator, or remotely in graphical source-

level debugger.

XCode builds project from source code coded in C, C++, Objective C and Objective

C++. XCode is particularly appropriate for Cocoa development. When creating a

project, XCode assembles initial development using project templates complement to

Cocoa project types: application, document-based application, Core Data application,

tool, bundle, framework. and others.

Page 22: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

28

To build an iOS application (iPhone and iPad), the XCode needs to have the iOS

SDK (Software Development Kit). The iOS SDK will provide everything required

developing an iOS application. The SDK consists of frameworks, libraries, header files,

and system tools. The iOS SDK of iPhone is included when installing the XCode.

XCode can only be run on Mac OS X. (XCode 4 can only be run in Mac OS X 10.7

Lion).

Starting from XCode 4.2, developer does not need to maintain the memory

management because the compiler now have feature called Automatic Reference

Counting (ARC). With this feature, developer does not need to care when to release the

memory.

2.1.2.4.2 Interface Builder

Interface builder is a graphical tool for creating user interfaces. Interface builder has

main four design elements [18]:

Nib Files: A file wrapper that contains object appearing on a user interface in an

archived form. The archive is an object graph that holds information about each

object, including size and location, and the connection between objects.

Object Library: This library from Interface Builder provides objects that can be

out on the interface of the application. Object that can be put are UIObjects

(windows, controls, menus, text views, and outline views) controller objects,

custom view objects, and framework-specific objects. Object can be dragged and

dropped using Interface Builder.

Page 23: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

29

Inspector: Inspector is a window for setting up the objects of a user interface.

With inspector, developer can change the attribute or properties of a user

interface object by go to inspector window of the object and change the attribute

in inspector window.

Connections panel: The connection panel is a panel that presents the current

outlet and action connections for a selected object and allow developer to

manage the connections.

Interface builder is closely integrated with XCode. Interface builder “knows” about

the outlets action, and bindable objects properties of custom classes. When there is

change (adding, removing, modifying) of an object, Interface Builder detects those

changes and updates its presentation of them.

2.1.2.4.3 iOS Simulator

The simulator is used to debug and test the application before deploying it to real

device. When building and running the project, XCode runs simulator that shows the

application with the appearance of real device (iPhone and iPad). With the simulator,

developer can manipulate parts of the user interface. Even though simulator can be used

for debugging, simulator cannot perfectly imitate real device. For example, the

navigation in Simulator uses mouse pointer not finger touches, and multi touch features

is not supported when debugged in Simulator.

Page 24: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

30

Figure 2.4 iPhone Simulator in XCode

2.1.2.4.4 Instruments

Instruments is a tool introduced in XCode 3.0 that lets developer to run multiple

performance-testing tools simultaneously and view the results in a timeline – based

graphical representation [18]. Instruments can show CPU usage, disk reads and writes,

memory statistics, thread activity, garbage collection, network statistics, directory and

file usage, either in Mac or remotely from a connected iPhone. Instruments will help

developer to have great application with good user interface accompanied equally by

impressive responsiveness.

Page 25: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

31

2.1.2.4.5 Apple LLVM Compiler

Apple LLVM compiler is compiler technology created by Apple. The compiler is

used to build C/C++ and Objective-C powers Xcode’s indexing engine, providing

incredibly accurate code completions. [25] Apple LLVM Compiler is constantly

evaluating what developer type, identifying the mistakes and give solution to fix the

mistakes.

2.1.2.5 RSS

RSS is an XML-based format and it can be distributed in various ways for content

distribution (mostly used for distributing news headlines on the Web) [26]. Website that

supports for RSS feed usually has RSS feed icon (see Figure 2.5).

Figure 2.5: RSS icon

There are various acronyms that RSS stands for [27]:

Really Simple Syndication

Rich Site Summary (RSS 0.91)

RDF Site Summary (RSS 0.9 and 1.0)

Real-Time Simple Syndication (RSS 2.0)

Page 26: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

32

Even though there are many acronyms for RSS, the purpose of RSS is the same: to

get news from selected website to be directly delivered to user monitor.

RSS can be generated by various RSS Feed generators such as Wordpress, Blogger,

TypePad, MySpace, etc. Wordpress can support RSS 2.0, RSS 0.92 RSS 1.0 and Atom

Format. This thesis uses Wordpress feed because the client’s website use Wordpress as

Content Management System and already provide RSS feed.

2.1.2.6 Podcast Radio

The term podcasting is derived from Apple’s iPod and broadcasting so it means

broadcasting an audio file. Podcasting is a new way of online media delivery.

Podcasting is combined with RSS feed so user who subscribe to that RSS feed can listen

that audio files without the need to follow another link for listening the audio files.

Podcasting is popular for broadcasting radio program or online talkshow. Podcasting

involves creating the audio files (most popular is mp3 format) and then publish it on the

net, indexed for subscription and reception by RSS reader [28].

Page 27: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

33

2.1.2.7 UML Diagram

UML (Unified Modeling Language) diagram is a graphical notation or a diagram to

illustrate or describe a software system in terms of objects in a standardized notation. In

UML Diagram, there are symbol or icon of standardized notation (e.g.: diamond shape

symbol for decision in flow chart). There are various types of UML diagram: class

diagrams, sequence diagrams, activity diagrams, state diagrams, and use case diagram.

In this thesis the UML diagram that will be used are [29]:

Use Case Diagram: A type of UML diagram that shows the interaction between

the system, external system and the users of the system. It graphically describes

who will use the system and how the user expects to interact with the system.

The use case narrative is used to support the use case diagram. Use case

narrative describes the diagram textually in the sequence of steps of each

interaction.

Activity Diagram: A type of UML diagram that describes the sequential flow of

activities of a use case or a process.

Class Diagram: A type of UML diagram that describes the system’s object

structure. The diagram shows each object classes that the system is composed of

and the relationship between those object classes.

Sequence Diagram: A type of UML diagram that shows the dynamics of

particular scenario. Sequence diagram is used to describe communication or

interaction between objects via messages in the execution of a use case or

operation.

Page 28: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

34

2.1.3 Third Party Open Source Code

2.1.3.1 HTML Parser Code

For dealing with HTML content and display it in application with proper format, the

HTML content need to be parsed correctly. Rather than creating new HTML parser with

trial and error, the author uses solution from the Internet. There are two HTML parser

found that sufficient to parse HTML content correctly. The first one is written by Ben

Reeves [30] and the second one is from Michael Waterfall [31]. The HTML Parser in

this thesis is combined from both solutions.

2.1.3.2 ShareKit Code

ShareKit code is an open source API to share item (e.g.: link, image, file) for iOS.

ShareKit code is initially created by Nate Weiner and distributed via gitHub [32].

However, since November 2010 the original author has not continued the ShareKit and

some of ShareKit code became obsolete and cannot be used (due to new iOS, and new

code regulation from respective social media). Thus the ShareKit Code in this

application is modified from the original ShareKit, although still uses ShareKit core. The

ShareKit code in this application is used to share via Twitter and e-mail. Facebook is not

used using ShareKit because it is already obsolete and cannot be used.

Page 29: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

35

2.1.3.3 Facebook Connect Code

Facebook Connect code is official API from Facebook for iOS application. The latest

Facebook Connect code is connected to Facebook application for iOS so user need to

login to their Facebook application to authorize using Facebook Connect. If the user has

not installed Facebook application, the authorization will take place in browser. The

Facebook Connect code can be downloaded in gitHub [33].

2.1.3.4 PullToRefresh Code

PullToRefresh code is a simple TableViewController code for adding pull-to-refresh

functionality created by Leah Culver [34]. Some of the code is modified to fit the need

for this application.

2.1.4 User-Centered System Design (UCSD) Methodology

UCSD or User-Centered System design is the methodology used in this thesis.

UCSD is the type of system design that focuses on the user preferences and

requirement. There are four key features of UCSD [35]:

A central focus on the people who will use the systems (user), their preferences

and requirement

Building simple models of the users, the tasks and the technological systems

An iterative process

Prototyping and the evaluation of alternatives by users.

Page 30: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

36

The flow chart of UCSD can be seen in Figure 2.6.

Figure 2.6 User-Centered System Design Process

Description of the flow [36]:

1. Task Analysis: An analysis to gain deeper understanding of the tasks to be done

(To get clear understanding what clients or user want)

2. Requirements Gathering: A task to get what the system should do without give

explanation of the how it is implemented.

3. Design & Storyboarding: It provides developer to visualize the design and

review it, quickly and cost effectively with users.

4. Prototype Implementation: A prototype of the system is implemented so user can

usefully test it.

Task analysis

Requirements gathering

Design and storyboarding

Prototype implementation

Evaluation

Installation

Observation of existing systems

Usability guidelines

& heuristics

Problem statement

Technical & legal etc.

constraints

HTA

Requirement statement Functional

Non-functional

Storyboard

Prototype

Transcript &

evaluation report

Final

implementation

Page 31: CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical ...library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_61-12_BI.pdfJuly 2008. The third one is iPhone 3GS which is an upgraded version

37

5. Evaluation: The evaluation of the prototype needs to be done. It provides

tangible evidence of how a system is actually used. If the prototype is not

fulfilling the requirement yet, it will go back to earlier steps and iterate.

6. Installation: After several or more iteration and the prototype meets the entire

requirement, the fully featured prototype is deployed or installed and ready to be

used.

2.1.5 Software Testing

Software testing is used to test whether the system or software is passed several

requirements or several standards. In software testing there is a scenario of the test that

is often called test plan. In the test plan there is a list of steps to do the test, and expected

result when doing the testing. If the test is result is not the same with the expected

result, then there is something wrong with the code and need to be fixed.

Functionality Testing

Functionality testing is a testing whether the system or software is fulfilling the

business requirement functionalities.

Compatibility Testing

Compatibility testing is a testing whether the system or software is compatible with

different platform, operating system or hardware.

User Acceptance Testing

Acceptance Testing is the last step of software testing where a system or software is

tested for acceptability by the client or the user.


Recommended