Irm4724 2018 TL 203 2 B
Irm4724 2018 TL 203 2 B
Development Software IV
IRM4724
Semester 2
School of Computing
IMPORTANT INFORMATION:
This tutorial letter contains the suggested solutions for:
Assignment 3
IRM4724/203
Instructions:
Work through all the chapters, previous assignments and specifically the discussion
forums on myUNISA. You may also use sources outside the provided Learning Units
and textbook. If you haven’t done it before, see what Google Scholar can offer you. Just
remember that you need to cite all external sources.
o Should you cite external sources then follow a proper referencing system, e.g.
Harvard. Take some time to figure it out. For instance should you use a word
processor such as MS Word then use the Reference tool to assist you. Microsoft
offers excellent assistance in showing you step by step how to do use it
(https://support.office.com/en-us/home/). Alternatively use software such as
Mendeley (www.mendeley.com) to assist you in the gathering of sources.
Mendeley also offers various training documents and videos in the use and
integration thereof with a word processor (such as MS Word).
o DO NOT copy and paste content from external sources verbatim. It is plagiarism.
Read through the different sources and documents, summarise it and then IN
YOUR WORDS reflect on it. Refer to UNISA’s rules and regulations in regards to
plagiarism.
The purpose of this assignment is for you to reflect on the development opportunities that
mobile applications offer.
General feedback
2
IRM4724/203
Some general feedback: remember that when you provide “facts” or “comments” that you
should give an indication as to where you’ve sourced it. Most of you did indicate the sources
after the last question, but you need to give the marker an indication within your text when you
are referring to a specific source. Have a look at how Harvard referencing works and the
process of “citing” your work.
In answering questions in the examination, keep in mind that this is not an undergraduate
module and that your answers should reflect that you understand the work and be able to argue
about it. Don’t just give “bullet” answers, I know that it marks easier, but you need to provide
evidence that you can “discuss” it.
Work through the possible solutions below and compare it with your answers. See what is
missing from your answers. These suggested solutions are the minimum criteria that should be
covered in your answers.
3
IRM4724/203
Suggested solutions:
1. Open-source software has become a major playing field in the development of mobile
applications. Discuss the negative and positive aspects of open-source software and
relate the open-source model to “free” versus “paid applications (apps)”.
(5)
At least the following points should be included in your answer. Remember to focus
your answers on “mobile” development.
Advantages Open-source mobile development (apps):
4
IRM4724/203
2. “Android, iOS and Windows are currently the three predominant names in the developing
of mobile apps”. Companies often struggle to determine and decide what platform they should
use to develop their apps. It is not just a matter of picking an environment and then starting to
develop apps for it, there are a number of factors that should be considered.
Write a report (not more than 2 pages), where you discuss the above under the following
headings:
- Demographics
- Revenue models
- Development speed
- Costs of developing an app
- Release cycles
- Lastly give a summarised conclusion
(20)
Some interesting websites:
http://www.statista.com/statistics/276623/number-of-apps-available-in-leading-app-stores/
http://www.smartphonemarketresearch.com/
Demographics:
Android: Larger global platform. Developing countries. Prefer free / cheaper apps.
iOS: Typical higher income group. Spend more per app.
Windows: Typical Windows user (maybe in the older group 50+).
Revenue models:
Android: Higher representative of apps with ad-supported apps.
iOS: Customers more inclined to pay for apps.
Windows: Uses ad-supported apps.
Development speed:
Android: Users are dependent on the OEMs – lag behind in the latest operating system
software. Developers can’t target the software for latest operating system. Apps generally take
longer to develop. Easier to be accepted and provide updates. Use Android Studio and Java
as programming language.
iOS: Users tend to be on latest operating system software and using latest version of software.
Developers can target the software for latest operating system. Apps generally quicker to
develop. Development environment: XCode and Swift programming language.
5
IRM4724/203
Windows: Rapid development of apps using Microsoft Environments, such as Visual Studio and
C# as programming language.
Costs of development:
Android: Initial costs may be higher as apps may take longer to develop (taking into
consideration that various versions of the operating system should be taken into consideration
during development of apps) and gain less as apps are often ad-supported. Developers have
access to “core-apps” such as gmail, google maps, etc. Android Studio runs on Mac, Windows
and Linux environments. Android Studio is free. Emulator tends to be slow.
iOS: Developers develop with specific operating systems in mind. Users are more inclined to
purchase the apps.
Windows: Windows SDK and Visual Studio (software required for development of apps) run on
Windows only machines. Visual Studio is not for free. Emulator fast in comparison to Android
emulator.
Release cycles:
Android: Updates can be pushed to users more frequently. Started in 2003. Constant releases
every year. See Android site for more detailed info. (https://www.android.com/history/)
iOS: Turn-around time of updates take longer. First iOS March 2008. Since 2014 the updates
on a more regular basis. See iOS site for more detailed info.
(http://www.theverge.com/2011/12/13/2612736/ios-history-iphone-ipad)
Windows Phone mobile: First release 2010. Constant updates in 2014/5 Refer to Windows
mobile site for more info. (https://en.wikipedia.org/wiki/Windows_Mobile)
[Remember although you can use WikiPedia to start your search, don’t site it – rather look at
the sources that WikiPedia used and then work backwards. But it is often a good site to start
your search for information.]
Conclusion:
In the conclusion I want to see how you bring all of them together. Remember that the question
did not ask YOUR opinion but what is presented in external resources.
Refer to the above statement and discuss your findings regarding cross-platform
approaches by referring to the positive and negative aspects of cross-platform
approaches.
Include in your discussion at least one available software tool and how the sharing of
code can be used effectively.
(15)
Interesting websites:
http://www.developereconomics.com/pros-cons-top-5-cross-platform-tools/
http://appindex.com/blog/ten-best-cross-platform-development-mobile-enterprises/
http://thinkapps.com/blog/development/develop-for-ios-v-android-cross-platform-tools/
http://searchsoftwarequality.techtarget.com/feature/How-to-choose-cross-platform-app-
development-tools
Before you start to answer the question, first describe what YOU understand under “cross-
platform”.
Advantages:
build solutions irrelevant of mobile device type
new features are now part of cross-platform tools, e.g. barcoding, forms, etc)
learn one development environment, e.g. HTML, JavaScript, CSS.
reuse of code amongst apps
Software tools (there are others – but you should be able to describe the software tool that you
select – purpose, etc.).
PhoneGap (also known as Apache Cordova): HTML, JavaScript and CSS. It is a “web
application” where the JavaScript can access the device level APIs. Installs as a “native” app
on the individual device. Open Source.
Adobe AIR: HTML, JavaScript, Adobe Flash and Flex, ActionScript. Not all of tools are free.
Disadvantages
7
IRM4724/203
you still need to develop specific apps should you wish to target a specific mobile capabilities
sometimes behave “badly” or “slow” when the app is addressing very complex functions
applications may not work as expected across the different platforms
4. Often claims are made that Android supports “real multitasking” and iOS not.
Briefly discuss the differences between Android and iOS in regards to “multitasking”.
(10)
Android is multitasking 100% of the time.
Apps are free to expose methods to other app and launch intents to do work in other apps. Info
can be shared back and forth.
Pro: extreme flexible and ability to build upon features of other apps.
Cons: drain on battery live as some apps never really go to sleep.
Android and iOS based on Unix. Both are capable of multi-tasking (multiple threads running
simultaneously all the time).
I.t.o. apps there are differences. In iOS the foreground app runs without any restriction, but
other apps are purposefully limited in what they are allowed to do, thus the foreground app runs
at full speed.
iOS gets better foreground performance and longer battery life. Not so flexibile. iOS apps such
as streaming of music, position tracking and navigation instructions can be done in the
background. Periodically launch, perform task, go back to sleep. iOS prevents apps from
modifying the system or talking to other apps.
TOTAL: 50
©
UNISA 2018