I'IFIITIIBIFI UNIVERSITY F] OF SCIEI‘ICE nnD TECHNOLOGY

Faculty of Computing and Informatics

DEPARTMENT OF INFORMATICS

QUALIFICATION: Bachelor of Informatics Honours (Web Informatics)

QUALIFICATION CODE: 08B|FH LEVEL: 8

COURSE: Mobile Application COURSE CODE: MAI821S

DATE: November 2017 SESSION: Theory

DURATION: 3 Hours MARKS: 100

FIRST OPPORTUNITY EXAMINATION

EXAMINER(S) Dr Nobert Jere and Mr Veerabhadram Paduri

MODERATOR: Prof. Tembisa Ngqondi

THIS QUESTION PAPER CONSISTS OF 5 PAGES (Including this front page)

INSTRUCTIONS

Answer ALL the questions. Write clearly and neatly. Number the answers clearly. All marks are indicated in brackets at the end of each question. P‘PWPI" The length of the answer/s must be guided by the available mark/s. SECTION A

Question one 12 Marks

a. Who is Founder of Android? (1)

b. Does android support other language than java, justify? (2)

c. What is fragment? (2) d. What is ADB? (2)

What is an APK format? (2)

f. Define giving examples the term mobile ecosystem (3)

Question two 16 Marks

a.Several vendors are now manufacturing devices for Android, thus making it a challenge for developers to come up with applications that run on several devices. Discuss four strategies that developers may consider to possibly reach the widest base of users? Give practical Namibian related examples where necessary. (8) b. Discuss giving examples the evolution of mobile development platforms. (8)

Question Three 16 Marks a. The mobile Ecosystem is important in designing mobile applications. Clearly explain any four components of the mobile ecosystem giving examples. (8) b. There are many security concerns on both mobile users and developers. Explain any two security issues could be considered when designing mobile applications? (4)

c. Describe the significance of addressing security features available on current mobile applications giving examples. (4) SECTION B — Case Study Question four 18 Marks

Read the following article: Mobile application platform heterogeneity: Android vs vs iOS vs 05: by Tor-Morten Gr¢nli (2014) Our research focuses on four of the main mobile platforms: Android, Windows Phone, iOS and Firefox OS. The next sections will give a short introduction to each of these. A. Android released Android in November 2007, under the framework of the [21], with the goal of being an open source arena for software development on mobile platform. Android is an open source mobile based on the kernel and facilitates developers to write managed code in Java using Google developed Java libraries [8]. The Android platform does not only provide the itself including the development environment, but also provides a custom built virtual machine (Dalvik Virtual Machine) for the applications to run on as well as acting as the middleware between code and operating system [8]. For application development, Android facilitates the use of 2D and 3D graphic libraries, a customized, onboard SQL engine for persistent storage and advanced network capabilities such as 36, 4G and WLAN. The API is constantly evolving and the current release (4.4 KitKat) [26] is a huge increment compared with number of available features from release 1.0. Since Android is an open source mobile operating system, the community is welcomed to collaborate in the evolvement of the programming environment, the operating system and the API. Development tools for Android include the Eclipse and IntelliJ IDEA.

C. iOS iOS is the operating system for several Apple devices (Fig. 3), one ofthe most important of which is the iPhone. The iPhone was released in 2007 and changed the market [34]. It included a large touch screen and, at least for that time, impressive hardware specifications [27]. Applications for iOS are written in Objective—C using the Cocoa Touch library. Objective-C is an extension to the C language, while Cocoa Touch is a collection of classes [5]. While C# and Java (used for Android and Windows Phone development) are fairly similar in syntax, the Objective-C library provides a different alternative. Objective-C, as the name implies, supports object oriented programming. The language and platform has continuously improved over the years, and one especially noteworthy change came with the introduction of ARC (Automatic Reference Counting) [28]. This provided automatic memory management and meant that the amount of boilerplate code is reduced and in general memory leaks are less common. Development for iOS requires a computer running Mac OS. The application usually used to write iOS applications in is Xcode [29]. It includes a powerful editor, as well as an analysis tool, iOS simulator and the SDK. Answer the following questions a. From the paragraph on Android, what was the goal for android release? (1) b. What does Android platform provide? (2) c. What are the two Android development tools? (2) d. Refer to the content on iOS, which devices runs iOS operating system? (1) e. Which is used to write the iOS? (1) f. What is the significance of the Automatic Reference Counting — ARC? (2) g. By referring to the article above compare and contrast android to iOS features. (5) h. In your own words, give two reasons why each of the mentioned platforms have becOme popular. (4)

SECTION C (Mobile Prototype Design)

Question 5 [38 marks]

Mobile applications have been developed to improve services in many areas. Required is a mobile agricultural application for use by those in the rural areas, both the literate (emerging) and the illiterate old farmers. You are hired as mobile designer and you are required to design a mobile paper prototype of this application. Consider the fact that the farmers may have different types of mobile phones and residing in areas with different network services. Your prototype should have the following components: Agriculture related information, security component, ability to chat, share and exchange text/audio message.

a. Apply the knowledge on layout/ workflows from Android platform or any other platform

learnt to design and draw at least four different screen shots for the application.

(16)

b. Briefly motivate your prototype on how it addresses the different needs i.e types of

agriculture information, illiteracy and options for users and battery issues. (6) Highlight any three design considerations, that you have considered in coming up with the screen shots in (a) (5)

Compare and contrast three features that could influence the designed application if it were to be for an urban setting with well—connected infrastructure. (6)

Discuss any two challenges may be experience in designing the application for such a community and targeted users. (4)