After scouring the interwebs, I realized there was no single place where I could access relevant resources for all of the developer customization points in Salesforce1. As such, I wanted outline a few of the key points on the app to hopefully fast ramp anyone hoping to use the app container for mobile development.

What is Salesforce1 and what can I use it for?

The Salesforce1 app is a container that surfaces all of your Salesforce data on any mobile device. This includes your core CRM, custom data model,custom tabs and apps, installed apps from the AppExchange, custom pages, and 3rdparty applications surfaced through a Force.com Canvas app. In addition, all of the declarative and programmatic process automation you have already built, like approvals or triggers, will also work as seamlessly with the app as it does with your desktop environment. What this means to a developer, is that you have a baseline setup for an employee facing mobile application to then extend and customize to fit whatever business use case you are trying to meet.

In Salesforce1, think of your customizations as apps within an app. You can download the Salesforce1 mobile app from Google Play or the Apple AppStore or, as both an access point or development tool, access it from the browser by changing the URL to http://[yourinstance].salesforce.com/one/one.app. Once you are there, you can access all of the apps you’ve built on Salesforce within the container and build a mobile experience for your specific business use cases like an HR app (ie recruiting, onboarding, time off apps) or an operations app (ie project management, supply chain, or deliveries apps) for example.

How can I customize the app container?

As a developer you can customize several aspects of Salesforce1. There are a lot of granular details that you have control over like modifying the layout of a page when viewing a record, modifying the compact layout at the top of the page when viewing a record, or modifying or reorganizing the sidebar navigation. There are also some key customization points where you have even more flexibility to add functionality into the app:

  • Create custom actions available to the end user globally or only from a specific type of recordPublisher actions, also known as quick actions, enable users to perform a specific task quickly using the + button accessible all over the app. Actions could be something built solely with clicks, like creating/updating a record or logging a call, or with code, using a custom web page or external web app outlined above. These actions are meant to surface the most common needs for the mobile app in a quickly accessible format for better UX and mobile productivity. There are different steps to configuring these actions depending on whether you are trying to create a global or object-specific action. One thing to note, there are several events you can subscribe to using JavaScript to enable communication between the page or external app and the publisher and also to utilize the “Submit” button  to submit the form and close the publisher. You can find that information on the Salesforce1 developer cheatsheet.
  • Navigate to different pages within Salesforce1. If you use a standard anchor tag or PageReference in Salesforce1, the app will by default jump to your mobile browser. To mitigate this and stay within the context of Salesforce1, you need to use the sforce.one JavaScript object for mobile navigation to stay within the context of the app. There are a several methods available for different needs outlined on the Salesforce1  developer cheatsheet.
  • Change the app branding of the Salesforce1 app container. You have the ability to change the app branding of the Salesforce1 mobile app and can customize things like the app color or loading image.

What additional resources should I be aware of?

There are so many resources I could point you to from the 6 things to know about Salesforce1 to Salesforce1 cures the app boogie fever (a sample application with code and video included to see use cases around geolocation and taking a picture in the browser to save it on a record). Check out these resources based off of how you prefer to learn:

By reading

    • Salesforce1 App Developer Guide: This guide walks through the developer features mentioned above with an app use case of warehouse inventory management and deliveries. It goes over use cases, best practices, and gives the specific click paths for configuration for all of the concepts that it covers.
    • Salesforce1 Admin Cheatsheet and Developer Cheatsheet: These cheatsheets cover the core customization features that you have control over with clicks or code respectively.
    • Mobile Developer & Platform API Guide: Develop apps with clicks or code and integrate with external systems using any of our open APIs, any framework, and any developer tools you need.
    • Documentation Resources: A filtered list of Salesforce1 resources in our success community documentation. Our help and training resources page is a subset of this and also contains all of the guides.

By watching

    • Salesforce1 for Developers webinar & slides: This webinar goes through a volunteering app use case and builds out some of these developer features in Salesforce1.
    • Salesforce1 sessions at Dreamforce: All of our breakouts at Dreamforce are recorded, and this blog contains a list of introductory sessions that we had in the DevZone around Salesforce1 at Dreamforce last year.
    • Visualforce in Salesforce1 webinar & slides: This webinar covers the best practices, how-to’s, and design considerations behind building custom web pages using Visualforce and surfacing them within Salesforce1.
    • Salesforce1 Mobile Tips & Tricks for Admins webinar & slides: This webinar covers the point-and-click development aspects of configuring the Salesforce1 mobile app.
    • Building JavaScript Applications on the Salesforce1 Platform webinar & slides: This webinar covers how to build engaging employee and customer facing applications in JavaScript on top of the Salesforce1 platform.

By example

    • Salesforce1 Styleguide: Covers design considerations, branding information, and icons you need to create a seamless look and feel in your custom page.
    • Mobile Design Templates: A bootstrapping tool of HTML components that can help you quickly create a similar look and feel to the Salesforce1 app look and feel without having to build from scratch.
    • Mobile Packs: Install and view a fully working app built either natively on Salesforce or integrated from a 3rd party platform using a popular JavaScript framework that pulls live data from your Salesforce org.
    • Wearables gallery: Similar to the mobile packs, the wearable packs in this gallery give you the tools you need to spin up a baseline, fully functional application integrated with a wearable device to extend or modify however you need.
    • Control quadcopters with Salesforce1: This blog covers how to control a set of quadcopters using an Arduino to communicate wirelessly. The control buttons for the quadcopters are surfaced within the Salesforce1 mobile app.
    • Interactive mobile dashboards: This blog covers how to build a page with interactive mobile dashboards using D3.js and the Salesforce Analytics API. It covers the specific use case of making the page accessible from within Salesforce1.

Get the latest Salesforce Developer blog posts and podcast episodes via Slack or RSS.

Add to Slack Subscribe to RSS