How To Teach A Mobile Operating System To An It Project



Similar documents
Developing Applications for ios

Lee Barnes, CTO Utopia Solutions. Utopia Solutions

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Mobile Phones Operating Systems

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Testing Mobile Applications

Mobile Testing Preparing for a fast-changing mobile world. Sudheer M, Practice Head - Mobility Testing and Automation

IT Research BYTE. Analysis. Packaged Solutions. MEAPs. Native SDK. Customization. Costs. Glossary (continued)

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

esarinformation Systems Simplifying your Technology Mobile Applications Development Profile

Technical and Business Challenges for Mobile Application Developers. Tony Wasserman Carnegie Mellon Silicon Valley Mobicase 2010

ICAPRG409A Develop mobile applications

A Review of Different Comparative Studies on Mobile Operating System

Comparative Study of Different Mobile Operating Systems

Teqno Mates Solutions

BlackBerry Smartphone Application Development

Choosing a Mobile Application Development Approach

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734

Introduction to Android

Statement of Direction

Technology Services...Ahead of Times. Enterprise Application on ipad

CS160: User Interface Design, Prototyping and Evaluation. Prof: John Canny GSI: Anuj Tewari

Tablets in Data Acquisition

Literature Review: Starting Mobile Application Development for E-Sports Portal Hayoung Noh

SYST35300 Hybrid Mobile Application Development

Case Study: Smart Phone Deleted Data Recovery

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

Challenges in Android Application Development: A Case Study

Cross-Platform Mobile Apps Solution

Cabana: A Cross-platform Mobile Development System

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

Building Apps for iphone and ipad. Presented by Ryan Hope, Sumeet Singh

Mobile Operating Systems Lesson 07 Symbian OS

Overview focus on breadth understanding not depth (that s what the labs are for )

Mobile Technology. Woods, D. Independent study (including assessment) COM N/A

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Developing and deploying mobile apps

Discovering Computers

Introduction to Android Development. Ed Burnette

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Integrating Mobile Devices into the Computer Science Curriculum

Mobile Operating Systems. Week I

341 - Bioinformatics Android Coursework

Evaluating Cross-Platform Development Approaches (WORA Tools ) for Mobile Applications

Consumerization. Managing the BYOD trend successfully. Harish Krishnan, General Manager, Wipro Mobility Solutions

Workshop on Android and Applications Development

Introduction to Android

Case Study: Mobile Device Forensics in Texting and Driving Cases

White Paper. THE GREAT MOBILE APP DEBATE: NATIVE, HTML5 OR HYBRID? Determining the Right Approach for Your Business

Mastering Mobile Web with 8 Key Rules. Mastering Mobile Web with 8 Key Rules

01. Introduction of Android

WHITEPAPER. Mobile Workforce Productivity Solutions. Streamline Field Reporting Workflow with Speech Recognition

RhoMobile Suite. Develop applications for the next generation of business mobility

The story so far: Teaching Mobile App Development at PG level at Londonmet

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Mobile App Development

QML and JavaScript for Native App Development

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

Sybase Afaria. Comprehensive Management and Security for the Mobile Enterprise PRODUCT BROCHURE.

Bridging the Gap: from a Web App to a Mobile Device App

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

White Paper. Take advantage of application development opportunities in the changing landscape of enterprise mobility with

ios SDK possibilities & limitations

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Automated testing for Mobility New age applications require New age Mobility solutions

Here to take you beyond Mobile Application development using Android Course details

COMMUNITY COLLEGE OF CITY UNIVERSITY CITY UNIVERSITY OF HONG KONG. (English) Application for Portable Devices (Chinese)

Scratch Game Design (Grade 3-5, Beginners)

Human Resources Department.

Job Description. Triage, resolve or escalate support calls within agreed timescales using IT Service Management principles and logging systems.

geniusport mobility training experts

Mobile Application Technologies ITP 140 (2 Units)

Retool your HTML/JavaScript to go Mobile

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Cross-Platform Phone Apps & Sites with jquery Mobile

Syllabus Version 2.5_R ( )

Sybase Unwired Platform 2.0

ADF Mobile Overview and Frequently Asked Questions

Take full advantage of IBM s IDEs for end- to- end mobile development

Information Systems. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences.

How To Protect The Agency From Hackers On A Cell Phone Or Tablet Device

City University of Hong Kong. Information on a Course offered by Department of Computer Science with effect from Semester A in 2014 / 2015

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Transcription:

Mobile Application Development: Essential New Directions for IT Chia-Chi Teng, Richard Helps School of Technology, Brigham Young University Abstract As mobile devices have become more powerful and pervasive, mobile computing has become more important. As the market share of mobile operating systems steadily grows and more IT applications are developed and deployed on mobile devices, this will become a larger and increasing part of professional IT practice. Consequently IT students should gain experience creating and deploying mobile applications. We designed a project for a junior level operating systems course and asked 35 students to develop an application using one of the following leading mobile device software development kits: Apple iphone, Microsoft Windows Mobile and Google Android. Students were free to select a platform and define their own applications. While iphone has approximately 50% of the mobile OS market share, only 8 students selected iphone as their development platform of choice, 15 selected Android, another 12 selected Windows Mobile. A post-project survey was administered to the students to evaluate the process of choosing a platform, hardware and software features used in their applications, and the overall learning experience. This provided several conclusions about preferences, future applications and learning. The feedback was overwhelmingly positive and will help us improve future learning experiences. Key Words: mobile operating systems, mobile application, information technology education. 1. Introduction Mobile technologies such as smartphones are enabling a new generation of consumer and business applications. From web, email to remote access and Customer Relationship Management (CRM), there is no end to what can now be accomplished with the mobile devices. A recent IDC (www.idc.org) survey [1] suggests that 70% of organizations are currently deploying at least one mobile application, with more than a third of these companies deploying multiple mobile applications. Research shows that global sales of smartphones for the year 2008 reached 139 million [2] surpassing the sales of laptop computers [3]. For IT professionals, this unprecedented level of mobility is both an opportunity and a challenge. Adoption of mobile technology can be a complex process, not only because of a large collection of devices with an increasing number of mobile operating systems (BlackBerry OS, Windows Mobile, Symbian OS, iphone OS ), but it also involves multiple backend systems and a variety of wireless technologies (CDMA, GSM, WiFi, WiMax, 3G and 4G networks). As we introduced various mobile operating systems in our junior level operating systems course, we gave the students an opportunity to gain hands-on experiences on developing a mobile application for a smartphone or similar device. While all students in this junior course have previous experiences on desktop and web programming, this new topic of mobile platforms is designed to broaden their experience with mobile OS programming. The intended learning outcomes and subsequent evaluation are detailed in the following sections. A post-course survey was also completed by all the students which also gave us valuable feedback for future improvement. 2. Background While mobile applications have been heavily researched in areas such as networking and humancomputer interfacing in recent years, little has been proposed on how to introduce the topic to students and prepare them to develop and manage such applications. Boyer [4] suggested that self-direction and constructivist apprenticeship in a programming course prepares students in their life-long learning and skills to adapt new emerging technologies in their computing profession. We designed this learning experience as a 4-week project assignment, where students mostly self-learned the development environment and tools for creating a mobile application. Students were free to choose from any one of the three popular mobile OS platforms: Apple iphone [5], Google Android [6] and Microsoft Windows Mobile [7]. The main reasons for choosing these platforms were: 1) These are leading smartphone environments and represent the mainstream of smartphone development and use.

2) Each comes with freely available software development kit (SDK) including simulators; 3) Each corresponds to a very similar desktop development environment, which are, respectively, Xcode [8], Eclipse [9] and Visual Studio [10]. Giving students a free choice of platform and development environment is justified by several arguments. Firstly this was an experimental project from an educational perspective and allowing the students to select a development environment with which they have some familiarity improves the probability of success. All these students have previous experience with one or more development environment because of previous class assignments. Another reason for allowing free choice is that many students also personally own one of these smartphones or similar mobile devices, or are otherwise passionate about a particular platform. Their level of interests and enthusiasm towards the assignment seems to increase when they choose to work on something that is more personal. The prerequisites of the course that hosted this project include the completion of several programming related classes including Introduction to Computer Programming, Data Structures and Algorithm, Computer Architecture and Organization. The majority of the students have also completed the sophomore Fundamentals of Web-Based Information Technology class which also introduced web programming, simple database applications and introductory operating system concepts. These prior experiences appeared to be sufficient for them to accomplish the learning objectives. 3. The learning experience The assignment for the students was to develop a mobile platform application of their own choice. Students had a choice of the hardware platform they were designing for as well as the function of the application they chose. Very few constraints were placed on this assignment. Students were informed that a minimal passing grade could be achieved by taking an existing application and modifying it to perform a new function, but they were encouraged to develop completely new applications of their own. Students were not required to demonstrate their working projects on a hardware mobile platform. All the development environments provided simulators and students could choose to demonstrate their results on the simulators or their personal mobile device. That option simplified the assignment a little but also made it difficult to include features such as GPS or accelerometers in their projects if a mobile device was not available. It obviously saved the department (or the students) money, since we did not have to provide and manage multiple mobile devices. Student learning goals for this assignment were as follows: 1. Students would learn to develop in a mobile environment (although similar to environments they had seen before). 2. Students would learn to develop in limited, embedded system environments which include the following features: a. Remote development platform. Development is done on a desktop but the program runs on a handheld device using a different processor and possibly a different OS. Students must learn to develop with libraries of functions for the target system that are different than those for the development system. b. Debugging between the development system and a remote target. c. Slower systems with limited memory and limited permanent storage (no hard-drive). d. Very different UI i. Handheld devices have additional sensors, which add to the excitement and appeal of the system. They have phone connections, GPS, accelerometers, and other sensors. They also have many traditional interface elements such as Wi-Fi and audio, but with some constraints on their use. ii. On the other hand they have significantly less screen real estate; they have miniature keyboards and often only on-screen keyboards without tactile feedback iii. They have a library of UI elements unique to the hardware platform they are targeting. 3. Students learned independently. The technology is new and not even the instructor and teaching assistants are familiar with all the environments. Students were expected to discover and master the development environments using similar resources to an IT professional learning a new system, i.e. they needed to read available documentation, research online, consult colleagues, solicit help from experts that may have never contacted before and experiment with the system. These activities all contribute to lifelong learning skills. The assignment was structured as a weekly lab experience, which replaced one of the existing lab assignments. Because of the open-ended nature of this assignment students were required to start working on the assignment several weeks before it was due. They were given a deadline by which they had to complete the project and present their working systems in the lab for the whole class.

Figure 1. A Boggle cheater application demonstrated on the iphone simulator. To encourage the students to keep working on the assignment student volunteers were invited to give a very brief presentation in each class between the start of the assignment and the final deadline. This helped to keep the students focused on the assignment and also helped them understand how their peers were coping with the inevitable difficulties. Students were asked to choose one of the three most popular smartphone platforms for their assignment. The platforms are as follow: 1. Android ( G Phone sponsored by Google): The development platform uses Eclipse and the primary language is Java. 2. iphone from Apple: The development platform uses Xcode with Cocoa Touch and the primary language is Objective C. 3. Any Windows Mobile phone: The development platform uses Visual Studio for Windows Mobile and the primary language is C/C++. Later, a student requested permission to use the Palm platform, so one of the assignments was done using a Palm smartphone and the Palm OS environment. 4. Results All of the participating students were able to complete the project and demonstrate their applications. As students chose to write their own custom application, the resulting products varied in technical difficulty and creativity. Applications range from a simple gas mileage calculator to a Boggle cheater (enumerate all possible word combination given a set of letters in the Boggle game.) Figures 1-3 show examples of applications produced on each of the three major mobile OS platforms. There were 35 students in the class and all of them completed a survey about this experience. The survey addressed their self-assessed prior and post knowledge, their choices and reasons for choices, their opinions of the exercise and more. The survey was administered on-line and all results were rendered anonymous before processing. In general, we found students were willing to respond to surveys and were forthright in their opinions both positive and negative, Students were enthusiastic about the project, spending many hours on its accomplishment. The nominal time for a weekly lab assignment is 3 hours; however it is not unusual for assignments to take longer. For this assignment students reported that they spent a median of 5 hours learning to use the new development environment and a total of 20 hours for the complete assignment.

Figure 2. A keyboard application running on Google Android simulator. Significant numbers of students chose each of the three recommended platforms. They indicated very little prior experience. On a scale of None/Some/Extensive Prior Experience students on average reported a little less than Some for the iphone and Windows phones and almost none for the Android platform. Overall 10 students (29%) chose the Windows Mobile platform, 8 (24%) chose the iphone platform, 15 (44%) chose the Android platform and 1 (3%) chose the Palm platform. It is interesting to note that the most popular choice (Android) was the one for which they had the least prior knowledge. Students were asked for the primary reason for their choice of platform. The range of answers which they were asked to select from were as follows (table abbreviations shown in parentheses): 1. Market share of the device (Market Sh) 2. Cool device (Cool) 3. Wanted to learn that system (Learn) 4. Wanted specific feature/hardware capabilities (Feature) 5. Previous experience with development environment (Devel Exper.) 6. Previous experience with the device (Device Exper.) Their selections for primary reason for choice of each platform are shown in Table 1 below. Platform Table 1. Reasons for choosing a particular development platform. Market Sh Cool Learn Feature Devel Exper. Win - - 2 4 3 - iphone 3 2 1 1 1 - Android 1 8 1 4 - - Palm - - 1 - - - * Two students gave no response to this question. Device Exper. From the table it can be seen that the most popular reason for choosing the most popular device (Android) is Figure 3. A checkbook application running on Windows Mobile simulator. because it was considered Cool. It should be noted that the Android and its development environment were released very shortly before the assignment was given, which may have increased its cool factor for IT students, who traditionally have a strong interest in new technology. Most other primary choices were more distributed. Market share was only a factor with the newer devices (iphone and Android). Previous experience with the device was not a significant factor, not only from their reported primary choice reason, but also from their previous experience scores related to their choices. Students were asked to self-assess their learning from this exercise. They were asked for their prior and post knowledge on a five-step scale from no knowledge to expert. Most students assessed their prior knowledge modestly at about the basic understanding level (level 2 of 5). The post-assessment showed slightly more than a one-step increase for most development environments and devices, with the Android platform showing 1.5 steps, which is not surprising for a new device. Interestingly, two students recorded negative learning of one step in the Eclipse development environment. We have no explanation for this oddity. Another simple follow-up survey was conducted six months after the completion of the course as the students are now in their senior year. We found one student was since employed as an iphone application developer, and ten students are now involved in senior capstone projects developing mobile applications. Students interests in mobile applications remain high and all servey respondents still thing mobile application development skill is import for IT professionals.

5. Evaluation & future learning As we introduced this new exercise into an existing course, a few problems were identified that will help us improve future learning experiences. First of all, while both the instructor and students enjoyed the open-ended and flexible format of the project, the grading standard was vague, primarily because the instructor did not have a clear understanding of what the students might accomplish given the time constraint. Given the results of this exercise, we can now partially address this problem by posting past student work as examples for a given grade. Future students could see what an A, B, or C work looks like. In addition, a grading rubric can be developed including factors such as program and user interface (UI) complexity (single or multiple screens), UI design and usability, leverage of general or platform-specific hardware/software features, presentation, and write-up (clear, complete, source code readability). We encouraged students to deploy their applications to an actual mobile device if one was available via personal possession. However, the grading was not dependant on whether an application ran on the mobile device or only in the simulator. We hope to procure a collection of mobile devices in the future which will allow us to include the final hardware deployment stage as a required element of the learning experience. 6. Conclusion Students reported their overall impressions. They were asked whether this exercise should become a required part of the curriculum for all IT students. No student felt it was unimportant and 20 out of 34 students felt that most or all IT students should complete a similar exercise. This is a clear signal that students see the future of mobile platforms in IT. Comments from the students were very positive overall. Students appreciated the openness and freedom of choice of the assignment. Several would have liked a brief tutorial introduction to each of the systems and, not surprisingly, would have liked to be able to call on the TA for assistance. They also commented that the project was very challenging. There were no overtly negative comments, although a few students requested that the department provide more hardware to support the iphone platform (better Mac computers in the labs). Overall we feel this has been a success. The challenge of introducing new technologies to IT students will always be a part of IT education and this experiment combined new technologies with life-long learning experiences. The new development environments provided by the suppliers proved relatively easy to use for students with some background. The department was able to offer students these experiences at minimal expense since the development environments are all available for free. Future work will include developing educational infrastructures that allow for introducing new technologies while still providing designed outcomes and assessment tools for the learning experiences. We plan to repeat this exercise in the future with some changes in preparing the students and offering them more guidance in grading expectations and opportunities to implement their designs on hardware target platforms. We will also use this experience as a model when other new technologies are introduced. If we can continue to keep student excitement high, we will be successful in introducing new ideas to the students with quite simple and flexible designs for the educational infrastructure. 7. References [1] S.D. Drake, Embracing Next-Generation Mobile Platforms to Solve Business Problems, a Sybase White Paper, Oct 2008. http://www.sybase.com/detail?id=1060699. Accessed [2] Gartner Inc. http://www.gartner.com/it/page.jsp?id=910112. Accessed [3] Wall Street Journal. http://online.wsj.com/article/sb12247776388426281 5.html, Accessed [4] N.R. Boyer, S. Langevin, and A. Gaspar, Self direction & constructivism in programming education. In Proceedings of the 9th ACM SIGITE Conference on information Technology Education (SIGITE 08), ACM, New York, NY, Oct. 2008, pp. 89-94. [5] iphone Dev Center, http://developer.apple.com/iphone. Accessed [6] Google Projects for Android, http://code.google.com/android. Accessed [7] Windows Mobile, http://developer.windowsmobile.com. Accessed [8] Xcode, http://developer.apple.com/tools/xcode. Accessed [9] Eclipse, http://www.eclipse.org. Accessed Visual Studio Developer Center, http://msdn.microsoft.com/en-us/vstudio/default.aspx. Accessed