Tuesday, October 23, 2012

Mobile is Cloud and Cloud is Mobile

There is no arguing that the world has turned mobile. I believe that it is time for application developers to adopt a mobile-first mentality. In this post I’m going to outline what I believe that means, and how Zend intends to help developers and companies make mobile first a reality.

A mobile first approach is essential as mobile devices (including tablets) are quickly becoming the most popular access point for online interactions. A mobile-first mindset focuses on delivering a strong contextual and personalized experience. It embraces touch,  puts the user experience at the center and sets apps up to reach 100% of the mobile audience.

One of the most critical design principles of mobile first is that context is essential to today’s application development. In today’s mobile-first era, consumers, employees and partners want to take action in real time and base their decisions on the best actionable personalized information. Businesses want to engage customers in real time, because companies know that their ability to influence behavior increases significantly if they can meet their users in context. That context may include location, social graph, user profile and many other data points. For example, offers for a mortgage or car loan are most effective when delivered to a consumer at the exact point they are house or car shopping.

API-centric cloud services architecture

We believe the best architecture to support a mobile first paradigm is a REST/JSON-based, API-centric cloud services approach. The brain of the application sits on the server side and pulls together a variety of data sources which build the context and personalization for the app. PHP is ideally suited for this, as it has strong interoperability into existing enterprise systems and social platforms. PHP is also highly productive, and enables the agile development approach required to deliver iterative application value – a key requirement for user-centric development.

Cloud as the delivery vehicle

In mobile-first architectures, the cloud becomes the preferred delivery vehicle. The unpredictability of scale and latency in the mobile world require application platforms that can scale up and scale down on demand. In addition, the user-driven and iterative design approach of a mobile-first paradigm puts increased pressure on organizations to implement agile operations that enable them to frequently and incrementally deploy updated mobile apps. Cloud automation and application platforms best enable agile delivery and operations. Finally, contextual applications will access an increasing amount of SaaS applications and social platforms. The need for the integration of a variety of public cloud services will drive the runtime platforms into the cloud. We already see this trend emerging with cloud-based offerings by a variety of integration players.

UI logic moves to the client

On the front end, the experience needs to be tailored to the mobile device’s form factor and its native interaction paradigm. To enable a great user experience, the UI logic needs to move from the server side to the client side. The client-side UI logic focuses on delivering the right interaction paradigm while communicating with the server side for data access and processing via REST/JSON calls.

Mobile drives adoption of cloud

Mobile and cloud are increasingly interlinked and co-dependent. Market-wise, looking at the IT vendor landscape, there are companies that have made great progress in enabling mobile client development solutions; others have made significant progress in enabling the delivery of cloud services at scale. I believe many are making the mistake of seeing cloud and mobile as separate and their strategies reflect that. Others get that the two should work together, but these companies are too big to truly deliver a holistic solution; in such organizations, artificial org chart boundaries exist between end user computing and data center groups.
At Zend, we believe mobile and cloud are so interdependent that vendors who address one and not the other leave their customers short. We are stepping up to the challenge and are delivering on an end-to-end solution to make it easier to build these next generation cloud-connected mobile applications.
Zend’s solution to building cloud-connected mobile applications spans from client to cloud. Some of the key elements include:
-          Easy drag and drop creation of cloud services
-          An open cloud application platform that enables deployment to any cloud
-          Strong Web standards-based client-side tooling

Easy drag and drop creation of cloud services

In Zend Studio, we enable customers to visually assemble cloud services (a.k.a. APIs). The visual tooling is built on Zend Server Gateway, an API gateway. Zend Server Gateway is lightweight, enables authentication, filtering and validation, and a variety of other capabilities. We are investing in Zend Server Gateway to continue to round out its capabilities and ensure it is an easy and flexible way to build and deliver cloud services. Zend Studio also enables the connecting of these cloud services to the client- side UI in a very easy manner (see more below).

An open cloud application platform that enables deployment to any cloud

As mentioned earlier, the scalability and agility benefits of cloud make it the most appropriate back end delivery vehicle for a mobile-first strategy. Zend Server is pre-integrated with a variety of clouds including Amazon, RackSspace, VMware, IBM, Red Hat OpenShift and others. And we intend to continue to add additional support clouds, including Windows Azure and Google.

These cloud integrations enable one-click launch of our elastic PHP Cloud application platform. In order to meet the latency, scale and SLA requirements of cloud-connected mobile apps, Zend Server delivers fault tolerance, performance management, monitoring and alerting, and high performance. We also enable effective communication between development and operations departments via role-based access and automation, fostering a strong, agile, collaborative environment.

Strong Web standards-based client-side tooling

At Zend, we believe that open Web standards will end up dominating the client side. While today Objective-C on iOS and Java on Android are the norm, there is no doubt that HTML5 & JavaScript will unify mobile application development, just like they unified Web development for the desktop. There is much innovation going on around HTML5 and mobile devices, including significant investments in performance. So while it may not seem so today, it is only a matter of time before Web technologies will be in the lead. As a result, we have fully embraced HTML5 & JavaScript, and have deepened our commitment to these technologies in Zend Studio, our professional PHP IDE.

We have also integrated Apache Cordova (a.k.a. Phonegap) into our tooling experience. This will enable our customers to leverage open web standards technologies to build applications that have access to native device capabilities, such as the camera on a variety of OSs, including iOS, Android and Windows Phone. Applications packaged with Apache Cordova can also be distributed through the app stores. Therefore, you get all the distribution model benefits while being able to easily target multiple devices with your in-house Web developers.

What you see is what you get. Tooling saves time by giving you the ability to quickly put together mobile prototypes that may have taken days to develop manually. The visual drag and drop tooling generates standard HTML5 and jQuery Mobile, so the output can easily be understood and modified by all Web developers.

Developers can easily test their mobile applications using the provided Web mobile emulator. Integration with Android Development Toolkit (ADT), xCode (iOS) and Visual Studio (Windows Phone) enables a native emulator or target device experience, accessible directly from the Zend Studio IDE.

In summary, Zend is committed to supporting your entrance into the new era of contextual applications, where mobile is cloud and cloud is mobile. We believe we have a unique capability to deliver a complete, highly productive, yet enterprise-proven solution to address the requirements of building and running business-critical, cloud-connected mobile applications. And we do this without locking you into any specific cloud or mobile device. Sound too good to be true? Give it a try!