Mobile Applications Developing In Global Market Computer Science Essay

Published:

Mobile applications are a speedy developing in global mobile market. Their main purpose is allowing user to perform some tasks or entertainment which runs a mobile application on mobile device. It is so simple and portable. You can know the news from all over the world, play games, social with friends by just using mobile applications on your palm hand. This is the power of mobile application. (Mobile Marketing Association, 2008)

1.1 Categories of Mobile Applications

Many mobile applications, such as Calendar, browsers, Calculator, etc is pre-installed on mobile phones. The types of pre-installed mobile applications are depends on the operating system and model of the mobile phones. For those users who want to install new applications into their mobile phone, they can download mobile applications over the wireless network from the mobile operator's store like Digi and Maxis or mobile phone's store like Nokia Ovi Store and Apple Store. Different types of mobile applications is under huge increment of development and served by many mobile application developers, obviously there is a sign of mobile applications especially iPhone and Android conquer the world of mobile phone. (Mobile Marketing Association, 2008)

Lady using a tablet
Lady using a tablet

Professional

Essay Writers

Lady Using Tablet

Get your grade
or your money back

using our Essay Writing Service!

Essay Writing Service

From point of view in technical way, mobile applications can be distinguished in different runtime environment, (Mobile Marketing Association, 2008)

Native platforms and operating systems, such as Symbian, Windows Mobile and Linux.

Mobile Web/browser runtimes, such as Webkit, Mozilla/Firefox, Opera Mini and RIM.

Other managed platforms and virtual machines, such as Java/J2ME, BREW, Flash Lite and Silverlight.

The mobile applications is divided into several types, communications like Facebook Clients, games like Sudoku, multimedia like Music Player, productivity like Note, travel like Daily Briefing , utilities like Contact Manager. Mobile applications helps user to complete certain tasks in speedy and efficiency way. In specific ways, actually mobile applications are different from browsing the Mobile Web because Mobile Web is based on the network latency to load the page although some trends around JavaScript or AJAX is issued and mobile applications step across both worlds which fast response times once loaded page is rendered. (Mobile Marketing Association, 2008)

1.2 General Architecture of the Mobile Phone

The mobile phone platform has become more flexible for mobile applications developers. The first programming language on the mobile phone was Java. The architecture is divided to segment of software and hardware.

In segment of software, (Frank H.P. Fitzek and Frank Reichert, 2007, p.6)

All mobile applications run under application suite.

User Interface Framework controls all capabilities which allow user to make use of the mobile phone.

Application Execution Environment allows the mobile phone to run the mobile application under certain environment like Java, Windows, etc.

Manufacturer of mobile phone allows user to enter into their platforms, of course with some limitations using Kernel and Hardware Drivers, such as the user wants to know about the platform information when using Windows Mobile Operating System in his phone.

In segment of hardware, (Frank H.P. Fitzek and Frank Reichert, 2007, p.6)

The only unchanged segment of the phone is Hardware Platform.

This is the summary of general architecture on a mobile phone.

1.3 Deployment of Mobile Applications

In order to produce perfect and simple mobile applications, user testing and user trials are encouraged, to check whether it is errorless and user friendly. (Frank H.P. Fitzek and Frank Reichert, 2007, p.14)

To make the mobile applications is downloaded by big amounts of customers and provide dependable and stable service, developers should have a linkage with phone manufacturers, for example a developer has developed a mobile widget for Nokia WRT only and it can be used in Nokia phones. By good relationship with phone manufacturers which have close linkage with mobile application dealers and mobile operators, developed mobile application can be promoted to broader target customers. (Frank H.P. Fitzek and Frank Reichert, 2007, p.15)

There are many manners to allow user to pay when using mobile applications, such as by time based, packet data based, message based, distance region based, etc. Without joint operation between mobile application and mobile operator, the profit will be lesser because if developer does not cooperate with mobile operator, the charge will be based on the installation which is one time charge only, unlike the mobile operator can charge the customer for each usage of mobile application. Thus cooperation with mobile operator will be greater net income. (Frank H.P. Fitzek and Frank Reichert, 2007, p.16)

Lady using a tablet
Lady using a tablet

Comprehensive

Writing Services

Lady Using Tablet

Plagiarism-free
Always on Time

Marked to Standard

Order Now

The mobile application is preferable to have feedback section. It is to allow developers to know what bugs are produced, what special features can be added into newer versions or other mobile application. Therefore feedback is always appreciated by developers.

1.4 Mobile Applications in Real Market

The mobile applications involve widely in different categories of market, such as Banking, Social Networks, Business, etc. Many companies are trying to comprise their business with the mobile applications because it is so portable and simple for everyone. Since many people have a Smartphone nowadays, with these advantages business can be expanded more widely and mobile users can easily deal with functions available in the mobile application by just touch the screen or press the buttons. It is so user-friendly that mobile user will never need to go the specific location to have a deal or check anything. All is done on hand.

There are the useful descriptions of selected mobile applications in various categories of market which can be created for specific use.

1.4.1 CIMB Bank Mobile Application in Banking Market

This is the first mobile application which available in banking system in Malaysia. It allows their bank account holder to use mobile phone to check account balance and transaction history on anytime at anywhere. It is so convenience with this mobile application and they will not need to have a long queue in the bank to check account balance anymore. (CIMB Bank, 2009)

With the first mobile application in banking market available in Malaysia, there will be increasing this kind of mobile application soon. It is undeniable for the power of mobile application and it will be slowly changed the lifestyles of Malaysia residents in banking field.

1.4.2 Facebook Mobile Application in Social Networks Market

This is one of the top mobile applications in the world. Since the upswing in the Facebook's popularity from almost all over the world, it is required to make it portable and user-friendly and this can be done in mobile application. Using Facebook mobile application, Facebook users can change their Facebook status or comment and chat with friends easily on anytime at anywhere. Facebook have designed and created many mobile applications in different mobile platforms. With the wide range of supported mobile phones such as Symbian, iPhone, Android, etc, mobile users can use this Facebook mobile application using any Smartphones.

1.4.3 Samsung Apps Mobile Application in Business Market

This is the official market place for all Samsung mobile applications. With high growth of mobile applications, it provides new business opportunity for mobile manufacturers which offer for sales of the mobile applications to mobile users. It definitely brings great income to mobile manufacturers with increasing popularity of mobile applications.

Mobile applications become a middleware to connect between customers and company in convenience ways. Trend of mobile application brings more and more available mobile application stores in the market because the profit is considerable and mobile users are increasing in astonishing quantities. (Julien Theys, 2009)

2.0 Mobile Application Programming Languages

There is a list of available mobile phone programming language that is using nowadays. Java is an object-oriented programming language original developed by Sun Microsystems. Maemo Linux is used in Linux development environment for mobile application. Symbian C++ is a programming language used in mobile programming. Objective C is the mandatory programming language used to develop iPhone mobile application. For Windows Mobile phones, it is using .Net Compact Framework to create a mobile application for Windows Mobile in .Net and C# programming language. Nokia Web Runtime is an application development platform that allows norm web technology to be used by developers to develop mobile applications. (Frank H.P. Fitzek and Frank Reichert, 2007)

2.1 Java 2 Micro Edition (J2ME)

2.1.1 Introduction

Java is an object-oriented programming environment developed by Sun Microsystems. Java mobile application which is .jar and .jad does not depend on any mobile operating system, but depend on mobile phones which have MIDP to support JAR and JAD file extension. So almost all mobile phones can support JAR and JAD files nowadays, thus Java become one of most popular software programming environment in mobile. (Frank H.P. Fitzek and Frank Reichert, 2007, p.63)

Lady using a tablet
Lady using a tablet

This Essay is

a Student's Work

Lady Using Tablet

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

Examples of our work

What is MIDP? (Oracle, N/D)

MIDP stands for Mobile Information Device Profile. It is a primary element of Java 2 Micro Edition (J2ME). MIDP gives a standard Java runtime environment for today's most famous mobile information devices, like PDAs and mobile phones when it works with the CLDC and CDC. Without MIDP, the certain mobile phone does not support this Java mobile application.

What is JAR? (Sree Anand and Ellen C. Eggers, 1998)

JAR stands for Java Archive. It contains the one or more classes, images, sounds that gathered into a single file to form a mobile application.

What is JAD? (DownloadAtoZ Inc, 2010)

JAD stands for Java Application Descriptor. It contains mandatory information of JAR.

2.1.2 CLDC and CDC

CDC

CLDCJ2ME

Figure 2.1 J2ME inheritance

Every mobile phone has different capabilities such as memory space, graphical interface and processing speed. There are divided into two groups of mobile phones in the J2ME runtime platforms, which are Connected Limited Device Configuration (CLDC) and Connected Device Configuration (CDC). (Frank H.P. Fitzek and Frank Reichert, 2007, p.64)

CLDC is for devices with very simple graphical interface, smaller memory budget and processing power, such as cell phones and pagers. CDC is for devices with bigger memory budget, processing power and graphical interface capabilities, such as PDAs. Therefore, as Figure 2.1 explains, CLDC functions are definitely lesser than CDC function in J2ME platforms. (Java Tips, 2008)

The developers have to state that which target phones should they pointed to, so they know what can be included into functions of the mobile application and what cannot be included.

2.1.3 File Types and Supported Mobile Phones

File types of mobile application: JAR along with JAD

Supported mobile phones: All mobile phones which have MIDP

2.1.4 Example

This is the example of code using J2ME which output is "Hello World!"

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class HelloWorld extends MIDlet implements CommandListener {

private Command exitCommand;

private TextBox tbox;

public HelloWorld() {

exitCommand = new Command("Exit", Command.EXIT, 1);

tbox = new TextBox("Hello world MIDlet", "Hello World!", 25, 0);

tbox.addCommand(exitCommand);

tbox.setCommandListener(this);

}

protected void startApp() {

Display.getDisplay(this).setCurrent(tbox);

}

protected void pauseApp() {}

protected void destroyApp(boolean bool) {}

public void commandAction(Command cmd, Displayable disp) {

if (cmd == exitCommand) {

destroyApp(false);

notifyDestroyed();

}

}

}

Inside .jar mobile application code, at least three functions must be included are startApp(), pauseApp() and destroyApp(). To develop J2ME, NetBeans IDE with Mobility Pack for CLDC and CDC is required and your computer must have Java SE Development Kit in order to use the functions in Java 2 Micro Edition.

2.2 Maemo Linux

2.2.1 Introduction

Linux has become one of popular development platform among mobile applications in this few years. Nokia has announced the first Maemo Linux Operating Systems based in Nokia N900 since June, 2010. Qt is a cross-platform development platform. To develop a mobile application for Maemo, the developer is recommended to use Qt Creator's plug in with Nokia Qt SDK, helping the users to create the mobile application for Nokia Symbian and Maemo platform. (Nokia, 2010)

Nokia N900 has the latest Maemo 5 as Operating System. For coming days in late 2010, Nokia will introduce a more user-friendly which support multitouch, portrait mode on the desktop and allow multiple home screen with widgets. (Ryan Paul, 2009)

2.2.2 File Types and Supported Mobile Phones

File types of mobile application: DEB

Supported mobile phones: Nokia N900 only

2.2.3 Example

This is an example using C++ language in Qt Creator to compile and execute into a Qt mobile application for Maemo.

#include <QApplication>

#include <QLabel>

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

QLabel *label = new QLabel("Hello World");

label->show();

return app.exec();

}

The developer must insert QApplication in the code because it means that Qt application has been created. App.exec() means the main GUI loop has been started after showing the "Hello World" label. The Nokia Qt SDK is required to plug into the Qt Creator to create the mobile application for Nokia N900.

2.3 Symbian C++

2.3.1 Introduction

Symbian C++ can be used in Symbian Operating System mobile application development. The developers use Symbian C++ to develop mobile applications which can distribute high performance because this programming language is significantly designed for mobile phones with low power consumption characteristics and small memory usage. (Frank H.P. Fitzek and Frank Reichert, 2007, p.95)

2.3.2 File Types and Supported Mobile Phones

File types of mobile application: SIS for Nokia Symbian S60 2nd Edition and SISX for Nokia Symbian S60 3rd Edition

Supported mobile phones: All Nokia Symbian mobile phones which is S60 3rd Edition, Feature Pack 2 and later or Symbian 3 (Nokia, 2010), Sony Ericsson Symbian phone and Samsung Symbian phones.

2.3.3 Example

This is an example using Symbian C++ which output is "Hello World!"

#include "CommonFramework.h"

// do the example

LOCAL_C void doExampleL()

{

console->Printf(_L("Hello world!\n");

}

To create a mobile application using Symbian C++, developer is recommended to use Carbide.c++ which is an IDE, especially for Symbian C++. Therefore, developer should have the Symbian SDKs which allow user to develop application using Symbian C++.(Frank H.P. Fitzek and Frank Reichert, 2007, p.96)

2.4 Objective C

2.4.1 Introduction

Objective C is being used by Apple to develop mobile applications for iPhone. It is used to enable simple and powerful object-oriented programming. C programming language is the basic programming language while Objective C is the extensions of C programming. It enables to do in very clear-cut and simple way. (Mark Dalrymple and Scott Knaster, 2009, p.1)

The stylish and awesome functions of iPhone will conquer the world of mobile phones. Therefore Objective C which is used in iPhone mobile applications will get more attention by the mobile developers nowadays.

2.4.2 File Types and Supported Mobile Phones

File types of mobile application: APP

Supported mobile phones: iPhone only

2.4.3 Example

This is an example using Objective C which output is "Hello World!"

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

// insert code here...

NSLog(@"Hello, World!");

[pool drain];

return 0;

}

NSLog displays the string inside. The code is quite similar with C programming, so it is very simple and easy to use. The program will be saved in .m extension. To develop iPhone mobile application, developers have to install X-Code on Macintosh OS X as development platform. (Techotopia, 2010)

2.5 Nokia Web Runtime (WRT)

2.5.1 Introduction

Nokia Web Runtime (WRT) allows the developer to create mobile application for Nokia mobile phones using norm web technology which is HTML, Javascript and CSS. The developer is not required to learn any new programming language like Objective C, and HTML is so easy to catch up for every programmer. To create a successful WRT application, every web page is needed to be compact and fit to every screen sizes. It just like designing a website but it is for mobile phone only. Developers can enable mobile phone capabilities into Javascript in WRT application like showing Calendar in mobile phone screen too. (Nokia, 2010)

2.5.2 What Files should include into WRT Widget?

Mandatory: (Andreas Jakl, 2010)

plist file (Info.plist file) - contains widget information

html file (.html file)

Optional: (Andreas Jakl, 2010)

javascript file (.js file)

png file (.png file) in 88px x 88px dimension

2.5.3 File Types and Supported Mobile Phones

File types of mobile application: WGZ

Supported mobile phones: All Nokia S60 5th Editions, 3rd Edition Featured Pack 2 based mobile phones, but not all 3rd Edition Featured Pack 1 can support.

2.5.4 Example

This is the minimum requirements of Info.plist. There are many extra features to be enabled in WRT widget.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Nokia//DTD PLIST 1.0//EN" "http://www.nokia.com/DTDs/plist-1.0.dtd">

<plist version="1.0">

<dict>

<key>DisplayName</key>

<string>HelloWRT</string>

<key>Identifier</key>

<string>com.Hello.basic.widget</string>

<key>Version</key>

<string>1.0</string>

<key>MainHTML</key>

<string>index.html</string>

<key>AllowNetworkAccess</key>

<true/>

</dict>

</plist>

HelloWRT under DisplayName <key> tag

It is the name of WRT application in mobile phone.

com.Hello.basic.widget under Identifier <key> tag

It is the identifier of WRT application to make it unique so that the other mobile application will not overwrite it if the application name is same.

1.0 under Version <key> tag

The version of WRT application and it is preferable the lowest, Version 1.0.

Index.html under MainHTML <key> tag

It is the main page of WRT application show in mobile phone.

AllowNetworkAccess <key> tag

It allows network access onto WRT application.

To develop a Nokia WRT application for mobile phone, the developers need to have text editor for programming like Notepad++ and software that enable to zip files into one single zipped file. Create a WRT application is very simple only because it just need to zip up all application related files like Info.plist, HelloWorld.html, etc into one zipped file and then require to change the extension of that particular zipped file into WGZ file extension. To have better WRT application, it need to have verify and test the WRT application using emulator, therefore the computer should have N97 SDKs.

This is an example of Javascript that showing mobile phone capabilities.

var layout = {

pollResize: function()

{

if(window.innerWidth != this.lastDetectedWidth ||

window.innerHeight != this.lastDetectedHeight){

this.onResize();

}

}

}

this.onResize() is resize the web page when the mobile phone screen has changed to landscape or potrait. With the powerful Javascript, the WRT application can work well to the mobile phone capabilities, so it is user friendly to all mobile users who use the WRT application.

2.6 Comparison between Programming Languages

Based on author's opinion, there is a rating table created according to comparison between different programming languages.

Programming

Java

Maemo Linux

Symbian C++

Objective C

Windows Mobile

Nokia WRT

Potentiality

4

4

3

5

3

4

Popularity

5

2

3

5

3

3

Easy to learn

4

4

4

4

4

5

Phone support

5

1

4

1

2

3

Development Platform support

5

3

3

2

3

5

Overall

5

3

3

4

3

4

Rating from 1 - 5, 1 is lowest, 5 is highest

According to the rating on potentially and popularity, Objective C which is being used by iPhone mobile application gets the highest rating. According to statistics from MocoSpace in 2010, iPhone is the mobile phone leading the mobile application world, thus its potential to future mobile application world everybody knows it. (Gary C, 2010)

Meanwhile Maemo Linux 5 is coming soon, Java mobile always have its market in mobile application and Nokia WRT with norm web technology, so its potential cannot be despised. Symbian will be terminated support by Samsung in the end of 2010 (Ben Woods, 2010) and Windows Mobile is not so popular nowadays because fresh and new competitors have come out, which are Android and iPhone, will be leading the mobile application world. That's why Symbian C++ and Windows Mobile are the lowest potentiality among them.

Java mobile application can be supported among almost all color mobile phones nowadays, so that the popularity rate still gets the highest. About the Maemo Linux, there is only one phone, N900 can support it, so Qt for Maemo always being ignored among the mobile applications market. (Linbe, 2009) This is the reason why Maemo Linux gets the lowest rating.

According to the statistics on easy to learn, Nokia WRT gets the highest rating. The creation of Nokia WRT mobile application is using norm web technology, which is HTML, CSS and Javascript (Nokia, 2010). For every developer, they will know to create web pages, so that they will not need to learn new programming language like Java, Maemo Linux, etc. Therefore, they will learn and create a Nokia WRT mobile application easily. Java, Maemo Linux, Symbian C++, Objectives C and Windows Mobile will require some time to learn because the programming language and compile into mobile application using new software takes time to acquire for every beginner.

According to the rating on phone support, Objective C and Maemo Linux get the lowest rating. Objective C which is used by iPhone mobile application that support by iPhone only. Maemo Linux which is used by Qt for Maemo mobile application that support by Nokia N900 only. This is main reason why they get the lowest phone support, but for iPhone it does not matter, Objectives C is the most popular and highest potential among mobile programming language.

Java based mobile application gets the highest rating on phone support because almost all mobile phones which have MIDP 1.0 or MIDP 2.0. (Michael Kohn, 2010) Symbian C++ which is used by Symbian mobile application that support by all Nokia Symbian and Samsung Symbian and Sony Ericsson Symbian phones. Two brands of mobile phone can support this type of mobile application, but as articles said, Samsung will end up support to Symbian since end of 2010. Before announcement from Samsung, Sony Ericsson has proclaimed to stop their products to support Symbian. (Stan Schroeder, 2010) The future of Symbian is dazed.

According to the rating on development platform support, Java and Nokia gets the highest rating. Many IDEs support for Java mobile development and this is easy and great convenience to develop a Java based mobile application. To develop Nokia WRT application, I just need a text editor and that is enough. It is definitely platform-free for Nokia WRT development.

Maemo Linux, Symbian C++ and Windows Mobile will be required to install specific developer tools which support in Windows platforms to develop its mobile application. To develop iPhone mobile application in Objective C programming language, it is needed to install X-Code on Macintosh OS X platform only. It is restricted and quite troublesome to install the only developer tool on the only supported platform. So Objective C gets the lowest rating on development platform support.

According to the rating on overall performance, Java gets the highest rating. Java based mobile application is the most stable and widely supported by almost all mobile phones. Objective C and Nokia WRT programming language get second highest rating on overall performance among them. Objective C used in iPhone mobile application is growing rapidly throughout the mobile world. Nokia WRT provides easy and opportune way to develop WRT widgets. The rest of all gives average performance and convenience to developer for mobile application development.

3.0 Challenges on Mobile Applications Development

The mobile application development is growing up rapidly today with increasing list of new functions and features onto mobile application. All the mobile phone manufacturers have introduced and upgraded current mobile Operating Systems to allow the latest and special functions to be implemented into coming mobile applications. Competition between each other is very intense in this mobile market nowadays. These are some of the challenges the developers meet on mobile applications development.

3.1 Challenges on Interaction between Mobile Application and Mobile User

3.1.1 Challenges on Hardware

To the purpose of easily transported to anywhere, mobile devices must have light-weighted and small size. When develop a mobile application, developer needs to think of how to squeeze a page into mobile screen and restricted on mobile phone. (Kou-Ying Huang, 2009, p.238)

Restricted Input and Output on Mobile Phone

For the low-priced or old mobile devices which have QWERTY keyboard only, it will be very awkward to scroll down and up if the page in mobile application is too long. Sometimes the mobile users hard to press QWERTY keyboard button made them difficult to control the mobile application. For the pointed tool like stylus and touch screen based mobile devices, there is not much problem on that. But the mobile user chooses to use fingers to touch the screen on mobile application, sometimes it will be difficult to handle if the mobile screen is too small. (Kou-Ying Huang, 2009, p.238-239)

The screen sizes on different mobile phones always are the problem causing mobile application developers headache about that. For small screen on mobile phones, the mobile user is difficult to deal with the mobile application. To figure out the solution, large screen is the best for every mobile application. Besides that, mobile application is needed to be compact with relevant information inside; this is the use and uniqueness of mobile application. (Fresher Lab, 2010)

Power Consumption by Mobile Application

The main purpose of a mobile phone is portability and gets control of it with ease. There is a challenge of power consumption on mobile phone when the mobile user uses a particular mobile application. A good mobile application will save processing power by get rid of allocate processor memory frequently. With high power consumption by mobile application, it brings the mobile phone exhaust energy quickly and processor becomes overweighed. (Kou-Ying Huang, 2009, p.239)

3.1.2 Challenges on Software

To develop mobile application, developers have to know what challenges will be met on software.

Scaled Images and Icons

A good mobile application should allow mobile user to have visualization instead of all texts on the page. The mobile user would rather have more images than texts in mobile application. So presentation on mobile screen is always the obstacle in building a mobile application. Scaling images to lower size to fit the screen size of mobile device is significant knowledge required to know by all mobile application developers. To make use of huge image into small icon without losing image quality, there is a suggestion that use vector and raster images to have the best quality on scaling. (Kou-Ying Huang, 2009, p.240)

Restricted Browsing capabilities on Mobile Application

Due to small screen on mobile phones, there is an obstacle for mobile user to navigate and browse on the pages of mobile application. It is because indisputable for mobile application, many small pieces of pages make mobile users difficult to direct from one page to desired page due to many page levels they need to pass through. (Kou-Ying Huang, 2009, p.240)

Good Hierarchical Menu on Mobile Application

Based on research from Paap and Roske-Hofstrand, the success key on desktop application provides a hierarchical menu which leads better user interaction as shown in Figure 3.1. With the use of effective hierarchical menu, mobile application should allow mobile users to interact and choose based on its menu items to achieve what they need to do. (Kou-Ying Huang, 2009, p.239)

The best way to deal with hierarchical menu on mobile application is having many menu items in the highest degrees and fewer menu items in middle degrees. This is to allow mobile user to have better understanding and expertise to control certain mobile application without any question on head. (Kou-Ying Huang, 2009, p.239)

Figure 3.1 Hierarchical Menu shown in HTC Touch Pro (Brandon Miniman, 2009)

3.1.3 Suggested Ways to Overcome

To have good user interaction experience between mobile application and mobile user, user interface design should be compressed and contains less but complete interrelated information, so that the page in mobile application will too long and the mobile user will not need to scroll up and down when using the mobile application. (Olga Belokurskaya, 2010)

For mobile application, big images are not permitted and the image size must be small enough to fit the screen size. Besides that, it is recommended to decrease and remove margins, paddings and border widths in the page, so that the mobile application can fit into any screen size without displacement of texts or images. (Elika Etemad, Jorunn D. Newth, 2004)

To create the mobile application with high user interaction, hierarchical menu is suggested as above. Developer should act as mobile user of mobile application which is going to be published, so they can know that what mobile user actually need and expect and what does not need from its mobile application. Thus developer can develop more user-friendly mobile application. (Kou-Ying Huang, 2009, p.240)

3.2 Challenges on Mobile Architecture and Data Management

Mobile applications are implicitly sophisticated. Mobile data management becomes key challenges for developers like a connected mobile application development, giving stable mobile data interchange and data integration. This challenge is divided into two proportions, mobile architecture and mobile data management. (Bright Software Pty. Ltd., 2007)

3.2.1 Mobile Architecture

Mobile phones have restricted capabilities and programming interfaces and they cannot provide features and functions what personal computer does. If developers want to develop a mobile application which can be used by all types of mobile phones, this is a hard work and it will need a lot of time and money to complete it. Things that need to be considered in the proportion are approaches to the software design for mobile applications and what are the effects of being mobile. (Birgitta Konig-Ries, Friedrich-Schiller-Universitat Jena, 2009, p.69)

3.2.2 Mobile Data Management

Data and context are closely interrelated, so that good management on data and context will bring to a good mobile application. Aspects that need to be considered in data management is what data to retain and publish through mobile application, how to acquire it there and how to retain it contemporized with data. For the mobile users, they will not continuously be linked to a central server however it still requires access to data. (Birgitta Konig-Ries, Friedrich-Schiller-Universitat Jena, 2009, p.69)

Data is required to be saved to the mobile phone and to be deal locally before being reincorporated with the original data source. These decisions always rely on the user context. Therefore, context is very important for mobile application because user context will straightly affect the mobile application and its actions. (Birgitta Konig-Ries, Friedrich-Schiller-Universitat Jena, 2009, p.70)

3.2.3 Suggested Ways to Overcome

To solve the problem faced on mobile architecture, developers demands for the committed mobile application development frameworks that help to develop mobile application in optimal ways. From a journal, they present the companion development framework that gives an aggregation of reusable modules. The reusable modules are majority for the use of frequent needed functionality in a mobile application such as find out the user's location. It can help developer to complete their mobile applications using the building blocks instead of need to code and implement the same functions into different mobile application every time. Thus, developers need to get and use a good framework to save development time and money. (Birgitta Konig-Ries, Friedrich-Schiller-Universitat Jena, 2009, p.70)

There are three ways to manage mobile data optimally, which are replication, caching and hoarding. It is to prevent the disconnected mobile application will not lose connection to data or increase performance of data management. Replication on data is to conserve multiple copies of a data item at limited of time or dynamically. Caching on data is to conserve an impermanent copy of data item in local memory of mobile phone which is the copy will be fetched into local memory once it is first launched by the mobile user. Hoarding is to load the copy of data object from data cache when it is disconnected. Caching on data is for use of increasing performance of data management while hoarding is for use of alleviating disconnected mobile phone when using mobile application. Developers have to learn this approach to manage mobile data to create a good mobile application with efficient and effective mobile data management. (Rodney Guzman, 2009)

Alternatives on Mobile Applications Development

There are many alternatives needed to think before and when creating mobile application.

Developers need to determine the available mobile market and think carefully before choose to create mobile application for the selected mobile market, to acquire great profit return for their endeavor. (Rob Bamforth, 2010)

Developers should able to create different version for different screen size of mobile phones. For large screen, information should be more and detailed because the space of screen can fit more information while for small screen, information should be less and compact. Besides that, the mobile application should detect the type of mobile phones and direct the mobile user to the right version of pages for the specific screen size. (Janet M. Six, 2010)

If developers want to write mobile application which attempt to be everything to everyone, it is definitely impossible. It is not suggested to do so because it will be a lot of works to handle and think of. The idea to create a mobile application which can be everything to everyone is perfect, but the range is too big. It is better for developers to set boundary on what programming language and mobile market to target on (Janet M. Six, 2010)

Developers need to always find out what types of information the mobile application bring out and support and why need to create the mobile application. By this, they can more understand about the scope of mobile application and they will not run out of the range. They can provide the best user experience if they know what are going to show in the mobile application clearly. (Keegan Street, 2010)

Besides that, mobile application developers need to know the user interface guideposts for different types of mobile phones like iPhone, HTC, etc. It is to help developers to build mobile application with the perfect user interface, therefore it will never meet the problems on user interface and some elements do not support in specific mobile phones. They must read the guidelines on the user interface provided by different mobile manufacturers, the more they know, the more they deserve. (Jun Gong, Peter Tarasewich, N/D)

4.0 Linkage with the Final Year Project

In the Final Year Project, the author would like to create a mobile application for mobile version of kiosk desktop application using Nokia WRT approach.

The mobile application will display the contact information, latest promotion and catalogue for vehicle or window tinting, accessories and film. For those mobile users who want to make order, they need to contact for more information and come to shop to purchase the products.

The purpose of this mobile application is to let user to keep updates what's new and available in Prostyle Tint Supply. Thus the main advantage of the mobile application is there would have special discount to those who have used this mobile application and they can get the mobile voucher code from promotion inside. They will have special discount for certain items and this is just for mobile users only. What they need to do is show the mobile voucher code to our staffs before buy the certain items and they are eligible to get discount.

Besides that, they can know the shop location through mobile application if they are not sure onto the shop location and need to make sure about the location before go to the shop. Google Map function will be provided into the mobile version web pages. With mobile application on mobile phone, the mobile users can reach to the shop location easily.

The place to download mobile application is from the web application. They need to install it by transferring the installer into their supported mobile phone and run it. If walk-in customers request for the link to download the mobile application into their supported mobile phone directly, the staffs will provide the link to them. For future, the author will create a paid account and upload the mobile application into Ovi Store to allow Nokia mobile users to download and install from there directly.

This mobile application will be compact with the relevant information hence the mobile user will not feel frustrated to the long web pages. Definitely the author will develop a mobile application by prevent all of the challenges stated in Chapter 3 if possible. Mobile users are the one interacting with the mobile application, therefore best user experience will always put at the top privileges of this mobile application development.

This mobile application will be designed to fit all available screen sizes of supported Nokia mobile phones, so that mobile users in different mobile phones with small or large screen will also have the same user interface. Definitely they will not have web pages with bad page adjustment and alignment. It allows network connection and mobile users have to access Internet when using the mobile application.

There is the reason why the author chooses Nokia WRT to create mobile application. With the easy programming in web technology, developers could complete it in short time. With shortage of time on Final Year Project development, we have to finish the desktop application, web application, mobile application and kiosk desktop application. Therefore the author chooses Nokia WRT to build mobile application because it is easy for me who has experienced to create this kind of mobile application during 6 months industrial training. The author will create mobile version web pages based on C# programming language too.

As a result, the author would like to use Nokia WRT to create mobile application for mobile version of kiosk desktop application.

5.0 Conclusion

In conclusion, among the mobile programming language listed in Chapter 2, all have its potentiality and greatness. The phone manufacturers should not ignore any of them because some low potential programming languages maybe have kick-out after improvement and updates. So phone manufacturer should not be arrogant and keep emerging on new functions and features.

For low potential mobile application like Symbian and Windows, actually they also under improvement and development to the best user experience and friendliness, they are trying to compete with others and bringing a new generation of mobile world. Soon the day may happen.

To create a perfect mobile application, developers have to first understand about challenges of building a mobile application, so they could do every effort to prevent all obstacles that could bring to mobile application. Besides that, developers should explore more about new challenges at the same time.

At last, mobile developers have to learn more mobile programming language, the more you learn, the more you benefit.

5.1 Mobile Application Trends

Based on author's opinion, mobile application trends are endless, its potential is too big for this market and new mobile manufacturers are appearing since this few years like Android because they know mobile world is evolving.

In future mobile world, there will be more mobile phones sell in cheap price that can support to install mobile applications. With these trends, mobile applications definitely will increase and more mobile version web sites will be increasing as well. Nowadays, many companies in Malaysia have started to create mobile applications for customers to allow them to buy and make payment through mobile. It is very convenience and easy for the customers.

Mobile applications bring a lot of business opportunities and great convenience to user and it acts as a stimulant to further economic growth. It is no wonder that mobile application become popular for every mobile user nowadays.

Once again, mobile application trends cannot be denied and it will grow very fast as well.