Mobile devices are becoming powerful, equipped with dual core 1.5 quad core processor, adequate RAM and enough processing power with versatile underlying operating systems. Smartphones are increasingly are being used to share images and data. Mobile devices have an edge in that they have in-built GPS, motion sensors, light sensors, microphone, cameras, touch sensors, barcode readers, Wi-Fi, 3G wireless, voice recognition and voice commands, even face recognition and proximity sensors in some models and some other features not found as built in features in computers. When one sees the increasing use of mobiles for online transactions such as money transfers, ticket purchases, online shopping and even remotely controlling devices, the field is wide open for mobile applications leveraging the sensors as well as making use of the usual features and interfacing with the cloud.
There is only a thin line dividing computers and mobiles. If there is a drawback to mobiles, it is the limited battery power and a constrained keypad. Battery power, especially, proves to be an impediment when one thinks of extended use of mobiles in cloud computing environment despite some obvious advantages. The future will see more of mobile devices such as smartphones and tablets used increasingly and more often than desktops and laptops.
The cloud delivers software as a service (SaaS). Most such services are developed and deployed keeping desktops and laptops in mind. For mobile usage the applications need to be modified. When it comes to mobiles and cloud SaaS, there are two ways apps can be managed.
- Design apps to run entirely on the server. In this scenario it is costly, has a high latency and a not-so-user-friendly interface.
- Design apps to run on the mobile. In this scenario the mobile hardware and resources may not be able to handle the app and it could result in slow performance besides draining the battery quickly.
Mobile Application as a Service is yet to grow wings and take full flight. In keeping with the current level of hardware resources of average mobiles, the best communication between mobiles and clouds is where the cloud hosts the application. The mobile device connects to the cloud through a thin mobile client and users can run apps from the cloud. Another route is to make applications accessible through web pages in which case no additional thin mobile client needs to be installed and this method works uniformly across all mobile operating systems.
No one way is perfect. Developers are working on ways to create communication systems that automatically and dynamically determine which application is best run on the cloud or on the mobile for optimum performance and ease of use. For instance, one suggested model may work this way:
- Module within the app on the mobile device analyzes the application’s demands on the mobile’s resources.
- The Module analyzes the particular mobile’s hardware resources and its capabilities
- The Module optimizes application in terms of latency and data traffic and splits it between mobile and cloud host for smooth operations and best end user experience.
Not all mobile phones have high speed dual core CPUs and high amount of RAM as well as display characteristics and this method of interaction and communication between mobile apps and cloud will make for a happy compromise and easy running of apps, whatever the type of mobile device.
This is a promising and exciting area being explored by researchers and developers and as MaaS matures, we should be seeing greater integration of mobiles within the cloud environment.