IP Library Granted Patent US 10,452,244
Granted Patent B2
US 10,452,244 · App. 14/703,770 · Granted Oct 22, 2019

Systems and methods of optimizing delivery of form factor specific content

Inventors: Matthew Davidchuk (San Francisco, CA); David M. Brady (Oakland, CA); Richard Perry Pack, III (San Francisco, CA); Benjamin Snyder (Oakland, CA)
Assignee: salesforce.com, inc.
G06F3/04847G06F3/0482G06F3/0488
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,452,244
App. No.
14/703,770
Granted
Oct 22, 2019
Kind
B2
Abstract

The technology disclosed describes systems and methods for optimizing delivery of form factor specific content for users in different environments, such as desktop computer browsers and mobile device applications. The technology further discloses systems and methods for providing support for developers whose goal is to render specific implementations of a user interface to deliver distinct user interface experiences.

Claims (61)

1. A method of delivering a customized user interface, the method including:

receiving a user interface request at a server;

receiving a user agent string with a form factor identification and a user ID;

determining an organization ID based at least in part on receiving the user agent string with the form factor identification and the user ID, wherein the organization ID is associated with a subset of available deliverable customizations of a user interface;

selecting among the subset of available deliverable customizations of a user interface deliverable in response to the user interface request, the selection based at least in part on the form factor identification in the user agent string, the user ID, and determining the organization ID, wherein each user interface with deliverable customization includes:

common code that combines with the deliverable customizations;

at least one feature selected based on a role associated with the user ID;

injected header information dependent on the selected deliverable customization, the injected header information including a portion of inherited header information applicable to the available deliverable customizations, the portion selected based at least in part on a user preference associated with the user ID and the form factor identification, wherein the injected header information controls:

user interface placement and behavior of a search feature implemented by the common code;

user interface placement and behavior of user profile features implemented by the common code;

user interface placement and behavior of primary menued features implemented by the common code; and

delivering the deliverable customization to the requesting user's device for rendering at the user device, the deliverable customization including metadata selected based at least in part on the form factor identification in the user agent string and user ID.

2. The method of claim 1 further including receiving an organization ID.

3. The method of claim 1 , further including accessing an organization ID based on the user ID.

4. The method of claim 1 , including:

retrieving permissions and preferences for a user, based at least in part on the user ID and determining the organization type; and

limiting options available for selection as available deliverable customization based on the permissions and preferences.

5. The method of claim 1 , wherein the injected header information further controls user interface placement and behavior of notification features.

6. The method of claim 1 , wherein the injected header information further controls user interface placement and behavior of at least one performance fuel gauge available in a developer mode.

7. The method of claim 6 , wherein the performance fuel gauge registers memory usage.

8. The method of claim 6 , wherein the performance fuel gauge indicates battery drain.

9. The method of claim 6 , wherein the performance fuel gauge indicates bandwidth usage.

10. The method of claim 1 , wherein the injected header information further includes placement and behavior of additional menued features implemented by a noncommon code segment.

11. The method of claim 1 , further including limiting code delivery to the selected deliverable customization, wherein bandwidth used and load time are reduced.

12. A computer implemented system applied to delivering a customized user interface, the computer implemented system including:

a processor, memory coupled to the processor, and program instructions stored in the memory that implement a method comprising:

receiving a user interface request at a server;

receiving a user agent string with a form factor identification and a user ID;

determining an organization ID based at least in part on receiving the user agent string with the form factor identification and the user ID, wherein the organization ID is associated with a subset of available deliverable customizations of a user interface;

selecting among the subset of available deliverable customizations of a user interface deliverable in response to the user interface request, the selection based at least in part on the form factor identification in the user agent string, the user ID, and determining the organization ID, wherein each user interface with deliverable customization includes:

common code that combines with the deliverable customizations;

at least one feature selected based on a role associated with the user ID;

injected header information dependent on the selected deliverable customization, the injected header information including a portion of inherited header information applicable to the available deliverable customizations, the portion selected based at least in part on a user preference associated with the user ID and the form factor identification, wherein the injected header information controls:

user interface placement and behavior of a search feature implemented by the common code;

user interface placement and behavior of user profile features implemented by the common code;

user interface placement and behavior of primary menued features implemented by the common code; and

delivering the deliverable customization to the requesting user's device for rendering at the user device, the deliverable customization including metadata selected based at least in part on the form factor identification in the user agent string and user ID.

13. The computer implemented system of claim 12 , further including receiving an organization ID.

14. The computer implemented system of claim 12 , wherein the injected header information further controls user interface placement and behavior of notification features.

15. The computer implemented system of claim 12 , wherein the injected header information further controls user interface placement and behavior of at least one performance fuel gauge available in a developer mode.

16. The computer implemented system of claim 15 , wherein the performance fuel gauge registers memory usage.

17. The computer implemented system of claim 12 , wherein the injected header information further includes placement and behavior of additional menued features implemented by a non-common code segment.

18. The computer implemented system of claim 12 , further including limiting code delivery to the selected deliverable customization, wherein bandwidth used and load time are reduced.

19. A tangible non-transitory computer readable storage medium that stores program instructions that implement a method of to delivering a customized user interface, the implementation including:

receiving a user interface request at a server;

receiving a user agent string with a form factor identification and a user ID;

determining an organization ID based at least in part on receiving the user agent string with the form factor identification and the user ID, wherein the organization ID is associated with a subset of available deliverable customizations of a user interface;

selecting among the subset of available deliverable customizations of a user interface deliverable in response to the user interface request, the selection based at least in part on the form factor identification in the user agent string, the user ID, and determining the organization ID, wherein each user interface with deliverable customization includes:

common code that combines with the deliverable customizations;

at least one feature selected based on a role associated with the user ID;

injected header information dependent on the selected deliverable customization, the injected header information including a portion of inherited header information applicable to the available deliverable customizations, the portion selected based at least in part on a user preference associated with the user ID and the form factor identification, wherein the injected header information controls:

user interface placement and behavior of a search feature implemented by the common code;

user interface placement and behavior of user profile features implemented by the common code;

user interface placement and behavior of primary menued features implemented by the common code; and

delivering the deliverable customization to the requesting user's device for rendering at the user device, the deliverable customization including metadata selected based at least in part on the form factor identification in the user agent string and user ID.

20. The tangible non-transitory computer readable storage medium of claim 19 , further including accessing an organization ID based on the user ID.

21. The tangible non-transitory computer readable storage medium of claim 19 , including:

retrieving permissions and preferences for a user, based at least in part on the user ID and determining the organization type; and

limiting options available for selection as available deliverable customization based on the permissions and preferences.

22. The tangible non-transitory computer readable storage medium of claim 19 , wherein the injected header information further includes placement and behavior of additional menued features implemented by a non-common code segment.

23. The tangible non-transitory computer readable storage medium of claim 19 , further including limiting code delivery to the selected deliverable customization, wherein bandwidth used and load time are reduced.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0034 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2015
From: DAVIDCHUK, MATTHEW; BRADY, DAVID; PACK III, RICHARD PERRY; SNYDER, BENJAMIN
To: SALESFORCE.COM, INC.
Reel/Frame 035564/0800 →
Continuity (1)
Related Publication 20160328132A1 · Nov 10, 2016