Share what you know with millions of people
Focus is the best place to turn what you know into remarkable content
0
How does the cloud address the differences in programming an app for different devices?
Events
- Dos and Don'ts of Small Business Marketing May 29 @ 11 am PT
- Lead Nurturing 202: The Next Generation May 31 @ 11 am PT
- The Tricks to Paid Media June 6 @ 11 am PT
- Display Advertising for Brand Awareness June 20 @ 11 am PT





6 Answers
Victoria,
I don't think the cloud addresses the differences as much as the development platform(s) and standards. Of course, if you look at the different aspects of clouds, then you could argue that PaaS and aPaaS may have some bearing on the problem - especially the latter. What's key is abstracting the "business logic" from the device specifics. This is still done through device classes and object libraries to a large degree. aPaaS (VMforce, Cloud Foundry, force.com, Engine Yard, et al) platforms will help in providing those abstraction components and then also provide a mechanism to more easily deploy the resulting applications. We're still a ways away, but getting there.
On the other side of the coin, standardization around delivery mechanisms and protocols such as HTML5 will continue to help mitigate the "device uniqueness" problem. But like the cloud in general HTML5 is still quite a ways from having all the pieces to be an effective delivery mechanism/protocol. And just look at the jockeying for position in NFC and other mobile-related communications and ecommerce domains. And of course, each vendor will continue to implement their own specific functionality for competitive advantage. So, while we like to think there is Nirvana out there, we're probably never going to reach that state.
The question is a fair one. I have had to deal with this in the design of two clouds now: one as a trusted internet gateway and one as a video collection and distribution hub. The reality is that there is no such thing as a one-size-fits-all cloud. Certain functions require their own specialty cloud, video is one such application. The video cloud requires specialty components for capture, compression, playback, etc. These often require special appliances in order to meet performance requirements. Additionally, video is one of the most dense data formats even after compression. Hence, the video cloud offers specific services that leverage standardized and proprietary protocols in order to address the needs of the complete solution.
Victoria, the cloud doesn't address this issue in any way.
The difficulty in developing for different devices is exactly the same in the cloud as not in the cloud. If you're making an app for blackberry, android and iPhone, then the overall development challenges for your app to be functional on each one of those devices remains the same despite the existence of the cloud.
Now, when it comes to the delivery of your application, or usage of the cloud for some service, the answer might be different. But for development, cloud doesn't do much. (Even if you develop the app in the cloud, the differences between devices remains)
Hello Victoria.
Cloud is a big word. It is actually a concept of a thing that offers some services. You can get infrastructure, you can get software, you can get platforms...
If the cloud service you are using is the Platform one, then you can search for platforms that offer support for all devices, and even code-once-use-in-different-devices feature. It is a natural thing to use actual web standards to simplify that work (HTML can be used the same for several devices, just differentiating between full desktop and mobile devices). You may find some of this effort already in some platforms (salesforce supports mobile for instance), but it will be soon offered by all major ones.
Now, if the cloud offers software, some may already support other devices. If infrastructure, then you are the one to build the software and thus you are the one that needs to take care of multiple devices.
Still, if you refer of cloud helping you to code native applications for different devices, then I guess that service is not included in the cloud portfolio (yet that I know). There are some that will provide a special native application that connects to the backend services in the web/cloud. but that "client" is a proprietary one that may offer too little customization.
Choosing what services you need from the cloud and what benefits and flexibility you get is an important first task. An Architect should help you with that.
Cheers.
As several have pointed out, it certainly depends.
However SaaS and PaaS platforms can play a very helpful role.
Let's say an internal company team or a team of developers want to develop an application. They choose the Force.com PaaS offering from Salesforce.com - right out of the box they're ready to go with Windows, Mac, iOS, Android, Blackberry and WinMo.
That's pretty sweet.
Gentlemen,
Thank you for these very thoughtful and constructive responses. I will have to give some careful thought to this as the development project involves both multimedia and data that must be secure (medical research info). I hope that I may ask some further input from some of you and perhaps request some consulting services. VP.
Answer This Question