Cloud Industry News Analysis & Insights on Ulitzer

Tim Negris

Subscribe to Tim Negris: eMailAlertsEmail Alerts
Get Tim Negris: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: iPhone Developer, Java Developer Magazine, Amazon Cloud Journal, iPad on Ulitzer, Java in the Cloud

Article

Amazon Vets Social Mobile Cloud Apps

AWS Betas SDKs for Android and iOS

Amazon Web Services has announced the beta availability of new mobile software development kits for the Android and iOS platforms.   It was previously possible to write apps for those devices that could work with the Amazon cloud, but it wasn't easy.  As the announcement on the AWS blog points out:

"Previously, developers either wrote their own libraries to handle the HTTP connection, request retries, and error handling, or built additional infrastructure to proxy the API requests through a server fleet."

Now, though, developers can call AWS web service application programming interfaces directly from mobile apps running on Android smartphones, tablets, and the new Chrome netbooks, or alternately on Apple's iPhone, iPad, and iPod Touch devices.

As you might expect, the Android kit is written in Java and the iOS one in Objective-C, which are similar, but incompatible programming languages.  This means that developers will have to write different versions of their applications for each platform.

With the ascendancy of Android, cross-platform development tools have become something of a growth industry and there might be one out there now or soon that could mitigate this problem, but the prospects are not very bright.

Between Apple's draconian monolinguistic App Store acceptance policies, the expanding array of differences between the two platforms' UI features, and the performance toll that seems to come with most cross-platform technologies, going native seems like the inevitable best approach.  As one experienced developer puts it:

"I would never recommend a cross-platform tool.  Most of these tools support each platform far worse than any native technology.  If you want to develop for multiple mobile platforms, I say, bite the bullet and learn the different technologies."

Good advice.  And, developers addressing both platforms can take considerable comfort in knowing that the two SDKs at least both support the same set of Amazon services, enabling them to offer app versions for the two platforms with a completely common feature set.

The AWS mobile SDKs enable apps to access services for storage (S3), database (SimpleDB), and messaging (SQS and SNS), which together make a very wide variety of new cloud apps possible, as well as enabling mobile devices to now access existing business and consumer applications based on those services in the Amazon cloud.

Using the Simple Storage Service (S3), apps can securely store and retrieve data objects of all sizes and types, including documents, photos, and audio and video media files.  S3 provides built-in data redundancy, support for both REST and SOAP programming interfaces, and support both HTTP and BitTorrent download protocols.  And, with Amazon's CloudFront caching and distribution services, content can be efficiently and quickly distributed via a global network of edge locations.  This combination of storage-related capabilities can be used to build mobile apps for document sharing, media streaming and downloading, device backup, and more.

SimpleDB is Amazon's easy to use non-relational database that applications access using simple web service requests.  It does not require pre-defined data schemas, it permits on-the-fly data model changes, it indexes all data automatically, and it is designed for easy integration with other Amazon web services.  SimpleDB is especially well-suited to support mobile apps that require a mix of structured and unstructured data and scalable simultaneous user access, like games and social networks.

Even more compelling than the above, though, are the mobile SDKs' messaging features in the form of support for Amazon's Simple Queue Service (SQS) and Simple Notification Service (SNS).  Together, these services can be used to create sophisticated applications that incorporate asynchronous message passing and publish-and-subscribe communications and are especially well-suited to mobile devices.

SQS allows an application instance on one device to create a message and send it to a server in the Amazon cloud from where it can be passed to another device when it is available to receive the message.  This mechanism has been commonly used for years in applications like transaction processing to queue transaction data en route from an originating system until the destination system is available to receive it, making sure that the data is not lost or over-written before it can be recorded properly.

In applications involving mobile devices, which are not always on-line, this is an especially handy application capability.  When a message must travel from one mobile device to another, the Amazon messaging infrastructure automatically handles the holding, targeting and sending of the message so that it sure to be received.  This is done without the need for any extra messaging logic or code on either mobile device.

SNS is a service that enables cloud-based applications to publish messages pertaining to a given topic and have them sent by the Amazon infrastructure to devices on which an application or user has registered an interest in that topic, using their protocol or choice, e.g. HTTP, email, etc.  SNS uses a "push" mechanism, which obviates the need for people or apps to periodically check for new messages by polling a server.

Again, this is especially useful for mobile applications because it saves battery life by not forcing the mobile device user to connect to check for message and it enables a single message to be delivered to a number of mobile devices simultaneously without a sequential series of transmissions.  As with SQS, this is done without the need for additional application logic on the mobile devices.

Together, SQS and SNS can be used to create sophisticated mobile apps for workflow management, collaboration, remote monitoring, social networking and much more.

The release of these mobile SDKs for Android and iOS are an important event for Amazon Web Services on its path to public cloud domination.  Amazon has already built the infrastructure and an impressive array of services on it, and all of that is the fundamental foundation for any cloud.  But, applications which are mobile and social, for both consumers and business, are what will make cloud computing more than just virtualized client/server.  And, for the Amazon cloud, they are what will make it a great platform for the next innovation ecosystem.

 

More Stories By Tim Negris

Tim Negris is SVP, Marketing & Sales at Yottamine Analytics, a pioneering Big Data machine learning software company. He occasionally authors software industry news analysis and insights on Ulitzer.com, is a 25-year technology industry veteran with expertise in software development, database, networking, social media, cloud computing, mobile apps, analytics, and other enabling technologies.

He is recognized for ability to rapidly translate complex technical information and concepts into compelling, actionable knowledge. He is also widely credited with coining the term and co-developing the concept of the “Thin Client” computing model while working for Larry Ellison in the early days of Oracle.

Tim has also held a variety of executive and consulting roles in a numerous start-ups, and several established companies, including Sybase, Oracle, HP, Dell, and IBM. He is a frequent contributor to a number of publications and sites, focusing on technologies and their applications, and has written a number of advanced software applications for social media, video streaming, and music education.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.