development of mobile applications - gdf mobilinfo of mobile applications – gdf mobilinfo ... the...

7
Journal of Applied Multimedia 1./VIII./2013 25 Development Of Mobile Applications – GDF Mobilinfo Sándor Kaczur, Miklós Kállai Dennis Gabor College, Budapest, Hungary [email protected], [email protected] Abstract - The article reviews the aspects of what we should consider during mobile application development. We pick out the suitable disci- ples/methods for mobile platforms from the basic approach of software development. We introduce a specific example that is capable of representing data related to course schedules, exams and con- sulting hours from the student-administration system of the institute for the students. The appli- cation came on Android and Windows Phone plat- forms, based on Windows WCF Service. We will introduce the application’s functions and share the experiences of the publications. Keywords: higher education, mobile program- ming, mobile technology, mobile application INTRODUCTION The first commercially available mobile phone was introduces in Japan, in 1979 [1]. It is good to know that the devices are constantly developing with the wireless – radio – networks and their services. The mobile market has four market participants: network operator, service provid- er/service, device manufacturer, and user. The history of the mobile networks can be divided into generations, the short summary can be found on several links, f.e. [2]. Nowadays we live in the time of the third generation of mobile networks and devices, however 4G is spreading [3, 4]. The mobile devices can be divided into three catego- ries; simple/common, smartphone, and PDA. Their services are continuously widening, the borders of the categories are changing [5]. MILESTONES Briefly review the development of the mobile market in terms of the manufacturers and plat- forms: In 1996 came out the Palm Pilot 1000 PDA device [6], which created an inde- pendent product category. In the same year, came out the Win- dows CE operating system [7] it also specified the characteristics of the de- vices (minimum hardware require- ments) which could operate it. In 2000, Ericsson introduced R380, the first smartphone, which was built to run on Symbian operating system, and from 2001 Nokia created mobiles based on Symbian system [8]. In 2005, the Android mobile operating system [9] came out developed by OHA with numerous services [10]. In the beginning of 2007 Apple – based on several successful devices and func- tions – launched iPhone smartphone. [11], again with many functions [12]. In 2010, Microsoft came out with Win- dows Phone smartphone [13]. Nowadays the penetration of the mobile phones is about 85% worldwide [14], within this smartphones are growing (Fig. 1).

Upload: vothien

Post on 15-May-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Journal of Applied Multimedia 1./VIII./2013

25  

Development Of Mobile Applications – GDF Mobilinfo

Sándor Kaczur, Miklós Kállai

Dennis Gabor College, Budapest, Hungary

[email protected], [email protected]

Abstract - The article reviews the aspects of what we should consider during mobile application development. We pick out the suitable disci-ples/methods for mobile platforms from the basic approach of software development. We introduce a specific example that is capable of representing data related to course schedules, exams and con-sulting hours from the student-administration system of the institute for the students. The appli-cation came on Android and Windows Phone plat-forms, based on Windows WCF Service. We will introduce the application’s functions and share the experiences of the publications. Keywords: higher education, mobile program-ming, mobile technology, mobile application

INTRODUCTION The first commercially available mobile phone

was introduces in Japan, in 1979 [1]. It is good to know that the devices are constantly developing with the wireless – radio – networks and their services. The mobile market has four market participants: network operator, service provid-er/service, device manufacturer, and user. The history of the mobile networks can be divided into generations, the short summary can be found on several links, f.e. [2]. Nowadays we live in the time of the third generation of mobile networks and devices, however 4G is spreading [3, 4]. The mobile devices can be divided into three catego-ries; simple/common, smartphone, and PDA. Their services are continuously widening, the borders of the categories are changing [5].

MILESTONES Briefly review the development of the mobile

market in terms of the manufacturers and plat-forms:

• In 1996 came out the Palm Pilot 1000 PDA device [6], which created an inde-pendent product category.

• In the same year, came out the Win-dows CE operating system [7] it also specified the characteristics of the de-vices (minimum hardware require-ments) which could operate it.

• In 2000, Ericsson introduced R380, the first smartphone, which was built to run on Symbian operating system, and from 2001 Nokia created mobiles based on Symbian system [8].

• In 2005, the Android mobile operating system [9] came out developed by OHA with numerous services [10].

• In the beginning of 2007 Apple – based on several successful devices and func-tions – launched iPhone smartphone. [11], again with many functions [12].

• In 2010, Microsoft came out with Win-dows Phone smartphone [13].

Nowadays the penetration of the mobile phones is about 85% worldwide [14], within this smartphones are growing (Fig. 1).

Journal of Applied Multimedia 1./VIII./2013

26  

Fig. 1 The penetration of the mobile phones [15]

PLATFORMS The mobile platform can be view as hardware

(devices), operating system or virtual machine. It includes the architecture of the mobile devices, the operating system that operates the device and the programming language that enables the de-velopment, dynamic libraries and the user inter-face. The spread is constantly changing (Fig. 2).

Fig. 2 Operating systems of the smartphones [16]

SMARTPHONES

There is no industry standard for the functions and features of the smartphones. Smartphones have fully operational operating systems. These phones offer e-mail, internet access and include a complete keyboard. They can be viewed as mini computers. New applications can be installed, there are developer tools (SDK) with which we can develop our own mobile apps [17]. Some service/function that are supported by mobile operating systems are: touchscreen, camera, text message, MMS, internet, picture and voice re-cording, Bluetooth, WiFi, GPS, digital compass,

sensors: accelerometer, gyroscope, ambient light, proximity. We can acquire the mobile apps through virtual marketplaces [18, 19, 20].

ANDROID Android is a Linux kernel based operating sys-

tem, which is run by the Dalvik virtual machine. It supports directly the hardware of the mobile devices and the current multimedia formats. Originally the Open Handset Alliance was the developer, later it was Google. It is an open source project with Apach licence. There is a huge developer community behind it. In June 2012, there were 400 million Android devices worldwide and each day one million new An-droid devices get activated [21]. Java language can be used to develop applications, usually with Eclipse IDE supplemented with special class library (Andorid SDK). Activity can be regarded as a basic component. The GUI can be created declaratively. Currently the Android applications provide the 50% (half) of the downloads in Mo-bile Applications Market (Fig. 3) [22]. More about the platform and the development: [23].

Fig 3 Download of the Android applications worldwide

(April 2012)

The newest API version came out the same time (4.1, codename Jelly Bean) [9]. There are major design differences between the main API versions. The advantages of Android platform: more and more clear-out user interface, easier usage, mandatory Theme since ICS, and we can develop unique design. The disadvantage of An-droid platform is the fragmentation, the function-ality has to be adjusted to the lowest version in use.

Journal of Applied Multimedia 1./VIII./2013

27  

WINDOWS PHONE Windows Phone is the mobile platform and

operating system of Microsoft Company. They developed the previously wide spread Windows Mobile platform, it is based on Windows CE kernel. IT has strict hardware requirements, how-ever, has a narrower HCL. The modern, clean and elegant user interface called Metro, it can be regarded as a specific Silverlight surface. There are several device manufacturers; Samsung, HTC, LG, Nokia, however they cannot change the design. Currently, the latest version is the 8th. It supports multi-touch technology, further ser-vices [24]. Software updates can only happen under Microsoft’s supervision. It is characterized by code reuse: WPF, Silverlight and WP7 can share the sources and the MVVM as robust archi-tectural design pattern. We can develop to the platform in C # language, Windows Phone SDK, Visual Studio development tool. The GUI can be created declaratively in XAML markup language.

LIMITATIONS Software development is still limited by the

possibilities of the operating system and the hardware. Compared to desktop or web applica-tions development, in case of the mobile plat-forms it is significantly smaller cross-sectional area. Weaker, more limited hardware: slower ARM RISC processors are available, there is less available memory, there is limited capacity pow-er supply / battery and the devices grant smaller displays. In addition, the small number of graph-ical components, the SDK class library is not as diverse [17]. All these must be taken into consid-eration when we develop applications for mobile platforms. Take note on design regulations, rec-ommendations, and therefore we cannot create applications with the same user interface on all platforms. The smaller display is an enormous challenge, attitude has to be changed to be able to provide a sufficiently user-friendly and easy to use interface.

SPECIFICATION AND REQUIREMENTS GDF mobilinfo should be an easy to use mo-

bile application that is capable of representing data related to course schedules, exams and con-sulting hours from the student-administration system of the institute (DGC) for the students.

RESTful Windows Communication Founda-tion webservices that was developed for the learning system generates the data to be dis-

played in CSV format after the client request in a personalized and - to minimize the traffic - com-pressed manner. The mobile device should be able to initiate an update in an authenticated and encrypted way (NEPTUN code, Neptune pass-word). The received compressed data is unpacked and stored on the client's local database, it can be processed and displayed in various ways.

During the observed period, the statistics based on WiFi usage shows that the mobile devices connected to theinstitution's wireless network were 70% Android, 20% iOS, 10% of the other platforms.

Thus, the instruments used are as follows: On Android platform:

• Android SDK (minimum API level 7, Android 2.0/2.1),

• Eclipse IDE (Indigo, Juno), • Android Developer Tools plugin for

Eclipse (v15-20), • test hardware: Samsung Nexus S (GT-

i9023) and Samsung Galaxy Nexus (GT-i9250),

• programming language: Java SE 1.6. On Windows Phone platform:

• Windows Phone SDK 7.1, • Microsoft Visual Studio 2010 Express, • Microsoft Blend for Windows Phone, • test hardware: Samsung Omnia 7 (GT-

i8700), • programming language: C#, Silverlight

for Windows Phone. Windows WCF Service:

• Microsoft Visual Studio 2010 SP1, • Microsoft SQL Server 2008, • Entity Framework 4.0, • programming language: C#.

Participated in the development of the applica-tion: Tamás Endrődi (Database Programming), Miklós Kállai (WCF Service, Windows Phone and Android platforms). One direction for further development is the iPhone platform, which will be created by Norbert Zsolt Zentai.

DEVELOPMENT ON ANDROID PLATFORM Google has chosen for the development the

Eclipse IDE development tool [25], and prepared the ADT (Android Developer Tools) plugin for it [26]. This allows to use the Android SDK, pro-vides code completion, graphical UI editor, de-bugger, and pre-built templates.

Journal of Applied Multimedia 1./VIII./2013

28  

Before the start of the development, it was necessary to determine the API version, which is considered a minimum. Those days the Android version 2.1 still had a share of over 10%, it could not be neglected. Due to the various Android versions, and the difference between the surfaces of the different manufacturers a custom graphical interface has been developed. Thus, the students are given a unified application. The basic princi-ple was that the start screen promptly made avail-able to the personal timetable, examination re-sults, the office hours and time tables.

Here is an excerpt from the GUI source code (Fig. 4).

Fig. 4 Android source code snippet (xml, GUI)

This has been solved with a DashBoardLayout

[27] interface that has four large buttons with icons and labels indicating the available features. From here we can navigate to the lists, which provides additional navigation to the list elements by a "click". In places where you have to navi-gate between the days of the week a ViewPager component [28] has been used, so the days can be swiped.

On start, the application verify if there is a con-figured username and password. In their absence, the user is prompted to enter them, otherwise displays the start screen. If there is no database, it connects to the server and downloads the person-alized csv, which is processed and stored in a SQLite database for offline use. Further updates can be automatic (personal preference), or manu-al.

During the development process - although there is an emulator - a Google (Samsung) Nexus S device has been used as a developer device. It facilitated to troubleshoot the issues, update time could be tested on WiFi and cellular networks as well. Some source code excerpts (Fig. 5):

Fig. 5 Android source code snippet (event handling and

application logic)

When the application got in an adequate state some selected students received the last version and the reported errors have been corrected.

Fig 6 GDF mobilinfo application in the Google Play Store

The application was uploaded into Play Store

after the testing with a beta marker [29] (Fig. 6). The publishing is relatively simple, which is preceded by a short registration (the developer registration will cost $ 25, a one-time fee). Ac-cording to Play Store statistics there are about 180 active installs.

Some screenshots of the application (Fig. 7):

Fig. 7 Screenshots from GDF mobilinfo application (An-

droid)

Journal of Applied Multimedia 1./VIII./2013

29  

DEVELOPMENT ON WINDOWS PHONE PLATFORM For the Windows Phone development, we will

need to have a Visual Studio 2010 (Express Edi-tion or higher) and Windows Phone 7.1 SDK [30]. The Windows Phone uses a special version of Silverlight so what we have learned in Silver-light and Windows Presentation Foundation development, can immediately be used.

Fig. 8 Windows Phone source code snippet (xaml, GUI)

If we want to port a WPF or Silverlight appli-

cation to WP7, it is a very simple thing; our code can be used nearly without modification. You can use the popular and robust architectural pattern Model-View-View-Model, in brief MVVM to [31]. The Windows Phone offers a completely new, clean user interface for us. Thus the applica-tion has been made in this notion. Panoramic view was implemented. Here, the panoramic view was used instead of DashBoardLayout, and Pivot in place of the ViewPager controller (func-tionally identical) [32] (Fig. 8).

Some source code snippet (Figure 9):

Fig. 9 Windows Phone source code snippet

(event handling and application logic)

The application's functionality is exactly the same with those of the Android version, but there is a difference in the user interface.

Some screenshots of the application screen (Fig. 10):

Fig. 10 Screenshots from GDF mobilinfo appli-

cation (Windows Phone)

EXPERIENCES AND FURTHER DEVELOPMENT OP-TIONS

The development of two applications run par-allel, this was an excellent opportunity to com-pare between the two platforms. The flexibility of Android development face emphasised the boundedness of the Windows Phone platform.

The application quickly spread among the stu-dents. They welcomed the practical addition to the learning system that they can access the fre-quently updated data through their mobile phones, and they do not have to log on to Nep-tune. The feedback is clearly positive.

The GUI is simple, the application is easy to install.

The teachers/colleagues used with satisfaction. Lots of typical, everyday question is not asked

via e-mail or in person, this ease the Study Of-fice’s Information Centre.

Some reasonable idea for further development has been received.

The development on iPhone is going on.

ACKNOWLEDGMENT The authors thank Erzsi Tiszai for the English

translation of this article.

REFERENCES [1] Mobile phone:

http://en.wikipedia.org/wiki/Mobile_phone#History

[2] Mobile Phone Generations: http://www.funsms.net/mobile_phone_generations.htm

Journal of Applied Multimedia 1./VIII./2013

30  

[3] Elindult a 4G Magyarországon: http://nol.hu/gazdasag/elindult_a_4g_magyarorszagon

[4] 4G/LTE: http://www.t-mo-bile.hu/lakossagi/mobil_szelessav/hasznos/4G

[5] Types of Mobile Phones: http://www.ehow.com/facts_4914968_types-mobile-phones.html

[6] Pilot 1000 Retrospective: http://www.palminfocenter.com/news/8493/pilot-1000-retrospective

[7] The History of Microsoft Windows CE: http://www.hpcfactor.com/support/windowsce/wce1.asp

[8] Symbian: http://hu.wikipedia.org/wiki/Symbian

[9] Android (operating system): http://en.wikipedia.org/wiki/Android_(operating_system)

[10] Android (operating system): http://en.wikipedia.org/wiki/Android_(operating_system)#Features

[11] Apple – Press Info – Apple Reinvents the Phone with iPhone: http://www.apple.com/pr/library/2007/01/09Apple-Reinvents-the-Phone-with-iPhone.html

[12] Apple – iPhone 4S – See all the amazing new things iPhone can do: http://www.apple.com/iphone/features/

[13] Windows Phone Update History: http://www.microsoft.com/windowsphone/en-us/howto/wp7/basics/update-history.aspx

[14] Mobile phone penetration now at 85% worldwide: http://www.ameinfo.com/291448.html

[15] Global Smartphone Penetration: http://www.asymco.com/2011/12/13/global-smartphone-penetration-below-10

[16] Windows Phone to beat Android: http://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/World-Wide-Smartphone-Market-Share.png/800px-World-Wide-Smartphone-Market-Share.png

[17] Forstner, B., Ekler, P., Kelényi, I.: Bev-ezetés a mobilprogramozásba – Gyors prototípusfejlesztés Python és Java nyel-

ven, SZAK Kiadó Kft., Bicske, 2008, ISBN 978-963-9863-01-9

[18] Google Play Store: play.google.com/store [19] Marketplace:

wwww.windowsphone.com/marketplace [20] App Store:

http://www.apple.com/iphone/from-the-app-store

[21] Android activates 1 million devices per day, 400 million exist: http://androinica.com/2012/06/android-activates-1-million-devices-per-day-400-million-exist-4x-as-many-as-a-year-ago

[22] Android alkalmazások letöltése világszerte (2012. április): http://www.knowyourmobile.com/siteimage/scale/800/600/315613.png

[23] Android 4.1 APIs | Android Developers: http://developer.android.com/about/versions/android-4.1.html

[24] Windows Phone: http://en.wikipedia.org/wiki/Windows_Phone#Features

[25] Eclipse Downloads: http://www.eclipse.org/downloads

[26] ADT Plugin | Android Developers: http://developer.android.com/tools/sdk/eclipse-adt.html

[27] Android UI Patterns: Implementating Dashboard and Action Bar: http://www.androiduipatterns.com/2011/01/implementing-dashboard-and-action-bar.html

[28] ViewPager | Android Developers: http://developer.android.com/reference/android/support/v4/view/ViewPager.html

[29] GDF mobilinfo alkalmazás a Google Play Store-ban: https://play.google.com/store/apps/details?id=info.kallaim.gdfinfo&feature=search_re-sult#?t=W251bGwsMSwxLDEsImluZm8ua2FsbGFpbS5nZGZpbmZvIl0.

[30] Download WP SDK 7.1: http://www.microsoft.com/en-us/download/details.aspx?id=27570

[31] THE MODEL-VIEW-VIEWMODEL (MVVM) DESIGN PATTERN FOR WPF: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

Journal of Applied Multimedia 1./VIII./2013

31  

[32] Windows Phone 7 – Part #5: Panorama and Pivot controls: http://www.silverlightshow.net/items/Win

dows-Phone-7-Part-5-Panorama-and-Pivot-controls.aspx