Best practices and user guide for deploying any application to mobile users
As enterprises gradually introduce more smartphones, tablets, and mobile applications into the business environment, the Technical Department also began to provide mobile mail and browser functions to further help users access important information based on Windows and other business applications. Access to business applications can bring a better level of productivity and response capabilities to mobile staff, and more smoothly complete information transmission when serving customers and colleagues collaborate, this helps employees achieve various important business goals, such as improving customer satisfaction and accelerating the marketing of new products and services.
Enterprise-level application access capabilities for mobile devices can be achieved in multiple forms:
1. Deploy third-party mobile applications and services
2. Port Windows applications to the mobile platform for each device
3. Write New and platform-targeted code projects
4. Develop Web-based mobile applications
5. Create a hybrid HTML 5 application that allows hardware devices to access the underlying platform.
6. Use a virtualized Windows Application
When talking about the user experience, ease of deployment, maintenance, and flexibility of an account, each solution has its own advantages, short board, and the most suitable case type. When employees use a variety of personal devices to access business information at work, the wide and open mobile world will also bring serious management, security, and privacy protection problems.
Deploy third-party mobile applications and services
It may be necessary for third-party vendors to develop a mobile platform suitable for actual use, which is the most convenient way to provide enterprise-level applications for mobile devices. This is also the most ideal solution for companies that lack rich development talent reserves. Deploying third-party applications can help managers save a lot of effort and resources for application development, maintenance, and updates, even for those organizations with relatively powerful technical teams. Third-party applications are often optimized for each set of platforms at the core experience levels such as display effect, user experience, and performance.
The biggest limitation of such solutions is that enterprises often need to wait a few months to truly use the actual products. In addition, when the related solutions are put on the market, the application itself may not contain all the features we need, and does not support the various types of mobile operating systems actually used by the enterprise. You may need to purchase and deploy additional software products for various mobile devices and different operating systems to achieve all the necessary features as expected. Of course, if the development results are of outstanding quality, third-party applications will often bring users the best and most optimized solutions.
Application porting
If no third-party applications are available, porting traditional applications is another most convenient and feasible mobile device transition solution with the lowest resource requirements-at least less effort than developing a new mobile version of an application from scratch. Theoretically, if an application was originally written in a language with C ++ and other portable features, you can re-compile some code that has device dependencies, and then compile it so that it can run smoothly on every mobile platform. Porting is also an effective way to ensure that mobile applications for a specific mobile platform, such as iOS, can run on other mobile platforms, such as Android. Unfortunately, the porting work is not as easy as it is in theory from a practical perspective.
Developers proficient in mobile technology may indeed be able to successfully port a Windows application to a mobile platform. However, porting is actually a complex task that is extremely difficult and full of unknown risks. In practice, porting usually involves a lot of code re-writing and a secondary interface design for small screens.
Why? PC applications fully consider the use of the keyboard, mouse, large memory and storage resources, high-speed processors, and internal connection mechanisms, however, these foundations do not exist on smartphones or even tablet devices. Windows users are willing to spend a lot of time in front of their desks to fully enjoy a variety of functional options, however, mobile users often want to quickly access some of the most basic functions and information while walking on the streets or enjoying their leisure time in the coffee shop. Therefore, simply porting an application to a mobile platform may make the application unable to provide users with the desired user experience, or even cause devices to suffer from insufficient performance. Without rich development experience, there is no way to talk about a good user interface, which will lead to the need for users to use a large number of subtle operations in order to play the functions provided by the interface. In terms of advantage, this will make users angry and angry. In terms of disadvantages, users may even miss the notification information, function buttons, and other necessary components that are sometimes not visually displayed.
Finally, you may need to port your applications to a variety of mobile platforms, which requires us to invest more resources in the applicability of mobile devices.
However, if users do not need to perform a large number of operations on their business applications like other common mobile users, therefore, the porting scheme may become a very cost-effective solution to provide users with the ability to access business applications without making too much money.
Develop native applications
If the mobile version of a third-party application cannot appear in the short term, and porting cannot provide a suitable user experience for our mobile users, therefore, developing a native mobile application is worth seriously considering, especially when these applications are closely related to the core business of the enterprise and everyone has sufficient development resources.
When developing the native mobile version of an application using tools provided by the vendor, you need to review and optimize the graphic user interface, display effect, network connection mechanism, memory usage, and specific methods for processing touch and location recognition on different platforms. You can include all the functions required by the user in the production process, and cancel these functions after the user leaves the production environment. For a native application that has been strictly planned and developed, providing the best performance and satisfying user experience is a prerequisite. In addition, mobile apps should be able to provide security features that everyone needs, including calling native mechanisms on each mobile platform.
The main disadvantage of developing native mobile applications is that we need to consider time factors, complexity, costs, and related resources necessary for planning and development. Small and medium-sized enterprises may not be able to develop Native mobile applications at all due to cost or skill reserve considerations. Although some enterprises have the resources to develop applications for a single mobile platform, they still cannot meet the actual requirements of the BYOD environment for multi-platform operation capabilities. In addition, during the application development cycle, users may choose other new devices or add other requirements, which may make our existing development achievements instantly junk. In addition, our IT department also needs to invest additional resources to update and maintain applications. However, if you have the necessary resources and the planning policies required to provide high-performance, critical business applications and their special functions, developing native applications may become the most ideal solution.
Mobile Web Applications
For enterprises that use a variety of different mobile platforms at the same time, developing an application that can directly run on the website is definitely a brilliant choice. Theoretically, a single mobile application based on the Web mechanism can significantly save necessary development resources in the BYOD environment. You can develop an independent website or an application running on a browser page. All related changes or upgrade tasks can be completed on the website, and then delivered to the user in a unified manner. Web-based applications can be delivered to users in an internal mode or as a third-party SaaS solution.
The disadvantage of such solutions is that Web-based applications may not be able to optimize a single device, so performance and functionality may be compromised during the implementation of processing. In addition, developers also need to take into account the detailed adjustments for various mobile browsers in the design. Browser-based applications also bring about a series of security issues, especially when users use the same browser to access personal network content. Websites infected with malware may also infringe on user devices and finally pass malicious code to the business network. In addition, if you deploy some Web application background functions in enterprise DMZ to simplify access, these components may become a machine where hackers and malware intrude into the internal network.
Hybrid applications are superior to pure Web applications in terms of performance, because such solutions provide better hardware targeting. Compared with native applications targeting a variety of mobile platforms, hybrid development and subsequent update mechanisms require less time and less resource sensitivity. However, the actual performance of hybrid HTML 5 applications may still not reach the height of native applications developed for specific device platforms, and the degree of customization is also lacking. In addition, native applications are more reliable than HTML 5 hybrid applications because they can access advanced security features and encryption mechanisms on each platform. Of course, developing native applications is more convenient than HTML 5 hybrid applications in terms of unique device functions.
Here, we recommend that enterprises develop a native application for the highest proportion of mobile platforms, and then use the HTML 5 hybrid solution to cover other secondary mobile platforms.
HTML 5 hybrid application
HTML 5 brings us a unique excellent feature that combines the cross-platform advantages of Web development with the highly targeted advantages of native applications. With this hybrid application, most subjects of the application can achieve cross-mobile platform running through the HTML 5 development mechanism, the detailed adjustments made to various platforms ensure that applications can fully utilize the full potential of unique hardware and operating system specifications on different platforms.
The HTML 5 mobile specification contains a JavaScriptAPI that can point to various underlying features on various mobile platforms. Applications developed according to this specification will be able to use inherent features on hardware, such as device cameras or platform features, such as geographic positioning and touch screens. You can also use a large number of third-party JavaScript libraries to implement more functions closely related to the device itself.
Virtualization of desktop systems and applications
The most convenient and fast way to achieve the Mobile Access Effect of internal applications without considering the operating system type is to use virtualization technology. Citrix XenDesktop and Citrix XenApp are both mature Desktop System and Application virtualization platforms that help users access enterprise-level Windows applications through virtualization. Users can access applications centrally stored in data centers through enterprise networks or application interfaces, it also integrates the secure and encrypted file system with the enterprise's mandatory management policy on mobile devices through data streams and localization. The administrator can even configure the application stream to allow users to access the mobile application offline within several hours, so that users can continue to have production capabilities without being able to access the network.
Citrix provides a portfolio of tools to adjust the user experience of virtualization applications on individual mobile devices and operating systems, including adding appropriate Touch support capabilities.
The main advantage of the virtualization solution is to provide cost-effectiveness, ease of deployment, applicability of a variety of mobile platforms, and security assurance, especially when applications run inside the data center. The virtualization mechanism requires fewer development resources. Its performance is outstanding and can even provide an ideal user experience with low-bandwidth connections.
However, the user experience customization capability of the virtualization mechanism cannot be compared with the native applications developed from scratch. Without a suitable native or third-party mobile solution, virtualization is an excellent temporary alternative.