Action Research paper on Android
Historically, the developers that use the low-level programming language such as C or C++ have wanted to understand the particular hardware they code for, that can be a single device or a range of devices coming from the same manufacturer. As the hardware technology is advancing, that closed approach is also struggling to keep pace with that advancement. In the recent years, such platforms like Symbian were also created to offer the application developers a wider target of the audience. Those platforms have become more successful in encouraging those mobile developers to offer rich applications that better take advantage of the available hardware. These platforms, however, lack the low-level hardware access, and they also entail the sandbox execution where the mobile applications being developed do not take advantage of the mobility of the handheld platform (Lee & Jeon, 2010).
The Android platform sits alongside the new wave of mobile OSs that is meant for the increasingly powerful mobile hardware (Six, 2011). The Apple’s iPhone and the Window’s Mobile do offer a richer and a simplified environment for the development of mobile applications. The problem with these platforms is that, unlike Android, they are built on proprietary OSs that prioritizes the native applications to the ones created by the third parties (Shih, Lakhani & Nagy, 2010). They also restrict the communication of the applications as well as the native phone data. The Android platform provides new capabilities for mobile applications as it offers an open environment for the development of mobile applications that is built on the open source Linux kernel. Android also avails the hardware access to all the applications via a series of API libraries as well as the application interaction is fully supported (You & Noh, 2011). Below is the diagram for Android software stack.
Fig. 1: Android software stack. Source: Srivatsa (2014). Retrieved from http://www.cse.wustl.edu/~jain/cse571-14/ftp/android_security/index.html
In the Android platform, all the applications both native and the third party have equal standing. That is because both the native and the third party apps are written with the same APIs and they are executed in a similar runtime environment. The platform consists of several important and dependent parts including the open source libraries, the hardware reference, Linux kernel, user interface framework, software development kit, and the runtime for hosting and executing the applications (Chang, Tan, Li & Zhu, 2010). The hardware reference design describes the capabilities that are essential for a mobile device to support the software stack. The kernel also offers a low-level interface with the memory management, process control, and the hardware optimized for the mobile devices. The open source libraries, on the other hand, are useful for the application development, and they include the WebKit, SQLite, OpenGL, and the medial manager (Yoon, 2012).
Android incorporates the API libraries that are useful in simplifying the application development that involves the device hardware. They make sure that the developer does not have to create specific implementations of the software for various devices so that one can create Android apps that work on any device as the developer expects (Liu & Yu, 2011). Android also supports the applications as well as the services that are designed to run in the background. The mobile devices are multifunctional. However, they have small screen sizes that mean it is only one interactive app that is visible at any one time. Android’s background services enable the creation of invisible applications components that can perform automatic processing minus the direct user interaction (Gandhewar & Sheikh, 2010). Security is also another feature that prioritizes din Android. The Android security model consists of multiple layers that offer flexibility and sufficient protection for the users of the platform.
My research in the area of Android platform and the application of market-oriented applications will provide me with the essential knowledge that will enrich my experience in the same. The research will be arranged into four iterations that will be chronologically executed to make sure that the research is completed with all the research objectives achieved. These iterations each ahs the planning phase, the action phase, the observation phase, and the reflection phase to make sure that each action is followed up and refined appropriately to achieve the desired objectives. Below are the four iterations in a nutshell.
Iteration 1: Brainstorming
The session on brainstorming is where there will be the introduction of the Android platform and the learning about the essence of programming in Android. I will also learn about the job opportunities for the Android developers, its advantages, and weaknesses.
Iteration 2: Learning the Basics of Android Platform
In the second iteration, I will leverage some Android developers that will train me on the development of Android applications. I will also learn about the basic steps of application development based on the SDLC process. At the end of the iteration, I will be given some small assessment to prepare me for the main project.
Iteration 3: Gaining a Practical Skills on Android Development
In the third iteration, I will strive to acquire the practical experience by developing an application based on the Android platform. I will make sure that leverage the right SDLC methodology and carry out unit testing to remove any bugs.
Iteration 4: Testing and Implementation
In the fourth iteration, I will seek the consultation from experienced Android developers to help me in testing the developed application to unraveling any defects and bugs in the same so as to ensure that it meets the market orientation requirements. They will also help me in the implementation of the developed application as I also learn the essence of performing each activity.
Chang, G., Tan, C., Li, G., & Zhu, C. (2010). Developing mobile applications on the Android platform. In Mobile multimedia processing (pp. 264-286). Springer Berlin Heidelberg.
Gandhewar, N., & Sheikh, R. (2010). Google Android: An emerging software platform for mobile devices. International Journal on Computer Science and Engineering, 1(1), 12-17.
Lee, S., & Jeon, J. W. (2010, October). Evaluating performance of Android platform using native C for embedded systems. In Control Automation and Systems (ICCAS), 2010 International Conference on (pp. 1160-1163). IEEE.
Liu, J., & Yu, J. (2011, November). Research on Development of Android Applications. In 2011 Fourth International Conference on Intelligent Networks and Intelligent Systems (pp. 69-72). IEEE.
Shih, G., Lakhani, P., & Nagy, P. (2010). Is android or iPhone the platform for innovation in imaging informatics. Journal of Digital Imaging, 23(1), 2-7.
Six, J. (2011). Application Security for the Android Platform: Processes, Permissions, and Other Safeguards. ” O’Reilly Media, Inc.”.
Yoon, H. J. (2012). A study on the performance of Android platform. International Journal on Computer Science and Engineering, 4(4), 532.
You, D. H., & Noh, B. N. (2011, October). Android platform based linux kernel rootkit. In Malicious and Unwanted Software (MALWARE), 2011 6th International Conference on (pp. 79-87). IEEE.