A Report On Software Development For Mobile Devices Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

There are primarily two business models in software development for mobile applications i.e., closed source model and the open source model wherein the former refers to a system where the underlying source code running the application is not released to public view and cannot be modified by application users, hence the term "closed" , however the latter refers to a system where most if not all of the code is released to the user to be able to modify or enhance the code to suit his requirements. [1]

The iOS like all other proprietary software has a SDK - Software development kit [2]which forms the backbone for all application development as it contains all relevant libraries. It has to be noted here that the programming language used is Objective-C. The next step in the process is to open an application called Xcode[3], an integrated development environment for creating iOS and Mac OS X applications. Xcode has several user interface builder windows [4] which is up to the developer to design.

Interface Builder

Fig. User interface builder windows

Following this the developer has to write the source code for the app creating a clear inter-connect between the code and the UI, to send and receive messages between the two.

Once this part is completed we begin the next phase of testing where we can write test cases and test suites to check if the application features perform as desired or the built in simulator of Xcode. Test driven development can be used for these apps. Once satisfied with results the software can be deployed on the iphone for actual testing [4]. For this the developer must complete the Appstore registration with Apple. All applications must comply with the SDK agreement, wherein there can be no two identical applications and all applications have to be submitted to apple for approval or rejection. Apps have to pass through Apple for reliability testing and analysis to make sure the smooth functioning on devices. Rejected apps get feedback on grounds of rejection and apps are given ratings in the app store bearing in mind the targeted audience

e.g. 4+ - Contains no objectionable material.

9+ - May contain mild or infrequent occurrences of cartoon, fantasy or realistic violence, and infrequent or mild mature, suggestive, or horror-themed content which may not be suitable for children under the age of 9.

This concludes the App development process on the iOS.

2.2 Android OS

The Android OS like the iOS comes with an SDK given by Google [5]. As mentioned earlier it's source code is "open" and was a result of Google's experiences with creating mobile applications and in the philosophies that govern them [6].The development process is as follows, the coding takes place is the Eclipse IDE with the Android Development Tools Plugin. Code is written in C,C++ and Java for the UI. The plugin for Eclipse creates powerful extensions enabling creation and debugging really quickly [7].

In brief the process involves writing this code and then running the package/app under an emulator which models real world devices.

This enables us to test the app on the computer itself without running it on the phone. For this the Android Virtual Device (AVD) is used [8].

On satisfactorily test running the app it is ready for deployment on the actual phone after installation through USB. Digital signatures are added before completion of the app to verify author identity and establishing trust relationships between applications, which is vital since other applications may use services of one application. The app is mostly additionally optimized by using the zipalign tool.On creating a Google account one can upload and publish apps on the Android market from where people can view and download [9].

3 Versioning/Upgrades

The android system allows users to make upgrades and strongly recommends use of versions but however does check for minimum compliance with the API with which is compatible.

For updates to appear on App Store as stated earlier the newer versions would have to be submitted to apple for review and published pending approval.

4 Tools used for development

We have already seen various tools used for developing applications, these are the most basic and essential tools required. For a more exhaustive list and their functionalities the following Urls can be referred [10].

5 Open Vs Closed system


The open system has no stringent checks in place to check for reliability whereas Apply use stringent quality checking.


Closed systems don't allow users the flexibility to do as they please with their phones and are forced to rely on a single repository, on the other hand open systems allow you to be far more flexible.


As a developer a one-time fee of $99 is charged to publish your application on the closed system, the open system does not have any such costs [11].

Public opinion

The policy adopted by the company on which model they use can adversely impact sales depending on how strongly the end user feels about the product and its usability, which is largely influenced by articles on the internet!