[go: up one dir, main page]

HK1177007A - Pattern-based user interfaces - Google Patents

Pattern-based user interfaces Download PDF

Info

Publication number
HK1177007A
HK1177007A HK13103733.1A HK13103733A HK1177007A HK 1177007 A HK1177007 A HK 1177007A HK 13103733 A HK13103733 A HK 13103733A HK 1177007 A HK1177007 A HK 1177007A
Authority
HK
Hong Kong
Prior art keywords
user interface
information
classification
metadata
style
Prior art date
Application number
HK13103733.1A
Other languages
Chinese (zh)
Inventor
J.S.宾得
S.A.韦瑟斯福特
A.H.孔
R.斯坦顿
Original Assignee
微软技术许可有限责任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 微软技术许可有限责任公司 filed Critical 微软技术许可有限责任公司
Publication of HK1177007A publication Critical patent/HK1177007A/en

Links

Description

Style-based user interface
Background
Effective user interfaces typically employ proven user interface styles to present information in a relevant, readable, and useful manner. As used herein, a style is a visual style used to present information. For example, each entry in the list of information may have multiple fields, and one of the fields is the primary identifier of the information in the entry. Styles may involve summarizing the information in a list by including a primary identifier over each entry in the list. The primary identifier may be presented in relatively large bold, while the remaining information may be presented below the primary identifier in conventional non-bold. Other styles may include a style for inputting batch information, a style for displaying detailed information, a style for displaying information in a particular format (such as a date, a format of a phone number, etc.). Optimal visual design styles are typically not formulated, but rather are implemented by developers who know the styles and guidelines for using the styles, and who know the user interface technology.
SUMMARY
The tools and techniques described herein may allow styles to be used to create an effective user interface more easily and efficiently.
In one embodiment, the tools and techniques may include describing the intended use of information to be displayed by a software application. An application may be run and selection of a user interface style module for displaying information may be performed. As used herein, a style module is declarative and/or computer-executable instructions that may be invoked to arrange and configure one or more user interface constructs to conform to a corresponding visual style, such as to conform to a standard visual style for a particular use. The user interface style module may be designed for the intended use. User interface constructs for displaying information using the user interface style module can be instantiated and organized while the application is running, and can be presented to display the information.
In another embodiment of the tools and techniques, a classification of information to be displayed with a software application may be performed to generate classification metadata. A first user interface style module may be selected to display information in a first context in an application, and a second user interface style module may be selected to display information in a second context in the application. A first set of user interface constructs may be instantiated and organized to display at least a portion of the information using a first style module to select and sort metadata. The first set of constructs may be presented for displaying information in a first application context. A second set of user interface constructs may be instantiated and organized to display at least a portion of the information using a second style module to select and sort metadata. A second set of user interface constructs can be presented for displaying information in a second application context.
In yet another embodiment of the tools and techniques, classification of information to be displayed with a software application can be performed to generate classification metadata, and the classification metadata can be modified. The user interface construct may be instantiated and organized using the classification metadata and selection of a user interface style module for displaying information. A user interface construct may be presented to display information.
This summary is provided to introduce a selection of concepts in a simplified form. These concepts are further described in the detailed description that follows. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Similarly, the invention is not limited to implementations that solve any disadvantages, problems, or advantages discussed in the background, the detailed description, or the drawings.
Brief Description of Drawings
FIG. 1 is a block diagram of a suitable computing environment in which one or more of the described embodiments may be implemented.
FIG. 2 is a block diagram of a style-based user interface environment including a development environment and an application execution environment.
FIG. 3 is a block diagram of another style-based user interface environment including a development environment and an application execution environment.
FIG. 4 is a flow diagram of a style-based user interface technique.
FIG. 5 is a flow diagram of another style-based user interface technique.
FIG. 6 is a flow diagram of yet another style-based user interface technique.
Detailed Description
Many developers do not have sufficient knowledge of user interface styles and user interface technology to effectively use styles when developing software user interfaces. Moreover, even if the developer has this knowledge, using styles to create a user interface is time consuming. Embodiments described herein relate to techniques and tools for more easily and efficiently creating an effective style-based user interface. Embodiments may allow a larger population of developers to use styles more efficiently than previous techniques. Such improvements may result from the use of various techniques and tools, separately or in combination.
These techniques and tools may include capturing metadata about information to be displayed with an application, describing an intended use of the information to be displayed, and performing a classification of the information using the metadata about the information. The classification may generate classification metadata. Performing the classification may include automatically performing one or more classifications and/or receiving user input specifying one or more classifications. A user interface style module for displaying information may be selected. The user interface style module and the classification metadata may be used to instantiate and organize one or more user interface constructs to display information according to the classification metadata and style module. Metadata about the information to be displayed may also be used to instantiate and organize the user interface construct according to the metadata. A user interface construct may be presented to display information. The style module selection and instantiation, organization, and presentation of user interface constructs may be done while the application is running, such as in a different computing environment than the development environment in which the intended use is described. Style module selection may depend on dynamic information available while the application is running, such as whether the end user is authorized to edit a particular portion of the information. The classification metadata, other information metadata, and/or style module selections may be modified, and the modified classification metadata, information metadata, and/or style module selections may be used to instantiate, organize, and present the user interface construct. In addition, the classification metadata may be used with a plurality of different style modules to display the classified information differently in different contexts in the application. Likewise, additional user interface style modules may be used in the main style module to form a series of nested user interface style modules, such as where a style module for an item is nested in a style module for the entire list of items.
Some "wizard" type techniques have been used to describe data and to run a sample user interface to display data according to a style. However, these wizards are limited. For example, typical wizard techniques do not allow for instantiation and organization of user interface elements while an application is running. Those techniques also do not allow for modifications to be made while the wizard is already running. Additionally, those techniques do not allow for the use of data classification to present the classified information according to different style modules in different contexts.
Thus, one or more substantial benefits may be realized through the tools and techniques described herein. For example, a style module can be selected and user interface elements can be instantiated, organized, and presented while the application is running, which can provide more flexibility in style module selection and instantiation, organization, and presentation of user interface elements. Flexibility can also be enhanced by allowing modification of information metadata, classification metadata, style modules, and/or style module selections, and by using metadata from the data classifications to present information according to different style modules in different contexts. The subject matter defined in the appended claims is not necessarily limited to the benefits described herein. Particular implementations of the invention may provide all, some, or none of the benefits described herein. Although operations for the various techniques are described herein in a particular, sequential order for the purposes of presentation, it should be understood that this manner of description encompasses rearrangement in the order of operations, unless a particular ordering is required. For example, in some cases, operations described sequentially may be rearranged or performed concurrently. The techniques described herein with reference to flow diagrams may be used for one or more systems described herein and/or for one or more other systems. For example, the various techniques described herein may be implemented in hardware or software, or a combination of both. Moreover, for the sake of simplicity, the flow diagrams may not show the various ways in which particular techniques may be used in conjunction with other techniques.
Exemplary computing Environment
FIG. 1 illustrates a generalized example of a suitable computing environment (100) in which one or more of the described embodiments may be implemented. For example, one or more such computing environments may be used as a development environment or an application execution environment. In general, a variety of different general purpose or special purpose computing system configurations may be used. Examples of well known computing system configurations that may be suitable for use with the tools and techniques described herein include, but are not limited to, server farms and server clusters, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The computing environment (100) is not intended to suggest any limitation as to scope of use or functionality of the invention, as the present invention may be implemented in diverse general-purpose or special-purpose computing environments.
Referring to fig. 1, a computing environment (100) includes at least one processing unit (110) and memory (120). In fig. 1, this most basic configuration (130) is included within the dashed line. The processing unit (110) executes computer-executable instructions and may be a real or virtual processor. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power. The memory (120) may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory), or some combination of the two. The memory (120) stores software (180) that implements a style-based user interface.
Although the various blocks of FIG. 1 are shown with lines for the sake of clarity, in reality, delineating various components is not so clear, and metaphorically, the lines of FIG. 1 and the other figures discussed below would more accurately be grey and fuzzy. For example, a presentation component such as a display device may be considered an I/O component. Also, the processor has a memory. The inventors hereof recognize that such is the nature of the art, and reiterate that the diagram of FIG. 1 is merely illustrative of an exemplary computing device that can be used in connection with one or more embodiments of the present invention. There is no distinction between categories such as "workstation," server, "" laptop, "" handheld device, "etc., all of which are considered to be within the scope of fig. 1 and are referred to as" computer, "" computing environment, "or" computing device.
The computing environment (100) may have additional features. In fig. 1, a computing environment (100) includes storage (140), one or more input devices (150), one or more output devices (160), and one or more communication connections (170). An interconnection mechanism (not shown) such as a bus, controller, or network interconnects the components of the computing environment (100). Typically, operating system software (not shown) provides an operating environment for other software executing in the computing environment (100) and coordinates activities of the components of the computing environment (100).
The storage (140) may be removable or non-removable, and may include computer-readable storage media such as magnetic disks, magnetic tapes or cassettes, CD-ROMs, CD-RWs, DVDs, or any other medium which can be used to store information and which can be accessed within the computing environment (100). The memory (140) stores instructions for the software (180).
The input device (150) may be a touch input device such as a keyboard, mouse, pen, or trackball; a voice input device; a scanning device; a network adapter; a CD/DVD reader; or another device that can provide input to the computing environment (100). The output device (160) may be a display, printer, speaker, CD/DVD recorder, network adapter, or another device that provides output from the computing environment (100).
The communication connection (170) allows communication with another computing entity over a communication medium. Thus, the computing environment (100) may operate in a networked environment using logical connections to one or more remote computing devices, such as a personal computer, a server, a router, a network PC, a peer device or another common network node. The communication medium conveys information such as data or computer-executable instructions or requests in a modulated data signal. A modulated data signal is a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired or wireless techniques implemented with an electrical, optical, RF, infrared, acoustic, or other carrier.
Various tools and techniques may be described in the general context of non-transitory computer-readable media. Computer readable media can be any available media that can be accessed within a computing environment. By way of example, and not limitation, for the computing environment (100), computer-readable media include memory (120), storage (140), and combinations thereof.
The tools and techniques may be described in the general context of computer-executable instructions, such as those included in program modules, being executed in a computing environment on a target real or virtual processor. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or separated between program modules as desired in various embodiments. Computer-executable instructions for program modules may be executed in local or distributed computing environments. In a distributed computing environment, program modules may be located in both local and remote computer storage media.
For purposes of illustration, the detailed description uses terms like "determine," "select," "adjust," and "operate" to describe computer operations in a computing environment. These and other similar terms are high-level abstractions for operations performed by a computer, and should not be confused with acts performed by a human being, unless performance of an act by a human being (such as a "user") is explicitly noted. The actual computer operations corresponding to these terms vary depending on the implementation.
Style-based user interface system and environment
FIG. 2 is a block diagram of a style-based user interface computing environment (200) in connection with which one or more of the described embodiments may be implemented. The environment (200) may include information (202) to be displayed, a meta model (203) including metadata about the information (202), a development environment (204) for developing an application (206) that may display the information (202), and an application execution environment (208) that may run the application (206). The development environment (204) and the application execution environment (208) may be different environments, such as different physical or virtual machines. Each of these components of the style-based user interface environment (200) will be described in more detail below.
The information (202) to be displayed is shown in fig. 2 as being in the development environment (204), while the information (202) may also be included with the application (206) in the execution environment (208). Further, some or all of the information (202) may not be present in the development environment (204). For example, at least a portion of the information (202) may be input by a user while the application (206) is running in the execution environment (208). The information (202) may be any of various types of information. For example, the information may be data from a database, a prompt for a user to enter data, a diagram to be displayed, data entered by a user, and so forth.
The meta-model (203) may include captured information metadata (214), which may be in any of a variety of formats, such as an XML format. The information metadata (214) may describe information (202) to be displayed. For example, the information metadata (214) may include a field name or description of a field in the information (202), a type of the field in the information (202) (e.g., a value, a string, a date, and/or a time). The information metadata (214) may also include relevant metadata (e.g., string length constraints) that may affect user interface instantiation, organization, and/or presentation. The meta-model (203) may also include classification metadata (216) for one or more aspects (e.g., fields, field groups, etc.) of the information (202).
Additionally, the meta-model (203) may include a style selection (218) that may include an indication of an expected use of at least a portion of the information (202). For example, the style selection (218) may include an indication that the user is to batch edit the information, which in turn indicates a selection of a user interface style module that allows batch editing of the information. As another example, the style selection (218) may indicate that the user wants a simple summary of the information, which may indicate a selection of a user interface style module that provides the simple summary.
Development environment (204)May be used to develop an application (206) to be run in an execution environment (208). As part of this development, the development environment (204) may capture data for the meta-model (203). Data (information metadata (214), classification metadata (216), and/or style selections (218)) for the meta-model (203) can be captured in various ways, such as by receiving user input from a developer and/or inferring the data via running simple heuristics on a repository (e.g., a database, a web service, etc.) of information (202) to be displayed. In addition to the various modules discussed below, the development environment may include, for example, those at MicrosoftOther development modules provided in the software development system.
The development environment (204) may include an information description module (220). An information description module (220) may capture information metadata (214) that may describe information (202) to be displayed. For example, the information metadata (214) may describe the structure and characteristics of information to be displayed to the end user. For example, the information metadata (214) may indicate that the information (202) to be displayed includes representations of customers, each customer representation including a name, address, email, and phone number. The information metadata (214) may be captured by an information description module (220) in the development environment (204), and the information metadata (214) may also be persistently stored in the development environment (204).
The development environment (204) may also include a classification module (222). The classification module (222) may classify the information (202) to be displayed, thereby generating classification metadata (216). The classification metadata (216) may include metadata that describes the relative priority and semantics of the information (202). In an example of customer information such as discussed above, the classification metadata (216) may indicate that the name field is the primary identifier of the information, and that the email, address, and phone number fields are of secondary importance. The classification module (222) may perform classification to generate classification metadata (216) by receiving user input from a developer and/or by inferring classification information using simple heuristics on information metadata (214) captured by the information description module (220). The classification metadata (216) may be device and platform independent, such that it can be used to instantiate and organize a style-based user interface in any of a variety of different platforms and/or devices, as will be discussed more below. The classification may be performed in response to user input indicating one or more classifications (i.e., to perform the classification to produce classification metadata (216)), and/or may be performed by automatically inferring the classification metadata (216) from the information metadata (214). For example, if the information metadata (214) indicates that the field name is "name," it may be inferred that the field is the primary identifier of at least a portion of the information (202).
The development environment (204) may also include a style selection module (224) capable of instantiating and organizing the style selections (218). The style selection (218) may include metadata describing how the information (202) is to be used and/or what style or style module is to be used when displaying the information. For example, the style selection (218) may indicate that the user is to browse through many instances of information structures in a list, such as a customer list. Alternatively, the style selection (218) may indicate other uses, such as by indicating that the user is to batch edit the information, that the user is to desire a detailed summary of the information, and so forth. The style selection (218), which may include metadata indicating one or more selected styles or style modules, may be generated in response to user input indicating the style selection (218). The style selection (218) may indicate that the styles or style modules are to be nested within each other. For example, one style may apply to each entry in the list, while another style may apply to the entire list. A set of style modules may be available such that a style selection (218) may be selected from the available style modules. However, the set of style modules can be extensible such that additional styles (and additional corresponding style modules for instantiating and organizing user interface constructs according to style) can be added in response to user input by a developer or others. The style selection (218) may include a selection of multiple style modules for the same information (202). For example, different style modules in the style selection (218) may be applicable to different contexts in the application. For example, in one context, the information (202) may not be editable, while in another context, the information (202) may be editable. As another example, in one context, the information (202) may be displayed in a summary style, while in another context, the information (202) may be displayed in a detailed display style to display more details in the information (202).
The developer may modify the meta-model (203), including making modifications to the information metadata (214), classification metadata (216), style selections (218), and/or the selected style module itself. Moreover, if a second set of data in the meta-model (203) is inferred from a first set of data in the meta-model (203), a modification to the first set may prompt a modification to be made to the second set as well. For example, if classification metadata (216) is inferred from information metadata (214) and information metadata (214) changes in a manner that will affect the classification metadata (216), the classification metadata may be updated to reflect the change.
Still referring to FIG. 2, the application (206) may be compiled in a development environment (204), and the compiled application may be passed to and run in an execution environment (208). The execution environment (208) may include an available styles module (230) that may be run to implement the style selected in the style selection (218). The execution environment (208) may include a user interface construct instantiation and organization module (232) that may use data from the meta-model (203) to instantiate and organize one or more user interface constructs (234). For example, the construct instantiation and organization module (232) can instantiate and organize the user interface construct (234) using the classification metadata (216) and the style selections (218) by invoking one or more of the style modules (230) corresponding to the style selections (218) to create one or more user interface constructs (234) to display information in a manner optimized for the corresponding usage indicated in the style selections (218).
The invoked style module (230) may apply the classification metadata (216) to assign various fields of the information (202) to categories in the style, and may instantiate and organize the user interface construct to display the information (202), wherein the assigned fields are displayed according to the style categories. For example, the "name" field of the information (202) may be classified as a "primary identifier" in the classification metadata (216). The style module (230) may have a "primary identifier" category and a "name" field may be assigned to the category. As an example, the "primary identifier" category may appear above the information in the user interface and have a larger font size than other information fields displayed.
The user interface construct (234) may include platform and device independent construct layers and platform and/or device dependent construct layers. This may allow a particular platform to be selected from the available platforms, and the platform independent fabric layers may be converted to platform dependent fabric layers for the selected platform. The platform dependent user interface construct layer may include standard user interface constructs that may be used to invoke a selected platform or technology to render the construct according to a selected platform module. For example, the platform dependent user interface build layer may have a standard format or a special format, such as HTML, Microsoft SilverlightTMFormat, microsoft Word document format, XML, etc. As described above, the style module (230) may be extensible such that additional style modules may be defined externally and made available in the development environment (204) and made available to applications developed in the development environment (204).
The execution environment (208) may also include a user interface presentation module (236) that may present the user interface construct (234) to provide a user interface display (238). This can be done with standard user interface platforms or techniques. For example, application programming interface calls may be made to a platform or technology. Platforms or technologies can construct (234) by presenting a user interface to facilitate in accordance with the meta-model (203)A user interface display (238) of the information (202) is provided in response. The captured information metadata (214) may also include platform-specific annotations (e.g., Silverlight) that may be used when presenting the user interfaceTMOr CSS style identifier or theme definition).
Referring now to fig. 3, an alternative style-based user interface environment (300) will be discussed. The environment (300) may include the same components and component features as the environment (200) discussed above. Thus, the environment (300) may include information (302) to be displayed in an application, a meta-model (303), a development environment (304), an application (306) developed in the development environment (304), an application execution environment (308), captured information metadata (314), classification metadata (316), style selection (318), an information description module (320), a classification module (322), a style selection module (324), a style module (330), a user interface construct instantiation and organization module (332), a user interface construct (334), a user interface presentation module (336), and a user interface display (338) however, the user interface construct instantiation and organization module (332) may be in the development environment (304) rather than in the execution environment (308) such that the user interface construct is instantiated and organized in the development environment (304) or, there may be one user interface construct instantiation and organization module in the development environment and another user interface construct instantiation and organization module in the execution environment, such that some user interface constructs may be instantiated and organized in the development environment while other user interface constructs may be instantiated and organized in the execution environment. The components of the style-based user interface environment may also be rearranged in other ways not explicitly detailed herein.
Style-based user interface techniques
Referring to FIG. 4, a style-based user interface technique will be discussed. In a software development computing environment, the intended use of information to be displayed by a software application may be described (410). A classification of at least a portion of the information may be performed (420). An application may be run (430) and selection of at least one user interface style module for displaying information may be performed (440). While the application is running (430), one or more user interface constructs for displaying information may be instantiated and organized (450) using at least one user interface style module. The performance (420) of the classification may result in classification metadata that may be used to instantiate and organize (450) one or more user interface constructs. Also while the application is running (430), one or more user interface constructs may be presented (460) to display information. The execution (440) of the style module selection may also be performed while the application is running (430), but the execution (440) may also be performed before the application is running.
Describing (410) the intended use of the information may include receiving user input indicating the intended use. Instantiating and organizing (450) the one or more user interface constructs can include instantiating the one or more platform independent user interface constructs and the one or more platform dependent user interface constructs. Moreover, the instantiation and organization (450) may take into account application execution environment constraints. For example, instantiating and organizing (450) can include receiving user input selecting a platform, and at least a portion of the one or more user interface constructs can be formatted for the selected platform. As another example, styling (styling) may affect how user interface constructs are instantiated and organized. For example, Microsoft SilverlightTMThe output platform may support styling and themeing such that different themes and/or styles may be applied. In one example, the printer specific theme may be applied when instantiating and organizing a user interface construct for presenting a screen for printing. Thus, the user interface may appear and/or look different when presented for printing than when presented for screen display.
As another example, in a mobile platform implementation, the presentation of one or more user interfaces may be different due to environmental constraints of smaller screen size. For example, styles for screens with different portions may be reorganized into a set of tabs to save screen space, or a portion of a screen may be placed behind a "more" button. Information about the intended use and classification or other constraints may be considered along with this type of environmental constraint consideration. Continuing with the mobile platform example, information categorized as less important by metadata representing the developer's intent may be automatically placed into the "more" portion of the screen when the user interface construct is instantiated and organized. For example, it may be desirable to immediately display information labeled "title" and "subtitle" by the developer, but it may be less important to immediately display information labeled "description" by the developer, whereby the "description" information may be placed into the "more" portion of the screen.
The performing (420) of the classification may include assigning one or more fields of the information into one or more categories in at least one user interface style module. Moreover, the performing of the classification (420) may include performing one or more heuristics, such as heuristics for metadata about the information to be displayed.
The technique of fig. 4 may also include receiving user input indicating a modification to the classification metadata, and modifying the classification metadata in response to the user input to produce modified classification metadata. The modified classification metadata may be used to instantiate and organize one or more user interface constructs.
Referring now to FIG. 5, another style-based user interface technique will be discussed. The technique can include performing (510) classification of information to be displayed with a software application to generate classification metadata. The technique may also include performing (520) a first selection of a first set of one or more user interface style modules to display information in a first context in the application, and performing (530) a second selection of a second set of one or more user interface style modules to display information in a second context in the application. A first set of one or more user interface constructs for displaying at least a portion of the information may be instantiated and organized (540) using the first style module selection and classification metadata, and a second set of one or more user interface constructs for displaying at least a portion of the information may be instantiated and organized (550) using the second style module selection and classification metadata. A first set of one or more user interface constructs may be presented (560) for displaying information in a first context, and a second set of one or more user interface constructs may be presented (570) for displaying information in a second context.
Presenting (560) the first set of one or more user interface constructs and presenting (570) the second set of one or more user interface constructs may be performed while the software application is running. Instantiating and organizing (540) a first set of one or more user interface constructs and instantiating and organizing (550) a second set of one or more user interface constructs may be performed while a software application is running. Moreover, the techniques may include describing a first intended use of the information in a first context and describing a second intended use of the information in a second context. Describing a first intended use of information in a first context and describing a second intended use of information in a second context can be performed in a computing environment different from a computing environment executing the first set of one or more user interface constructs and the second set of one or more user interface constructs.
The technique of FIG. 5 may also include capturing metadata describing the information, and at least a portion of the classification may be performed by performing one or more heuristics on the metadata describing the information to be displayed.
Referring now to FIG. 6, yet another style-based user interface technique will be discussed. The technique can include performing (610) classification of information to be displayed with a software application to generate classification metadata. At least a portion of the classification may be performed automatically. The classification metadata may be modified (620), such as in response to user input indicating a modification to the classification metadata, and other metadata describing information to be displayed may also be modified (625). Selection of at least one user interface style module for displaying information may be performed (630). One or more user interface constructs may be instantiated and organized (640) using the modified classification metadata and style module selections. One or more user interface constructs may be presented (650) to display information.
The technique of FIG. 6 may also include capturing metadata describing the information and the metadata describing the information may be used to perform at least a portion of the classification. If the metadata describing the information has been modified, at least a portion of the classification may be performed using the modified metadata. The technique may also include receiving user input indicating an intended use of the information, and at least one user interface style module may be designed for the intended use.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (15)

1. A computer-implemented method, comprising:
in a software development computing environment, describing an intended use of information to be displayed by a software application;
running the application;
performing a selection of at least one user interface style module for displaying the information, the at least one user interface style module designed for the intended use;
instantiating and organizing one or more user interface constructs to display the information using the at least one user interface style module while running the application; and
presenting the one or more user interface constructs to display the information while the application is running.
2. The method of claim 1, wherein describing the expected use of the information comprises receiving user input indicating the expected use.
3. The method of claim 1, wherein instantiating and organizing the one or more user interface constructs comprises instantiating one or more platform-independent user interface constructs and one or more platform-dependent user interface constructs.
4. The method of claim 1, wherein instantiating and organizing the one or more user interface constructs takes into account one or more application execution environment constraints.
5. The method of claim 1, further comprising performing a classification of at least a portion of the information, wherein the performing of the classification produces classification metadata for instantiating and organizing the one or more user interface constructs.
6. The method of claim 5, wherein the performing of the classification comprises assigning one or more fields of the information into one or more categories in the at least one user interface style module.
7. The method of claim 1, further comprising performing one or more heuristics to classify at least a portion of the information, wherein the classification generates classification metadata for instantiating and organizing the one or more user interface constructs.
8. The method of claim 1, wherein instantiating and organizing the one or more user interface constructs further comprises receiving user input selecting a platform, and wherein at least a portion of the one or more user interface constructs is formatted for the selected platform.
9. The method of claim 1, wherein:
the selection of the at least one user interface style module is performed while running the application;
the method further includes performing a classification of at least a portion of the information, wherein the classification produces classification metadata;
the method also includes receiving user input indicating a modification to the classification metadata, and modifying the classification metadata in response to the user input to produce modified classification metadata;
the modified classification metadata is used to instantiate and organize the one or more user interface constructs; and is
The categorizing metadata includes assigning one or more fields of the information into one or more categories in the at least one user interface style module.
10. One or more computer-readable storage media having computer-executable instructions embodied thereon that, when executed by at least one processor, cause the at least one processor to perform acts comprising:
performing classification of information to be displayed with the software application to generate classification metadata;
performing a first selection of a first set of one or more user interface style modules to display the information in a first context in the application;
performing a second selection of a second set of one or more user interface style modules to display the information in a second context in the application;
instantiating and organizing a first set of one or more user interface constructs to display at least a portion of the information using the first pattern module selections and the classification metadata;
instantiating and organizing a second set of one or more user interface constructs to display at least a portion of the information using the second style module selection and the classification metadata;
presenting the first set of one or more user interface constructs to display the information in the first context; and
presenting the second set of one or more user interface constructs to display the information in the second context.
11. The one or more computer-readable storage media of claim 10, wherein presenting the first set of one or more user interface constructs and presenting the second set of one or more user interface constructs are performed while the software application is running.
12. The one or more computer-readable storage media of claim 11, wherein instantiating and organizing the first set of one or more user interface constructs and instantiating and organizing the second set of one or more user interface constructs are performed while the application is running.
13. The one or more computer-readable storage media of claim 10, wherein the actions further comprise describing a first expected use of information in the first context and describing a second expected use of information in the second context.
14. The one or more computer-readable storage media of claim 13, wherein describing the first expected use of information in the first context and describing the second expected use of information in the second context are performed in a different computing environment than a computing environment in which performing presenting the first set of one or more user interface constructs and presenting the second set of one or more user interface constructs.
15. The one or more computer-readable storage media of claim 10, further comprising capturing metadata describing the information, wherein at least a portion of the classification is performed by performing one or more heuristics on the metadata describing the information.
HK13103733.1A 2010-01-22 2010-12-31 Pattern-based user interfaces HK1177007A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/691,744 2010-01-22

Publications (1)

Publication Number Publication Date
HK1177007A true HK1177007A (en) 2013-08-09

Family

ID=

Similar Documents

Publication Publication Date Title
US7953767B2 (en) Developing applications using configurable patterns
US20110185294A1 (en) Pattern-based user interfaces
US10222951B2 (en) Modeling system for graphic user interface
US8527939B2 (en) GUI modeling of knowledge base in a modeling environment
US9891897B2 (en) Dynamic user interface tag format
US8392873B2 (en) Methods and apparatus for implementing model-based software solution development and integrated change management
US7366723B2 (en) Visual query modeling for configurable patterns
US8312382B2 (en) Developing and executing applications with configurable patterns
CN101410798B (en) A method and system for generating application data editors
US20100153150A1 (en) Software for business adaptation catalog modeling
US8126937B2 (en) Visual database modeling
JP4812337B2 (en) Method and apparatus for generating a form using a form type
US20100153149A1 (en) Software for model-based configuration constraint generation
US20070220035A1 (en) Generating user interface using metadata
KR20060087995A (en) Methods and systems for modeling workflow
US11611627B2 (en) Action flow fragment management
US20120060141A1 (en) Integrated environment for software design and implementation
US20050257190A1 (en) Developing and executing applications with configurable patterns
US20080288918A1 (en) Web service tool based on business object layer
Rossi et al. Model-based web application development
Paternò et al. Engineering the authoring of usable service front ends
Vanderdonckt et al. MoCaDiX: Designing cross-device user interfaces of an information system based on its class diagram
JP2004310279A (en) Business processing system and construction support apparatus, business processing system program, business processing system construction support program
Bukovics Pro WF: Windows Workflow in. NET 4
HK1177007A (en) Pattern-based user interfaces