Alex Berg

App Architectures and Data Delivery when Moving Mobile

Salesforce has had many phases of growth in its lifetime. These phases include: CRM in the cloud, social media monitoring, and the social enterprise. Salesforce is great at discovering the Next Big Thing. After discovering the Next Big Thing, Salesforce educates its clients and followers what it is, instructs how to best tap its potential, and provides the tools to do so on its platform. If you’ve listened to Salesforce at its recent conferences, you’ll know that its Next Big Thing is mobile.

Salesforce has always been mobile by nature, since it is a cloud-based application. However, this new mobile evangelizing is about teaching and enabling its clients and followers to utilize the mobile web and mobile apps. Salesforce is leading the way, practicing what it preaches, by announcing touch.salesforce.com, a specialized mobile-friendly interface that provides easy access to a Salesforce org through a mobile device’s browser. This UI takes advantage of touch-screen swipes and uses larger buttons and tabs, ideas that are core to proper mobile app development.

In the next stage, to motivate and enable its clients and partners to join the mobile revolution, Salesforce released the Mobile SDK to give developers a standard starting point that rockets them past the standard plumbing development to enable fast production of mobile apps seamlessly connected to Salesforce orgs. The Mobile SDK is really wonderful, enabling all types of app architectures on both iOS and Android platforms (more info on these types in an earlier blog post).

In the coming year, expect to see Salesforce promoting the mobile web and mobile platforms. Expect to hear more about writing mobile-ready Visualforce pages and HTML5 apps that enable “responsive design” geared toward smaller and touch screens. Expect to hear more about how your business can become more efficient with intuitive mobile apps for employees in the field, or for customers to interface with your business’ services through their always at-hand smartphones.

To enable businesses and their developers to build these apps, the Force.com developer evangelists have been hard at work with a machete in the jungle, making sense of the many new technologies and architectures that will be used. Sandeep Bhanot, a Force.com developer evangelist, has been tuned to the mobile frequency for awhile now, and his latest Force.com blog post about mobile app architectures is quite interesting. LinkedIn has been migrating towards a more uniform interface across all clients and sections of its web site. After much research, they determined that the most flexible solution utilized client-side Javascript templating and AJAX to request data from its REST endpoints. This was a great solution for LinkedIn, since their backend consists of many web app servers written in multiple languages, but the lessons learned there can be applied to the upcoming mobile revolution as well. One of the main reasons for LinkedIn’s newfound flexibility is the client-agnostic REST endpoints they created. This is important in the mobile revolution because of the wide variety of mobile client devices that want to consume a business’ services and data. Sandeep phrases his inspiration perfectly when he says:

“Imagine having to build a mobile web application using HTML5, JavaScript and CSS. In many cases (especially for enterprise mobile apps), this web application will also have (or already has) a ‘desktop’ version that provides a super-set of the mobile app’s functionality. On the server-side, you could simply expose a single REST/JSON interface for the data, and then build separate web UIs (one mobile-optimized, and the other not) using client-side templates. You could even build a native mobile app (e.g. Android or iOS), and a ‘desktop’ web app - both consuming the same REST/JSON backend interface.” (Thoughts on UI Architectures)

There are so many consumers of the internet now: mobile native apps, mobile browser apps, desktop browser apps, and even other business partners, and they all want to interface with your business and its data. Providing an easy method of accessing that data may be the core to keeping your data and services agile and flexible during the twists and turns of mobile revolutions. I suggest you continue to consider ways to enable your business and keep it flexible.

Under advisement of the mothership, Salesforce developers are already building their skillset by learning how to develop apps based on mobile platforms and apps specially consumed by mobile browsers. I, myself, am currently researching web pages that feel fast and responsive like native apps. I’m currently looking into Javascript UI frameworks, such as Backbone.js and Knockout.js, then developing UIs that look native, as if it were an app on consuming device. What else should I be looking into? What are you currently researching? Hit me up on Twitter or Google+.

Posted in: Mobile, Programming, Salesforce, Technical Strategy

Similar Posts

Sundog: The Podcast 066 - partnerDRIVEN

Lon Keller

Ignite Your Indirect Sales Channels: Watch the Webcast

Jen Thompson

Understanding Lightning Component Events

Susanna Oliver