Remote Control Convergence of Smart Phone: An Approach for ...

80
1 Remote Control Convergence of Smart Phone: An Approach for iPhone A Project Presented to The Faculty of the Department of General Engineering San Jose State University In Partial Fulfillment Of the Requirements for the Degree Master of Science in Engineering By Jayagopi, Geetha Fall 2011

Transcript of Remote Control Convergence of Smart Phone: An Approach for ...

Page 1: Remote Control Convergence of Smart Phone: An Approach for ...

1

Remote Control Convergence of Smart Phone:

An Approach for iPhone

A Project

Presented to

The Faculty of the Department of General Engineering

San Jose State University

In Partial Fulfillment

Of the Requirements for the Degree

Master of Science in Engineering

By

Jayagopi, Geetha

Fall 2011

Page 2: Remote Control Convergence of Smart Phone: An Approach for ...

2

© 2011

Jayagopi, Geetha

ALL RIGHTS RESERVED

Page 3: Remote Control Convergence of Smart Phone: An Approach for ...

3

APPROVED FOR THE DEPARTMENT OF GENERAL ENGINEERING

_________________________________________________________

Dr. Weider Yu

University Reader,

Professor, Department of Computer Engineering,

San Jose State University

_________________________________________________________

Mr. Kunal Gaurav

Technical Advisor, Broadcom Corporation

_________________________________________________________

Dr. Leonard Wesley

Associate Professor, Department of Computer Engineering,

San Jose State University

Page 4: Remote Control Convergence of Smart Phone: An Approach for ...

4

Table of Contents

1.0 Introduction ............................................................................................................................9

1.1 Hypothesis ..........................................................................................................................10

2.0 Literature Review ..................................................................................................................10

2.1 Why Common Framework?..................................................................................................10

2.2 Framework Architecture.......................................................................................................10

2.2.1 Components......................................................................................................................12

2.2.2 Interfaces..........................................................................................................................18

2.3 Tools Used ..........................................................................................................................19

2.3.1 For Development ..............................................................................................................19

2.3.2 For Testing .......................................................................................................................19

2.4 Technology Trends ..............................................................................................................19

3.0 Implementation .....................................................................................................................23

3.1 Implementation scope ..........................................................................................................23

3.2 Implementation Coverage.....................................................................................................26

3.3 Develop or Adopt Decision ..................................................................................................28

3.4 Implementation Process........................................................................................................28

3.5 Implementation resources .....................................................................................................30

3.6 Implementation activities .....................................................................................................32

3.7 Product Requirements ..........................................................................................................34

3.7.1 Functional Requirements ...................................................................................................35

3.7.2 Nonfunctional Requirements ..............................................................................................38

3.7.3 Product Requirement Analysis ...........................................................................................39

3.7.4 Future Enhancements ........................................................................................................41

4.0 Economic Justification...........................................................................................................41

Page 5: Remote Control Convergence of Smart Phone: An Approach for ...

5

4.1 Executive Summary .............................................................................................................41

4.2 Problem Statement ...............................................................................................................42

4.3 Solution and Value Proposition.............................................................................................43

4.4 Market Size .........................................................................................................................44

4.4.1 Marketing Strategies .........................................................................................................45

4.5 Competitors .........................................................................................................................47

4.6 Customer.............................................................................................................................48

4.7 Cost ....................................................................................................................................48

4.7.1 Cost Estimation.................................................................................................................48

4.7.2 Labor ...............................................................................................................................49

4.8 Detailed Component Breakdown...........................................................................................49

4.8.1 Manufactures Components ...............................................................................................50

4.8.2 Material Costs...................................................................................................................50

4.8.3 Labor Costs ......................................................................................................................51

4.9 Price Point...........................................................................................................................51

4.10 SWOT Assessment ............................................................................................................52

4.11 Investment Capital Requirements .......................................................................................53

4.12 Personnel ..........................................................................................................................54

4.13 Business & Revenue Model.................................................................................................55

4.14 Strategic Alliances / Partners ..............................................................................................56

4.15 Profit and Loss Statement ...................................................................................................56

4.16 Exit Strategy ......................................................................................................................57

5.0 Testing ...................................................................................................................................58

5.1 Testing Scope ......................................................................................................................58

5.2 Testing Coverage .................................................................................................................59

Page 6: Remote Control Convergence of Smart Phone: An Approach for ...

6

5.3 PASS/FAIL Criteria .............................................................................................................62

5.4 Testing Approach ................................................................................................................65

5.5 Testing Resources ................................................................................................................66

5.6 Test Cases ...........................................................................................................................67

5.7 Testing Activities .................................................................................................................69

6.0 Project Schedule ....................................................................................................................71

6.1 Phase 1................................................................................................................................71

6.2 Phase 2................................................................................................................................72

6.3 Gantt Chart..........................................................................................................................73

6.4 CPM Chart ..........................................................................................................................74

7.0 Conclusion ............................................................................................................................78

7.1 Learning Experience ............................................................................................................78

7.2 Recommendations................................................................................................................78

Appendix 1- Definitions...............................................................................................................79

8.0 References .............................................................................................................................80

Page 7: Remote Control Convergence of Smart Phone: An Approach for ...

7

List of Figures

Figure 1 Desktop End Module and iPhone End Module of Remote Control Convergence ......................11

Figure 2 Components of Remote Control Convergence for iPhone .......................................................12

Figure 3 Events in iOS ......................................................................................................................13

Figure 4 Main Event Loop, with Open Source ....................................................................................14

Figure 5 Path of a mouse event ..........................................................................................................15

Figure 6 Responder Chain in iOS.......................................................................................................16

Figure 7 Security Manager – Authorization System for Remote Control Convergence...........................18

Figure 8 Security Framework Components .........................................................................................20

Figure 9 Core Motion Framework Architecture ..................................................................................21

Figure 10 Architecture and Interaction of System Configuration framework components ......................22

Figure 11 Media Player Framework Architecture ................................................................................23

Figure 12 Collection of events generated by iPhone ............................................................................27

Figure 13 Water fall implementation process ......................................................................................29

Figure 14 Implementation Methodologies and Process Flow................................................................30

Figure 15 QFD Chart ........................................................................................................................40

Figure 16 Market Size of potential customers .....................................................................................44

Figure 17 Smartphone Market Trends ................................................................................................45

Figure 18 Smartphone OS Market Share ............................................................................................46

Figure 19 Smartphone Vendor Ranking..............................................................................................47

Figure 20 SWOT Analysis ................................................................................................................52

Figure 21 Break Even Chart ..............................................................................................................54

Figure 22 Profit/Loss Statement.........................................................................................................57

Figure 23 Testing Scope and Stages ...................................................................................................59

Figure 24 Bug Report Templates .......................................................................................................68

Figure 25 Use Case Diagrams............................................................................................................69

Figure 26 UML sequence diagram for Remote Control Convergence ...................................................69

Figure 27 Gantt chart ........................................................................................................................73

Figure 28 Activity-on-Arrow Diagram ...............................................................................................76

Figure 29 Activity-on-Arrow Diagram showing critical path ...............................................................77

Page 8: Remote Control Convergence of Smart Phone: An Approach for ...

8

List of Tables

Table 1 Implementation of Event Collector ........................................................................................24

Table 2 Implementation of Event Encoder ..........................................................................................25

Table 3 Implementation of Event Encoder ..........................................................................................25

Table 4 Implementation of Event Receiver .........................................................................................26

Table 5 Implementation of Event Decoder..........................................................................................26

Table 6 Develop or Adopt Decision ...................................................................................................28

Table 7 Implementation Resources ....................................................................................................31

Table 8 Implementation Resources ....................................................................................................32

Table 9 Requirements of Team ..........................................................................................................33

Table 10 Risks and Contingencies .....................................................................................................33

Table 11 Software and Hardware Requirements..................................................................................34

Table 12 Functional Requirements .....................................................................................................37

Table 13 Non-functional requirements ...............................................................................................39

Table 14 Framework Components and Cost Summary ........................................................................48

Table 15 Product/Service Cost...........................................................................................................52

Table 16 Investment Cash Flow .........................................................................................................53

Table 17 Required skill set of working group......................................................................................54

Table 18 Testing coverage of the Remote Control Convergence...........................................................60

Table 19 Pass/Fail Criterion at Component Level ...............................................................................63

Table 20 Testing approaches .............................................................................................................65

Table 21 Resources for Testing..........................................................................................................67

Table 22 Requirements for Testing Staff ............................................................................................70

Table 23 Phase-1 Project Schedule ....................................................................................................71

Table 24 Phase-2 Project Schedule ....................................................................................................72

Table 25 Activity table ......................................................................................................................74

Table 26 Precedence Table ................................................................................................................75

Table 27 Table to calculate critical path .............................................................................................76

Page 9: Remote Control Convergence of Smart Phone: An Approach for ...

9

1.0 Introduction

Our dependency on Smartphone is increasing manifold year over year. iPhone is an

example of Smartphone that has become an essential part of our lives. We always try to make

our work easier using this wonderful gadget. As part of the Master’s project, we would be

proposing an approach to provide a common framework for all the applications, which provides

the core functionalities to use iPhone as a remote control. Example of such an application is

Video LAN Client Remote (VLCREMOTE), which allows you to control your VLC media

player remotely. Many developers are now concentrating on giving this ‘remote-touch’ to their

applications.

This Remote Control framework provides API’s for preparing the remote control as well

as the module in the desktop application, which waits to receive remote events. On the remote

control side of the framework, collect various events generated by the remote control, encode the

data concerning to the events, and send it to the desktop application. On the desktop application

side of the framework, receive the incoming stream of encoded events, decode the data

concerning to the events, and pass it to the application for the usage. The framework would also

address the issues regarding the security.

Thus this project would mainly aim at developing a remote control framework which

enables developers of any application to take advantage of iPhone’s capabilities and use it as a

remote to enhance their applications. Utilization of iPhone as a remote in applications not only

enhances the existing applications, but also opens gates for a brand new variety of applications

which were only possible through dedicated hardware till today like Wii remote of Nintendo for

controlling Wii console applications.

Page 10: Remote Control Convergence of Smart Phone: An Approach for ...

10

1.1 Hypothesis

Proposing and developing a common framework can,

Provide the core functionalities to use iPhone as a remote control

Increase the performance of controlling desktop applications

Provide the application developer in enhancing the features of the app

2.0 Literature Review

2.1 Why Common Framework?

The dependency on Smartphone by human kind is increasing manifold year over year.

iPhone is an example of Smartphone that has become an essential part of our lives. We always

try to make our work easier using this wonderful gadget. As a team we would be proposing an

approach to provide a common framework for all the applications, which provides the core

functionalities to use iPhone as a remote control. Example of such an application is Video LAN

Client Remote (VLCREMOTE), which allows you to control your VLC media player remotely.

Many developers are now concentrating on giving this ‘remote-touch’ to their applications. The

essential purpose of our framework is to allow the developers in providing low cost app to the

end users.

2.2 Framework Architecture

Whenever there exists an application running on a dedicated hardware, users would

always prefer to have a remote touch to it. Remote Control Convergence for Smart Phone is a

Page 11: Remote Control Convergence of Smart Phone: An Approach for ...

11

framework that adds remote touch to any kind of iPhone application. iPhone is one such smart

phone that has become part of our lives. We always try to make our work easier using this

wonderful gadget.

Figure 1 Desktop End Module and iPhone End Module of Remote Control Convergence

In an attempt to make our work even simpler, we have developed applications which use

iPhone as a substitute for remote control. Example of such an application is VLCREMOTE,

which allows you to control your VLC player remotely. Many developers are now concentrating

on giving the ‘remote-touch’ to their applications. Remote Control Convergence is a framework

which facilitates the developers and speeds up the process of preparing iPhone applications,

which would use iPhone as a remote control.

Page 12: Remote Control Convergence of Smart Phone: An Approach for ...

12

Figure 2 Components of Remote Control Convergence for iPhone

The architecture of remote control convergence would consist of several components

such as iPhone Controller, Desktop Receiver, Network Detector, Multi-Thread Manager,

Security Manager.iPhone Controller would consist of Event collector, Event encoder, Event

transmitter. Desktop Reciever would consist of Event Reciever and Event Decoder.

2.2.1 Components

Event Collector

Event Collector is a component that is responsible to collect events from various state

changes in iPhone like keypad events, touch events, accelerometer events, gyroscope events, etc.

In iOS UIKit and Core Motion frameworks are responsible for the event propogation and

delivery. Event Collector is used to collect the events generated by the remote control. An

instance of CMAccelerometerData class represents an accelerometer event. The accelerometer

iPhone Controller

Multi-Thread Manager Security Manager

Event

Receiver

Event

Decoder

Event

Collector

Event

Encoder

Event

Transmitter

Desktop Receiver

Network Detector (Reliability and Flow Control)

Page 13: Remote Control Convergence of Smart Phone: An Approach for ...

13

would always measure the sum of two acceleration vectors: gravity and user acceleration.This

would measure the acceleration along the three spatial axes at a moment of time.

The superclass of CMAccelerometerData, CMLogItem, defines a timestamp. This would

record the time at which the acceleration measurement was taken. This event would be available

in iOS 4.0 and later. The attitude of iPhone is also considered to be as an event. CMAttitude

class represents a measurement of device’s attitude at a particular point in a time. The class

CMAttitude class would offer a rotation matrix, a quaternion, and Euler angles. The objects of

CMAttitude are accessed through the attitude property of each CMDeviceMotion objects passed

to an application. A device attitude can be tracked by the help of Core Motion using both the

gyroscope and the accelerometer.

Figure 3 Events in iOS

Page 14: Remote Control Convergence of Smart Phone: An Approach for ...

14

Event Encoder

This component is responsible to encode all the collected events to a data format, which

would then be a payload, ready to get transmitted to the desktop module. The events such as

touch events, motion and remote-control events are to be encoded to a data format, which would

then be a payload so that it is ready to get transmitted to the desktop module. The window

objects usually uses hit-testing and the responder chain in order to find the view to receive the

touch event.

Event Transmitter

This component is responsible for transmitting the payload from iPhone to the desktop.

The Event transmitter would route the events to the desktop module in such a way that the events

generated by the mouse, keyboard, and other devices are handled efficiently and in a best suited

manner.

Figure 4 Main Event Loop, with Open Source

Page 15: Remote Control Convergence of Smart Phone: An Approach for ...

15

Before an event is dispatched to the application, it is processed in various ways. It is

time-stamped. Let us consider an example for an event generated when a user presses a key on

iPhone. The device driver would first would convert or translate the raw scan code into the

virtual key code and it then passes off to the window server in an event record. The events such

as acceleration along axes are encapsulated by CMAccelerometerData object.

Figure 5 Path of a mouse event

Event Receiver

This component is responsible to collect all the events which are transmitted from

iPhone. Responder is an object that responds to events and handles them. The class

UIResponder is the base class for all the responder objects for handling all the events. Any

iPhone application must explicitly set a first responder in order to handle motion events, action

messages and editing menu messages.

When a system such as iPhone generates an event such as touch event, it would first send

it to a specific view. For all the touch events, hitTest: withEvent would return the view. For other

Page 16: Remote Control Convergence of Smart Phone: An Approach for ...

16

events such as editing menu messages, action messages and remote control events, view would

be the first responder. If there is no response from the view then the event or the message would

be passed up to responder chain by taking a certain path.

Figure 6 Responder Chain in iOS

Event Decoder

This component is responsible for decoding the events and passing it to the application

for corresponding action. The events such as Periodic events or key events or even various

events generated from various states in iPhone like keypad, touch events, and gyroscope events

are decoded by the Event Decoder and they are again passed it to the application.

Page 17: Remote Control Convergence of Smart Phone: An Approach for ...

17

Network Detector

This component is responsible for taking care of reliability and flow control issues since

large amounts of event data is being transmitted. There is a high probability that data is lost or

receiver getting swamped due to excess data transmission. This component takes care of these

issues. When there are multiple iPhones used by multiple users while accessing an application on

a Desktop, then there would exist excess data transmission or exchange between iPhone and the

Desktop. For multiplayer games, several events would be exchanged between iPhone and

Desktop application. Network Detector order to manage multiple events and in order to prevent

data losses.

Multi-Thread Manager

This component is responsible for managing threads which comes into picture while

collecting events from various event generators, encoding them and transmitting them

simultaneously. Even the receiving side receives and decodes in a multithreaded fashion.

When there are applications, which are operated by more than one user at a time, then the multi-

thread manager would have to manage in collecting various events.

Security Manager

This component ensures two things. First is the data encryption in the network while

transmitting and receiving. Second is the authorization of a remote controller to issue commands

to the application. Only the authorized users should be permitted to access any kind of

Page 18: Remote Control Convergence of Smart Phone: An Approach for ...

18

application. When there is exchange of data between iPhone and a desktop application, that data

should be exchanged in an encrypted format.

Figure 7 Security Manager – Authorization System for Remote Control Convergence

2.2.2 Interfaces

Remote Control Convergence for Smart Phone would act like an interface, such that any

application developed on an iPhone would get its features enhances with a remote touch. This

would like an interface to other systems, subsystems and users. All the components in the

framework would also be interfaced with each other so that the events captured from an iPhone

are handled properly and communicated efficiently between the desktop and iPhone end.

Page 19: Remote Control Convergence of Smart Phone: An Approach for ...

19

2.3 Tools Used

2.3.1 For Development

Hardware – MAC INTEL

Operating System – MAC OSX

IDE – X-CODE

IOS Libraries – Core Motion, Core Foundation, Security, Network

2.3.2 For Testing

Hardware – Apple Developer Licensed iPhone

2.4 Technology Trends

The technology trends related to the Remote Control Convergence of Smart Phone has

evolved many years ago and is still evolving in several stages. In this project we are considering

the frameworks related to iOS, since the approach is for an iPhone. Several iOS frameworks

developed has enhanced the scope several iPhone applications. Some of the technologies related

to iOS framework are Security Framework, Core Motion Framework, System Configuration

framework, and Media Player Framework.

Security Framework

The data managed by the applications can be guaranteed with added security features by

the help of Security Framework (Security. framework). This framework supports the storage of

cryptographic keys and certificates in the key chain. It is possible to share the key chain items

Page 20: Remote Control Convergence of Smart Phone: An Approach for ...

20

among the applications. It also supports the generation of cryptographically secure

pseudorandom numbers. This framework supports repository in order to store sensitive user data.

It has the application programming interfaces (APIs), which defines the methodology for

controlling access to software and protecting information.

In this framework, Certificate, Key, and Trust Services provide a C API for managing

the trust policies, certificates, private and public keys. The services can be used in the

applications in order to represent trust policies, create private-public key pairs, determine the

match between a certificate and its respective private key, import keys, certificates, and

identities. As mentioned earlier this framework provides Key Chain Services that enables the

users in order to add, modify, find, and delete keychain items. These items are defined b y a

CFDictionary of key-value pairs.

Figure 8 Security Framework Components

Core Motion Framework

Core Motion Framework allows your application to receive motion data from device

hardware. Accelerometer is one such device hardware and gyroscope is one such device models.

CMMotionManager is a class in this framework, which allows receiving motion data from

Page 21: Remote Control Convergence of Smart Phone: An Approach for ...

21

gyroscope, accelerometer, and combined device motion events at a regular interval. The events

can be even polled periodically.

Figure 9 Core Motion Framework Architecture

System Configuration Framework

This framework provides support in order to access the networks, which are configurable,

and system resources. It also allows your application to maintain, set and determine

configuration settings and respond to any kind of changes occurring in that information

dynamically. This also supports wide range of configuration management. It allows high- level

access to network services.

Page 22: Remote Control Convergence of Smart Phone: An Approach for ...

22

The components in System Configuration Framework are a persistent storage structure

for network configuration preferences, a dynamic storage structure, which has the current

network state information, Configuration agents that manage the data consisted in the storage

areas, a comprehensive schema that defines the data types in the dynamic stores, a full range of

APIs that provide access to current network state information.

Figure 10 Architecture and Interaction of System Configuration framework components

Media Player Framework

This framework provides facilities for playing music, audio podcast, and audio book

files. It also allows your application to access iPod library, thereby allowing the users to find and

play audio-based media items synced from iTunes on the desktop. MPVolumeView class allows

users to control the system audio output volume. MPMoviePlayerController and

MPTimedMetadata classes allow users to play streamed video content. It allows you to respond

to time-based metadata contained in the stream.

Page 23: Remote Control Convergence of Smart Phone: An Approach for ...

23

MPVolumeViewSettingsAlertShow displays an alert panel. The alert panel is used to

control the system volume. The alert panel can also be dismissed programmatically using the

MPVolumeSettingsAlertHide function.

Figure 11 Media Player Framework Architecture

3.0 Implementation

3.1 Implementation scope

The smart phone revolution is a recent one. Moreover, iPhone’s capabilities of processing

and transferring huge amounts of network data just got bigger, so is its capacity to be used as a

remote controller. Currently, we have applications available in the app store which lets you

control your iTunes and apple TV using an iPhone. But no framework was offered from APPLE

for developers to develop such sort of applications.

Recently a DVR company named TIVO announced a remote control framework for

developers to develop iPhone applications to control external devices like TV, AV receiver or

DVR. However, TIVO’s remote framework doesn’t address controlling of desktop applications

Page 24: Remote Control Convergence of Smart Phone: An Approach for ...

24

which are far more intelligent than video and audio transmitting devices. There will be several

questions that would arise during the implementation process. Will the product cause any

performance issues? What about the Scalability of the product? Do they have usability? Since a

new framework is to be developed, we need to have a better understanding towards the already

existing frameworks and their behavior. Since many frameworks present for the Smart phones

are available in the market, we need to first identify them and we need to strive to develop a cost

effective and an efficient framework.

In order to develop our framework, we have planned to use available resources in the

market. We have selected the resources based on their performance and need, and which was not

declined by any kind of vendor. When our framework is developed, we would test it by

developing an iPhone application, which would have remote touch feature. We would also have

a set of questionnaire which would be created for the customer. The questionnaires would be

helpful in giving suggestions as well as feedback in order to enhance the performance or

scalability of our framework.

Table 1 Implementation of Event Collector

Implementation of Event Collector

Analyze the events generated from iPhone and the application residing in it.

List the types of events generated from iPhone.

Collect events from various state changes in iPhone like keypad events, accelerometer events,

gyroscope events etc.

In the next phase of our project, we will be developing the functionality of event encoder,

which can be used to encode the events that are collected by the event collector and convert it

Page 25: Remote Control Convergence of Smart Phone: An Approach for ...

25

into a data format so that it could be received by the module or an application existing in the

desktop end.

Table 2 Implementation of Event Encoder

Implementation of Event Encoder

Analyze the strategy used in order to encode the events.

Analyze the strategy used in converting the encoded events to a data format.

Select a method which brings the best performance capabilities for an iPhone application.

In the next phase of our project, we will be implementing the functionality of event

transmitter, which can be used by the framework in order to transmit the events to the desktop

application end.

Table 3 Implementation of Event Encoder

In the next phase of our project, we will be implementing the functionality of Event

Receiver. This component is responsible to collect events which are transmitted from iPhone.

Implementation of Event Transmitter

Analyze the strategy used in order to transmit the events.

Select a method which brings the best performance capabilities for an iPhone application. Implement a methodology to transmit the events converted to a data format to the desktop end.

Page 26: Remote Control Convergence of Smart Phone: An Approach for ...

26

Table 4 Implementation of Event Receiver

In the next phase of our project, we will be implementing the functionality of Event

Decoder. This component is responsible to decode the encoded events and pass it to the iPhone

application again for corresponding action. After this phase, we would concentrate even on

handling multiple events using multi- thread manager and also would be concentrating on the

security features such as access control by the help of security manager.

Table 5 Implementation of Event Decoder

3.2 Implementation Coverage

Since the final goal of our project is to develop the APIs for our framework, we have

started the steps to be taken in order to achieve it. The APIs for our framework would be

developed and those APIs would be used by the iPhone application developers in order to

Implementation of Event Receiver

Analyze the strategy used in order to implement the event receiver.

Select a method which brings the best performance capabilities of event receiver for an iPhone

application.

Implement a methodology to collect all the events which are transmitted from iPhone.

Implementation of Event Decoder

Analyze the strategy used in order to decode the encoded events.

Select a method which brings the best performance capabilities of event decoder for an iPhone

application.

Implement a methodology to pass the information again to the application resided in iPhone.

Page 27: Remote Control Convergence of Smart Phone: An Approach for ...

27

provide a remote-touch to their applications. We are also emphasizing much upon the security

features for our framework and also the capability of handling even multiple events at the same

time in an efficient manner. I order to achieve the capability of handling multiple events at the

same time; we have designed a set of algorithms. We are in the process of identifying the best

method or algorithm by which the events could be collected and transmitted efficiently between

the iPhone and the Desktop module without any delay and data losses. We have obtained the

license from APPLE for testing on an iPhone. We have also set up an Xcode project environment

by importing all the necessary frameworks like Network and Core data. We have also created a

test bed in order to test the scenarios.

We have implemented some core socket functions by passing large volumes of data from

iPhone to Desktop to test iPhone’s transfer capability and came to an understanding of the

performance of iPhone as a remote. We are also currently working on the collecting and

encoding of events module.

Figure 12 Collection of events generated by iPhone

Page 28: Remote Control Convergence of Smart Phone: An Approach for ...

28

3.3 Develop or Adopt Decision

This section would give us a clear idea whether we need to follow the general approach

in order to develop (make) or adopt (buy) decision. Since we have many software and hardware

that are readily available in the market, we can come to decision whether we need to make or

adopt a resource decision. The below table would let us know regarding the resources as well as

the decision.

Table 6 Develop or Adopt Decision

Resource Name Version Price Decision

Mac Pro Quad-Core $1300 Adopt

Mac OS X Snow

Leopard

Free Adopt

Xcode 4.0 Free Adopt

iPhone Any $300 Adopt

Apple Dev. License

iOS Dev.

Any $100/yr Adopt

Web Browser

Internet

explorer 9.0

Firefox 4.0

Free Adopt

3.4 Implementation Process

In the process of development of remote control convergence for smart phone, we need to

follow step by step process. Since, the remote control framework consists of several independent

subsystems or components. The result obtained from each of the component would be the later

Page 29: Remote Control Convergence of Smart Phone: An Approach for ...

29

on used by the next component or subsystem existing in the framework module. Waterfall model

is the strategy that we have decided to follow in order to accomplish our goals in developing a

framework. The implementation stages are show in the figure below.

Figure 13 Water fall implementation process

The figure below would show the process and stages during the development of remote control

convergence for iPhone. In the figure below we can see that the result of Event Collector is taken

by the Event Encoder and the result of Event Encoder is taken by the Event Transmitter. This

strategy is called as the waterfall strategy. This would mean that Event Collector would be

implemented first and then it is the phase of Event Encoder and so on.

Page 30: Remote Control Convergence of Smart Phone: An Approach for ...

30

Figure 14 Implementation Methodologies and Process Flow

3.5 Implementation resources

In order to implement or develop the remote control convergence for smart phone, we

require several resources. We also require sufficient number of human resources too. The various

implementation resources and their role are described in the table below.

Page 31: Remote Control Convergence of Smart Phone: An Approach for ...

31

Table 7 Implementation Resources

Name Version No. Unit Price Total Status Comments

Mac Pro Quad-Core 2 $1300 $2600 Available

Mac OS X Snow Leopard 2 Available

Xcode 4.0 2 Available This is offered

free and can be

downloaded from

the internet.

Xcode IDE is

compatible only

with Mac OS X.

iPhone Any 2 $300 $600 Available

Apple Dev.

License iOS

Dev.

Any 1 $100/yr $100 Available This is offered for

$100/yr and can

be registered in

the internet.

Web

Browser

Internet explorer

9.0

Firefox 4.0

3 0 Available This is offered

free and can be

downloaded from

the internet.

Human

resources

NA 4 NA NA Available Prof. Weider Yu,

Project Advisor

Vasili, Software

Engineer

Jayagopi,

Software Engineer

Javvaji, Software

Engineer

Page 32: Remote Control Convergence of Smart Phone: An Approach for ...

32

3.6 Implementation activities

We have set up a proper plan in order to accomplish this project successfully on time. We

have also distributed our work equally among ourselves. We have completed all the pre-

requisites of having a very good knowledge on all the technologies needed to develop the remote

control convergence for smart phone. The development and implementation of various key

functionalities of remote control convergence such as Event transmitter, Collection of events,

transmitting of events among the devices would be done by Jayagopi, the team design architect

and Developer. We also have an amazing project advisor Prof. Weider Yu, who always been

guiding us in the right direction in order to accomplish our goals in completing the project

successfully. The responsibilities are stated as below:

Table 8 Implementation Resources

Staff Responsibility Dept

Prof. Weider Yu Provide valuable advice regarding implementation of framework

Approve the project

Provide us valuable feedback and

comments regarding the development of remote control convergence.

CE

Vasili Research

Design architect

Coding

Testing

Documentation

CE

Jayagopi Research

Architecture

Design architect

Coding

Testing

Documentation

MSE

Page 33: Remote Control Convergence of Smart Phone: An Approach for ...

33

Table 9 Requirements of Team

Requirements of Team

Knowledge of Objective-C programming skills

Good knowledge of Network security concepts.

Very good knowledge of Network Programming, Networking concepts.

Good knowledge in JAVA.

Good knowledge in testing concepts.

` Every project would have its risks and contingencies involved in it. Every project would

impact to a certain level in the market. There should be proper contingency plans in order to face

the ricks and develop an efficient product.

Table 10 Risks and Contingencies

Javvaji Research

Implementation

Design preparation

Documentation

SE

Id Risk Probability Impact Mitigation/Contingency

Plans

1 No planning Low High Work together

2 Failure of Algorithm Medium High Work hard on getting the

design better

3 Delay in implementing the

algorithm planned.

Low Medium Allotted extra time to cope-

up with the delay time

4 Programming skills Low High Advanced training programs

5 Issues in the architecture Medium Medium Design proposals are kept as

Page 34: Remote Control Convergence of Smart Phone: An Approach for ...

34

3.7 Product Requirements

The current section lists the software and hardware requirements to complete the Remote

Control Convergence for Smart Phone project. It would also list various kinds of skill sets for the

group in order to accomplish the project.

Software and Hardware requirements

Below is the list of minimum software and hardware requirements for our project.

Table 11 Software and Hardware Requirements

Name Version No. Unit Price Total Status Comments

Mac Pro Quad-Core 2 $1300 $2600 Available

Mac OS X Snow Leopard 2 Available

Xcode 4.0 2 Available This is offered

free and can be

downloaded from

the internet.

Xcode IDE is

compatible only

with Mac OS X.

iPhone Any 2 $300 $600 Available

Apple

Dev.

License

iOS Dev.

Any 1 $100/yr $100 Available This is offered for

$100/yr and can

be registered in

the internet.

Web

Browser

Internet explorer 9.0 3 0 Available This is offered

free and can be

downloaded from

and design.

a back up

Page 35: Remote Control Convergence of Smart Phone: An Approach for ...

35

Firefox 4.0 the internet.

Human

resources

NA 4 NA NA Available Prof. Weider Yu,

Project Advisor

Vasili, Software

Engineer

Jayagopi,

Software Engineer

Javvaji, Software

Engineer

The table below shows the information about skill set required to the working group for the

project.

3.7.1 Functional Requirements

The Functional requirements for Remote Control Framework would contain types of

inputs, number of inputs to be given, types of events to be handled, number of events to be

handled, types of outputs generated, number of outputs delivered, manipulations, behavior

constraints and design constraints of the framework This section would enlighten the functional

requirements of Remote Control Convergence for Smart Phones.

The Remote Control Convergence for Smart Phone will consist of 8 major components

namely: Event Collector, Event Decoder, Event Transmitter on the iPhone controller

end, Event Receiver, Event Decoder on the Desktop Receiver end, Network Detector for

Reliability and Flow control, Multi Thread Manager, Security Manager.

Page 36: Remote Control Convergence of Smart Phone: An Approach for ...

36

The components of Remote Control Convergence are responsible to collect all the events

from various states in iPhone like keypad events, touch events, accelerometer events,

gyroscope events etc.

The components of this framework are also responsible to encode all the collected events

to a data format, which would then be a payload and would transmit to the desktop

module

The Remote Control Convergence should also be effective so that the event receiver in

the desktop receiver module can collect all the events that are transmitted from iPhone.

Also it must be able function effectively such that the event decoder in the desktop

receiver module should decode the encoded events and pass it to the application in the

iPhone for corresponding action successfully.

The main customer of Remote Control Convergence would be iPhone application

developers, since we are developing this framework specific for iPhone. The iPhone

application developers will be able to enhance their applications by giving ‘remote-

touch’.

Once the iPhone application is developed by the application developers, this product or

app can be used by any users who possess an iPhone. The applications developed with

the help of this framework can be used by the employees of any organization, students

etc. The applications when developed using this framework would have its remote-touch

feature added to it and thereby will be used by administrators, private sector, Technical

managers of an enterprise, when they wish to give any kind of presentation, which

requires a remote-touch application on their iPhone.

Page 37: Remote Control Convergence of Smart Phone: An Approach for ...

37

This framework would be a well-defined interface between a dedicated hardware device

and an application residing on iPhone.

Remote Control Convergence for Smart Phone should be effective enough so that there is

no delay in capturing of events generated by the iPhone and its affect on the desktop

application end.

The development of framework should be a common platform for all the iPhone

application developers and should leverage them in developing many applications by

adding the ‘remote-touch’ feature to it.

The table below represents various functional requirements needed for Remote Control

Convergence of Smart Phone.

Table 12 Functional Requirements

Requirement ID Description

Req. ID 1 The remote control convergence developed for iPhone should first

be able to analyze the behavior of various events generated by

iPhone.

Req. ID 2 The remote control convergence should be able to analyze keypad

events, touch events, accelerometer events, gyroscope events etc.

Req. ID 3 The remote control convergence should be able to collect events

from various changes in iPhone with the help of its Event Collector

component.

Req. ID 4 The framework should be able to encode all the collected events to

data format, which would then be payload with the help of its Event

Encoder component.

Req. ID 5 The framework should be able to transmit the payload from iPhone

to the Desktop with the help of its Event Transmitter component.

Req. ID 6 The framework should be able to collect all the events which are

transmitted from the iPhone with the help of its Event Receiver

Page 38: Remote Control Convergence of Smart Phone: An Approach for ...

38

component.

Req. ID 7 The framework should also address the reliability and flow control

issues since large amount of event data is being transmitted.

Req. ID 8 The framework should also take care of the issues regarding the data

losses or receiver getting swamped due to excess data transmission.

Req. ID 9 The framework should also address the methodology used for

handling of events generated from multiple event generators.

Req. ID 10 The framework should be able to collect events generated from

various event generators, encoding them and transmitting them

simultaneously.

Req. ID 11 The framework should be able to collect the events generated in

receiving end and decode them in a multithreaded fashion.

Req. ID 12 The framework should be able to track the results in the

intermediate stages using a logger.

Req. ID 13 The framework should also be able to draw out the test cases to test

an iPhone application developed, with the help of Remote Control

Convergence framework.

Req. ID 14 The framework should be effective enough to provide the interface

between a dedicated hardware device and an iPhone application.

Req. ID 15 The framework should be able to draw the results generated by the

execution of test cases regarding the capture of events and handling

of events.

3.7.2 Nonfunctional Requirements

It is always a good practice to specify the criteria of the system or a framework and come

up with judgment and suggestions. It wouldn’t be a good practice if we analyze and perform the

validation of the system at the early stages. Some of the non-functional requirements that are to

be considered for Remote Control Convergence for Smart Phone are Scalability, Ma intainability,

Effectiveness, Usability, and Compliance to standards, Performance, Reliability, and

Page 39: Remote Control Convergence of Smart Phone: An Approach for ...

39

Supportability. Some of the important non-functional requirements are explained in the table

shown below.

Table 13 Non-functional requirements

Factors Description

Scalability The Remote Control Convergence for Smart Phone should be able

to perform and show its dynamic behavior based on the capturing of

events generated from various devices, and if it sets right according

to the requirements; then we can say that the framework is scalable.

Supportability The Remote Control Convergence for Smart Phone should be able

to support all the iPhone applications and should not be specific to

one. The framework should also provide software support to all

kinds of iPhone applications.

Performance The framework is said to be as working with good performance, if

an iPhone application built using this can tolerate any intrusion by

an unknown party, who possess no proper authentication, into the

system.

Robustness The framework is said to be robust if the framework works

efficiently in spite of many changes made on an iPhone application.

This feature is very much essential and key since even though there

are many changes in the iPhone application, the framework must be

able to work stable and efficiently.

Usability This feature would be satisfied by the Remote Control Convergence

if this can be used by any kind of iPhone application. The

framework should also behave efficiently and must be used

effectively by all kind of iPhone applications.

3.7.3 Product Requirement Analysis

The techniques to analyze functional and nonfunctional requirements are named as

Quality Function Deployment (QFD) techniques. It provides a good relation between the

Page 40: Remote Control Convergence of Smart Phone: An Approach for ...

40

demanded quality of the product and its quality characteristics. The below screenshot of the QFD

chart drawn is based on the system requirements.

Figure 15 QFD Chart

Page 41: Remote Control Convergence of Smart Phone: An Approach for ...

41

3.7.4 Future Enhancements

Since the development of Remote Control Convergence for Smart Phone would let the

iPhone application developers to enhance their applications with a remote touch feature, the next

goal for the developers of framework would be extending the scope of multiple users residing in

two different countries and are trying to access a common application residing on a desktop.

Example of such application can be multiplayer games.

4.0 Economic Justification

4.1 Executive Summary

Development of remote control framework targets iPhone application developers. Some

of the remote control apps available in the market are iTeleport, VLCREMOTE etc. iTeleport is

a remote control application available in the Apple App store in order to control desktop

applications. VLCREMOTE is a remote control application present in App store to control VLC

media player in desktop. Development of remote control framework eliminates the dependency

of users on the dedicated hardware. It also opens gates to all the iPhone application developers in

enhancing their applications by giving a remote touch.

The remote control framework addresses security aspects of socket programming and

also addresses efficient capability of handling events both on the remote control side and on the

desktop side.

We stand unique from our potential customers such as MSFT, TiVo, APPLE Inc., since

we provide remote control applications to the end users with lesser cost but with better

performance capability in handling events. Though we have spend $25,550 in order to develop

the framework, due to scarcity of remote control frameworks in the valley and also due to its

Page 42: Remote Control Convergence of Smart Phone: An Approach for ...

42

capability of handling all the events of an iPhone, we have a better demand of our product when

compared to our competitors. We incurred profits from the 2nd year by the help of this project.

We would be selling the APIs for $40,000 to the developers of iPhone applications. The

selling price is fixed on the basis of the flexibility offered by the framework. We process the

current market requirements by handling all the events generated by the iPhone. For the

maintenance of applications developed with the help of remote control APIs, the iPhone

application developers would be paying us $1000 for each request.

Our income to develop the remote control framework initially was $0. Initial expenses in

order to develop the framework were $25,550. This includes the amount spent for Mac Pro,

Apple Developer License, iPhones, Human Resources and other miscellaneous expenses. We

incurred negative figures in our Net cash flow and Cumulative cash flows until Year 1. Our

Income increased starting from $0 to $41r1240 by the end of 5 years. We could reduce our

expenses by reducing the number of human resources since we could maintain the framework

with a maximum of 2 Engineers and also other miscellaneous expenses like provision of on-site

services etc. We achieved Return on Investments (ROI) of 3.11% by the end of 5th year. This

was also possible due to the high demand of our services required by our potential customers in

the Valley.

4.2 Problem Statement

There are several frameworks available in the market that is specific to a particular

product. Also there are iPhone applications available in the Apple App store with which an

iPhone user will be able to browse or edit any of the files existing in the hard drive. Example of

such an app is iTeleport. This app can be used to play any kind of flash games residing on the

Page 43: Remote Control Convergence of Smart Phone: An Approach for ...

43

desktop, read your saved chat history on the desktop, fill out your expense reports and access a

media player residing on the desktop which uses a Remote Desktop Protocol. Some of the

applications today are accessible only through a dedicated hardware. One such example is Wii

Remote of Nintendo for controlling Wii Console Applications.

Remote Control Convergence for Smart Phone is a common framework developed,

which when released in the market could be used by the iPhone application developers in

enhancing their applications with the remote touch feature. Utilization of iPhone as a remote not

only enhances the existing applications, but also opens up the gates for a brand new variety of

applications.

4.3 Solution and Value Proposition

The service we contribute is to develop a Remote Control Framework that enables iPhone

application developers to enhance their applications providing a cost efficient app to the end

users. We address security aspects of socket programming, design and develop remote control

framework. We provide API’s to prepare a module in the desktop application. We address and

collect various events generated by the remote control in the remote control side of the

framework. We encode the data concerning to the events of the remote control and send it to

desktop application. We address and receive the incoming stream of encoded events on the

desktop application and pass it to the application for the usage.

We stand unique from our competitors by providing open source software libraries,

minimum cost of app to the end user, developing a common framework which supports all

desktop applications; we also open gates and provide scope for all the iPhone application

developers for future enhancements.

Page 44: Remote Control Convergence of Smart Phone: An Approach for ...

44

4.4 Market Size

Some of our potential customers are TiVo, Peel, APPLE Inc., Microsoft, etc. TiVo and

Peel transform an iPhone into a universal remote control. TIVO spends 3.2 million dollars

annually in order to enhance their remote control framework and spends 1 million dollar for

online customer support. The revenue of TIVO has been depreciating since 2010. TIVO remote

control framework cannot handle all the events generated by iPhone. This raised many concerns

from their customers.

We support our customers with the enhanced features with a service charge of $10,000

per request. We spend less in processing the customer requests since our framework is capable of

reusing the existing code and handling the new custom events. Though the initial development

cost of our framework is high, i.e. $25,550 due to our high demand and supply we incurred

profits starting from the second year.

Figure 16 Market Size of potential customers

Source: Yahoo Finance, Dec 2011

Page 45: Remote Control Convergence of Smart Phone: An Approach for ...

45

4.4.1 Marketing Strategies

iPhone has become part of our lives. The dependency on Smartphone by human kind is

increasing manifold year over year. iPhone is an example of Smartphone that has become an

essential part of our lives. We always try to make our work easier using this wonderful gadget.

As per the market research, 18.65M iPhones were sold as of Apple earnings Q2’11. The revenue

of Apple has reached to $24.67B as of Q2’11. Also there exists over 350k apps; 10 billion

downloads on Apple store. As per the research, development of frameworks have not only

enhanced the existing applications, but also opens gate for a brand new variety of applications

which were only possible through dedicated hardware till today.

Figure 17 Smartphone Market Trends

Source: Digitimes Research – Shipment forecast for global top-10 Smartphone brands, 2011

Page 46: Remote Control Convergence of Smart Phone: An Approach for ...

46

Development of several device frameworks has enhanced the capability of iPhone. Some

of the frameworks are Accelerate Framework, Core Motion Framework, Media Player

Framework, System Configuration Framework and Store kit framework etc. Remote Control

Framework is also making good turn due to heavy demand of extending applications by utilizing

iPhone as Remote. There are some companies like Google, Samsung, Microsoft, and Sony etc,

which have been challenging in the field of Smart Phone Frameworks since many years.

Figure 18 Smartphone OS Market Share

Source: Millennial Media, Oct 2010

Page 47: Remote Control Convergence of Smart Phone: An Approach for ...

47

Figure 19 Smartphone Vendor Ranking

Source: The E Word, Dec 2010

4.5 Competitors

Our competitors are the framework developers who develop APIs in assisting the iPhone

application developers. The demand of the customers, using these APIs depends on the

performance of the framework. Better the performance of the framework more would be the

demand to the framework in the market.

Also our competitors are the developers of some of the applications such as

VLCREMOTE, TIVO etc. These applications give remote touch feature added to the iPhone.

The difference between our framework and these applications is re-usability of the APIs. This

capability of re-using the APIs makes us stand unique from our competitors. This feature would

attract the iPhone application developers to use the readymade APIs available through the

Remote Control Framework.

Page 48: Remote Control Convergence of Smart Phone: An Approach for ...

48

4.6 Customer

Our customers are the developers of iPhone applications. An entry- level person, middle

management or even the senior management can either use the applications developed. Some of

the applications such as Gaming can be used by the entry level person. Applications developed

with remote touch such as accessing an account related application on the Desktop end

simultaneously by 4 to 5 members in a corporate office can be used by the middle management

customers. All the senior management customers can make use of applications such as

presenting any application on the desktop (projector) by using iPhone as a remote control.

The solution provided in developing the APIs can be used thereby by an individual or in a

department or corporate or in an industry.

4.7 Cost

The Development Cost of the framework is $25550 and the operating cost is $850/month

and the maintenance cost is about $100/year. The development cost includes the purchase of

Mac Book Pro, iPhones, Apple Developer License and other miscellaneous expenses.

4.7.1 Cost Estimation

Table 14 Framework Components and Cost Breakdown Summary

Name Version Quantity Unit Price Total

Mac Pro Quad-Core 3 $1300 $3900

Mac OS X Snow Leopard 2

Xcode 4.0 2

iPhone Any 2 $750 $1500

Page 49: Remote Control Convergence of Smart Phone: An Approach for ...

49

Apple Dev. License

iOS Dev.

Any 1 $100/year $100

Web Browser

Internet

explorer 9.0

Firefox 4.0

3 0

Human resources NA 3 $6400/month $19200

Operating

Cost/Miscellaneous

expenses

NA NA $850/month $850

4.7.2 Labor

The number of Software Developers required in order to develop the framework is 3 and

number of Software Quality Engineers required in order to test the Remote Control Framework

is 3. The number of days invested in order to implement the functionalities of framework is 56

Days. This includes the development of algorithms, development of complete application;

generate the test cases and also performing the system level testing for the entire fra mework.

4.8 Detailed Component Breakdown

Components required in order to develop the remote control framework are Mac Pro,

iPhone. We get the XCode and Mac OS X in built in the Mac Pro. It is always good purchasing

these components rather than developing a unique platform where we could have our framework

to run.

Page 50: Remote Control Convergence of Smart Phone: An Approach for ...

50

4.8.1 Manufactures Components

The Mac Pro should be of Quad- Core type, Snow Leopard MAC OS X, Xcode with

version 4.0 are required in order to develop the framework. The labor skills required fo r

manufacturing are as listed

1. Knowledge of Objective C programming skills.

2. Good Knowledge of Network Security concepts.

3. Very good knowledge of Network Programming concepts.

4. Good knowledge in JAVA.

5. Good knowledge in testing concepts.

4.8.2 Material Costs

In order to develop the Remote Control Framework we do have to invest some initial

costs. The initial costs would include purchasing of components such as Mac Pro, iPhone etc.

Each Mac Pro would cost $1300 and since we have need at the least of 2 Software Developers,

and 1 Quality Engineer we would require 3 Mac Pros. The Mac Pro can be also used as the

Desktop Server once the framework is developed. We also require iPhone, which acts like a

client in our project. We would require at the least of 2 iPhone in order to show the demo of

multi thread or multiple events handling capability of the framework. Each iPhone is worth of

$750. We also require Apple Developer License, which is worth of $100 per year.

Page 51: Remote Control Convergence of Smart Phone: An Approach for ...

51

4.8.3 Labor Costs

Based on the skill set required to develop the framework, every Software Developer in

our project should be paid $40 per hour. Also the Software Quality Engineers should be paid $40

per hour. In future, when we have patent rights for our APIs and when our team extends the

project in a manner that we develop our own smart phone applications and release in the market,

we would also possess a CEO for our company. The CEO in our company would be paid $200K

annually as a base salary.

4.9 Price Point

Our target customers are iPhone application developers. We would be selling the APIs

for $40,000 to the developers of iPhone applications. The selling price is fixed on the basis of the

flexibility offered by the framework. We process the current market requirements by handling all

the events generated by the iPhone. For the maintenance of applications developed with the help

of remote control APIs, the iPhone application developers would be paying us $1000 for each

request. We would also be selling remote control applications to the end users by releasing them

in the Apple App Store. The end users would be paying us $20 for each download of our remote

control framework application. These applications when downloaded on the iPhone can access

any kind of desktop application.

Page 52: Remote Control Convergence of Smart Phone: An Approach for ...

52

Table 15 Product/Service Cost

Services Offered Cost of Services

Framework/APIs $40000

Processing service request $1000

Maintenance/Support on framework $100

End user App download $20

4.10 SWOT Assessment

Figure 20 SWOT Analysis

The strengths of our framework are its ability to fit into the development process of any

iPhone application and also its capability in handling the events generated by the iPhone. The

Page 53: Remote Control Convergence of Smart Phone: An Approach for ...

53

APIs developed can be re-used by any number of iPhone application developers. As the number

of iPhone users (clients) trying to access an application on the Desktop (server) end increases,

the ability of the framework in handling the events would depreciate gradually. This is one of

our key weaknesses that we are working on and trying to improve in increasing the scalability

aspect of the framework. Development of these kinds of frameworks would open gates for most

of the iPhone application developers, since they would develop applications which could not

only be accessible by dedicated hardware but also by the smart phones. The threats for the

framework would be due to the intrusion of strangers trying to access the applications without

proper authorization or coupling of their respective iPhone devices with the Server.

4.11 Investment Capital Requirements

Table 16 Investment Cash Flow

Investment

Cash Flow

Now Year1 Year2 Year3 Year4 Year5

Income $0 $121120 $201120 $291120 $362420 $411240

Expenses $25550 $240700 $163900 $80350 $80350 $80350

Net Cash flow $25550 $119580 $37220 $210770 $282070 $330890

Cumulative

Cash Flow

$25550 $145130 $107910 $102860 $384930 $304580

Page 54: Remote Control Convergence of Smart Phone: An Approach for ...

54

Figure 21 Break Even Chart

4.12 Personnel

Table 17 Required skill set of working group

Required Skill Set

Knowledge of Objective-C programming skills

Good knowledge of Network security concepts.

Very good knowledge of Network Programming, Networking concepts.

Good knowledge in JAVA.

Good knowledge in testing concepts.

We require a minimum of 2 Software Developers and 1 Software Quality Engineer in

order to develop this remote control framework with the above mentioned skill sets.

-200000

-100000

0

100000

200000

300000

400000

500000

1 2 3 4 5 6

Cummulative Cash Flow

Years

Break Even at 3.5 years

Page 55: Remote Control Convergence of Smart Phone: An Approach for ...

55

4.13 Business & Revenue Model

We plan to sell our product or service by efficient marketing of our framework to the target

application developers like APPLE, TiVo, MSFT, etc.

Table 18 Business Revenue Model - Services Offered

Products/Services

Description of

Product/Service

Potential Customers

Cost of

Product/Service

Service Registration

Registering only for specific services required by the end

user like accelerometer events,

gyroscopic events, and keypad events

APPLE, MSFT, PEEL $10000/request

Usage under 3G network

Controlling desktop applications through

iPhone under 3G network without compromising the

security aspects

APPLE, TiVo, MSFT, PEEL

$18500/request

Remote control apps Ability to control

desktop applications without dedicated

hardware

APPLE, TiVo, MSFT,

PEEL

$19.99/app

Background

application

Uninterrupted

services of remote control framework

while running background applications in iPhone

APPLE, TiVo,

CISCO

$15000/request

Page 56: Remote Control Convergence of Smart Phone: An Approach for ...

56

We plan to make money by:

By providing maintenance support to our customers based on their requirements. For

example, we can offer services like handling the issues caused due to opening of ports,

registering of services, admin access, etc.

By selling remote control applications that could be used in home, for business and

hospitals.

By selling remote control apps developed by our framework which will work under 3G

network and also apps that could control hardware applications.

4.14 Strategic Alliances / Partners

We would be partners only with the iPhone application developers in helping them to

make use of our framework, when required in order to give remote touch feel to their

applications. We would incur required amount of commission once the application is developed

based on the strategy or the deal set during the early stages.

4.15 Profit and Loss Statement

The below graph is plotted with Years mentioned on the X-axis and Dollars on the Y-

axis. The graph is plotted considering Income, Expenses and Net Profit/Loss for the first 5

years. As per the break even analysis, we would incur profits from the third year. The income

for our project is less when compared to the expenses during the initial phase. When the number

of service requests processed by us gradually increase, the income keeps expanding. We would

incur profits starting from 2nd year. The profits are obtained by enhancing the features of our

Page 57: Remote Control Convergence of Smart Phone: An Approach for ...

57

framework like running background applications in iPhone, ability to work under 3G, etc. as per

the requests from our potential customers.

Figure 22 Profit/Loss Statement

4.16 Exit Strategy

Our income to develop the remote control framework initially was $0. Initial expenses in

order to develop the framework were $25,550. This includes the amount spent for Mac Pro,

Apple Developer License, iPhones, Human Resources and other miscellaneous expenses. We

incurred negative figures in our Net cash flow and Cumulative cash flows until Year 1. Our

Income increased starting from $0 to $411240 by the end of 5 years. We could reduce our

expenses by reducing the number of human resources since we could maintain the framework

with a maximum of 2 Engineers and also other miscellaneous expenses like provision of on-site

services etc. We achieved Return on Investments (ROI) of 3.11% by the end of 5th year. This

($200,000)

($100,000)

$0

$100,000

$200,000

$300,000

$400,000

$500,000

Now Year 1 Year 2 Year 3 Year 4 Year 5

Income

Expenses

Net Profit/Loss

Page 58: Remote Control Convergence of Smart Phone: An Approach for ...

58

was also possible due to the high demand of our services required by our potential customers in

the Valley.

Table 19 Return on Investment

Investment

Cash Flow

Now Year1 Year2 Year3 Year4 Year5

Income $0 $121120 $201120 $291120 $362420 $411240

Expenses $25550 $240700 $163900 $80350 $80350 $80350

Net Cash flow $25550 $119580 $37220 $210770 $282070 $330890

Cumulative

Cash Flow

$25550 $145130 $107910 $102860 $384930 $304580

ROI -2% -1.49% -0.77% 1.62% 2.51% 3.11%

5.0 Testing

5.1 Testing Scope

This particular section would deal with the aspects of testing and stages at which the

testing has to be made on the product. Since the Remote Control Convergence has certain

number of components residing in it and since each of the subsystems are inter dependent on

each other, it is always a good practice to have a strategy for testing. Remote Control

Convergence has certain components such as Event Collector, Event Encoder, Event

Transmitter, Event Receiver, and Event Decoder. Apart from all these basic components, Remote

Control Convergence also has some of the common components for both iPhone end and

Desktop end modules such as Network Detector, Security Manager and Multi-thread manager.

Since the system is comprised of several subsystems, it is always a good practice to test the

components at the end of each and every stage of its implementation phase.

Page 59: Remote Control Convergence of Smart Phone: An Approach for ...

59

Testing the components at the early stages would not only help us to avoid the errors but

also would give us a better view of the approach to be followed for the development of an

efficient product. Now this phase of testing each and every component at the preliminary stage is

called as the unit level testing. We also need to perform the testing once the entire framework is

built, which is called as the function validation testing. If there are software or customer

requirements on the already existing framework, then the developer would develop the requested

change requirements from the customer and would again the build the framework. The testing

which has to be performed at this particular stage is called as the Regression Testing.

Figure 23 Testing Scope and Stages

5.2 Testing Coverage

In this section we would emphasis upon the functionalities that are to be tested and also

not to be tested. The Development of framework and its testing are completely two different

fields. In order to test a framework, an iPhone application has to be developed, which could use

Page 60: Remote Control Convergence of Smart Phone: An Approach for ...

60

the APIs of the framework and attain the remote touch feature. In the testing coverage we would

be covering the condition coverage, path coverage and function coverage.

Table 20 Testing coverage of the Remote Control Convergence

System Features Testing / Not testing

Features of Event Collector

Types of Events generated

from iPhone

Number of Events generated

from iPhone

Number of Events collected

efficiently by Event Collector

residing in the iPhone end

module.

Check the types of events

collected

Testing

Testing

Testing

Testing

Features of Event Encoder

Scan the type of events selected

and check the functionality of

Event Encoder

Check if the events are encoded

properly before transmitting it to

the Desktop end.

Check if the encoded event is

converted into a data format used

Testing

Testing

Page 61: Remote Control Convergence of Smart Phone: An Approach for ...

61

for transmission.

Testing

Features of Event Transmitter

Check if the events are transmitted

to the receiver end in an efficient

manner.

Check if multiple events are

transferred to the receiving end.

Testing

Testing

Features of Event Receiver

Check if all the events sent by the

event transmitter are received on

the receiving end by the Event

Receiver.

Check if there is any data loss

while receiving the events.

Testing

Testing

Features of Event Decoder

Check if the Event Decoder is able

to decode the events that were

encoded.

Testing

Page 62: Remote Control Convergence of Smart Phone: An Approach for ...

62

Log files - record

Log files mapping

Validation of log file.

Perform the action required and

send it back to the iPhone

application.

Testing

Testing

Testing

Testing

Features of Network Detector

Check if there are any data losses

occurring with the help of

functionality of Network Detector.

Connections Establishment

Configuration of individual

components

Testing

Testing

Testing

Overall system performance

Testing

Individual component performance

Testing

5.3 PASS/FAIL Criteria

Page 63: Remote Control Convergence of Smart Phone: An Approach for ...

63

The Remote Control Convergence for Smart Phone has several components that are be

tested including its non-functional requirements such as Scalability, Usability, Performance etc.

In this section we would emphasis upon the test criteria that have to be satisfied in order for a

test case to be passed. The table below has the Pass/Fail criteria of various subsystems and

component of Remote Control Convergence for Smart Phone.

Table 21 Pass/Fail Criterion at Component Level

Component Pass/ Fail Criteria

Event Collector The below mentioned are all the criteria for a

test case to be PASS for the Event Collector

Component.

Types of Events generated from

iPhone

Number of Events generated from

iPhone

Number of Events collected

efficiently by Event Collector

residing in the iPhone end module.

Check the types of events collected

Event Encoder The below mentioned are all the criteria for a

test case to be PASS for the Event Encoder

Component.

Scan the type of events selected and

check the functionality of Event Encoder

Check if the events are encoded properly

Page 64: Remote Control Convergence of Smart Phone: An Approach for ...

64

before transmitting it to the Desktop end.

Check if the encoded event is converted

into a data format used for transmission

Event Transmitter The below mentioned are all the criteria for a

test case to be PASS for the Event Transmitter

Component.

Check if the events are transmitted to the

receiver end in an efficient manner.

Check if multiple events are transferred

to the receiving end.

Event Receiver The below mentioned are all the criteria for a

test case to be PASS for the Event Receiver

Component.

Check if all the events sent by the event

transmitter are received on the receiving

end by the Event Receiver.

Check if there is any data loss while

receiving the events.

Event Decoder The below mentioned are all the criteria for a

test case to be PASS for the Event Decoder

Component.

Page 65: Remote Control Convergence of Smart Phone: An Approach for ...

65

Check if the Event Decoder is able to

decode the events that were encoded.

Perform the action required and send it

back to the iPhone application.

5.4 Testing Approach

In order to test the components individually and also in order to test the integrated

version of all the components as a system, we need to follow certain testing approaches. As a

team we have decided to choose Unit level testing, System level testing and Integration testing

approaches.

Table 22 Testing approaches

Testing Approach Description of the approach Reason for choosing the

approach

Unit Testing There are two types of Unit

testing. They are Black Box

testing and White Box testing.

These testing approaches can be

used in order to test the

components at the unit level.

The reason for choosing this

approach because, the remote

control convergence has many

subsystems residing in it. So in

order to test the outcomes from

each of the individual

components, we have chosen unit

testing as the best approach to test

the components individually and

independently.

Page 66: Remote Control Convergence of Smart Phone: An Approach for ...

66

Integration Testing Even though there exists

subsystems in a system; at the

end all the subsystems must be

integrated in order to form a

product. So this kind of testing is

used to test an integrated

product.

This testing approach is very

much useful when all the

components of the remote control

convergence are integrated with

each other.

System Testing This testing approach primarily

concentrates on testing the whole

system. This can be used in

order to test the performance of a

system.

This testing approach is used in

this project the areas like

measurement of performance,

reliability etc. Performance plays

a key role in our project since

there should not be any delay

when there is any event occurring

on the iPhone end and its

reflection on the desktop side.

5.5 Testing Resources

In order to test the Remote Control Convergence, we will have to develop and iPhone

application, which was developed by using the APIs of the framework developed in order to get

its remote-touch. So there would use of hardware resources as well as the software resources in

order for testing.

Page 67: Remote Control Convergence of Smart Phone: An Approach for ...

67

Table 23 Resources for Testing

Hardware

iPhone

Linksys Router WRT54GS

Software & Special tools

Bug Reporting Tools – Elementool

Xcode

5.6 Test Cases

While testing the Remote Control Convergence for Smart Phone, there exist many test

cases.

Some of the important test cases that we could come up are,

Testing of events collected by the Event Collector.

Testing of events encoded by the Event Encoder.

Testing of events transmitted by the Event Transmitter.

Testing of events received by the Event Receiver.

Testing of events decoded by the Event Decoder.

Testing of performance of handling of events.

Testing of various scenarios that could cause for the data loss.

Page 68: Remote Control Convergence of Smart Phone: An Approach for ...

68

The sample test case template and bug report are shown below. In this we would report the

incidents that would take place while testing.

Figure 24 Bug Report Templates

Use Cases:

Use Case for an iPhone user using his remote-touch featured application

Page 69: Remote Control Convergence of Smart Phone: An Approach for ...

69

Figure 25 Use Case Diagrams

Figure 26 UML sequence diagram for Remote Control Convergence

5.7 Testing Activities

As a team we have decided to perform the testing activities along with the development.

Both the testing and development activities would run in parallel. Once the Event Collector

functionality is implemented we would be testing it in parallel. This kind of approach is being

followed so that there doesn’t exist any kind of bugs raised or there should not be any affect on

the other functionalities of the framework.

Page 70: Remote Control Convergence of Smart Phone: An Approach for ...

70

All the bugs would be documented well and will be reported in the template followed.

The testing team would report the bugs obtained during the integration phase as well as during

the system level testing.

Table 24 Requirements for Testing Staff

Requirements of Testing Staff

Knowledge of the remote control framework

Knowledge of operation of individual subsystem or components of system.

Knowledge of inter-dependencies among the sub-systems

Knowledge of Objective C. C++ programming skills

Very good knowledge of Testing strategies, Testing methods

Very good knowledge of testing tools and bud reporting tools

Excellent communication skills, both written and verbal

Good networking knowledge; security in specific

Page 71: Remote Control Convergence of Smart Phone: An Approach for ...

71

6.0 Project Schedule

6.1 Phase 1

Table 25 Phase-1 Project Schedule

TASK NAME

DURATION

(Days) START FINISH

Remote Control Convergence for Smartphone - an

approach for iPhone 149

1/26/2011

12/09/2011

Primary Task 8 1/26/2011 2/2/2011

Finalize the Topic 5 1/26/2011 1/30/2011

Get approval from advisor 3 1/31/2011 2/2/2011

Pre Project Task 5 2/3/2011 2/7/2011

Research 5 2/3/2011 2/7/2011

Abstract 20 2/8/2011 2/28/2011

Develop Abstract 12 2/8/2011 2/20/2011

Get reviewed by advisor 4 2/21/2011 2/25/2011

Submit Abstract 2 2/26/2011 2/28/2011

Project Plan 20 3/1/2011 3/20/2011

Research over framework 6 3/1/2011 3/6/2011

Come out with requirement 2 3/7/2011 3/8/2011

Finalize requirements 3 3/9/2011 3/11/2011

Start Architecture 2 3/12/2011 3/13/2011

Prepare Project Plan 3 3/14/2011 3/16/2011

Get reviewed by advisor 2 3/17/2011 3/18/2011

Submit Project Plan 2 3/19/2011 3/20/2011

Revised Project Plan 29 3/21/2011 4/15/2011

Research 9 3/21/2011 3/29/2011

Revised Requirement 4 3/30/2011 4/2/2011

Revised Architecture 4 4/3/2011 4/6/2011

Revised Initial Design 6 4/7/2011 4/12/2011

Page 72: Remote Control Convergence of Smart Phone: An Approach for ...

72

Approval from professor 3 4/13/2011 4/15/2011

Implementation of Framework 56 4/16/2011 10/25/2011

Develop the algorithms 9 4/16/2011 4/24/2011

Develop the complete application 21 4/25/2011 5/16/2011

6.2 Phase 2

Table 26 Phase-2 Project Schedule

TASK NAME

DURATION

(Days) START FINISH

Implementation of Framework (Continued) 56 4/16/2011 10/25/2011

Come out with test cases 8 9/1/2011 9/8/2011

Testing of Framework 15 9/9/2011 9/23/2011

Demo to professor 3 9/24/2011 9/26/2011

Testing 15 9/27/2011 10/11/2011

Test Case preparation 4 10/12/2011 10/15/2011

Perform Testing 5 10/16/2011 10/20/2011

Bug Fixing 6 10/21/2011 10/25/2011

Finalization 16 10/26/2011 12/2/2011

Prepare Project Report 7 10/26/2011 11/1/2011

Get Reviewed by advisor 3 11/2/2011 11/4/2011

Working on change if given 3 11/5/2011 11/7/2011

Review Final Report 6 11/8/2011 11/13/2011

Submit Final Report 1 12/1/2011 12/1/2011

Demo 1 12/2/2011 12/2/2011

Page 73: Remote Control Convergence of Smart Phone: An Approach for ...

73

6.3 Gantt Chart

Figure 27 Gantt chart

Page 74: Remote Control Convergence of Smart Phone: An Approach for ...

74

6.4 CPM Chart

Table 27 Activity table

Activity

Description

A

Remote Control Convergence Research

B

Requirement Analysis on the Framework

C

Remote Control Convergence Design

D

Coding and Development of Framework

E

Testing of Remote Control Framework by the help

of iPhone Application.

F

Finalization

Page 75: Remote Control Convergence of Smart Phone: An Approach for ...

75

Precedence Table

Table 28 Precedence Table

Activity

Preceding Activity

Estimated time(Weeks)

A

-

2

B

A

2

C

B

2

D

B,C

4

E

D,C

4

F

E

2

Page 76: Remote Control Convergence of Smart Phone: An Approach for ...

76

Figure 28 Activity-on-Arrow Diagram

Table 29 Table to calculate critical path

Activity

ES

LS

EF

LF

Total

Slack

Free

Slack

A

0

0

2

2

0

0

B

2

2

4

4

0

0

C

4

4

6

6

0

0

Page 77: Remote Control Convergence of Smart Phone: An Approach for ...

77

D 6 8 10 12 2 2

E

12

16

12

16

0

0

F

16

16

18

18

0

0

Total Slack = LS - ES

Free Slack = LF – EF

The below activity-on-arrow diagram shows the critical path.

Figure 29 Activity-on-Arrow Diagram showing critical path

Page 78: Remote Control Convergence of Smart Phone: An Approach for ...

78

7.0 Conclusion

7.1 Learning Experience

Apart from applications like VLCREMOTE, we do not have any other common

framework by which we could use iPhone as a remote control. Developing a common framework

has opened open gates to all the iPhone application developers in enhancing their applications by

giving them a remote touch feature.

Developing the Remote Control Framework would also increase the comfort zone for the

iPhone application users, which feel to have a remote touch. Multiplayer gaming applications or

even applications which may require multiple users to handle can make use of this common

framework very well. Multiple users can access a single application by the help of this common

framework. Also any intrusion of a stranger trying to access an application shared with in a

private network can be avoided by the help of this common framework. Developing this

framework has given me and the team a wide range of exposure about the smart phones and also

their capability of having remote touch to their applications.

7.2 Recommendations

The Remote Control Framework developed would be useful for multiple users trying to

access their iPhone application on a Desktop simultaneously with in a Local Area Network. The

current framework should be developed in a manner that it can be used in the wider range of

network. Also the current framework has the APIs developed only for the iPhone applications

but not common for all the smart phones. More research and development has to be done in order

for this framework to be suitable for wide range of smart phones available in the market.

Page 79: Remote Control Convergence of Smart Phone: An Approach for ...

79

Appendix 1- Definitions

Event Collector: A component that is responsible to collect events from various state changes in

iPhone like keypad events, touch events, accelerometer events, gyroscope events, etc.

Event Encoder: A component that is responsible to encode all the collected events to a data

format, which would then be a payload, ready to get transmitted to the desktop module.

Event Transmitter: This component is responsible for transmitting the payload from iPhone to

the desktop

Event Receiver: This component is responsible to collect all the events which are transmitted

from iPhone.

Event Decoder: This component is responsible for decoding the encoded events and passing it

to the application for corresponding action.

Network Detector: This component is responsible for taking care of reliability and flow control

issues since large amounts of event data is being transmitted.

Multi-Thread Manager: This component is responsible for managing threads which comes into

picture while collecting events from various event generators, encoding them and transmitting

them simultaneously.

Security Manager: This component ensures the data encryption in the network while

transmitting and receiving.

Page 80: Remote Control Convergence of Smart Phone: An Approach for ...

80

8.0 References

Security Framework Reference, Apple Inc. March 2008. Retrieved from

http://developer.apple.com/library/ios/documentation/Security/Reference/SecurityFrameworkReference/SecurityFrameworkReference.pdf

iOS Technology Overview, Apple Inc. October 2011. Retrieved from http://developer.apple.com/library/ios/#documentation/Miscellaneous/Conceptual/iPhoneOSTec

hOverview/CoreOSLayer/CoreOSLayer.html

CM Accelerometer Data Class Reference, Apple Inc. April 2010. Retrieved from http://developer.apple.com/library/ios/#documentation/CoreMotion/Reference/CMAcceleromete

rData_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40009671

Event Handling Guide For iOS, Apple Inc. March 2011. Retrieved from

http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlin

giPhoneOS/EventsiPhoneOS/EventsiPhoneOS.html#//apple_ref/doc/uid/TP40009541-CH2-SW1