최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0535902 (2014-11-07) |
등록번호 | US-9921717 (2018-03-20) |
발명자 / 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 | 피인용 횟수 : 0 인용 특허 : 546 |
Certain exemplary embodiments relate to techniques for generating electronic menu (eMenu) graphical user interface layouts for use in connection with electronic devices (e.g., tablets, phablets, smart phones, etc.). A virtual grid-based layout including rows and columns that together constitute regu
Certain exemplary embodiments relate to techniques for generating electronic menu (eMenu) graphical user interface layouts for use in connection with electronic devices (e.g., tablets, phablets, smart phones, etc.). A virtual grid-based layout including rows and columns that together constitute regularly sized and shaped grid cells is defined. Input identifying items to be included in the eMenu is received. Each item has associated length and width dimensions corresponding to a number of grid cells. At least some of the items are flagged for inclusion in the eMenu. Those items marked for inclusion are automatically and programmatically arranged in the eMenu in the grid cells of the grid-based layout in a manner that minimizes the number of unused grid cells. A tag-based representation of the layout corresponding to the formatted eMenu is stored. The file is made available to the electronic device in enabling the formatted eMenu to be displayed thereon.
1. A method of formatting an electronic menu to be output to a display of an electronic device, the method comprising: defining a virtual grid-based layout including rows and columns that together define a plurality of regularly sized and shaped grid cells;receiving input identifying a plurality of
1. A method of formatting an electronic menu to be output to a display of an electronic device, the method comprising: defining a virtual grid-based layout including rows and columns that together define a plurality of regularly sized and shaped grid cells;receiving input identifying a plurality of items to be included in the electronic menu, each said item having associated length and width dimensions corresponding to a number of grid cells, at least some of said items being flagged, based upon a respective flag in each said item, for inclusion in the electronic menu;automatically and programmatically arranging said items flagged for inclusion in the electronic menu in the grid cells of the grid-based layout in a manner that minimizes the number of unused grid cells in the virtual grid-based layout;storing, to a file on a non-transitory computer readable storage medium, a tag-based representation of the layout, following said arranging, the tag-based representation of the layout corresponding to the formatted electronic menu; andmaking the file available to the electronic device in enabling the formatted electronic menu to be displayed on the display of the electronic device. 2. The method of claim 1, wherein the formatted electronic menu includes a hierarchical arrangement of sections and sub-sections. 3. The method of claim 2, wherein items in a sub-section cannot be reordered as a result of the arranging. 4. The method of claim 2, further comprising defining different grid-based layouts for different sections. 5. The method of claim 1, wherein the arranging preserves to the maximum extent possible the order of the items in the received input. 6. The method of claim 1, wherein the received input further provides content information for each said item, the content information including a name, description, and price for the respective item. 7. The method of claim 6, wherein the content information for each said item further includes an optional image field that specifies a location for an image file to be displayed with the respective item. 8. The method of claim 7, wherein one of the length and width dimensions associated with each said item having a valid entry in its optional image field is increased. 9. The method of claim 6, wherein the received input further indicates that at least one of the items is to be displayed as a highlighted feature, the length and width dimensions associated with each said highlighted feature both being increased. 10. The method of claim 1, further comprising: maintaining an inventory value for at least some of the items;determining whether an inventory value drops below a predetermined threshold; andin response to a determination that an inventory value drops below the predetermined threshold, reformatting the electronic menu so as to exclude from the grid-based layout an entry for the associated item. 11. The method of claim 1, further comprising: for at least some of the items, maintaining a record of a time period over which the respective items are to be offered for inclusion in the electronic menu; anddetermining whether a time period has expired; andin response to a determination that a time period has expired, reformatting the electronic menu so as to exclude from the grid-based layout an entry for the associated item. 12. The method of claim 1, wherein the arranging comprises: adding to a source set a representation of each of the items identified by the received input;defining a state object having a predetermined number of rows and a number of columns equal to the number of columns in the grid-based layout that together define a plurality of state object cells, the state object cells having the same size and shape as the grid cells;(a) determining how many state object cells are unused in the first row of the state object;(b) removing elements from the source set and adding the removed elements to an insertion set while the total width of the elements added to the insertion set, as measured in cells, is less than the number of unused cells in the first row of the state object;(c) attempting to reorder the elements in the insertion set to fill the unused cells in the first row of the state object;(d) in response to a valid order being determined in (c), placing the reordered elements in the state object in this reordered order until all unused cells are filled and returning to the source set in their initial order any unused elements remaining in the insertion set;(e) in response to no valid order being determined in (c), searching for an appropriately-sized element from among the first predetermined number of elements in the source set;(f) in response to an appropriately-sized element being found in (e), removing the appropriately-sized element from the source set and adding it to the insertion set, reordering the elements in the insertion set to fill the unused cells in the first row of the state object, and placing the reordered elements in the state object in this reordered order until all unused cells are filled and returning to the source set in their initial order any unused elements remaining in the insertion set; and(g) if the source set is not empty, designating the row following the first row of the state object as the new first row of the state object and repeating (a)-(f), but otherwise defining the grid-based layout in accordance with the state object. 13. The method of claim 12, further comprising inserting preselected filler material into any unused grid cells. 14. The method of claim 12, wherein the predetermined number of elements searchable in (e) is less than the number of elements in the source set. 15. The method of claim 1, wherein the arranging comprises: adding to a source set a representation of each of the items identified by the received input, the elements in the source set being ordered in accordance with a desired display order for the corresponding items;dividing the grid-based layout into a plurality of segments, each said segment including at least two rows and all columns in these rows that together define segment cells;(a) starting with the first segment, and starting at the beginning of the source set, identifying elements in the source set whose total cell space is less than or equal to the number of cells in the segment, and removing those identified elements from the source set;(b) selecting a segment layout from a pre-generated set of possible segment layouts for the identified elements, based on the combination of dimensions of the items associated with identified elements, as represented in cells;(c) laying out the items in the first segment in accordance with the selected segment layout; and(d) if the source set is not empty, designating the segment following the first segment as the new first segment and repeating (a)-(c), but otherwise defining the grid-based layout in accordance with the laid-out segments. 16. The method of claim 15, wherein there are two rows in each segment. 17. The method of claim 15, wherein the number of rows in each segment is equal to maximum size, in cells, of any item. 18. The method of claim 15, further comprising inserting preselected filler material into any unused grid cells. 19. The method of claim 1, wherein the arranging comprises: adding to a source set a representation of each of the items identified by the received input, the elements in the source set being ordered in accordance with a desired display order for the corresponding items;dividing the grid-based layout into a plurality of segments, each said segment including a number of rows that is at least one row greater than a maximum size of the elements, as expressed in cells, and all columns in these rows, so that the segment rows and segment columns collectively define segment cells;(a) starting with a first segment, determining how many segment cells are unused in its last row and, in response to a determination that there are no unused segment cells in its last row, adding the first segment to the grid-based layout and making the next segment the first segment;(b) starting with the first segment, and starting at the beginning of the source set, identifying elements in the source set whose total cell space is less than or equal to the number of unused cells in the first row of the first segment, and removing those identified elements from the source set;(c) attempting to first reorder and if necessary then rotate at least some of the identified elements to fill the unused cells in the first row of the first segment;(d) in response to a successful attempt in (c), placing the reordered and/or rotated elements in the first segment in this reordered and/or rotated order and returning to the source set in their initial order any unplaced identified elements;(e) in response to an unsuccessful attempt in (c), searching the source set for an element from among the first predetermined number of elements in the source set that is appropriately-sized and/or re-orientable to be appropriately-sized to fill unused cells in the first row of the first segment;(f) in response to an appropriately-sized and/or re-orientable element being found in (e), removing the appropriately-sized element from the source set and considering it one of the identified elements, attempting to first reorder and if necessary then rotate at least some of the identified elements to fill the unused cells in the first row of the first segment, placing the reordered and/or rotated elements in the first segment in this reordered and/or rotated order and returning to the source set in their initial order any unplaced identified elements; and(g) if the source set is not empty, designating the row following the first row of the first segment as the new first row of the first segment and repeating (a)-(f), but otherwise defining the grid-based layout in accordance with the first segment. 20. The method of claim 19, wherein there are at least three rows in each segment. 21. The method of claim 19, further comprising inserting preselected filler material into any unused grid cells. 22. A computing device, comprising: processing resources including at least one processor and a memory;a non-transitory computer readable storage medium; andan input channel configured to receive input identifying a plurality of items to be included in an electronic menu, each said item having associated length and width dimensions corresponding to a number of grid cells, at least some of said items being flagged, based upon a respective flag in each said item, for inclusion in the electronic menu;wherein the processing resources are controllable to format the electronic menu using received input by executing instructions for at least: defining a virtual grid-based layout including rows and columns that together define a plurality of regularly sized and shaped grid cells;automatically and programmatically arranging said items flagged for inclusion in the electronic menu in the grid cells of the grid-based layout in a manner that minimizes the number of unused grid cells in the virtual grid-based layout;storing, to a file on the non-transitory computer readable storage medium, a tag-based representation of the layout, following said arranging, the tag-based representation of the layout corresponding to the formatted electronic menu; andmaking the file available to electronic devices in order to in turn enable the electronic devices to display and enable user interaction with the formatted electronic menu. 23. The device of claim 22, wherein the arranging comprises: adding to a source set a representation of each of the items identified by the received input;defining a state object having a predetermined number of rows and a number of columns equal to the number of columns in the grid-based layout that together define a plurality of state object cells, the state object cells having the same size and shape as the grid cells;(a) determining how many state object cells are unused in the first row of the state object;(b) removing elements from the source set and adding the removed elements to an insertion set while the total width of the elements added to the insertion set, as measured in cells, is less than the number of unused cells in the first row of the state object;(c) attempting to reorder the elements in the insertion set to fill the unused cells in the first row of the state object;(d) in response to a valid order being determined in (c), placing the reordered elements in the state object in this reordered order until all unused cells are filled and returning to the source set in their initial order any unused elements remaining in the insertion set;(e) in response to no valid order being determined in (c), searching for an appropriately-sized element from among the first predetermined number of elements in the source set;(f) in response to an appropriately-sized element being found in (e), removing the appropriately-sized element from the source set and adding it to the insertion set, reordering the elements in the insertion set to fill the unused cells in the first row of the state object, and placing the reordered elements in the state object in this reordered order until all unused cells are filled and returning to the source set in their initial order any unused elements remaining in the insertion set; and(g) if the source set is not empty, designating the row following the first row of the state object as the new first row of the state object and repeating (a)-(f), but otherwise defining the grid-based layout in accordance with the state object. 24. The device of claim 22, wherein the arranging comprises: adding to a source set a representation of each of the items identified by the received input, the elements in the source set being ordered in accordance with a desired display order for the corresponding items;dividing the grid-based layout into a plurality of segments, each said segment including at least two rows and all columns in these rows that together define segment cells;(a) starting with the first segment, and starting at the beginning of the source set, identifying elements in the source set whose total cell space is less than or equal to the number of cells in the segment, and removing those identified elements from the source set;(b) selecting a segment layout from a pre-generated set of possible segment layouts for the identified elements, based on the combination of dimensions of the items associated with identified elements, as represented in cells;(c) laying out the items in the first segment in accordance with the selected segment layout; and(d) if the source set is not empty, designating the segment following the first segment as the new first segment and repeating (a)-(c), but otherwise defining the grid-based layout in accordance with the laid-out segments. 25. The device of claim 22, wherein the arranging comprises: adding to a source set a representation of each of the items identified by the received input, the elements in the source set being ordered in accordance with a desired display order for the corresponding items;dividing the grid-based layout into a plurality of segments, each said segment including a number of rows that is at least one row greater than a maximum size of the elements, as expressed in cells, and all columns in these rows, so that the segment rows and segment columns collectively define segment cells;(a) starting with a first segment, determining how many segment cells are unused in its last row and, in response to a determination that there are no unused segment cells in its last row, adding the first segment to the grid-based layout and making the next segment the first segment;(b) starting with the first segment, and starting at the beginning of the source set, identifying elements in the source set whose total cell space is less than or equal to the number of unused cells in the first row of the first segment, and removing those identified elements from the source set;(c) attempting to first reorder and if necessary then rotate at least some of the identified elements to fill the unused cells in the first row of the first segment;(d) in response to a successful attempt in (c), placing the reordered and/or rotated elements in the first segment in this reordered and/or rotated order and returning to the source set in their initial order any unplaced identified elements;(e) in response to an unsuccessful attempt in (c), searching the source set for an element from among the first predetermined number of elements in the source set that is appropriately-sized and/or re-orientable to be appropriately-sized to fill unused cells in the first row of the first segment;(f) in response to an appropriately-sized and/or re-orientable element being found in (e), removing the appropriately-sized element from the source set and considering it one of the identified elements, attempting to first reorder and if necessary then rotate at least some of the identified elements to fill the unused cells in the first row of the first segment, placing the reordered and/or rotated elements in the first segment in this reordered and/or rotated order and returning to the source set in their initial order any unplaced identified elements; and(g) if the source set is not empty, designating the row following the first row of the first segment as the new first row of the first segment and repeating (a)-(f), but otherwise defining the grid-based layout in accordance with the first segment. 26. A non-transitory computer readable storage medium tangibly storing instructions that, when executed, perform the method of claim 1. 27. A system for use at a venue, comprising a plurality of electronic devices distributed to patrons on behalf of the venue, each said electronic device being configured to display an electronic menu formatted in accordance with the method of claim 1. 28. A method of formatting an electronic menu to be output to a display of an electronic device, the method comprising: defining a virtual grid-based layout including rows and columns that together define a plurality of regularly sized and shaped grid cells;receiving input from a predefined file corresponding to a physical menu, the received input identifying a plurality of items to be included in the electronic menu, each said item having associated length and width dimensions corresponding to a number of grid cells, at least some of said items being flagged, based upon a respective flag in each said item, for inclusion in the electronic menu;using at least one processor of a computing system, automatically and programmatically virtually arranging said items flagged for inclusion in the electronic menu in the grid cells of the grid-based layout in a manner that minimizes the number of unused grid cells in the virtual grid-based layout;storing, to a file on a non-transitory computer readable storage medium of the computing system, a representation of the layout, following said arranging, the representation of the layout corresponding to the formatted electronic menu; andpublishing the file so that the file is made available over a network interface of the computing device to the electronic device in enabling the formatted electronic menu to be displayed on the display of the electronic device. 29. The method of claim 28, wherein the arranging comprises: adding to a source set a representation of each of the items identified by the received input, the elements in the source set being ordered in accordance with a desired display order for the corresponding items;dividing the grid-based layout into a plurality of segments, each said segment including at least two rows and all columns in these rows that together define segment cells;(a) starting with the first segment, and starting at the beginning of the source set, identifying elements in the source set whose total cell space is less than or equal to the number of cells in the segment, and removing those identified elements from the source set;(b) selecting a segment layout from a pre-generated set of possible segment layouts for the identified elements, based on the combination of dimensions of the items associated with identified elements, as represented in cells;(c) laying out the items in the first segment in accordance with the selected segment layout; and(d) if the source set is not empty, designating the segment following the first segment as the new first segment and repeating (a)-(c), but otherwise defining the grid-based layout in accordance with the laid-out segments. 30. The method of claim 28, wherein the arranging comprises: adding to a source set a representation of each of the items identified by the received input, the elements in the source set being ordered in accordance with a desired display order for the corresponding items;dividing the grid-based layout into a plurality of segments, each said segment including a number of rows that is at least one row greater than a maximum size of the elements, as expressed in cells, and all columns in these rows, so that the segment rows and segment columns collectively define segment cells;(a) starting with a first segment, determining how many segment cells are unused in its last row and, in response to a determination that there are no unused segment cells in its last row, adding the first segment to the grid-based layout and making the next segment the first segment;(b) starting with the first segment, and starting at the beginning of the source set, identifying elements in the source set whose total cell space is less than or equal to the number of unused cells in the first row of the first segment, and removing those identified elements from the source set;(c) attempting to first reorder and if necessary then rotate at least some of the identified elements to fill the unused cells in the first row of the first segment;(d) in response to a successful attempt in (c), placing the reordered and/or rotated elements in the first segment in this reordered and/or rotated order and returning to the source set in their initial order any unplaced identified elements;(e) in response to an unsuccessful attempt in (c), searching the source set for an element from among the first predetermined number of elements in the source set that is appropriately-sized and/or re-orientable to be appropriately-sized to fill unused cells in the first row of the first segment;(f) in response to an appropriately-sized and/or re-orientable element being found in (e), removing the appropriately-sized element from the source set and considering it one of the identified elements, attempting to first reorder and if necessary then rotate at least some of the identified elements to fill the unused cells in the first row of the first segment, placing the reordered and/or rotated elements in the first segment in this reordered and/or rotated order and returning to the source set in their initial order any unplaced identified elements; and(g) if the source set is not empty, designating the row following the first row of the first segment as the new first row of the first segment and repeating (a)-(f), but otherwise defining the grid-based layout in accordance with the first segment.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.