[PDF] [PDF] Mobile App Development Approach & Decisions - Happiest Minds





Previous PDF Next PDF



[PDF] Web native and cross-platform - three approaches to mobile app

There are three broad approaches to developing mobile applications: Web Hybrid and Native Each affords distinct advantages to a mobile development team and 



[PDF] Choosing The Right Mobile App Development Approach

A one-size-fits-all approach will look out of place on any Android iOS and Windows device Hybrid Apps capable of are just as easy to accomplish in native 



[PDF] An Analysis of Mobile Application Development Approaches

These cross-platform development methodologies avoid repetition in app development and foster the existing skillset of developers and greatly influence to 



[PDF] Mobile App Development Approach & Decisions - Happiest Minds

Mobile App Development Approach Decisions Application Development strategy - should the app be targeted across all available platforms?



[PDF] AN APPROACH TO HYBRID TECHNOLOGY FOR MOBILE

the development of native android applications arise organization/ department developers must consider the approach of e-governance to m-



[PDF] Native VS Hybrid App Development - GCD Technologies

These are the three core approaches to app development that are widely used and as a custom software development company the ones we use



[PDF] Evaluating Cross-Platform Development Approaches for Mobile

The fragmented smartphone market with at least five impor- tant mobile platforms makes native development of mobile applications (apps) a challenging and 



[PDF] Development of Mobile Applications using a Model-Driven Software

context of the cross-platform mobile application development The traditional development approach of mobile applications considers source code as the 

© 2012 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved March 2012

Dealing with the Dilemma:

Mobile App Development Approach & Decisions

By Mobility Practice

Happiest Minds

© Happiest Minds Technologies. All Rights Reserved Overview Today, mobile applications have become an integral part of nearly eǀery organization's business strategy. With th e right strategy, mobile applications can not only wi n new customers and revenue streams, but can also help in retaining existing customers and drive greater mobility adoption and penetration. At the same time, due to extensive publicity, sales and branding undertaken through mobile channels, there is also a higher risk for a brand if a wrong mobility strategy or technology is adopted. Companies also have to cope with a fast-evolving environment characterized by rapid changes to operation platforms and releases along with a constant influx of new devices and form factors. Additionally, with multiple channels emerging for reaching out to mobile app users in terms of technology, platforms and User Experience (UX), companies are faced with the dilemma of making the right choice. Since the mobile application user base is diverse, apart from various other business parameters, there are a few important questions that we need to answer before we decide on a Mobile Application Development strategy - should the app be targeted across all available platforms? Do I need my app to acces s GPS, ca meras a nd other devic e-specifi c functions? DoI need a uniform UX for the app across platforms? What is the EOL of the apps? Should I just stick to creating a mobile website? DzC‡-3‹œ‡ ‹- • AŽŽdz does not hold good f or Mob ile App

Development. So ™Šƒ-ǯ• the way out? Companies are trying to decide on what type of Mobile Applications they should deliver to their

target users. This is a very critical decision that involves a trade-off between providing a rich, native user experience v ersus the portabi lity of the ap plicati on across platforms that wi ll sacrifice the ric h nativ e UX. There are p ros and con s to e-adopti ng b oth paths an d each company have to evaluate this issue based on key parameters such as native experience, cost of development, time to market, ease of deployment, and managing the apps - to determine what the best choice is for them personally. This paper discusses the following types of mobile app development and briefly outlines the advantages and disadvantages against each of them. © Happiest Minds Technologies. All Rights Reserved Native mobile app development Criteria that can help you make the decision on choosing the right mobileapp development strategy

1.Native UX

2.Portability

3.Time to market

4.Maintenance& management

5.Ease of deployment

Native Mobile App Development

Native mobile apps are developed using the native language of the mobile operating platform. These apps have access to all the device capabilities and functionalities as they use the native SDK for the app development. These applications provide the highest UX factor as compared to any other type of app development. Advantages Disadvantages

Mobile Web App Development

Mobile web apps are developed using mobile web framework technologies like HTML5, CSS3, and Java Scripts. These Apps are executed on the Web servers and accessible via Mobile Web browsers and are hi ghly p ortab le across multiple mobile platforms. However, they lack in creating a native, rich UX. Despite the fact that some of the device specific functions and offline stores can be accessed through HTML5, there are several constraints due to the dependencies of the sandbox nature of specific platforms and the extent of adoption of HTML5 specifications by native browser components that are still evolving.

© Happiest Minds Technologies. All Rights Reserved A detailed Primer on HTML5 and its capabilities are provided in the Appendix.

Advantages Disadvantages

Hybrid App Development

As the name suggests, Hybrid app development platforms use combination of both web based and native app development. Applications are built using web technologies like HTML5, CSS3, and Java Scripts and involve the native APIs for access to device specific capabilities. These apps are resident on the devices as they are packaged within the browser control of the platform and compiled using the native SDK. This type of app provides better portability across platforms as c ompared to nativ e apps an d they rely on the p latform provider for hybrid platfo rm development. Some of the hybrid platforms also provide flexibility to extend and customize the platform by adding additional wrapper plug-ins so that the apps can leverage plug-in extensions to access more specific native device capabilities to a limited extent. Advantages Disadvantages

Access to limited native device

capabilities

Very good portability across platforms

Good ease of deployment like Native

apps

Decrease in total cost of ownership

Better time to market UX better than mobile web apps, but not on par with native UX

Possible lower performance due to

browser based dependencies and the extent of the web dependency

Dependency on the hybrid platform

provider capability for native API extensions © Happiest Minds Technologies. All Rights Reserved Cross Compiled App Development Applications created th rough the cro ss complied app f ramework are deployed di rectly on devices. These apps are developed by leveraging cross compiler frameworks that transform the source code c ompiled in to the native devi ce specific p latforms . These framew orks provi de specific APIs that leverage deep native integration capabilities and the apps developed through this method have a rich user experience that closely mirrors the native UX. On the flip side, the portability of such apps is much lower when compared to hybrid or web based app s. Advantages Disadvantages

Virtual Machine based App Development

Virtual machine base apps are developed with custom languages and they run on a virtual machine for each target devices or operating systems. App developers may not be required to write lot of code but have to make configuration changes that will allow the app to be executed over a virtual machine. The portability of these apps is much easier and the app success largely depends on the quality of the virtualization platform and the tooling that it exposes for app development. Advantages Disadvantages © Happiest Minds Technologies. All Rights Reserved An overall comparison of approaches

Criteria Native App

Development Mobile Web App

Development Hybrid App

Development Cross-Complied

App Development Virtual Machine based

App Development

User

Experience

Portability

Time to

Market

Maintain &

Manage

Ease of

Deployment

While it is difficult to make a strai ght fo rward d ecision in selecting a tool, the fo llowin g parameters should be taking into consideration along with business requirements: ƒCapabilities in handing use cases - What would be the application capabilities across other platforms? Will it have similar capabilities across platforms? Unfortunately all platforms cannot handle application capabilities in a similar fashion. For example, iOS hands user

notification and application states are different from those on Android.ƒUser Exp erience - How do other p latforms ha ndle application v iews? Views that ar e

implemented in iOS may not be possible to implement in Android and/or Windows Mobile phone.ƒSecurity - Will uniform security features be implemented across all mobile platforms? For

example, platform security implementation in iOS is different from Android and RIM OS.ƒSynchronization - Some smartphone application need to contact the server to synchronize

the dat a. What woul d be the appli cati on's d ata synchronization approach across all platforms?

© Happiest Minds Technologies. All Rights Reserved ƒPerformance - Will the application performance be compromised when implementing the

solution across other platforms?ƒStorage - All smartphone applications provide APIs to store data in the device. The storage

capability and storage style (locale, file system etc) should be analyzed thoroughly before

building the application across other platform.ƒMarketing and Distribution - How will the application be distributed when available across

multiple platforms? While some applications are distributed via side-load, others can be distributed via the enterprise app store. HTML5 will be the best fit to start the develo pment proces s if p erformance and UI is compromised. This will allow organi zations to create a quic k GTM strategy and market presence. While this approach does away with the need install the application on the device, it does not enable consumers gain full access to application features without a data connection. However native applications are a best fit when handling offline application features like field force capturing sales orders, etc. For organizations that are looking to package websites and web applications as native apps, solutions like PhoneGap may be a good fit. This open source framework wraps exi sting appli cations to create a native app that leverages a w eb viewer component. Organizations can also take the web application route, where they can build an HTML5-driven application that l runs on most sy stems and devic es. This can work if the application is very simple and leverages only the common denominator functionality of HTML5 that is supported across all browsers. The best path for an organization really depends on the team's edžpertise, budget and time-to-market requirements. While native development offers the most functionality and options, alternatives in the market like Titanium, QT and OpenPlug

proǀide massiǀe adǀantages in leǀeraging a team's edžisting skills to deliǀer an application that is

faster-to-market and ultimately cheaper to build.

Migrating a HTML5 web application to Mobile

Mobile web applications have become increasingly prevalent because of their ability to deliver

a ͞personalized web edžperience". By leǀeraging deǀice features like location and cameras, it

delivers relevant information users, thus enabling them to perform operations immediately. A question asked often is - how can we leverage existing desktop based websites and convert these into mobile versions in a quick and cost efficient manner? Ideally organization should be able to provide a mobile version of their existing websites without changing a line of code.

© Happiest Minds Technologies. All Rights Reserved However in reality, a website designed specifically for mobile will always provide a much better

user experience to mobile users. The two most popular approaches for mobilizing existing website are:

1.Screen scraping - This technique basically reads through the HTML and converts it into a

mobile versi on by replacing t ags. Ho wever this does n ot deliver an optimum user experience as this technique cannot leverage the device capabilities to provide true context.

2.Miniaturization - This technique uses style sheets to adjust existing web pages to a

mobile form factors. Again this technique does not provide context and results in a less than optimum user browsing experience.

The advantages of the above approaches include:

1.Quick deployment to mobile web -these can be achieved within a 3-4 week timeframe

2.Lower costs

3.Availability of proven off-the-shelf tools which can enable quick transformation

Taking the above factors into consideration, the recommended approach would be to think mobile and design web applications that are intended to be used on mobile as a separate exercise. A major consideration to be kept in mind is - ͞neǀer design for the lowest common denominator" while using the following design principles:

1.Detect device capability and adapt the content to be delivered

2.Simplicity - An effective mobile layout needs to simple. The information presented needs to

be s tructured into a layout that minimiz es scrolling and the need for zooming. . Fo r example, y, a single column layout is generally preferred to avoid cluttering and horizontal scrolling.

3.Navigation - Mobile web applications need to provide an easy way of navigating between

web pages and make optimum use of the device capabilities. For example, the navigation mechanisms in to uch bas ed smartphone are primarily icon and tab dri ven, wh ile the navigation is menu driven for devices with keyboards. Reducing the number of click to perform an action is necessary to enhance user experience.

4.Content - The content needs to be adapted based on the device.

a.Hide unnecessary text and links to optimize use of screen real estate b.Use different graphics for different resolutions

© Happiest Minds Technologies. All Rights Reserved c.Video formats need to be adapted to the device supported formats

d.Interaction mechanisms need to be customized based on device capabilities- The mobile web experience would be badly affected if it depends

on per sistent internet con nection. Mobile web apps need to leverage loca l caching mechanism to d eliǀer a smooth user edžp eri ence while nego tiating ͞d ead-zones" and

network signal variance.- Mobile web apps need to provide fast response times to the user. This can be

achieved by keeping their size small, local caching and usage of background processing to provide a seamless browsing experience.

Advantage - HTML5?

There is no easy answer with regard to selecting HTML5 or native applications due to multiple factors that need to be considered in the decision making process.

1.E nd user experience

The type of content or service that best fits on web or apps is dictated by the end user needs. Obviously, games works best as native apps as they often use heavy graphics and benefit from not having to access resources via a browser. However, shopping (mCommerce) and services apps are better suited for the mobile web.

2.Marketing

Native appl ications are great for marketing. Once you have an application, you can attract potential interest since the ͞application phenomenon" is hyped and in demand these days.

3.C ustomer priorities

Customer priorities play a big role in deciding the technology approach. If the customer wants the best user experience irrespective of cost, then the native approach would be right way to go ahead. On the other hand, HTML5 is a better option for customers looking for a good user experience with better code and app manageability.

4.A pplication features

© Happiest Minds Technologies . All Rights Reserved The features that need to be supported in an application will decide whether HTML5 is a right

fit. If the application needs access to device features like contacts, calendar, etc, then HTML5 cannot be used.

5.T echnology landscape

The ch anging technology l andscape dictates the tech nology of choi ce. Network cover age, bandwidth availability and device capabilities play a big role in deciding the app development platform. For example , SMS based apps are the most convenient and the b iggest hit in developing countries because of various technology constraints. Although there have been significant improvements in the mobile web technology in recent times, there are still areas where native applications are the best fit. There is no right answer in the debate on cho osing between mobile web and native application or going for b oth. A detailed analysis of the parameters needs to be done to arrive at the right approach best suited for your organization.

Doing the Balancing Act & Conclusions

Based on the abo ve criteri a, it is clearly seen that o rganizat ions n eed to prioriti ze their requirements through a mobile strategy in order to come up with a decision-making map on the type of mobile applications that needs to be built. Some of the questions that need to be addressed while deciding on the strategy are -

1.Are we building applications that are graphics intensive?

2.Are we building applications that need a lot of algorithmic computation?

3.Does the application need integration to device specifics?

4.Is app security a high priority?

5.Do we need to deploy the app on multiple platforms?

6.What changes do we anticipate in the app and can this be addressed on a chosen

development model?

7.Is there an immediate need to deliver the app to the market?

8.What is the EOL for the app being developed?

9.Are the chosen tools mature enough to provide sufficient support for development?

10.Does the app need to sync with back end systems and data sources?

11.How frequently do we need to upgrade the app and does the app storefront

deployment plan support this requirement?

© Happiest Minds Technologies. All Rights Reserved A key aspect that should be followed during the decision making process is the consideration of

native UX versus portability since this has broad ramifications on the application manageability, time to market and cost. As the application portability increases, the richness of its native UX decreases. At the same time when the app has a rich native UX, its code reuse decreases while the cost of maintenance

goes up. Developing apps that have native UX will also increase its time to market significantly. Source: Gartner Report

© Happiest Minds Technologies. All Rights Reserved Appendix

Embracing HTML5 standards for Mobile environment

HTML5 is the new evolving standard for browser based application development. This is driven by W3C and WHATWG bodies with notable industry participation. The specification of HTML5 is in the working draft and several vendors have already adopted many of these standards. Some of the major capability areas of HTML5 are as follows: a.Several new elements that are introduced b.Embedded audio and video interactions c.2D drawing through built-in canvas d.Offline storage e.Geo location This section provides a briefing on the HTML5 features and capabilities.

HTML5 Features

Elements

The following are the high level elements classification of HTML5. These new elements enable

clearer and simpler markup that makes pages more obvious on mobile devices. Elements of HTML5 Description

Structural Headers, footers, articles, navigation and sections

Block semantic Dialog, figure, aside

Inline semantic Progress, meter, time

Interactive Command, menu, datagrid, details

Storage on the device

Below are the methods that can be utilized for client-side storage. Storage of HTML5 Description

Sessions Storing in browser based sessions

Local This is a persistent storage. The scope of local storage can also be controlled Database Storage ability to use SQL database and can be programmable © Happiest Minds Technologies. All Rights Reserved Canvas drawing Canvas in HTML5 is used to draw graphs on the fly usually through java scripting. The canvas has several methods for drawing paths, boxes, circles, characters and adding images.

Embedded audio and video

HTML5 defines a new element that specifies a standard way to embed audio files on a web page. They are also designed to give users a faster experience by doing away with browser plug- ins such as Adobe Flash.

Offline access

This feature is used to improǀe an application's performance by storing data in the cache or to make data persistent between user sessions and when reloading and restoring pages.

JavaScript APIs

HTML5 provides JavaScript APIs to exploit several browsing features. This also aids in improving the user interactions on the browser. GeoLocation API will edžtract the user's longitude and latitude coordinates.

Support for HTML5 in mobile browsers and devices

The advent of Webkit browser engines is further driving HTML5 penetration into the mobile devices.

Some of the early adopter of HTML5

quotesdbs_dbs21.pdfusesText_27
[PDF] app development budget template

[PDF] app development process diagram

[PDF] app development process example

[PDF] app development process flowchart

[PDF] app development process overview

[PDF] app development process pdf

[PDF] app development process steps

[PDF] app development process template

[PDF] app development vs web development reddit

[PDF] app development vs web development salary

[PDF] appart hotel paris 5

[PDF] appart hotel paris 5 personnes

[PDF] appart hotel paris 5eme arrondissement

[PDF] appart hotel paris 6

[PDF] appart hotel paris 6 mois