MOBILE
APPLICATION
     DEVELOPMENT
By Ankit Attkan
Department of Computer Engineering
National Institute of Technology, Kurukshetra
    WHAT IS MOBILE
    APPLICATION DEVELOPMENT?
●   Mobile application development is the set of processes and procedures involved in
    writing software for small, wireless computing devices, such as smartphones and
    other hand-held devices.
●   Like web application development, mobile application development has its roots in
    more traditional software development.
●   Mobile apps are developed specifically to take advantage of the unique features of
    a particular mobile device.
●   The most prominent mobile platforms: iOS from Apple, Android from Google and
    Windows Mobile from Microsoft.
●   Phones and tablets from Apple come with preloaded essential applications,
    including a full web browser and the Apple App Store.
●   Android devices also come with preloaded similar apps and you can install more
    using the Google Play Store.
    MOBILE APPLICATION
●   In the early years, mobile apps was developed natively to ensure an app
    could perform optimally on mobile device and code had to be written
    specifically for each device's specific processor.
●   It was very little that code was reused from initial development project.
●   Modern cross-platform tools use common languages such as C# and
    JavaScript to share code across projects.
●   Before developing an app, one need to determine type of mobile app.
    Several Type of Mobile App are:
    •   Native applications: These applications are built using integrated development environments
        (IDEs) and languages for mobile OSes such as Apple iOS use Objective-C, Swift and Google
        Android uses Java. Native apps enable you to customize necessary features, but they can be
        more costly than other technologies. Example Whatsapp, Facebook, Gmail, Twitter.
    MOBILE APPLICATION
•   Hybrid apps. These are extension to regular web apps that act like native apps. They are developed
    using technologies such as HTML, JavaScript and Cascading Style Sheets (CSS). Hybrid apps are
    more cost-effective to develop than native apps and can be created faster, but they aren't as feature-
    rich as native applications. Example: Instagram, Myntra, Yelp, Amazon Store etc.
•   Progressive web apps. A PWA is a website that looks and behaves as if it is a mobile app. These
    applications are developed with web technologies. Example: MakeMyTrip, Dominos, etc.
•   Encapsulated apps. An encapsulated app runs within a container app. Products such as the
    Microsoft Power App drag-and-drop app creation tool enable less experienced developers to build a
    mobile application rapidly. But the lack of isolation from the core OS, OS lock-in and the relative
    newness could pose problems.
•   Frameworks and libraries. You can use this reusable code written by someone else to accelerate
    your development of a mobile app.
    FEATURE OF MOBILE
    APPLICATION
•   Simplicity: Many People have short attention and patience span and if
    mobile app is difficult to navigate then they will lose interest fast and they will
    look for another way- possibly by using competitors' app. Clear, uncluttered
    screens with obvious leads to the next step in the app process and no
    ambiguity improve the customer experience and will encourage them to
    continue to use it.
•   Speed: Fast loading screens are vital. No one likes waiting. Speed means
    an appropriate set of graphics and not fetching large tables and databases.
    Keep it simple and keep it quick.
•   Good image resolution: While you need to balance app speed against
    functionality and resolution. Also need to ensure that screen is sufficiently
    detailed to make the user experience worthwhile.
●   Flexibility: Mobile app must is cross platform suitable.
    FEATURE OF MOBILE
    APPLICATION
•   Security: Internet security is becoming an ever-increasing issue and the same
    applies for mobile app. With many applications storing personal and sensitive
    information or credit and debit card details, security is an absolute must.
•   Easy Navigation and Search options
•   Bright and Bold colour schemes: Mobile app must look stylish and professional
    at the same time.
•   Push notifications: Short messages that pop up on the user’s screen or
    notification bar, nudging them to take some action.
•   User feedback: Putting a feedback button on the app enables the client to tell what
    they think would make app better.
•   Updates: Send out updates periodically for betterment based on user feedback and
    respond to security issues.
MOBILE APPLICATION
DEVELOPMENT PROCESS
    MOBILE APPLICATION
    DEVELOPMENT PROCESS
●   Define your strategy based on:
    •   What is the objective of your app? What problems will it solve?
    •   Are there existing apps that perform this function? If so, what do they do well? What
        are they lacking?
    •   Who is the app designed for?
    •   Will you be hiring developers or using an internal team?
    •   What is your business model?
    •   How much are you willing to invest in developing this app? Will you have investors?
    •   How long will it take to build this application?
    •   What is your marketing strategy?
    •   Are you designing your app for one of the app stores? If so, do you have the necessary
        licensing agreements and design and testing criteria?
    MOBILE APPLICATION
    DEVELOPMENT PROCESS
●   Select your team based on:
    ○   If you're creating this app on your own,
      ■ Do you need to hire a developer?
      ■     A marketing person?
    ○ If you're creating this app for your organization:,
      ■ Will you have stakeholders from several departments participating in the process (i.e.
           , C-level, marketing, sales, IT)?
●   Sketch out and Brainstorm:
    ○   How your mobile app will solve the problems you've identified.
    ○   What features and functions you'll include.
    ○   Prototyping can be as simple as using a whiteboard or paper to sketch ideas, or tools.
    ○   Keep user experience in mind when developing your vision including things like design,
        usability, security and performance.
    MOBILE APPLICATION
    DEVELOPMENT PROCESS
●   Designing: Develop your product plan, blueprint or roadmap using findings
    from the previous step.
    ○   Create a step-by-step process for assessing your priorities and deliverables.
●   Start App development by selecting appropriate app development tools
    based on your requirements. This process must have key functions, such as:
    •   Applying automation where possible;
    •   using cloud services;
    •   working with open source tools;
    •   frequently communicating with the team; and
    •   continuously testing the code.
●   Create your prototype so you can share the app with your investors or other
    stakeholders. Use their feedback to refine app development and further
    testing.
    MOBILE APPLICATION
    DEVELOPMENT PROCESS
●   Testing of mobile application is carried out for checking:
    ○ Functionality
    ○ Performance
    ○ Ease of navigation.
●   Once the app passes these tests, it's time to roll it out to users for
    official beta testing. This process includes multiple rounds of review
    and incorporating user fixes prior to creating a deployable version of
    mobile app.
●   Once your app has undergone the requisite testing and review, it's
    ready to deploy. Also create a channel for feedback from users and
    provide continuous support and maintenance.
    MOBILE COMPUTING
●   Mobile Computing is a technology that allows transmission of data, voice and video via a
    computer or any other wireless enabled device without having to be connected to a fixed
    physical link.
●   It is human-computer interaction while computer is expected to be on move during normal
    usage.
●   In this technology, data transmission is done wirelessly with the help of wireless devices
    such as mobiles, laptops etc.
●   It provide access and transmission of data from any remote locations without being present
    there physically.
●   The concept of Mobile Computing can be divided into three parts:
    • Mobile Communication
    • Mobile Hardware
    • Mobile Software
    MOBILE COMMUNICATION
●   Mobile Communication specifies a framework that is responsible for the working of
    mobile computing technology.
●   It is infrastructure that ensures seamless and reliable communication among
    wireless devices.
●   Its framework ensures the consistency and reliability of communication between
    wireless devices.
●   Its framework consists of communication devices such as protocols, services,
    bandwidth, and portals necessary to facilitate and support the stated services.
●   The data format is also defined at this stage to ensures that there is no collision
    with other existing systems which offer the same service.
●   The signals are carried over the air to intended devices that are capable of
    receiving and sending similar kinds of signals. Signals are basically radio wave-
    oriented.
    MOBILE HARDWARE
●   Mobile hardware includes mobile devices or device components that receive
    or access the service of mobility.
●   Some mobile hardware devices are portable computers/laptops,
    smartphones, tablet Pc's, Personal Digital Assistants, wearable computers,
    E-Reader.
●   These devices will have a receptor medium that is capable of sensing and
    receiving signals.
●   These devices are configured to operate in full- duplex, whereby they are
    capable of sending and receiving signals at the same time.
●   These devices use an existing and established network to operate on, like
    wireless network.
    MOBILE SOFTWARE
●   Mobile software is the actual program that runs on the mobile
    hardware.
●   It deals with the characteristics and requirements of mobile
    applications.
●   This is the engine or can say heart of the mobile device. In other terms,
    it is the operating system of the appliance.
●   Main component that operates the mobile device.
●   This provides portability to mobile devices, which ensures wireless
    communication.
    DEVICES USED IN MOBILE
    COMPUTING
●   Portable Computer: A portable computer is a computer that is
    designed in a way that you can move it from one place to another. It
    includes a display and a keyboard. Generally, portable computers are
    microcomputers. Now Portable Computers are discontinued.
●   Compaq Portable:
    DEVICES USED IN MOBILE
    COMPUTING
●   Personal Digital Assistant (PDA) is also known as a palmtop
    computer. Sometimes, it is also called Enterprise Digital Assistant
    (EDA). It is a mobile device used to function as a personal information
    manager or a personal data assistant.
●   Apple Newton MessagePad 2100:
    DEVICES USED IN MOBILE
    COMPUTING
●   Ultra-Mobile PC was a small form factor version of a pen computer. It
    was a class of laptops whose specifications were launched by
    Microsoft and Intel in 2006. ultra-mobile PCs are also discontinued.
●   Samsung q1 ultra-premium:
    DEVICES USED IN MOBILE
    COMPUTING
●   Laptop: is a small, portable personal computer (PC) built in a foldable
    device. The folding structure of a laptop is called flip or clamshell form
    factor. The flip or clamshell is a form factor of a mobile phone or other
    devices that include two or more folded sections via a hinge. A laptop
    typically has a thin LCD or LED computer screen mounted on the
    inside of the clamshell's upper lid and an alphanumeric keyboard on
    the inside of the lower lid. Laptops are easy to carry for transportation,
    and that's why they are best suitable for mobile use.
●   Osborne 1:
    DEVICES USED IN MOBILE
    COMPUTING
●   Smartphone: is a mobile device that combines cellular and mobile
    computing functions into one unit. The smartphones are invented to
    provide more advanced computing capability and connectivity than
    basic feature phones.
●   Smartphones are different from basic feature phones by their more
    robust hardware capabilities and extensive mobile operating systems,
    software, internet i.e., web browsing over mobile broadband, and
    multimedia functionality i.e., music, video, cameras, and gaming etc.,
    along with the basic phone functions like voice calls and text
    messaging.
●   IBM Simon Personal Communicator (1st Smartphone):
    DEVICES USED IN MOBILE
    COMPUTING
●   Tablets: A tablet computer is generally known as a tablet. It is a mobile
    computer with a mobile operating system and a touch-screen display
    processing circuit, and a rechargeable battery in a single, thin and flat
    unit. Tablets can do what other personal computers can do, but they
    don't have some input/output (I/O) abilities that computers have.
●   First generation I-pads:
    DEVICES USED IN MOBILE
    COMPUTING
●   Wearable computers are a type of computer that can be worn by the
    bearer under, with or on top of clothing. They are also known as body-
    borne computers or wearables, which are small electronic devices.
    Some examples of wearable computers are smartwatches, digital
    fitness bands etc.
●   Apple Watch Series 1:
    DEVICES USED IN MOBILE
    COMPUTING
●   E-Reader is also called an e-book reader or e-book device. It is a
    mobile electronic device that is mainly designed to read digital e-books.
    A right e-reader provides great portability, readability, and battery life.
    The main advantages of e-readers over printed books are portability.
●   Kindle:
    ADVANTAGES OF MOBILE
    COMPUTING
●   Location Flexibility: Enabled users to work from anywhere, fixed or on move.
●   Saves Time: No need to go back to particular location for accessing a secure
    channel.
●   Enhanced Productivity: Users can work efficiently and effectively from whichever
    location they find comfortable
●   Ease of Research: Research has been made easier.
●   Entertainment: Video and audio recordings including news, movies and
    documentaries can now be streamed on-the-go using mobile computing.
●   Streamlining of Business Processes: Meetings, seminars and other informative
    services can be conducted using video and voice conferencing. Travel time and
    expenditure is also considerably reduced.
    ISSUES WITH MOBILE
    COMPUTING
●   Costly due to Wireless Medium: The Mobile computing technology mainly focuses on
    wireless infrastructure, so the cost of implementation is always high.
●   Issue due to Device Mobility: Mobility is advantage but also major issue too. One need to
    configure the device mobility feature according to the location, environment and
    surroundings of a mobile device regularly.
●   Security Issues in Mobile Computing: It arises due to the shared medium ability of mobile
    computing.
    ○   Physical security or Data security.
    ○   System security or Network security.
●   High Power Consumption: Batteries are not long lasting requires charging and source of
    power to charge.
●   These issues can be resolved by using some common tactics like
    ○   Use of VPN technology (some VPN are not safe itself)
    ○   Using Cryptography & Network Security
    ○   Use of Firewall technology.
THANK
 YOU