You are on page 1of 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/260493050

Mobile Application Development Experiences on Apple’s iOS and Android OS

Article  in  IEEE Potentials · July 2012


DOI: 10.1109/MPOT.2011.2182571

CITATIONS READS

66 9,455

Some of the authors of this publication are also working on these related projects:

AI related work View project

Misc. Article View project

All content following this page was uploaded by Kim W Tracy on 30 December 2015.

The user has requested enhancement of the downloaded file.


Mobile application
development experiences on
Apple’s iOS and Android OS

Kim W. Tracy

M
obile application deployment and use has exploded The apps are currently freely available in the Apple App
since Apple’s deployment of the iPhone and the re- Store and in the Google Play Store.
lease of Google’s Android operating system. The de-
velopment of these applications is much easier than earlier Mobile app background
mobile application development platforms but still This section details some of the general challenges and his-
carries some of the same complexities and tory for mobile app development.
issues. This article details recent experi-
ences in developing an official IEEE mo- Mobile app characteristics
bile application on both Apple’s iOS Mobile apps are just applications that run on a
as well as the Android operating sys- mobile, untethered device. Mobile apps
tem. Some history of mobile appli- are currently evolving very rapidly
cation development is included. The but generally are targeted at a spe-
mobile application developed starts cific task, run on a mobile device,
with leveraging IEEE.tv content, but make heavy use of the data net-
the vision is to expand the applica- work, and have a simple deliv-
tion to a more engaging application ery mechanism (i.e., Google
that IEEE members will enjoy and use. Play Store or Apple Store).
This project idea came from interactions The more interesting mobile
with various IEEE committees and boards, apps tend to use your loca-
mostly related to Member and Geographic tion, make heavy use of the
Activities (MGA). As a member organization, network for content and inter-
increasing the interaction and involvement of actions, and have a device and
members is key to making the organization server component.
vital. As I also teach computer science, I So, why are mobile apps taking off at
was already familiar with various mobile this point in time? There are several convergent factors
apps and had directed several master’s that make the environment attractive to mobile apps
projects in that space. Given that, I pro- becoming pervasive. The major factors are as follows:
posed (as part of the MGA Challenge) to • Pervasive high-speed data networks. High-
help IEEE in developing an app focused speed networks to support interesting, data-
on member engagement. After MGA ac- based applications have become relatively per-
cepted the project, we refined the idea to vasive, particularly in metropolitan areas.
focus on IEEE.tv initially, as it has engaging • Relatively cheap, high-performing devices.
content and should be relatively easy to ac- The processing and storage capacities of small
cess with an app. devices have increased dramatically and devic-
Given the acceptance of the idea, I enlisted es have remained affordable enough for wide-
the help of two computer science students spread adoption.
(Adil Mezghouti and Jon Urbanski). These • Introduction of easy-to-use market-
two students did the bulk of the initial places for apps. Apple’s success with iTunes
application development to prove the feasi- gave them a platform to make apps eas-
bility of the idea. ily available through the Apple App Store.
Android’s Market also supports easy avail-
ability for Android apps.
Digital Object Identifier 10.1109/MPOT.2011.2182571 ROBOT © CAN STOCK PHOTO/LEO BLANCHETTE. • Support for many third-party mobile
SMART PHONE COURTESY OF STOCK.XCHNG/
Date of publication: 27 July 2012 LORA WILLIAMS. app  development. The easier it is for others to

30 0278-6648/12/$31.00 © 2012 IEEE IEEE POTENTIALS


create and publish an app (as well as devices have different sensors and abili- varying screen sizes, etc., as well as
make money on them), the more likely a ties, with one of the most obvious being developing an application in addition to
developer will create and publish the app. screen size. The development platforms the Web site.
• Underlying need for simple, tar- for both Android and iOS do a good job Smart phones are the prior generation
geted applications while mobile. A mo- of helping deal with those differences, of phones that were less “app” based.
bile user is usually doing something else but not paying attention to this issue That is, they didn’t have quite the same
(such as trying to get to a restaurant). So may make a great application on one delivery method as the current genera-
many mobile apps are in support of that device appear clunky on another. tion of touch screen phones. Some
other activity or helping to accomplish • Difficult to test applications fully. people continue to lump all the current
a task while mobile. Additionally, many Given the above variation in devices, it generation of phones together into “smart
organizations with traditional Web ap- is difficult to test all the current devic- phones.” Smart phones tend to have
plications have a desire to make their es, let alone all the new ones coming much tighter control over the applica-
applications more available and easy out. Some of the more effective testing tions that are provided and are focused
to use on small mobile devices where is done using models such as crowd- on messaging and personal information
a regular Web application may be hard source testing such as uTest, but it is still management (PIM) features such as cal-
to use. very difficult. endaring and contacts.
However, running on a mobile device Some of these challenges were faced Touch-screen phones really came into
inherently introduces a number of con- in the current project. Depending on the popularity due to the success of the
siderations that a programmer does not platform, these will be noted in the fol- iPhone. These phones are based on the
have to deal with on a regular applica- lowing sections. app concept, have special markets for the
tion program. These include the follow- apps, and are treated as a development
ing characteristics: platform. The number and kind of appli-
• Varied network speeds. As these cations have mushroomed quickly with
devices are mobile, the wireless network We did not want to cover the release of touch screen phones with
that the device is using will have vary- all aspects and make the relatively large displays. Relatively light-
ing network characteristics as the device initial app too complex, weight tablets (iPad, Samsung Galaxy
moves (and even if the device doesn’t Tab, Dell Streak) are becoming wide-
move—due to increased usage, added so we wanted to focus on spread as well and are (for the most part)
interference, etc.). In addition, many cel- what we knew was doable. larger versions of touch screen phones.
lular network technologies will fall back Such devices are viewed as general com-
to earlier technologies with less capacity puting devices, and messaging and PIM
(such as LTE to EV-DO to 1X). features are just apps rather than core
• Network failure. The lack of a vi- History of mobile apps functionality. These devices also usually
able data network is more likely for mo- Mobile apps are not a new idea, and support Wi-Fi 802.11 networks rather
bile devices as there are always places various versions and platforms have than being purely designed for cellular
where the network will be unavailable. been around for some time. In particular, 3G/4G networks.
In this case, the application either needs the following is a rough timeline for the
to have an offline mode or gracefully development of apps on mobile devices Requirements and platforms
fail based on the lack of being currently on cell phone wireless networks (see From the initial idea of developing an
attached to the network. Table 1, roughly based on Mobile Design app to help IEEE in attracting, engaging,
• Varying platform performance. and Development by Fling). and retaining members, we needed spe-
Ideally, your app will be available on as “Candy bar” phones had a relatively cific requirements on where to start.
many devices as possible. This direct- small display, were often shaped like a Additionally, we did not want to cover
ly implies supporting different devices candy bar (and about the size of a large all aspects and make the initial app too
and, usually, different platforms. For ex- candy bar), and had a very limited data complex, so we wanted to focus on what
ample, your app may be designed to run service to use. So, applications in this era we knew was doable.
on Android v2.2, but each device that were targeted to specific phones and One of the first requirements was
runs Android v2.2, may have a different very rudimentary. platform selection. In terms of market
CPU, different amount of memory, and Wireless application protocol (WAP) share, both iOS and Android OS were
different hardware architectures. Addi- based phones are able to support wire- continuing to increase the number of
tionally, given the ability of users to run less markup language (WML), a subset available devices and the bulk of app
multiple applications at the same time, of HTML, but it was still difficult to development was focused on these two
those processing resources may be fur- deploy these applications and the pro- platforms at that point in time. So we
ther tapped and less predictable. Related grammer had to take into account the decided that we really had to support
is the fact that the underlying operating
system release may vary. Given that the
Table 1. Mobile device application eras.
Android OS is open source, device man-
ufacturers can modify it to better use Era Timeframe Characteristics
their device, introducing more variation Candy bar phones 1988–1998 Very limited data service to phones
for app developers. Phones supporting WAP 1998–2002 WML, MMS/SMS, small screens, etc.
• Varying screen size (and resolu- Smart phones 2002–present Java-ME, Windows Mobile, Palm OS, RIM, etc.
tion) and other functionality. Related
Touch screen era 2009–present iPhone, Android, etc.
to the performance concern, different

JULY/AUGUST 2012 31
Fig. 1 Screen shots for the prototype app.

both of these platforms to have a viable additional content that requires an IEEE oper site. In order to actually publish
app that could be widely deployed to Web login. the app to the Google Play Store, we
both IEEE Members and nonmembers. Figure 1 gives a snapshot of the pro- will need to pay a small fee (US$25 at
Having chosen that platform, it was totype interface for the planned func- this time) and register (see https://play.
also key that the app have the same tionality. We focused on providing access google.com/apps/publish/signup) so
features and close to the same experi- to the lists of videos (as preexisting at that we can publish apps. However, to
ence on both platforms. Other plat- IEEE.tv) and in providing a few other create, install on actual Android-based
forms were considered such as RIM features such as the ability to login and devices, and test, we do not need to
Blackberry, Windows Mobile, and Palm view limited membership information. register.
but were considered less critical for the In order to install our own prototype
initial app. Android apps on physical devices, we
Another key requirement was what only needed to adjust a few settings on
content to focus on first. Given some of Given some of MGA’s each device. These are usually under the
MGA’s directions and input, IEEE.tv was directions and input, IEEE.tv “settings” on the device and “applica-
considered to be a must-have to deliver tions” settings category. There you can
some engaging content from the get-go.
was considered to be a allow “unknown sources” for apps and
Other content that we wanted to include must-have to deliver some set “USB debugging” under the “devel-
was an easy method for nonmembers to engaging content from opment” item. These settings can vary a
become IEEE Members and to leverage the get-go. Other content bit depending on the version of the
the Member-get-a-Member program Android operating system and the manu-
(which gives a reward to existing mem- that we wanted to include facturer’s changes.
bers for finding and referring new mem- was an easy method for The Android architecture is well
bers). So the focus became the delivery nonmembers to become described on the Android developer site
of content available on IEEE.tv, initially and is designed as a specialized version
IEEE Members and to
only public videos (not requiring login). of Linux for phone-type devices. It con-
We did not want to be dependent on leverage the Member-get-a- tains a virtual machine called the Dalvik
IEEE’s IT staff, but after talking to staff Member program. Virtual Machine, which most apps use
there, we were able to add additional (rather than writing native applications
features including directly against the Linux kernel—though
• the ability to use IEEE XML to dy- that is possible). Most of the environ-
namically present IEEE.tv video lists Android OS and iOS overviews ment for developing apps is centered on
• access to IEEE Member-only con- App development on the Android OS using Java.
tent by providing a secure way to log- and iOS platform requires different The Android platform grew out of
in using an IEEE Member’s Web login approaches, programming languages, development with the Open Handset
(which required some development on and has different methods of app publi- Alliance and Google. Google purchased
the IEEE end) cation for the different platforms. Android, Incorporated in 2005 and made
• availability of video formats that the code open source in 2008. Since
mobile devices would support (already Google android OS platform then, Google has released many versions
in the works at IEEE). For the Android platform, we chose of Android and continues to enhance the
The ability to link into this IEEE IT- to use Eclipse with its plug-ins to sup- code base to offer more features and
provided functionality not only makes port the Android platform. Google and support for a wider array of devices
the app immediately more functional, Android developers have provided a lot (such as tablets). Google has released a
but also provides a great base for adding of documentation on the Android devel- number of significant versions of Android

32 IEEE POTENTIALS
since 2009 that have been deployed to
many devices. These include: 1.5 (proj-
ect name Cupcake, in 2009), 1.6 (Donut
in 2009), 2.0 (Éclair in 2009), 2.2 (Froyo
in 2010), 2.3 (Gingerbread in 2010), and
3.0 (Honeycomb in 2011). Our goal was
to support all releases since Android 1.6,
but decided to back off that goal a bit as
the video player support was much
enhanced in 2.0 and beyond.
Besides the Eclipse Smart Develop-
ment Environment with the Android
plug-in (which includes an Android sim-
ulator), there are many other tools to
support development for Android-based
devices. We used DroidDraw (Fig. 2),
which is a free tool that helps in creating
the XML for producing the interface.
Other Android programming resources
include Menieks et al., Meier, and Steele
and To.

Apple iOS platform


The Apple iOS platform is a based on
a proprietary model with the best devel-
Fig. 2 Using DroidDraw to create an interface.
opment environment being on an Apple
Mac running OS X and using the Xcode
development environment. Apple main- Differences between iOS and android
tains an extensive Web site to help This section highlights some of the
developers. It also provides a nice simu- One thing that really differences that we ran across during this
lator for iOS-based devices (iPhones and project. Most significantly, the develop-
helped our development
iPads). Additionally, to develop apps, ment platforms are very different and
the Objective C programming language was focusing on video require different tools and techniques. As
is the most supported programming lan- playback, where both iOS a result, each developer had to become
guage. In order to create apps to deploy and Android have embed- an expert on his/her platform and we
on an actual device, you need to be able had to communicate regularly to share
ded in their development
to create keys for that device and appli- details so that the apps performed simi-
cation. To do that, you need to have environment standard ways larly. Besides the development platform
access to Apple to develop the keys for to play video. Those existing little differences like the default size of
specific devices. (Universities can get methods for video playback the icons, the format the icons had to be
that for free with an agreement with in, and the fact that some Android-based
Apple.) Similarly to Android, to pub- helped tremendously in terms devices have menu buttons meant we
lish apps to the Apple Store, you need of handing some of the had to have some differences in the app
to pay an annual fee (US$99 at this challenges noted in “Mobile (i.e., what should the menu button do?).
time) and register with Apple. Apple Android devices also usually have a back
app background” such as
also has a more extensive process for button, which is not on iOS devices.
reviewing apps before they are handling different network
released on the store. characteristics and having Mobile app challenges
The iOS platform (which architectur- an offline mode. We experienced many of the chal-
ally looks similar to OS X) runs with lenges in the “Mobile app background”
four layers: Core OS/Kernel, Core Ser-
vices, Media Support, and the Cocoa
Touch Interface layer (see Fig. 3). The
Cocoa Touch layer provides support for iPad and most recently (version 4.0 and Cocoa Touch
using a touch-based interface. OS X greater) support multiprocessing. The
supports other interface models where strength of the iOS platform is that it has Media Support
iOS is tuned to support touch-based a relatively small number of versions, all
devices and just support the touch- supported by Apple. There is also a Core Services
based interface. small number of different devices, again
Apple developed the iOS platform for all supported by Apple. These factors Core OS/Kernel
the iPhone with the initial releases reduce the complexity a great deal for
coming out with the iPhone in 2008. the support. For another good resource
Later versions included support for the for iOS development, see Stark. Fig. 3 iOS high-level architecture.

JULY/AUGUST 2012 33
section above. One thing that really Read more about it
helped our development was focusing • uTest Corporation. Crowdsourcing
on video playback, where both iOS and Essentials and Crowdsourcing Usability.
Android have embedded in their devel- [Online]. Available: http://www.utest.
opment environment standard ways to com/whitepapers
play video. Those existing methods for • B. Fling, Mobile Design and Devel-
video playback helped tremendously in opment. Sebastaopol, CA: O’Reilly Me-
terms of handing some of the challenges dia Inc., 2009.
noted in “Mobile app background” such • Android Open Source Project.
as handling different network character- Installing the SDK. [Online]. Available:
istics and having an offline mode. http://developer.android.com/sdk/in-
In order to do real development for stalling.html
the iOS platform, we had to get an agree- • Google. Google Play Android
ment with Apple so that we could deploy Develop Console. [Online]. Available:
the app to real devices for testing. In http://market.android.com/publish/
addition, we had to have an Apple Mac signup
in order to do development for iOS. • Z. Mednieks, L. Dornin, G. B.
Meike, and M. Nakamura, Programming
Future development Android. Sebastopol, CA: O’Reilly Media
and predictions Fig. 4 Apple iPad running the published Inc., July 26, 2011.
Both the iOS version and the Android app. • R. Meier, Professional Android 2 Ap-
version of the app have been published plication Development, Wrox (Program-
and are available for free download. A mer to Programmer Series), 2nd ed. New
screenshot of the final app on an iPad is York, NY: John Wiley and Sons, 2010.
given in Fig. 4, showing one of the I expect the nature of mobile • J. Steele and N. To, The Android
dynamically loaded lists of videos from apps to change over the Developer’s Cookbook: Building Appli-
IEEE.tv. cations with the Android SDK. Reading,
From the start, this app was viewed
next few years. My expec- MA: Addison-Wesley, 2010.
as a starting point for continued devel- tation is that most of the • Apple. Apple Developer Web site.
opment of an IEEE app focused on interesting and dynamic [Online]. Available: http://developer.ap-
Member engagement. Other content content will continue to ple.com
from IEEE would be a natural extension • Apple. App Store Review Guide-
(such as subscribed content like IEEE be housed on enterprise lines. [Online]. Available: http://develop-
Spectrum and IEEE Potentials maga- servers, with applications er.apple.com/appstore/guidelines.html
zines), particularly for larger tablet becoming more flexible. • J. Stark, Building iPhone Apps
devices. Given we’ve already included a with HTML, CSS, and JavaScript. Sebas-
method of authentication, this content topol, CA: O’Reilly Media Inc., 2010.
could be added. Additionally, there are a
number of tools focused on IEEE volun- that point in time. Given the difficulty About the author
teers (vTools) that may also make sense of developing a specialized application Kim W. Tracy (k.w.tracy@ieee.org)
to incorporate to help volunteers. These to run on a multitude of devices, I is currently at Northeastern Illinois
features may be helped by having fur- expect devices will become more capa- University (NEIU) overseeing all in-
ther “hooks” put on the IEEE corporate ble of communicating their capabilities formation technology functions for the
end to allow the app to easy pull and and the server side more capable of university. He also teaches comput-
present content. delivering the app as a result of the user er science at NEIU and has directed
Due to a lot of the difficulties we request. more than two dozen computer sci-
faced as well as the rapid changes in ence master’s projects. He is a current
the mobile device market, I expect the Acknowledgments ABET computing accreditation com-
nature of mobile apps to change over Adil Mezghouti (iPhone version) and missioner. He is also quite active in
the next few years. My expectation is Jon Urbanski (Android version) did the IEEE, including serving on the edito-
that most of the interesting and dynamic bulk of the work in getting the initial rial board for IEEE Potentials (past ed-
content will continue to be housed on apps to work. IEEE IT staff (Brian Pratz, itor-in-chief) and incoming vice chair
enterprise servers, with applications Susan Hutton, and Tom Smith) was for information management on the
becoming more flexible. Those applica- extremely helpful in working on hooks MGA board. He has a master’s degree
tions will become more capable of flex- in the back-office applications (and pro- in computer science from Stanford
ibly leveraging the capabilities of the viding example code) so that features University and bachelor’s degrees in
device and the device will dynamically such as using the IEEE Web login would computer science and applied mathe-
download the app based on its capa- work as well as identifying some require- matics from the Missouri University of
bilities and what the user needs to do at ments that were needed. Science and Technology.

34 IEEE POTENTIALS

View publication stats

You might also like