Client/Server Architecture on the Mobile Platform{1}


by Eric C
When it comes to creating mobile apps for smartphones, such as for Apple iOS or for Google’s Android, such apps need to be created based on the client/server architecture. Many of today’s apps require the use of internet or cellular data to access information requested by the users. Each command or query initiated by the user is then sent back to a web server, then to a database for processing, and finally the information is sent to the user. In an article written by Anthony Kosner from Forbes, he talks about how the speed of Siri and Google’s Voice Search relies on the client/server architecture. Apparently both Siri and Google’s Voice Search relies on a server architecture to send data back for processing. The way Siri works is by saving the spoken command to a compressed audio file and is sent to Apple’s servers for processing. From there, Apple’s servers do the major processing and the results are then sent back to the user a compressed zlib binary plist (simply a binary/text file). Google’s Voice Search uses a similar method as well. Since the requests are processed on the server, it is important for database designers to efficiency design the server and database to handle a plethora of requests. Not only does the performance is affected by the server, so is the type of cellular connections used on smartphones. As a result, the client/server architecture is a very important consideration when designing web-based databases. Speed and efficiency are what customers look for and if it’s not there, several competitor apps are available.

It seems that this article gives an important insight into the importance of how the design of client/server architecture is important when meeting speed and efficiency. Many applications today uses the client/server architecture as a main functional feature. In the past, GPS apps and some dictionary apps, including several games now, requires the use of an active internet connection. In the past, many of these apps worked offline right on the client interface. However, as the move to cloud computing increases due to lowering costs, developers have used the API and SDK provided by Apple and Google to make such a client/server architecture possible.

This article and also another article was interesting as it provided an overview of the client/server architecture and how Apple’s Siri works behind the scenes. After reading this article, I realized that many apps today sends requests to the app’s servers for processing or data lookup, instead of housing all the data on the smartphone. It also struck me that Apple is not allowing pre iPhone 4S devices the Siri capability due to “hardware constraints,” but now I realize that is a complete lie by Apple to appeal Siri supporters to upgrade their older iPhones.

Source:

Kosner, A. (2012, October 31). Client vs. Server Architecture: Why Google Voice Search Is Also Much Faster Than Siri. Retrieved November 18, 2012, from www.forbes.com/sites/anthonykosner/2012/10/31/client-vs-server-architecture-why-google-voice-search-is-also-much-faster-than-siri/

Greenberg, A. (2011, November 14). Hackers Claim To Reverse Engineer Apple’s Siri To Run On Android Or Other Gadgets. Retrieved November 18, 2012, from www.forbes.com/sites/andygreenberg/2011/11/14/hackers-claim-to-reverse-engineer-apples-siri-to-run-on-android-or-other-gadgets/