HTML5 is expected to enable developers to achieve multi-purpose web application development and solve many issues facing mobile development. The real advantage of this is in the consumer space with features of social media and videos. But, as for the business application space, HTML 5 is yet to mature.
Data Complexity, Security Requirements & Workflow characteristics are 3 major factors which vary significantly between a mobile application targeted at consumer and the one in enterprise. With all the hype around HTML5, we should not assume that the standard is fully supported by mobile browsers. Though HTML5 features exist in all major browsers, the feature of robust local storage is of major concern. The local storage feature restricted within the enterprise is the most important for an enterprise application. The vulnerabilities of HTML like phishing and malware still apply to HTML5 based mobile applications. With sensitive corporate data like sales, customer & financial data on the device and the standard allowing large pieces of information on the browser, the threat it poses to the enterprise users is much larger than at the consumer level.
Having enterprise applications on mobile using HTML5 requires stringent policies in place to ensure data security. Till the time HTML5 matures as a standard completely for enterprise mobility, native applications will play a significant role. On maturing, a combination of native apps and HTML5 will drive the enterprise mobility space.
Providing heterogeneous mobility allows the mobile device moving to other networks in order to satisfy service requirements such as Quality of Service (QoS), and provide the best experience for the user.
Media-Independent Handover (MIH) is a framework defined by the IEEE 802.21 working group to support the handover in heterogeneous networks. This framework aims to facilitate the network discovery and selection process by gathering information locally from the mobile network interfaces and remotely from other MIH entities in the network infrastructure. This framework has three different components as mentioned below.
MIH Function (MIHF): The MIHF is a logical entity that comprises three services: Media Independent Command Service (MICS), Media Independent Event Service (MIES), and Media Independent Information Service (MIIS).
Service Access Points (SAP): SAP is an interface that defines a set of primitives to communicate between the MIHF and the other layers.
MIH Users: MIH users are entities that use MIH services and manage the mobility process, normally a layer 3 mobility protocol (L3MP). These MIH users can be located in the mobile node or in the network.
This media-independent framework is a more scalable and efficient method of addressing inter-technology handovers.
The unique challenges in testing mobile applications arise from the diversity of the device environment, hardware and networking considerations, and Rapid Application Development (RAD) methodologies. Following are some of the unique challenges when testing mobile applications.
Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It enables applications to work across different platforms.
In SOA based solution, web services are consumed by the frontend for fetching and updating data in the backend enterprise systems. SOA does not solve all the issues faced in the mobile environment but it simplifies the way mobile solutions are designed and developed. The loose coupling of SOA elements simplifies the re-use of existing services, allows abstracting implementation details, and eases the composition of mobile devices.
We are seeing SOA in action across different layers of a typical mobile application.
Continuing from last week, more areas of design issues faced by mobile application developers
|
Category |
Key issues |
|
Testing |
Failing to appreciate debugging costs when choosing to support multiple device types |
|
Failing to design with debugging in mind; for example, using emulators instead of the actual devices |
|
|
Failing to debug in all connection scenarios |
|
|
UI |
Not considering the restricted UI form factor |
|
Not considering the single window environment |
|
|
Not considering that only one application can be running |
|
|
Not designing a touch-screen or stylus-driven UI for usability |
|
|
Not including support for multiple screen sizes and orientations |
|
|
Not managing device reset and resume |
|
|
Not considering the limited API and reduced range of UI controls compared to the desktop |
|
|
Validation |
Not validating input and data during host PC communication |
|
Not validating input and data during over-the-air communication |
|
|
Failing to protect hardware resources, such as the camera and initiation of phone calls |
|
|
Not designing validation with limited resources and performance in mind |
These issues are to be kept in mind while developing mobile applications by developers.