HTML5 and Mobile Development with Salesforce Platform Mobile Services
Salesforce Platform Mobile Services is the core Salesforce Experience across all touch-enabled devices, leveraging HTML5. Mobile Services on a mobile browser such as Mobile Safari on iPad and iPhone is a re-invented Salesforce experience optimized for smartphones and tablets. Here are some answers to commonly asked questions.
Salesforce Platform Mobile Services is the core Salesforce Experience across all touch-enabled devices, leveraging HTML5. Mobile Services is built on top of our own proprietary UI Framework that enables both client and server-side development, deep Force.com platform integration, and rich markup-based templating. Mobile Services on a mobile browser such as Mobile Safari on iPad and iPhone is a re-invented Salesforce experience optimized for smartphones and tablets. The Mobile Services App is available today on the Apple Appstore, and offers an identical look and feel to the Mobile Services web experience, along with a few more bells and whistles to enhance the core experience. Following are some commonly asked questions about Mobile Services:
Q: I have heard from industry leaders that HTML5 is dead and cannot compete with native mobile. Are they right?
A. HTML5 is very much alive. It’s important to realize there is a big difference in the Mobile Services experience versus other mobile experiences that use native as their platform for mobile development. While other mobile apps are steak knives, Mobile Services is a Swiss Army knife. The promise of Mobile Services is that it will deliver the Salesforce experience across all touch-enabled devices. This means a heavily customizable meta-data driven experience for ALL of our products – Sales, Service, Marketing, Chatter, Force.com Custom Apps, and more. The leading mobile applications built for consumers are non-customizable feed-based experiences, which are much less complex.
Q. Is HTML5 fast enough?
A. When we started Mobile Services over a year ago, the answer was “not yet.” There was a great deal of internal debate around the HTML5 strategy, with options ranging from full native, a hybrid with multiple HTML5 web views using native for navigation and transitions, and a full HTML5 with an optional lightweight native container. It was by no means a slam dunk decision, but we ended up going full HTML5.
Since then we have invested in improving performance and have reaped the benefits. We have been making continuous improvements at the app and framework layers to streamline the server and client-side performance, and will continue to do so. We have a team dedicated to running performance tests daily across all devices – not only to track improvements, but also to sound the alarm bells if we introduce a regression during the development cycle. We also made the bet that the hardware would improve, just like it did with PCs and browsers when the desktop web was taking off. We have the good folks at Apple to thank for releasing the A6 chip on the latest iPhones and iPads. Mobile Services is blazing fast on these devices and it is only a matter of time before Android and Windows catch up. We’re very excited about this.
Q. When can I use Mobile Services on all modern devices?
A. Our initial release was iPad only, and we are making plans to follow up with releases for iPhone, Android, and Windows 8 devices in 2013. There are a number of reasons why we have to add new devices incrementally, despite the “write once, run anywhere” nature of HTML5.
First, performance varies quite a bit from device to device. We will continue to invest heavily in improving performance. However, what is good enough to release on the latest iPad is not necessarily good enough to release on Android or Windows where performance is slower.
Second is stability. While 98% of the HTML5 code might work the same across devices, we need to fill in the 2% gaps where there are device specific bugs or usability problems. We put a ton of rigor in our testing to ensure we ship only the highest quality product. While we may be able to demo our app on all devices, there is still work to do before we are ready to ship.
Third is automation. Code that we ship is supported by a large number of automated tests, which run on the devices themselves. We invest heavily in our automation, and for good reason. There is initial overhead in getting the test infrastructure set up when we take on new devices and overhead in making all of the tests work properly.
Finally, just because it’s HTML5 doesn’t mean you can go from a 9” tablet to a 4” phone by shrinking the font size. There’s some work involved, mainly styling to implement responsive design, to make the phone experience work.
Q. What has been the feedback on Mobile Services so far and how do you respond?
A. We have heard what people want to see on Mobile Services and we say ‘Bring it on!’. What is great about the overwhelming majority of the feedback we’ve received is that it is fully aligned with our roadmap. The feedback has been “More objects, more customizations, more devices, make it a little faster, integrate with my camera/calendar/contacts/location, and let me see my records offline”. All of this (and then some) are things we’re actively working on. If the feedback was “the look and feel stinks”, “I don’t understand how to use Mobile Services”, or “there are tons of crashes and bugs”, we would be concerned because that could mean we missed the mark entirely with design, performance, or quality, all of which we value more than features. This feedback has validated our strategy and product roadmap. and we will continue to execute on it
Q. Where do you see Mobile Services heading within salesforce.com in the next year or two?
A. Developers building on Mobile Services either at Salesforce or externally think Mobile First and delivering features that work on Mobile is no longer something that can be done after they are released for the desktop but is considered table stakes to ship a product. The hardware revolution continues with new releases of lightning-fast devices across all form factors, including touch-enabled laptops and desktops.. Our code base and feature set are becoming unified across all device types, and we are no longer thinking of Mobile Services as only mobile but as the Salesforce experience on touch enabled 4”, 5”, 7”, 9”, 13”, and 24” devices.