← Back to Patent Explorer
US7185116B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Template-based customization of a user interface for a messaging application program

Assignee: Microsoft Technology Licensing LLC
•
Filing: 2002-12-27
•
Granted: 2007-02-27
•
Expires: 2022-12-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Mechanisms for a messaging application program (e.g., an e-mail or instant messaging application program) to render information on a display. A server may download different template sets (or the client may otherwise access such template sets) to different client computing systems. Each template is usable by the messaging application program at the respective client to render a display screen in accordance with the display capabilities and/or the user display preferences and settings of the respective client computing system. The messaging application program is allowed to stay the same, while variances due to different display capabilities and/or user display preferences and settings are accommodated by the different template sets.

Inventors

  • 👤 Darren Alexander Apfel
  • 👤 David Milstein
  • 👤 Avner Sander

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 14:04
CPC Classifications
G; G06; G06Q; G06Q10/00; G06Q10/10; G06Q10/107; G06F; G06F13/00; G06F9/00; G06F9/06; G06F9/44; G06F9/451; H; H04; H04L; H04L67/00; H04L67/34

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 503 words
In a network environment that includes a server computing system connected through a network to a plurality of client computing systems having various display capabilities and user display preferences, a method for the server computing system causing a messaging application program to render information on each of the plurality of client computing systems with little, if any, required recoding of the messaging application program to accommodate at least one of the varying display capabilities and the user display preferences of the different client computing systems, the method comprising the following: an act of receiving a first user-selection of a first set of templates from a first client computing system having a text-only display, the first user-selection identifying the first set of templates from among one or more sets of templates that can generate renderable information for the first computing system based on first user preferences for rendering information at the first client computer system, the first selected set of templates lacking any instruction for the first client computing system to display non-text; an act of determining that a the first selected set of templates is suitable for the first client computing system based on the first user preferences, wherein determining suitability includes each of the first selected set of templates being usable at the first client computing system to render a display screen at the first client computing system in accordance with the first user preferences; an act of downloading the first selected set of templates to the first client computing system; an act of receiving a second user-selection of a second set of templates from a second different client computing system having graphical display capable of displaying graphics, the second user-selection identifying the second set of templates from among one or more sets of templates that can generate renderable information for the second computing system based on second user preferences for rendering information at the second client computer system such that the first and second user-preferences cause renderable information from the server computer system to be customized differently at the first and second client computer systems respectively, the second selected set of templates including at least one instruction for the second computing system to display graphics; an act of determining that the second selected set of templates is suitable for the second client computing system based on the second user preferences, each of the second selected set of templates being usable the second client computing system to render the display screen at the second client computing system in accordance with the second user preferences, the first selected set of templates being different than the second selected set of templates; an act of downloading the second selected set of templates to the second client computing system; an act of rendering the display screen at the first computing device as dictated by a template in the first set of templates; and an act of rendering the display screen at the second computing device as dictated by a template in the second set of templates.
Claim 2
Dependent Claim 503 words
In a network environment that includes a server computing system connected through a network to a plurality of client computing systems having various display capabilities and user display preferences, a method for the server computing system causing a messaging application program to render information on each of the plurality of client computing systems with little, if any, required recoding of the messaging application program to accommodate at least one of the varying display capabilities and the user display preferences of the different client computing systems, the method comprising the following: an act of receiving a first user-selection of a first set of templates from a first client computing system having a text-only display, the first user-selection identifying the first set of templates from among one or more sets of templates that can generate renderable information for the first computing system based on first user preferences for rendering information at the first client computer system, the first selected set of templates lacking any instruction for the first client computing system to display non-text; an act of determining that a the first selected set of templates is suitable for the first client computing system based on the first user preferences, wherein determining suitability includes each of the first selected set of templates being usable at the first client computing system to render a display screen at the first client computing system in accordance with the first user preferences; an act of downloading the first selected set of templates to the first client computing system; an act of receiving a second user-selection of a second set of templates from a second different client computing system having graphical display capable of displaying graphics, the second user-selection identifying the second set of templates from among one or more sets of templates that can generate renderable information for the second computing system based on second user preferences for rendering information at the second client computer system such that the first and second user-preferences cause renderable information from the server computer system to be customized differently at the first and second client computer systems respectively, the second selected set of templates including at least one instruction for the second computing system to display graphics; an act of determining that the second selected set of templates is suitable for the second client computing system based on the second user preferences, each of the second selected set of templates being usable the second client computing system to render the display screen at the second client computing system in accordance with the second user preferences, the first selected set of templates being different than the second selected set of templates; an act of downloading the second selected set of templates to the second client computing system; an act of rendering the display screen at the first computing device as dictated by a template in the first set of templates; and an act of rendering the display screen at the second computing device as dictated by a template in the second set of templates.
Claim 3
Dependent Claim 75 words
A method in accordance with claim 1 , wherein a display of the first client computing system is a black and white display, the first selected set of templates lacking any instruction for the first client computing system to display color, and wherein a display of the second client computing system is a color display, the second selected set of templates including at least one instruction for the second client computing system to display color.
Claim 4
Dependent Claim 56 words
A method in accordance with claim 1 , wherein the act of determining that the first selected set of templates is suitable for the first client computing system comprises the following: an act of determining that a user of the first client computing system has paid for the use of the first selected set of templates.
Claim 5
Dependent Claim 52 words
A method in accordance with claim 1 , wherein the act of determining that the first selected set of templates is suitable for the first client computing system comprises the following: an act of determining that a user of the first client computing system has selected the first selected set of templates.
Claim 6
Dependent Claim 56 words
A method in accordance with claim 1 , wherein the act of determining that the first selected set of templates is suitable for the first client computing system comprises the following: an act of determining that it is close to a particular season, the first selected set of templates adapted for use during the particular season.
Claim 7
Dependent Claim 523 words
A computer program product for use in a network environment that includes a server computing system connected through a network to a plurality of client computing systems having various display capabilities and user display preferences, the computer program product for implementing a method for the server computing system causing a messaging application program to render information on each of the plurality of client computing systems with little, if any, required recoding of the messaging application program to accommodate at least one of the varying display capabilities and the user display preferences of the different client computing systems, the computer program product comprising one or more computer-readable media have thereon the following: computer-executable instructions for receiving a first user-selection of a first set of templates from a first client computing system having a text-only display, the first user-selection identifying the first set of templates from among one or more sets of templates that can generate renderable information for the first computing system based on first user preferences for rendering information at the first client computer system, the first set of templates lacking any instruction for the first computing system to display non-text; computer-executable instructions for determining that a first selected set of templates is suitable for a first client computing system based on the first user preferences, each of the first selected set of templates being usable at the first client computing system to render a display screen at the first client computing system in accordance with the first user preferences; computer-executable instructions for causing the first selected set of templates to be downloaded to the first client computing system; computer-executable instructions receiving a second user-selection of a second set of templates from a second different client computing system having graphical display capable of displaying graphics, the second user-selection identifying the second set of templates from among one or more sets of templates that can generate renderable information for the second computing system based on second user preferences for rendering information at the second client computer system such that first and second user-preferences cause renderable information from the server computer system to be customized differently at the first and second client computer systems respectively, the second selected set of templates including at least one instruction for the second computing system to display graphics; computer-executable instructions for determining that a second selected set of templates is suitable for a second client computing system based on the second user preferences, each of the second selected set of templates being usable at the second client computing system to render the display screen at the second client computing system in accordance with the second user preferences, the first selected set of templates being different than the second selected set of templates; and computer-executable instructions for causing the second selected set of templates to be downloaded to the second client computing system. computer-executable instructions for rendering the display screen at the first computing device as dictated by a template in the first set of templates; and computer-executable instructions for rendering the display screen at the second computing device as dictated by a template in the second set of templates.
Claim 8
Dependent Claim 523 words
A computer program product for use in a network environment that includes a server computing system connected through a network to a plurality of client computing systems having various display capabilities and user display preferences, the computer program product for implementing a method for the server computing system causing a messaging application program to render information on each of the plurality of client computing systems with little, if any, required recoding of the messaging application program to accommodate at least one of the varying display capabilities and the user display preferences of the different client computing systems, the computer program product comprising one or more computer-readable media have thereon the following: computer-executable instructions for receiving a first user-selection of a first set of templates from a first client computing system having a text-only display, the first user-selection identifying the first set of templates from among one or more sets of templates that can generate renderable information for the first computing system based on first user preferences for rendering information at the first client computer system, the first set of templates lacking any instruction for the first computing system to display non-text; computer-executable instructions for determining that a first selected set of templates is suitable for a first client computing system based on the first user preferences, each of the first selected set of templates being usable at the first client computing system to render a display screen at the first client computing system in accordance with the first user preferences; computer-executable instructions for causing the first selected set of templates to be downloaded to the first client computing system; computer-executable instructions receiving a second user-selection of a second set of templates from a second different client computing system having graphical display capable of displaying graphics, the second user-selection identifying the second set of templates from among one or more sets of templates that can generate renderable information for the second computing system based on second user preferences for rendering information at the second client computer system such that first and second user-preferences cause renderable information from the server computer system to be customized differently at the first and second client computer systems respectively, the second selected set of templates including at least one instruction for the second computing system to display graphics; computer-executable instructions for determining that a second selected set of templates is suitable for a second client computing system based on the second user preferences, each of the second selected set of templates being usable at the second client computing system to render the display screen at the second client computing system in accordance with the second user preferences, the first selected set of templates being different than the second selected set of templates; and computer-executable instructions for causing the second selected set of templates to be downloaded to the second client computing system. computer-executable instructions for rendering the display screen at the first computing device as dictated by a template in the first set of templates; and computer-executable instructions for rendering the display screen at the second computing device as dictated by a template in the second set of templates.
Claim 9
Dependent Claim 59 words
A computer program product in accordance with claim 6 , wherein the computer-executable instructions for determining that the first selected set of templates is suitable for the first client computing system comprise the following: computer-executable instructions for determining that a user of the first client computing system has paid for the use of the first selected set of templates.
Claim 10
Dependent Claim 57 words
A computer program product in accordance with claim 6 , wherein the computer-executable instructions for determining that the first selected set of templates is suitable for the first client computing system comprise the following: computer-executable instructions for determining that a user of the first client computing system has determined to use the first selected set of templates.
Claim 11
Dependent Claim 59 words
A computer program product in accordance with claim 6 , wherein the computer-executable instructions for determining that the first selected set of templates is suitable for the first client computing system comprise the following: computer-executable instructions for determining that it is close to a particular season, the first selected set of templates adapted for use during the particular season.
Claim 12
Dependent Claim 21 words
A computer program product in accordance with claim 6 , wherein the one or more computer-readable media are physical memory media.
Claim 13
Dependent Claim 18 words
A computer program product in accordance with claim 10 , wherein the physical memory media is system memory.
Claim 14
Dependent Claim 19 words
A computer program product in accordance with claim 10 , wherein the physical memory media is persistent storage media.
Claim 15
Dependent Claim 564 words
In a network environment that includes a server computing system connected through a network to a plurality of client computing systems having various display capabilities and user display preferences, a method for the server computing system causing a messaging application program to render information on each of the plurality of client computing systems with little, if any, required recoding of the messaging application program to accommodate at least one of the varying display capabilities and the user display preferences of the different client computing systems, the method comprising the following: an act of receiving a first user-customization of a first set of data objects from a first client computing system having a text-only display, the first user-customization identifying the first set of data objects from among one or more sets of data objects that can generate renderable information for the first computing system based on first user preferences for rendering information at the first client computer system, the first set of data objects lacking any instruction for the first client computing system to display non-text; an act of determining that a first customized data object referred to in a first set of templates is suitable for display at the first client computing system based on the first user preferences, each of the first set of templates being usable at the first client computing system to render a display screen at the first client computing system in accordance with the first user preferences, the first set of templates being templates that are either already at a first client computing system or are to be downloaded to the first client computing system; an act of downloading the first customized data object to the first client computing system; an act of receiving a second user-customization of a second set of data objects from a second different client computing system having a graphical display capable of displaying graphics, the second user-customization identifying the second set of data objects from among one or more sets of data objects that can generate renderable information for the second computing system based on second user preferences for rendering information at the second client computer system such that the first and second user-preferences cause renderable information from the server computer system to be customized differently at the first and second client computer systems respectively, the second set of data objects including at least one instruction for the second computing system to display graphics; an act of determining that a second customized data object referred to in a second selected set of templates is suitable for display at the second client computing system based on the second user preferences, each of the second selected set of templates being usable at the second client computing system to render the display screen at the second client computing system in accordance with the second user preferences, the second selected set of templates being templates that are either already at a second client computing system or are to be downloaded to the second client computing system; an act of downloading the second customized data object to the second client computing system; an act of rendering the display screen at the first computing device as dictated by a template in the first set of templates; and an act of rendering the display screen at the second computing device as dictated by a template in the second set of templates.
Claim 16
Dependent Claim 564 words
In a network environment that includes a server computing system connected through a network to a plurality of client computing systems having various display capabilities and user display preferences, a method for the server computing system causing a messaging application program to render information on each of the plurality of client computing systems with little, if any, required recoding of the messaging application program to accommodate at least one of the varying display capabilities and the user display preferences of the different client computing systems, the method comprising the following: an act of receiving a first user-customization of a first set of data objects from a first client computing system having a text-only display, the first user-customization identifying the first set of data objects from among one or more sets of data objects that can generate renderable information for the first computing system based on first user preferences for rendering information at the first client computer system, the first set of data objects lacking any instruction for the first client computing system to display non-text; an act of determining that a first customized data object referred to in a first set of templates is suitable for display at the first client computing system based on the first user preferences, each of the first set of templates being usable at the first client computing system to render a display screen at the first client computing system in accordance with the first user preferences, the first set of templates being templates that are either already at a first client computing system or are to be downloaded to the first client computing system; an act of downloading the first customized data object to the first client computing system; an act of receiving a second user-customization of a second set of data objects from a second different client computing system having a graphical display capable of displaying graphics, the second user-customization identifying the second set of data objects from among one or more sets of data objects that can generate renderable information for the second computing system based on second user preferences for rendering information at the second client computer system such that the first and second user-preferences cause renderable information from the server computer system to be customized differently at the first and second client computer systems respectively, the second set of data objects including at least one instruction for the second computing system to display graphics; an act of determining that a second customized data object referred to in a second selected set of templates is suitable for display at the second client computing system based on the second user preferences, each of the second selected set of templates being usable at the second client computing system to render the display screen at the second client computing system in accordance with the second user preferences, the second selected set of templates being templates that are either already at a second client computing system or are to be downloaded to the second client computing system; an act of downloading the second customized data object to the second client computing system; an act of rendering the display screen at the first computing device as dictated by a template in the first set of templates; and an act of rendering the display screen at the second computing device as dictated by a template in the second set of templates.
Claim 17
Dependent Claim 17 words
A method in accordance with claim 13 , wherein the first customized data object is a picture.
Claim 18
Dependent Claim 23 words
A method in accordance with claim 14 , wherein the first customized data object is an image representing an instant messaging presence status.
Claim 19
Dependent Claim 18 words
A method in accordance with claim 14 , wherein the first customized data object is a background image.
Claim 20
Dependent Claim 22 words
A method in accordance with claim 13 , wherein the first set of templates is different than the second set of templates.
Claim 21
Dependent Claim 23 words
A method in accordance with claim 13 , wherein the first set of templates is the same as the second set of templates.
Claim 22
Dependent Claim 589 words
A computer program product for use in a network environment that includes a server computing system connected through a network to a plurality of client computing systems having various display capabilities and user display preferences, the computer program product for implementing a method for the server computing system causing a messaging application program to render information on each of the plurality of client computing systems with little, if any, required recoding of the messaging application program to accommodate at least one of the varying display capabilities and the user display preferences of the different client computing systems, the computer program product comprising one or more computer-readable media having thereon the following: computer-executable instructions receiving a first user-customization of a first set of data objects from a first client computing system having a text-only display, the first user-customization identifying the first set of data objects from among one or more sets of data objects that can generate renderable information for the first computing system based on first user preferences for rendering information at the first client computer system, the first set of data objects lacking any instruction for the first client computing system to display non-text; computer-executable instructions for determining that a first customized data object referred to in a first set of templates is suitable for display at the first client computing system based on the first user preferences, each of the first set of templates being usable at the first client computing system to render a display screen at the first client computing system in accordance with the first user preferences, the first set of templates being templates that are either already at a first client computing system or are to be downloaded to the first client computing system; computer-executable instructions for causing the first customized data object to be downloaded to the first client computing system; computer-executable instructions for receiving a second user-customization of a second set of data objects from a second different client computing system having a graphical display capable of displaying graphics, the second user-customization identifying the second set of data objects from among one or more sets of data objects that can generate renderable information for the second computing system based on second user preferences for rendering information at the second client computer system such that the firs tans second user-preferences cause renderable information from the server computer system to be customized differently at the first and second client computer systems respectively, the second set of data objects including at least one instruction for the second computing system to display graphics; computer-executable instructions for determining that a second customized data object referred to in a second selected set of templates is suitable for display at the second client computing system based on the second user preferences, each of the second selected set of templates being usable at the second client computing system to render the display screen at the second client computing system in accordance with the second user preferences, the second set of templates being templates that are either already at a second client computing system or are to be downloaded to the second client computing system; computer-executable instructions for causing the second customized data object to be downloaded to the second client computing system; computer-executable instructions for rendering the display screen at the first computing device as dictated by a template in the first set of templates; and computer-executable instructions for rendering the display screen at the second computing device as dictated by a template in the second set of templates.
Claim 23
Dependent Claim 589 words
A computer program product for use in a network environment that includes a server computing system connected through a network to a plurality of client computing systems having various display capabilities and user display preferences, the computer program product for implementing a method for the server computing system causing a messaging application program to render information on each of the plurality of client computing systems with little, if any, required recoding of the messaging application program to accommodate at least one of the varying display capabilities and the user display preferences of the different client computing systems, the computer program product comprising one or more computer-readable media having thereon the following: computer-executable instructions receiving a first user-customization of a first set of data objects from a first client computing system having a text-only display, the first user-customization identifying the first set of data objects from among one or more sets of data objects that can generate renderable information for the first computing system based on first user preferences for rendering information at the first client computer system, the first set of data objects lacking any instruction for the first client computing system to display non-text; computer-executable instructions for determining that a first customized data object referred to in a first set of templates is suitable for display at the first client computing system based on the first user preferences, each of the first set of templates being usable at the first client computing system to render a display screen at the first client computing system in accordance with the first user preferences, the first set of templates being templates that are either already at a first client computing system or are to be downloaded to the first client computing system; computer-executable instructions for causing the first customized data object to be downloaded to the first client computing system; computer-executable instructions for receiving a second user-customization of a second set of data objects from a second different client computing system having a graphical display capable of displaying graphics, the second user-customization identifying the second set of data objects from among one or more sets of data objects that can generate renderable information for the second computing system based on second user preferences for rendering information at the second client computer system such that the firs tans second user-preferences cause renderable information from the server computer system to be customized differently at the first and second client computer systems respectively, the second set of data objects including at least one instruction for the second computing system to display graphics; computer-executable instructions for determining that a second customized data object referred to in a second selected set of templates is suitable for display at the second client computing system based on the second user preferences, each of the second selected set of templates being usable at the second client computing system to render the display screen at the second client computing system in accordance with the second user preferences, the second set of templates being templates that are either already at a second client computing system or are to be downloaded to the second client computing system; computer-executable instructions for causing the second customized data object to be downloaded to the second client computing system; computer-executable instructions for rendering the display screen at the first computing device as dictated by a template in the first set of templates; and computer-executable instructions for rendering the display screen at the second computing device as dictated by a template in the second set of templates.
Claim 24
Dependent Claim 21 words
A computer program product in accordance with claim 19 , wherein the one or more computer-readable media are physical memory media.
Claim 25
Dependent Claim 18 words
A computer program product in accordance with claim 20 , wherein the physical memory media is system memory.
Claim 26
Dependent Claim 19 words
A computer program product in accordance with claim 20 , wherein the physical memory media is persistent storage media.

References Cited (Backward Citations)

US6430624B1 Cited
US20030023755A1 Cited
US20030050062A1 Cited
US20030121983A1 Cited
US20030208546A1 Cited
US20040019683A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2010-02-26 2010-08-28 2011-02-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2014-02-26 2014-08-28 2015-02-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2018-02-26 2018-08-28 2019-02-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag