Sun Microsystems was founded with the premise ‘Network is the Computer’ – Sun will be cursing themselves when they changed it to ‘We are the dot in dot-com’ because it morphed it to ‘we just stepped on the dot-bomb’. Sun never recovered, and it finally got acquired by Oracle. (Now, Sun’s server technologies are boosting Oracle’s performance on data servers with Exadata (http://www.oracle.com/us/products/database/exadata/database-machine-x2-8/overview/index.html)) – Today, network is indeed becoming the computer; However the clients are no longer ‘thin’ in the perspective with which the caption was coined.
The problem at hand (literally and figuratively) for mobile users used to be the computational power. With dual-cores and quad-cores and high-end GPUs becoming common for high end smartphones, and tablets, the problem of computation at hand has been greatly mitigated.
However, there are cases when even this computation is not enough:
- There are problems that require ‘server-cloud’ levels of computation
- The problem at hand might require a lot of data to be processed which again is a limitation for the mobile device (esp when tera-bytes of data is involved in making decisions)
So, the next level of evolution in computing is to split the computation between mobile device and the cloud. Amazon does it with its Silk Browser, Apple does it with Siri, Microsoft does it with TellMe, and Opera (browsers) do it with Opera Turbo.
What happens in all the cases above is that a part of the computation is done in the device, and another part is executed in the server / cloud side. The results are then combined and presented to the user. This is now made possible because of the increased compute capability of the mobile devices, faster algorithms (MapReduce that work on Big Data) on the cloud and most importantly, faster wireless connections (WiFi / 3G / 4G).
The technology involved is definitely challenging.
- The architectural challenges involve where the computation should be split – How much is done in the mobile device and how much on the server?
- What is the cost (in terms of bandwidth, delay in computation etc) in sending the data down to cloud?
- How secure is the connection? Are privacy issues involved?
Right now, these technologies are being used for some limited problem set only. However, just as we saw that mobile apps which were typically working within the realms of the device, started to access the network more and more, we’ll definitely see the next shift that will offload the computing to the cloud as well.
Amazon, Microsoft, Google are well poised to lead this from the front. Apple at this point of time, does not have any cloud offering, but it might make sense for them to tie up with some cloud provider to provide such capabilities in the near future! (Waiting for an ‘I said so’ moment J)
To conclude, get ready and think even bigger! Each of your app can have almost infinite computing power, and access to terabytes of data. Unleash your mind and get that next big solution cracking!