COMP3330 Mobile App Development Lifecycle 2024-2025 PDF

Document Details

Uploaded by Deleted User

The University of Hong Kong

2024

Dr. T.W. Chim

Tags

mobile app development mobile application lifecycle ios development computer science

Summary

This document is lecture notes about the mobile app development lifecycle. The notes cover the different stages in detail including the five major phases (inception, design, development, stabilization/testing, & deployment), along with examples and references.

Full Transcript

Chapter 2. Mobile App Development Lifecycle 2024-2025 COMP3330 Interactive Mobile Application Design and Programming Dr. T.W. Chim (E-mail: [email protected]) Department of Computer Science, The University of Hong Kong 5 Maj...

Chapter 2. Mobile App Development Lifecycle 2024-2025 COMP3330 Interactive Mobile Application Design and Programming Dr. T.W. Chim (E-mail: [email protected]) Department of Computer Science, The University of Hong Kong 5 Major Phases Inception Design Development Stabilization / Testing Deployment 2 Inception (Strategy) To define and refine the idea of an app Some fundamental questions to ask: Competitive Advantage Are there similar apps? If so, how does this application differentiate from others? Infrastructure Integration For apps that will be distributed in an enterprise, what existing infrastructure will it integrate with or extend? Value What value does this app bring users? How will they use it? Form / Mobility How will this app work in a mobile form? How can I add value using mobile technologies such as location awareness, the camera, etc.? To help with designing the functionality of an app, it can be useful to define: Actors: roles within an application and are often users Use cases: typically, actions or intents 3 Inception (Analysis & Planning) Define clear objectives: Each mobile application has to be designed for a specific purpose and marketing campaign. What you want to achieve? What’s the expected outcome? You cannot include a complete set of services or products into one mobile application. Identify the exact scope of mobile application and then focus on how it can help you meet your objectives. Identify target audience and requirements: Where do you think you can reach them? What are their implicit needs? What are the on-the-go features they might demand and how well can you satisfy their need? The functionality and user interface must be in line with customer expectations. 4 Design (UX) User Experience (UX) Design UX is usually done via wireframes or mockups using any design toolkits. UX mockups allow the UX to be designed without having to worry about the actual UI design. Wireframe Design toolkits (Reference: https://docs.microsoft.com/en- us/windows/uwp/design/downloads/) 5 Design (UX) User Experience (UX) Design When creating UX mockups, you may need to consider the interface guidelines for the various platforms that the app will target. The app should "feel at home" on each platform. Official design guidelines for each platform: Apple - Human Interface Guidelines https://developer.apple.com/design/human- interface-guidelines/ios/overview/themes/ Android – Design Guidelines https://developer.android.com/design/index.html 6 Design (UX) User Experience (UX) Design The hardware itself also affects UX decisions. Example 1: iOS devices have no physical back button, and therefore introduce the Navigation Controller metaphor. Example 2: (Form factor issue) A tablet has bigger screen and so can display more information. Often what needs multiple screens on a phone is compressed into one for a tablet. 7 Design (UI) User Interface (UI) Design Once the UX is determined, the next step is to create the UI design. Difference between UX Design and UI Design: UX Design is typically just black and white mockups UI Design is with colors, graphics, etc. Spending time on good UI design is important and generally, the most popular apps have a professional design. As with UX, it’s important to understand that different platforms are different, so a well-designed application may still look different on each platform. 8 Development The development phase usually starts very early. In fact, once an idea has become mature in the conceptual/inspiration phase, a working prototype (not just an animation) should be developed that validates functionality, assumptions, and helps to give an understanding of the scope of the work. 9 Stabilization / Testing Stabilization is the process of working out the bugs in your app. Not just from a functional standpoint, but also Usability and Performance. It’s best to start stabilization very early within the development process so that corrections can occur before they become costly. Typically, an application should follow these patterns: Prototype – The app is still in proof-of-concept phase and only core functionality, or specific parts of the application are working. Major bugs are present. Alpha – Core functionality is generally code-complete (built, but not fully tested). Major bugs are still present, outlying functionality may still not be present. Beta – Most functionality is now complete and has had at least light testing and bug fixing. Major known issues may still be present. Release Candidate – All functionality is complete and tested. Barring new bugs, the app is a candidate for release to the wild. As an application moves further along in the lifecycle, it’s opened to more people to try it out, test it, provide feedback, etc. Prototype applications may only be shown or made available to key stakeholders. Release candidate applications may be distributed to customers that sign up for early access. 10 Distribution Once the application has been stabilized, it’s time to publish it. There are a number of different distribution options, depending on the platform. iOS Ad-Hoc Deployment – Ad-hoc deployment is intended primarily for development and testing and allows you to deploy to a limited number of properly provisioned devices. When you deploy to a device via Xcode, it is known as ad-hoc deployment. In-House Deployment – In-House deployment is meant for internal distribution of corporate applications that aren’t available publicly via the App Store. Apple App Store – Apple’s App Store is a globally available online application repository, and it allows developers to market and distribute their apps online with very little effort. 11 A digital certificate is a file that proves the authenticity of a device, server, or user. Under Distribution public key infrastructure (PKI), your certificate contains a public key that can be used to verify Apple Certificate Types: signatures generated by your private key. Certificate type Certificate name Description iPhone Developer: Used to run an iOS, tvOS, or watchOS app on devices and use certain iOS Development Team Member Name app services during development. iPhone Distribution: Used to distribute your iOS, tvOS, or watchOS app on designated iOS Distribution Team Name devices for testing or to submit it to the store. Mac Developer: Team Mac Development Used to enable certain app services during development and testing. Member Name 3rd Party Mac Mac App Distribution Developer Application: Used to sign a Mac app before submitting it to the Mac App Store. Team Name 3rd Party Mac Mac Installer Used to sign and submit a Mac Installer Package, containing your Developer Installer: Distribution signed app, to the Mac App Store. Team Name Developer ID Developer ID Used to sign a Mac app before distributing it outside the Mac App Application: Team Application Store. Name Developer ID Installer: Used to sign and distribute a Mac Installer Package, containing your Developer ID Installer Team Name signed app, outside the Mac App Store. 12 Distribution Our CS Department has joined the iOS Developer University Program. All our staff and students can apply for an iOS Development certificate for free. This certificate will expire when you leave our Department. You can fill in the online application form at: https://intranet.cs.hku.hk/iosdev/ and our technical support will send invitation to you to join the Apple Development Team. Details of iOS Developer University Program: https://developer.apple.com/programs/ios/university/ If you want to publish your app to Apple App Store, you need to subscribe the iOS Distribution Certificate by paying US$99 per year or publish under the name of HKU for free (but the contents of your app will be checked by our ITS). The iOS Developer University Program has been discontinued as of May 15, 2024. Accredited educational institutions can enroll in the Apple Developer Program but we have difficulty in joining it at the moment. We are looking for solutions. 13 Distribution Android All Android applications must be signed before being distributed. Developers sign their applications by using their own certificate protected by a private key. This certificate can provide a chain of authenticity that ties an application developer to the applications that developer has built and released. It must be noted that while a development certificate for Android can be signed by a recognized certificate authority, most developers do not opt to utilize these services, and self-sign their certificates. The main purpose for certificates is to differentiate between different developers and applications. More details about Android application signing and publication to Google Play will be covered later in this course. Unlike other popular mobile platforms, Android takes a very open approach to app distribution. Devices are not locked to a single, approved app store. Instead, anyone is free to create an app store, and most Android phones allow apps to be installed from these third-party stores. 14 Performance Tracking and Enhancement You can declare your mobile application a success or a failure by doing proper analysis: The number of downloads Total number of minutes spent by each user Total revenue collected from the mobile app Remark: Mobile app release is just the first step in developing a continuous evolution, not the final product. Developers usually release the application with the minimum, and then listen to what the customer loves, hates, desires or even critical reviews. All these give them scope to improve! 15 Chapter 2. End 2024-2025 COMP3330 Interactive Mobile Application Design and Programming Dr. T.W. Chim (E-mail: [email protected]) Department of Computer Science, The University of Hong Kong

Use Quizgecko on...
Browser
Browser