A mobile application, commonly referred to as an App, is a type of application software designed to run on a mobile device, such as a smart phone, tablet, smart TV, computer or smart watch. Mobile applications are intended to provide users with similar services on touch screen devices as are accessed on PCs using browser. This is achieved with the help of Services/ APIs. Mobile App development can be carried out using various Technologies/ Frameworks available today. The idea is to enable the use of suitable technology or framework as per different criteria and requirements. The mobile app development frameworks can be broadly categorized as: • Native Mobile App Development • Progressive Web Mobile App Development • Hybrid (Cross Platform) Mobile App Development Native Frameworks These frameworks are available for development of mobile app meant to be used for a specific Mobile OS only. These are developed using programming languages and tools that are provided by the company that develops the platform and the OS on which they will run on. To mention a few, android app can be developed using Java or Kotlin languages using Android Studio or Eclipse IDE. Similarly, iOS/ Apple mobile app can be written in Objective C or Swift using Xcode IDE provided by Apple. There are some advantages and disadvantages in opting for Native framework: Advantages • Fastest between the three frameworks • Single Mobile Platform to focus up on • Distribution through Platform Dependent App Stores • Most Interactive and Intuitive • Advantage to use Device Essentials • Smaller in size as compared to Hybrid Apps Disadvantages • Needs separate development effort for each Mobile Platform • Platform Dependent Language and IDE Knowledge • Expensive as Requires Platform Specific Skill set therefore also difficult to maintain Progressive Web Mobile App Such kind of app development is more suitable for the web application developers and is focused for mobile devices. Such apps are accessible through web browsers and do not have easy access to device essentials. Therefore, do not enjoy the advantages available for a mobile application in terms of availability of various components of mobile device like camera, GPS etc. The pros and cons of using this type of framework would be: Advantages • First choice for web developers, being developed using HTML/ CSS/ JS • Easy to maintain for web developer being similar to web application • Freedom of Platform/ Language maintains continuity • Cost Effective as compared to Native and Hybrid Apps as no additional technical manpower required if you have a web developer • Single App for all Mobile Platforms (being accessible on browser only) Disadvantages • Browser based access • Slower than Native & Hybrid Apps • Cannot use the Advantages of Mobile Device Components • Limited UI/ UX Less Intuitive • Cannot be Installed on Device • Cannot be hosted on App Store, No Icon based Identification Hybrid Mobile App Development Framework This is the most suitable framework if the focus is to provide mobile app for multiple platforms with single development effort. These apps provide native app like experience and 80-90% of the source code is utilized cross-platform which saves resources in terms of manpower and time. There are some positives and negatives with this kind of framework also: Advantages • Expertise of one language/ IDE required • Cheaper than native Apps framework • Distribution through Platform Dependent App Stores • Most Interactive and Intuitive • Advantage to use Device Components Disadvantages • App Size if bigger than native apps (3-4 times) • Little bit slower as compared to Native Apps • The choice of UI controls limited to availability on all mobile platforms to be covered • Using device components/ essentials not easy sometimes Steps to Develop Mobile App Strategy The first and foremost step is to prepare a strategy for mobile app development. This includes Identify the app users, research the competition, establish the app’s goals and objectives, identify what would be app target G2G, G2C, G2B or G2E or may be multiple service delivery types and also select a mobile platform for your app development. Analysis and Planning Identify the requirements and prepare product roadmap. Define use cases covering the complete functionality being planned in the App. After listing the functions, decide priority for each functionality to converge into versions. Then group Functionalities into Milestones and versions. Decide the App Name – Check for availability of same or similar names on app store to distinguish from existing ones. UI/ UX Design Create a seamless and effortless user experience. The most important part of any mobile app is the app functionalities should be easy to use and should be intuitive. A mobile app can be designed based on advanced gesture features like Tap, Swipe, Drag, Hold and more. Apps can use these gestures to offer innovative functionality that can help users to perform a task in better way. For example, an app can let users move to a next or previous step using the swipe gesture. The UI/ UX has a goal to make excellent User Experience making the app Interactive, Intuitive & User Friendly. The UI will help in user’s early adoption and intuitive UX will keep the user engaged. Information Architecture Deciding the data the App will Display, data the App will Capture. The Transactions/ Interactions User will carry in the app the navigations within the app using the gestures or buttons. Also decide the workflows. Need to define the role-based access for the Mobile App (similar to the Roles being used in your Applications). May Plan limited Roles to start with and add functionalities of more Roles in future Wireframes Mobile App designers sketches the screens on paper keeping in mind the Mobile Screens. Wireframes are nothing but digital sketches of these screens. Wireframes help to understand the look and feel of the App being developed (as a prototype as sketch) . Standard Style Guide Follow the Standard set by the organization. Like logos to be used fonts to be used, color schema to be used, about the developer for feedbacks as email in addition to app store feedback reviews. Standard header/ footer, if any, to be placed. Mockups The second phase of Wireframes is to apply the Standard Styles on Wireframe to convey a final look and feel of your app where colours, images to be used are also part of design. This gives and exact screen wise look of the app being planned. Prototypes Arranging the mockups to produce app functionalities. This helps to go through the App as a prototype (Simulation). App Development Planning remains an integral part of this phase in the mobile app development process. Before actual development/ programming efforts start, developer will have to define the technical architecture, pick a technology stack and define the development milestones. A typical mobile app project is made up of three integral parts, back-end/ server technology, API(s) and the mobile app front-end. UAT & Deployment Once the Development is complete, user acceptance testing is carried out and modifications are carried out as per testing feedback. Finally, the app is submitted in the respective platform App Store for publishing and is made available to the user for installation. Advantages with Mobile App Development as Developer Mobile Device Features It enables ease of utilizing features like Camera, GPS, Contact List, SMS, Phone Calls, Gravity sensor etc. These device specific features are easy to use for the user as well as easy for the developer to incorporate. The app developer must mention the permissions required in the app. In case some sensitive data is being captured or sensitive permission is required, app store dependent declaration and privacy policy becomes must. Ability to work offline The other major advantage with Mobile App is leverage of local app-based database which can be integrated in Mobile App for online and offline features. There can be an app which provides tool for field functionaries to report progress or even Geo Tag assets or locations. The basic data as per user’s role can be provided offline in the app using Web API at a connected location and the data collection can be carried out against this offline data in the field by the app users. This offline data can be sent to central server automatically as and when the user gets connectivity. Application Areas Providing services to different set of users in Government through mobile apps is known as mGovernance. The mobile apps can be useful where services are provided to the citizens and they need to apply through a form and upload documents or photos. The form length is limited and status of submission and service delivery comes as an SMS or mobile notification in the App. The user doesn’t have to login repeatedly and remember the User credentials/ passwords. The Mobile apps can be used for location-based services like geo-tagging of Government assets, taking feedback, carrying out location based inspections to ensure that it has been carried out on-location only. Mobile apps are also useful in providing all Government information, contacts, tourist, hospital, police, petrol stations, directions for emergency services, one click based SoS services, voice and face recognition-based services.
Technology Update
Mobile App Development Technologies/ Frameworks and Steps to Develop Mobile App
From April 2021 • Informatics, National Informatics Centre