IP Library › Granted Patent US 12,483,647
Granted Patent B2
US 12,483,647 · App. 17/968,412 · Granted Nov 25, 2025

Customization framework for native mobile applications

Inventors: Eric Romero (San Francisco, CA); Stephen Goldberg (San Francisco, CA); Adam Liechty (San Francisco, CA); Bharath Marulasiddappa (San Francisco, CA); Scotland Peters (San Francisco, CA); Irfan Syed (San Francisco, CA); Chuxiong Wu (San Francisco, CA); Saket Agarwal (San Francisco, CA)
Assignee: Salesforce, Inc.
H04M1/72403
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 12,483,647
App. No.
17/968,412
Granted
Nov 25, 2025
Kind
B2
Abstract

A native user interface (UI) application of a mobile device includes a library of different components such as text, forms, tables, lists, maps, views and buttons. The components can also have associated actions in some cases. When a view of the UI is launched, the mobile device contacts a server or other data source to obtain metadata associated with the view. The metadata can be tailored to a user or organization of the mobile device. The metadata selects specific components and defines a layout for the components. The mobile device uses the metadata to retrieve the components and render them in the view. The views can be changed by changing the metadata without changing the native application.

Claims (41)

1 . An apparatus, comprising:

one or more processors; and

a non-transitory machine-readable storage medium that provides instructions that, when executed by the one or more processors, configures the apparatus to perform operations comprising, at a native application of a computing device:

launching a view of a user interface (UI) of the native application;

in response to the launching, sending a request which identifies the view to a metadata service;

receiving metadata from the metadata service in response to the request, wherein the metadata identifies one or more components of the native application and specifies a layout of the one or more components;

receiving a definition from a registry of providers, wherein a first component of the one or more components is mapped from the received definition; and

rendering the one or more components, including the first component, in one or more positions in the view according to the layout.

2 . The apparatus of claim 1 , wherein the rendering comprises selecting a display parameter from among a plurality of available display parameters of the one or more components according to the metadata.

3 . The apparatus of claim 2 , wherein the display parameter comprises at least one of a font size, a font type, a color and a list size.

4 . The apparatus of claim 1 , wherein the one or more components comprise static components.

5 . The apparatus of claim 1 , wherein the one or more components comprise data-bound components.

6 . The apparatus of claim 1 , wherein the one or more components comprise plugin components.

7 . The apparatus of claim 1 , wherein the operations performed at the native application further comprise nesting one component within another component according to the metadata which specifies that the layout.

8 . The apparatus of claim 1 , wherein the one or more components are hard coded into the native application.

9 . The apparatus of claim 1 , wherein the operations performed at the native application further comprise: while loading data of the one or more components, displaying a stencil at the one or more positions in the view.

10 . A non-transitory machine-readable storage medium that provides instructions that, when executed by one or more processors, configures the one or more processors to perform operations comprising:

receiving a request from a native application of a computing device, the request identifies a view of a user interface (UI) of the native application;

in response to the request, accessing metadata corresponding to the view, wherein the metadata identifies one or more components of the native application and specifies a layout of the one or more components;

receiving a definition from a registry of providers, wherein a first component of the one or more components is mapped from the received definition; and

transmitting the metadata, including the first component, to the native application.

11 . The non-transitory machine-readable storage medium of claim 10 , wherein the accessing the metadata comprises accessing a database having different metadata corresponding to different views, and identifying the metadata corresponding to the view based on an identifier of the view in the request.

12 . The non-transitory machine-readable storage medium of claim 10 , wherein the accessing the metadata comprises accessing a multi-tenant database having different metadata for different tenants, and identifying the metadata corresponding to a tenant of the native application.

13 . The non-transitory machine-readable storage medium of claim 10 , wherein the operations performed further comprise:

receiving requests identifying views of UIs from multiple instances of the native application; and

performing a machine learning to identify usage patterns of the UIs based on the requests.

14 . The non-transitory machine-readable storage medium of claim 10 , wherein the operations performed further comprise:

receiving and storing updated metadata for the view; and

transmitting the updated metadata to the native application in response to a subsequent request from the native application of the computing device for metadata for the view of the UI.

15 . The non-transitory machine-readable storage medium of claim 10 , wherein the metadata specifies at least one of a font size, a color and a list size for the view.

16 . The non-transitory machine-readable storage medium of claim 10 , wherein the metadata corresponding to the view is updatable.

17 . A method, comprising:

launching a view of a user interface (UI) of a native application;

in response to the launching, sending a request which identifies the view to a metadata service;

receiving metadata from the metadata service in response to the request;

based on the metadata, accessing from the native application, a parent component and a selected child component which is selected from among a plurality of different types of available child components of the native application;

receiving a definition from a registry of providers, wherein a first component of the one or more components is mapped from the received definition; and

rendering the parent component and the selected child component in the view according to the metadata, and rendering the first component in the view.

18 . The method of claim 17 , wherein the parent component comprises a list and the selected child component comprises a row in the list, and the plurality of different types of available child components comprise different types of rows.

19 . The method of claim 17 , wherein the metadata identifies the selected child component based on a user of the native application.

20 . The method of claim 17 , wherein the rendering comprises displaying the parent component and the selected child component in positions in the view which are specified by the metadata.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2022
From: ROMERO, ERIC; GOLDBERG, STEPHEN; LIECHTY, ADAM; MARULASIDDAPPA, BHARATH; PETERS, SCOTLAND; SYED, IRFAN; WU, CHUXIONG; AGARWAL, SAKET
To: SALESFORCE, INC.
Reel/Frame 061469/0289 →
Continuity (1)
Related Publication 20240129402A1 · Apr 18, 2024
References Cited (185)
US 5577188A · Zhu · 1996 [cited by applicant]
US 5608872A · Schwartz et al. · 1997 [cited by applicant]
US 5649104A · Carleton et al. · 1997 [cited by applicant]
US 5715450A · Ambrose et al. · 1998 [cited by applicant]
US 5761419A · Schwartz et al. · 1998 [cited by applicant]
US 5819038A · Carleton et al. · 1998 [cited by applicant]
US 5821937A · Tonelli et al. · 1998 [cited by applicant]
US 5831610A · Tonelli et al. · 1998 [cited by applicant]
US 5873096A · Lim et al. · 1999 [cited by applicant]
US 5918159A · Fomukong et al. · 1999 [cited by applicant]
US 5963953A · Cram et al. · 1999 [cited by applicant]
US 5983227A · Nazem et al. · 1999 [cited by applicant]
US 6092083A · Brodersen et al. · 2000 [cited by applicant]
US 6161149A · Achacoso et al. · 2000 [cited by applicant]
US 6169534B1 · Raffel et al. · 2001 [cited by applicant]
US 6178425B1 · Brodersen et al. · 2001 [cited by applicant]
US 6189011B1 · Lim et al. · 2001 [cited by applicant]
US 6216133B1 · Masthoff · 2001 [cited by applicant]
US 6216135B1 · Brodersen et al. · 2001 [cited by applicant]
US 6233617B1 · Rothwein et al. · 2001 [cited by applicant]
US 6236978B1 · Tuzhilin · 2001 [cited by applicant]
US 6266669B1 · Brodersen et al. · 2001 [cited by applicant]
US 6288717B1 · Dunkle · 2001 [cited by applicant]
US 6295530B1 · Ritchie et al. · 2001 [cited by applicant]
US 6324568B1 · Diec et al. · 2001 [cited by applicant]
US 6324693B1 · Brodersen et al. · 2001 [cited by applicant]
US 6336137B1 · Lee et al. · 2002 [cited by applicant]
US D454139S · Feldcamp et al. · 2002 [cited by applicant]
US 6367077B1 · Brodersen et al. · 2002 [cited by applicant]
US 6393605B1 · Loomans · 2002 [cited by applicant]
US 6405220B1 · Brodersen et al. · 2002 [cited by applicant]
US 6411949B1 · Schaffer · 2002 [cited by applicant]
US 6434550B1 · Warner et al. · 2002 [cited by applicant]
US 6446089B1 · Brodersen et al. · 2002 [cited by applicant]
US 6535909B1 · Rust · 2003 [cited by applicant]
US 6549908B1 · Loomans · 2003 [cited by applicant]
US 6553563B2 · Ambrose et al. · 2003 [cited by applicant]
US 6560461B1 · Fomukong et al. · 2003 [cited by applicant]
US 6574635B2 · Stauber et al. · 2003 [cited by applicant]
US 6577726B1 · Huang et al. · 2003 [cited by applicant]
US 6601087B1 · Zhu et al. · 2003 [cited by applicant]
US 6604117B2 · Lim et al. · 2003 [cited by applicant]
US 6604128B2 · Diec et al. · 2003 [cited by applicant]
US 6609150B2 · Lee et al. · 2003 [cited by applicant]
US 6621834B1 · Scherpbier et al. · 2003 [cited by applicant]
US 6654032B1 · Zhu et al. · 2003 [cited by applicant]
US 6665648B2 · Brodersen et al. · 2003 [cited by applicant]
US 6665655B1 · Warner et al. · 2003 [cited by applicant]
US 6684438B2 · Brodersen et al. · 2004 [cited by applicant]
US 6711565B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6724399B1 · Katchour et al. · 2004 [cited by applicant]
US 6728702B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6728960B1 · Loomans et al. · 2004 [cited by applicant]
US 6732095B1 · Warshavsky et al. · 2004 [cited by applicant]
US 6732100B1 · Brodersen et al. · 2004 [cited by applicant]
US 6732111B2 · Brodersen et al. · 2004 [cited by applicant]
US 6754681B2 · Brodersen et al. · 2004 [cited by applicant]
US 6763351B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6763501B1 · Zhu et al. · 2004 [cited by applicant]
US 6768904B2 · Kim · 2004 [cited by applicant]
US 6772229B1 · Achacoso et al. · 2004 [cited by applicant]
US 6782383B2 · Subramaniam et al. · 2004 [cited by applicant]
US 6804330B1 · Jones et al. · 2004 [cited by applicant]
US 6826565B2 · Ritchie et al. · 2004 [cited by applicant]
US 6826582B1 · Chatterjee et al. · 2004 [cited by applicant]
US 6826745B2 · Coker · 2004 [cited by applicant]
US 6829655B1 · Huang et al. · 2004 [cited by applicant]
US 6842748B1 · Warner et al. · 2005 [cited by applicant]
US 6850895B2 · Brodersen et al. · 2005 [cited by applicant]
US 6850949B2 · Warner et al. · 2005 [cited by applicant]
US 6907566B1 · McElfresh et al. · 2005 [cited by applicant]
US 7062502B1 · Kesler · 2006 [cited by applicant]
US 7069231B1 · Cinarkaya · 2006 [cited by applicant]
US 7069497B1 · Desai · 2006 [cited by applicant]
US 7100111B2 · McElfresh et al. · 2006 [cited by applicant]
US 7181758B1 · Chan · 2007 [cited by applicant]
US 7269590B2 · Hull et al. · 2007 [cited by applicant]
US 7289976B2 · Kihneman et al. · 2007 [cited by applicant]
US 7340411B2 · Cook · 2008 [cited by applicant]
US 7356482B2 · Frankland et al. · 2008 [cited by applicant]
US 7373599B2 · McElfresh et al. · 2008 [cited by applicant]
US 7401094B1 · Kesler · 2008 [cited by applicant]
US 7406501B2 · Szeto et al. · 2008 [cited by applicant]
US 7412455B2 · Dillon · 2008 [cited by applicant]
US 7454509B2 · Boulter et al. · 2008 [cited by applicant]
US 7508789B2 · Chan · 2009 [cited by applicant]
US 7599935B2 · La Rotonda et al. · 2009 [cited by applicant]
US 7603331B2 · Tuzhilin et al. · 2009 [cited by applicant]
US 7603483B2 · Psounis et al. · 2009 [cited by applicant]
US 7620655B2 · Larsson et al. · 2009 [cited by applicant]
US 7644122B2 · Weyer et al. · 2010 [cited by applicant]
US 7668861B2 · Steven · 2010 [cited by applicant]
US 7698160B2 · Beaven et al. · 2010 [cited by applicant]
US 7730478B2 · Weissman · 2010 [cited by applicant]
US 7747648B1 · Kraft et al. · 2010 [cited by applicant]
US 7779039B2 · Weissman et al. · 2010 [cited by applicant]
US 7779475B2 · Jakobson et al. · 2010 [cited by applicant]
US 7827208B2 · Bosworth et al. · 2010 [cited by applicant]
US 7853881B1 · Aly Assal et al. · 2010 [cited by applicant]
US 7945653B2 · Zukerberg et al. · 2011 [cited by applicant]
US 8005896B2 · Cheah · 2011 [cited by applicant]
US 8014943B2 · Jakobson · 2011 [cited by applicant]
US 8015495B2 · Achacoso et al. · 2011 [cited by applicant]
US 8032297B2 · Jakobson · 2011 [cited by applicant]
US 8073850B1 · Hubbard et al. · 2011 [cited by applicant]
US 8082301B2 · Ahlgren et al. · 2011 [cited by applicant]
US 8095413B1 · Beaven · 2012 [cited by applicant]
US 8095531B2 · Weissman et al. · 2012 [cited by applicant]
US 8095594B2 · Beaven et al. · 2012 [cited by applicant]
US 8103611B2 · Tuzhilin et al. · 2012 [cited by applicant]
US 8150913B2 · Cheah · 2012 [cited by applicant]
US 8209308B2 · Rueben et al. · 2012 [cited by applicant]
US 8209333B2 · Hubbard et al. · 2012 [cited by applicant]
US 8275836B2 · Beaven et al. · 2012 [cited by applicant]
US 8457545B2 · Chan · 2013 [cited by applicant]
US 8484111B2 · Frankland et al. · 2013 [cited by applicant]
US 8490025B2 · Jakobson et al. · 2013 [cited by applicant]
US 8504945B2 · Jakobson et al. · 2013 [cited by applicant]
US 8510045B2 · Rueben et al. · 2013 [cited by applicant]
US 8510664B2 · Rueben et al. · 2013 [cited by applicant]
US 8566301B2 · Rueben et al. · 2013 [cited by applicant]
US 8646103B2 · Jakobson et al. · 2014 [cited by applicant]
US 20010044791A1 · Richter et al. · 2001 [cited by applicant]
US 20020072951A1 · Lee et al. · 2002 [cited by applicant]
US 20020082892A1 · Raffel et al. · 2002 [cited by applicant]
US 20020129352A1 · Brodersen et al. · 2002 [cited by applicant]
US 20020140731A1 · Subramaniam et al. · 2002 [cited by applicant]
US 20020143997A1 · Huang et al. · 2002 [cited by applicant]
US 20020162090A1 · Parnell et al. · 2002 [cited by applicant]
US 20020165742A1 · Robbins · 2002 [cited by applicant]
US 20030004971A1 · Gong · 2003 [cited by applicant]
US 20030018705A1 · Chen et al. · 2003 [cited by applicant]
US 20030018830A1 · Chen et al. · 2003 [cited by applicant]
US 20030066031A1 · Laane et al. · 2003 [cited by applicant]
US 20030066032A1 · Ramachandran et al. · 2003 [cited by applicant]
US 20030069936A1 · Warner et al. · 2003 [cited by applicant]
US 20030070000A1 · Coker et al. · 2003 [cited by applicant]
US 20030070004A1 · Mukundan et al. · 2003 [cited by applicant]
US 20030070005A1 · Mukundan et al. · 2003 [cited by applicant]
US 20030074418A1 · Coker et al. · 2003 [cited by applicant]
US 20030120675A1 · Stauber et al. · 2003 [cited by applicant]
US 20030151633A1 · George et al. · 2003 [cited by applicant]
US 20030159136A1 · Huang et al. · 2003 [cited by applicant]
US 20030187921A1 · Diec et al. · 2003 [cited by applicant]
US 20030189600A1 · Gune et al. · 2003 [cited by applicant]
US 20030204427A1 · Gune et al. · 2003 [cited by applicant]
US 20030206192A1 · Chen et al. · 2003 [cited by applicant]
US 20030225730A1 · Warner et al. · 2003 [cited by applicant]
US 20040001092A1 · Rothwein et al. · 2004 [cited by applicant]
US 20040010489A1 · Rio et al. · 2004 [cited by applicant]
US 20040015981A1 · Coker et al. · 2004 [cited by applicant]
US 20040027388A1 · Berg et al. · 2004 [cited by applicant]
US 20040128001A1 · Levin et al. · 2004 [cited by applicant]
US 20040186860A1 · Lee et al. · 2004 [cited by applicant]
US 20040193510A1 · Catahan et al. · 2004 [cited by applicant]
US 20040199489A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040199536A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040199543A1 · Braud et al. · 2004 [cited by applicant]
US 20040249854A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040260534A1 · Pak et al. · 2004 [cited by applicant]
US 20040260659A1 · Chan et al. · 2004 [cited by applicant]
US 20040268299A1 · Lei et al. · 2004 [cited by applicant]
US 20050050555A1 · Exley et al. · 2005 [cited by applicant]
US 20050091098A1 · Brodersen et al. · 2005 [cited by applicant]
US 20080249972A1 · Dillon · 2008 [cited by applicant]
US 20090063415A1 · Chatfield et al. · 2009 [cited by applicant]
US 20090100342A1 · Jakobson · 2009 [cited by applicant]
US 20090177744A1 · Marlow et al. · 2009 [cited by applicant]
US 20110218958A1 · Warshavsky · 2011 [cited by applicant]
US 20110247051A1 · Bulumulla · 2011 [cited by applicant]
US 20120042218A1 · Cinarkaya · 2012 [cited by applicant]
US 20120233137A1 · Jakobson et al. · 2012 [cited by applicant]
US 20120290407A1 · Hubbard et al. · 2012 [cited by applicant]
US 20130212497A1 · Zelenko et al. · 2013 [cited by applicant]
US 20130218948A1 · Jakobson · 2013 [cited by applicant]
US 20130218949A1 · Jakobson · 2013 [cited by applicant]
US 20130218966A1 · Jakobson · 2013 [cited by applicant]
US 20130247216A1 · Cinarkaya · 2013 [cited by applicant]
US 20140215312A1 · Hicks · 2014 [cited by examiner]
US 20140359537A1 · Jackobson et al. · 2014 [cited by applicant]
US 20150040104A1 · Mall · 2015 [cited by examiner]
US 20190068703A1 · Vora · 2019 [cited by examiner]
US 20220129282A1 · Lee · 2022 [cited by examiner]
US 20230037019A1 · Mata Rodriguez · 2023 [cited by examiner]
“Google Plus Users”, Google+Ripples; Oct. 31, 2011; 3 pages. [cited by applicant]