Smart devices are called that for a reason – they pack a serious punch when it comes to their processing and storage capabilities. Most smartphones today have specs better than personal computers from 5 years ago.
With quad-core processors, and octa-core already on their way, gigabytes of memory, and sizeable storages, these devices are capable of handling complex workloads and graphics. This means that we can build a fair amount of intelligence and put it in the hands of the user. But does that make sense? Where should the core computational functionality reside? That is the big question.
Microsoft announced that their upcoming mobile operating system, code named ‘Mango’ would have intelligence baked in, especially in search capabilities. Demonstrating it through a movie search, Microsoft explained that the Mango operating system would automatically “predict” your interest in related information including movie times, reviews, locations and how to purchase tickets. These different views and data sources would all be brought to you in a simple view. While from Microsoft’s perspective, it makes sense to build in this intelligence in their operating system (after all, that’s what they are selling – The OS), enterprise application vendors might disagree.
From the viewpoint of a large enterprise vendor like an ERP platform provider, intelligence should reside where the data is. It makes perfect sense. After all, enterprise products are built around the traditional client – server architecture for a reason. They are architected to provide the user not with the data to process locally, but to receive the user’s query, use the servers to process the data residing in the database (which resides on the same Local Area Network (LAN)), and respond back with the result of the query to the user. This gives them three advantages. Firstly, the network (WAN) utilization is optimized because the data stays within the datacenter. Secondly, the data stays secure within the DC, and the overhead of encryption is eliminated. Lastly, centralized processing eliminates the need for high processing distributed systems, thus saving cost.
Look at the other option. Having local processing within the device allows the user to have a good experience even if the user is in a bad network zone. If the network connectivity is poor, the wait time for the user will be high, as he / she waits for the request to traverse the airwaves, and get the result back. In such situations, it is preferable to have local processing to improve the experience. Another important point is that the mobile phone being a very personal gadget, the users would prefer to make full use of the high specs that they have paid for, and would want the intelligence local. Further, from a commercial standpoint, unlike personal computers, the smart devices are typically user owned. Therefore, if enterprises can transfer the computational cost to the end user, they save money.
So we have a dilemma on our hands. There are two options, with each having its pros and cons, and difficult to choose one. Of course, it is a question of applicability and use cases, but it still makes you almost wish for a way out, which will keep the data secure while keeping the user happy. Then again, if you come to think of it, there is a third option. It’s an option that a lot of enterprises are exploring for their internal IT landscape deployment – Cloud. It is high time that the industry looks at a cloud based intelligence platform that can perform complex analytics and processing, and service the mobile users, while keeping the data secure. This is the future of mobility, if only it gets some attention.
This was a guest article from Jennifer Lewis.
The author is a part of one of the trusted Dallas enterprise application development company is also operating from London. The firm with its team of enterprise app developer, iPhone, and iPad application developer provides mobile apps for various industry verticals.