IP Library Granted Patent US 12,524,938
Granted Patent B2
US 12,524,938 · App. 18/404,321 · Granted Jan 13, 2026

Customized user interface templatization

Inventors: Pooja Sanklecha (Hyderabad, IN); Loknadh Madasu (Hyderabad, IN); Rajat Anand (Hyderabad, IN); Anubhav Mehendru (Hyderabad, IN); Deepak Kumar Pratinidhi (Hyderabad, IN); Shivam Singh (Hyderabad, IN)
Assignee: Microsoft Technology Licensing, LLC.
G06T11/60G06T2200/24
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,524,938
App. No.
18/404,321
Granted
Jan 13, 2026
Kind
B2
Abstract

A system and method for application templatization that receives, via a template adapter, selection of a template for customization of content display for an application. Selections of template configuration options are received for the selected template. The selected template and template configuration options are stored with a template identifier for the application. A network call is received to fetch content for the application upon launch of an instance of the application at a user device. The network call includes the template identifier. In response to receiving the network call, content for the application is fetched and the template is retrieved using the template identifier. The fetched content is mapped to sections of the stored template using the stored template configuration options and the mapped application content is rendered for display on a user interface device.

Claims (22)

1 . A system comprising: a processor; a memory communicatively coupled to the processor, the memory storing an application; and

a computer readable medium storing instructions that are operative upon execution by the processor, to: receive a selection of a template from a plurality of templates for the application from a client device in a tenant environment, wherein the template includes template parameters for content rendering and a template identifier; store the selected template for the application in the memory; transmit the selected template to the client device for rendering content of the application, wherein an application interface for the application on the client device is refreshed upon the template selection, and wherein the selected template is cached on the client device; receive a network call for application content upon launch of an instance of the application executing on a user device within the tenant environment, the network call including the template identifier; and transmit the application content to the user device for rendering according to the selected template based on the template identifier,

wherein the template parameters include a number of tabs, a number of sections, a number of content types, and a scroll direction for each content type of the number of content types, wherein the selected template stored in the memory is stored in database tables and the content rendering for the application occurs at runtime based on dynamic data from the database tables using the template identifier.

2 . The system of claim 1 , wherein the template parameters include instructions for mapping the application content to user interface elements via content holders.

3 . The system of claim 2 , wherein the content holders include at least one of a vertical video content holder, a horizontal video content holder, a vertical image content holder, a horizontal image content holder, a vertical text content holder, a horizontal text content holder, and an actions content holder.

4 . The system of claim 2 , wherein an individual content holder is associated with a single content data type.

5 . The system of claim 1 , wherein the instructions are operative upon execution by the processor, to store, in the memory, a customizable template for providing customized template configuration for the application.

6 . The system of claim 1 , wherein receiving the selection of the template further comprises receiving a layout templatization selection or a customizable templatization selection.

7 . The system of claim 6 , wherein the layout templatization selection includes configuration selections for data representation within a predefined template.

8 . The system of claim 6 , wherein the customizable templatization selection includes configuration selections for content types, template elements, and data representation.

9 . A system comprising: a processor; a memory communicatively coupled to the processor, the memory storing a template adapter; and the template adapter executed by the processor, to: receive a selected template for an application hosted at a cloud server, the selected template including a template identifier and template parameters; store the selected template in the memory; responsive to receiving a request to launch an instance of the application, initiate a call to obtain application content from the cloud server; map the application content obtained to sections of the selected template stored in the memory based on the template parameters; and render the mapped application content according to the selected template on a user interface display,

wherein the template parameters include a number of tabs, a number of sections, a number of content types, and a scroll direction for each content type of the number of content types, wherein the selected template stored in the memory is stored in database tables and the content rendering for the application occurs at runtime based on dynamic data from the database tables using the template identifier.

10 . The system of claim 9 , the template adapter further executed by the processor to: initiate the call to obtain the application content via content holders of the application interface.

11 . The system of claim 10 , wherein each of the content holder is associated with an individual content type, and wherein the content holders fetch data by content type.

12 . The system of claim 10 , wherein the content holders include at least one of a vertical video content holder, a horizontal video content holder, a vertical image content holder, a horizontal image content holder, a vertical text content holder, a horizontal text content holder, and an actions content holder.

13 . A computer-implemented method comprising:

receiving, via a templatization service, selection of a template for customization of content display for an application; receiving selections of template configuration options for the selected template; storing the selected template and template configuration options with a template identifier for the application; receiving a network call to fetch content for the application upon launch of an instance of the application at a user device, the network call including the template identifier; responsive to receiving the network call, fetching the content for the application; responsive to receiving the network call, retrieving the stored template using the template identifier; mapping the fetched content to sections of the stored template using the stored template configuration options; and rendering the mapped application content for display at the user device,

wherein the template parameters include a number of tabs, a number of sections, a number of content types, and a scroll direction for each content type of the number of content types, wherein the selected template stored in the memory is stored in database tables and the content rendering for the application occurs at runtime based on dynamic data from the database tables using the template identifier.

14 . The method of claim 13 , wherein receiving the selection of the template further comprises: receiving a layout templatization selection or receiving a customizable templatization selection.

15 . The method of claim 13 , wherein the template configuration options are selected from a list consisting of: a number of tabs, a direction of content scrolling, a number of sections, content type selections, action type selections, and container placement selections.

16 . The method of claim 13 , wherein the selected template and template configuration options with the template identifier is cached at a local client-side database.

17 . The method of claim 13 , wherein fetching the content for the application further comprises: using content holders to fetch the content, each individual content holder of the content holders associated with a single content data type.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: SANKLECHA, POOJA; MADASU, LOKNADH; ANAND, RAJAT; MEHENDRU, ANUBHAV; PRATINIDHI, DEEPAK KUMAR; SINGH, SHIVAM
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 066520/0071 →
Continuity (1)
Related Publication 20250225696A1 · Jul 10, 2025
References Cited (37)
US 9122669B2 · Demant · 2015 [cited by examiner]
US 9858361B2 · Fernandez · 2018 [cited by examiner]
US 10769829B2 · De Gaetano · 2020 [cited by examiner]
US 11537283B2 · Gonzalez · 2022 [cited by examiner]
US 11829369B2 · Norrby · 2023 [cited by examiner]
US 12147646B2 · Jacobson · 2024 [cited by examiner]
US 20080313552A1 · Buehler · 2008 [cited by examiner]
US 20090100362A1 · Sauve · 2009 [cited by examiner]
US 20100042989A1 · Anand · 2010 [cited by examiner]
US 20110004839A1 · Cha · 2011 [cited by examiner]
US 20110047477A1 · White · 2011 [cited by examiner]
US 20110289437A1 · Yuen · 2011 [cited by examiner]
US 20120166985A1 · Friend · 2012 [cited by examiner]
US 20120330995A1 · Muenkel · 2012 [cited by examiner]
US 20130290149A1 · Rashwan · 2013 [cited by examiner]
US 20140229270A1 · Rashwan · 2014 [cited by examiner]
US 20140280770A1 · Burckart · 2014 [cited by examiner]
US 20140282398A1 · Podolyak · 2014 [cited by examiner]
US 20140282399A1 · Gorelik · 2014 [cited by examiner]
US 20150020010A1 · Hale · 2015 [cited by examiner]
US 20150193090A1 · Grover · 2015 [cited by examiner]
US 20160063595A1 · Oral · 2016 [cited by examiner]
US 20170180526A1 · Shukla · 2017 [cited by examiner]
US 20170270497A1 · Tsou · 2017 [cited by examiner]
US 20170270505A1 · Tsou · 2017 [cited by examiner]
US 20170315782A1 · Chaudhry · 2017 [cited by examiner]
US 20170346970A1 · Kodimer · 2017 [cited by examiner]
US 20180095653A1 · Hasek · 2018 [cited by examiner]
US 20180183953A1 · Ormond · 2018 [cited by examiner]
US 20180249022A1 · Webb · 2018 [cited by examiner]
US 20190230124A1 · Hodgman · 2019 [cited by examiner]
US 20200184420A1 · Dange · 2020 [cited by examiner]
US 20220107790A1 · Naghshin · 2022 [cited by examiner]
US 20250225696A1 · Sanklecha · 2025 [cited by examiner]
Dynamic Yield., “Creating Templates” Retrieved from: https://support.dynamicyield.com/hc/en-us/articles/360022735973-Creating-Templates, retrieved on: Oct. 23, 2020, 14 pages. [cited by applicant]
Joseph Seddik ., “Title Allowing for dynamic templates—easy change” Retrieved from: https://www.googlecloudcommunity.com/gc/Feature-Ideas/Allowing-for-dynamic-templates-easy-change/idi-p/421664, retrieved on: May 10, 20… [cited by applicant]
Oracle, “User Interface Templates”, Retrieved from: https://msft.anaqua.com/anaqua/Patent/PatentRelatedArt.aspx?RecordId=95039608, retrieved on: May 10, 2013, 33 Pages. [cited by applicant]