WO2017096018A1 - Method and systems for displaying and ordering user ranks in voting - Google Patents

Method and systems for displaying and ordering user ranks in voting Download PDF

Info

Publication number
WO2017096018A1
WO2017096018A1 PCT/US2016/064386 US2016064386W WO2017096018A1 WO 2017096018 A1 WO2017096018 A1 WO 2017096018A1 US 2016064386 W US2016064386 W US 2016064386W WO 2017096018 A1 WO2017096018 A1 WO 2017096018A1
Authority
WO
WIPO (PCT)
Prior art keywords
candidate
tier
candidates
tiers
score
Prior art date
Application number
PCT/US2016/064386
Other languages
French (fr)
Inventor
Christopher David PATTON
Ernesto Catena
Original Assignee
Pyramidia, Inc.
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 Pyramidia, Inc. filed Critical Pyramidia, Inc.
Publication of WO2017096018A1 publication Critical patent/WO2017096018A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the present disclosure relates to voting systems, and more specifically, to systems and methods for displaying and ordering user rankings to facilitate voting.
  • MVP game most valuable player
  • people's choice awards at fairs or food and drink festivals (e.g., wine festivals, rib cook-offs, or other competition), employee of the month in an office or company, or any other voting situation that may be apparent to a person of ordinary skill in the art.
  • Related art systems for facilitating voting may display all candidates in a hierarchical list (e.g., a list with all candidates listed vertically, with one candidate listed per vertical level). In these related art systems, a user may move individual candidates up or down within the hierarchical list based on their preferences.
  • a user may often lose track of candidates or may have difficulty ranking all candidates due to a need to scroll up and down a long list of candidates. In these situations, a user may tend to only place their top candidate or a few top candidates, and ignore the remaining candidates. Such user trends can skew voting results and produces inaccuracies. Additionally, shorting candidates in a hierarchical list may not correspond with a user's preference of allowing multiple candidates to be placed on the same tier (i.e. two candidates on a second place tier).
  • aspects of the present disclosure include a method of facilitating voting among a group of candidates.
  • the method may include displaying to a first user a first user interface having a first plurality of tiers and a plurality of the candidates for placement in the tiers; placing a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user; placing a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user; displaying to a second user a second user interface having a second plurality of tiers and the plurality of candidates for placement in the tiers; placing the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user; placing the second candidate into a fourth position in one of the second plurality of tiers based on a fourth placement instruction received from the second user;
  • Additional aspects of the present disclosure also include a non-transitory computer readable medium having stored therein a program for making a computer execute a method of facilitating voting among a group of candidates.
  • the program includes computer executable instructions for performing the method including: displaying to a first user a first user interface having a first plurality of tiers and a plurality of the candidates for placement in the tiers; placing a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user; placing a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user; displaying to a second user a second user interface including a second plurality of tiers and the plurality of candidates for placement in the tiers; placing the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user; placing the
  • Still further aspects of the present disclosure include a computing apparatus configured to facilitate voting among a group of candidates.
  • the computing apparatus includes means for displaying to a first user a first user interface including a first plurality of tiers and a plurality of the candidates for placement in the tiers; means for placing a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user; means for placing a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user; means for displaying to a second user a second user interface including a second plurality of tiers and the plurality of candidates for placement in the tiers; means for placing the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user; means for placing the second candidate into a fourth position in one of the second plurality of tiers based
  • FIGS. 1 A- ID illustrate a user interface according to an example implementation of the present application.
  • FIGS. 2A-2C illustrate another user interface according to another example implementation of the present application.
  • FIG. 3 illustrates a schematic representation of combining voting from multiple users according to an example implementation of the present application.
  • FIG. 4 illustrates a schematic representation of calculating a voting score for each candidate.
  • FIG. 5 illustrates an example voting environment for example
  • FIG. 6 illustrates an example flow diagram of a process for facilitating voting according to an example implementation of the present application.
  • FIG. 7 illustrates an example flow diagram of a process for placing candidates according to an example implementation of the present application.
  • FIG. 8 illustrates an example flow diagram of a process for facilitating voting according to another example implementation of the present application.
  • FIG. 9 illustrates an example flow diagram of a process for placing candidates according to another example implementation of the present application.
  • FIG. 10 illustrates an example computing environment with an example computer device suitable for use in some example implementations.
  • FIGS. 1A-1D illustrate a user interface (UI) 100 according to an example implementation of the present application.
  • the UI 100 includes an information field 105, a candidate display field 110, and a candidate voting or ranking area 115.
  • the information field 105 provides an area for displaying information about the voting or ranking being performed.
  • the information field 105 can include title information about the voting, location information about the voting, or any other information describing situation in which voting is being performed. As illustrated, the title "Nakbe Harvest Queen" is displayed.
  • voting is not limited to this specific example, and could be done for restaurants, sporting teams, political offices, musical bands, or any other situation where a plurality of users may be voting to rank a plurality of candidates.
  • the candidate display field 110 allows a plurality of candidates 120A-120G to be displayed to a user, for the user to place in the voting or ranking area 115. As candidates 120A-120D are placed, new candidates 120E-120G may replace the placed candidates 120A-120D, as shown in FIG. 3D and discussed in greater detail below. In some example implementations, the candidate display field 110 may allow horizontal or vertical scrolling to allow a user to access new candidates 120E-120G without first placing candidates 120A-120D.
  • the displaying of the candidates 120A-120G may be random (e.g., the candidates 120A-120G may appear in a randomly determined order) in some example implementations.
  • the candidates 120A-120G may be displayed in the candidate display field 110 based on how other users have voted in the past. For example, candidates currently having the most votes may be displayed first, or may be displayed last.
  • candidates that have been placed or voted on most may be displayed first with our regard to whether the placement or voting was positive or negative votes (e.g., the candidates that have received the highest number of votes, even if the "votes" were for placement of the candidate in lower tiers.)
  • candidates may be displayed in an order determined by external factors (such as a user's location, prior voting behavior, user's personal interests, or any other factor that may be apparent).
  • candidates may be displayed in an order specified by an administrator managing the voting.
  • the candidate voting or ranking area 115 as illustrated may include 4 tiers
  • the candidate voting or ranking area may include more than 4 tiers or less than 4 tiers as may be apparent to a person of ordinary skill in the art.
  • the first tier 1 only has a single position 125A for only one candidate.
  • the second tier 2 has two positions 125B and 125C for only two candidates.
  • the third tier 3 has three positions 125D, 125E, 125F for only three candidates.
  • the fourth tier 4 has four positions 125G-125J for only four candidates.
  • the positions 125A-125J of the four tiers 1-4 may be arranged to form a pyramid shape.
  • the positions 125A-125J and tiers 1-4 may be arranged in other configurations as discussed in greater detail below.
  • a user may be able to better visualize where they have already placed candidates, and use the prior placement for comparative ranking on a small screen, such as that on a mobile device or laptop, without excessive scrolling.
  • the tiers may provide a user with easier visualization of how he or she has already voted, to use for comparison for additional voting. Further, tiers may also allow a user to more easily rate candidates in the middle of their
  • a user may be able to quickly identify their favorite and/or least favorite candidate, but may have more difficulty identifying their fourth, fifth, and sixth favorites.
  • a user may place three candidates into the same tier without having to decide their fourth favorite and their sixth favorite.
  • FIG. 1 A illustrates an initial screen of the UI 100 where a user is presented with a an empty candidate voting or ranking area 115 and four of the candidates 120A- 120D in the candidate display field 110 for placement into the empty candidate voting or ranking area 115.
  • the candidate display field 110 may allow horizontal or vertical scrolling to allow a user to access new candidates 120E-120G without first placing candidates 120A-120D.
  • FIG. IB illustrates a user using the UI 100 to place the four candidates
  • the user may place the four candidates 120A-120D by dragging and dropping each candidate, by first selecting a candidate and then selecting the position for placement, by first selecting a position for placement and then selecting a candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may place the four candidates 120A-120D using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person of ordinary skill in the art.
  • Arrows 130A-130D illustrate the user placing the four candidates 120A-
  • the user may move the first candidate 120A along arrow 130A to the position 125 A in the first tier 1.
  • the user may also move the second candidate 120B along arrow 130B to a position 125H in the fourth tier 4.
  • the user may move the third candidate 120C along arrow 130C to a position 125B in the second tier 2.
  • the user may move the fourth candidate 120D along arrow 130D to another position 125C in the second tier 2.
  • FIG. 1C illustrates the UI 100 after the user has placed the four candidates
  • FIG. ID illustrates the UI as the user is placing another candidate 1201 into a position 125B of the candidate voting or ranking area 115.
  • the candidate 1201 is being moved along the arrow 1301 to the position 125B.
  • the user may place the candidate 1201 by dragging and dropping, by first selecting the candidate 1201 and then selecting the position 125B for placement, by first selecting the position 125B for placement and then selecting the candidate 1201, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may place the candidate 1201 using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • position 125B was previously occupied by candidate 120C before candidate 1201 is placed.
  • candidate 120C is moved to position 125C in the second tier 2.
  • Position 125C had previously been occupied by candidate 120D.
  • candidate 120D is moved to position 125D in the third tier 3.
  • the candidate occupying the position may be moved to the next position in the same tier or into a position in a next tier, so that a maximum number of candidates in each tier are not exceeded.
  • FIGS. 2A-2C illustrates another user interface according to another example implementation of the present application.
  • the UI 200 includes an information field 205, a candidate display field 210, and a candidate voting or ranking area 215.
  • the information field 205 provides an area for displaying information about the voting or ranking being performed.
  • the information field 205 can include title information about the voting, location information about the voting, or any other information describing situation in which voting is being done. As illustrated, the title "Nakbe Harvest Queen" is displayed. However, voting could be done for restaurants, sporting teams, political offices, musical bands, or any other situation where a plurality of people may be voting to rank a plurality of candidates.
  • the candidate display field 210 allows a plurality of candidates 220A-120G to be displayed to a user to allow the user to place in the voting or ranking area 215. As candidates 220A-220D are placed, new candidates 220E-220G may replace the placed candidates 220A-120D, as discussed in greater detail below. In some example implementations, the candidate display field 210 may allow horizontal or vertical scrolling to allow a user to access new candidates 220E-220G without first placing candidates 220A-220D.
  • the displaying of the candidates 220A-220G may be random (e.g., the candidates 220A-220G may appear in a randomly determined order) in some example implementations.
  • the displaying of the candidates 220A-220G in the candidate display field 210 may be performed based on how other users have voted in the past (e.g., voting history). For example, candidates currently having the most votes may be displayed first, or may be displayed last at 210. As another example, candidates 220A-220G that have been placed or voted on most may be displayed first with our regard to whether the placement or voting was positive or negative votes (i.e.
  • 220A-220G in the candidate display field 210 in an order determined by external factors (such as a user's location, prior voting behavior, user's personal interests or any other factor that may be apparent.) In yet another example, 220A-220G in the candidate display field 210 in an order specified by an administrator managing the voting.
  • the voting or ranking area 215 does not include a fixed number of tiers or voting positions initially, but instead adds new tiers and/or new positions as candidates 220A-220G are placed.
  • FIGS. 2A-2C illustrated the transition of the UI 200, as candidates 220A-220G are placed.
  • the voting or ranking area 215 of the UI 200 includes only a single tier 1 with a single position 225 A available for receiving a candidate.
  • FIG. 2B illustrates that the voting or ranking area 215 of the UI 200 has changed based on the placement of candidate 220A into position 225 A.
  • the voting or ranking area 215 has changed to include two new tiers 2 and 3, in addition to the original tier 1 illustrated in FIG. 2 A.
  • Tier 2 includes a single position 225C located above the Tier 1
  • Tier 3 includes a single position 225D located below the Tier 1.
  • a new position 225B has been added to Tier 1. The new position 225B is located next to position 225A, which is now occupied by placed candidate 220A.
  • a user can rank or position candidates relative to the candidates that have already been placed. For example, a user can rank a candidate (220C for example) higher than candidate 220A by placing the candidate (220C) into position 225C of tier 2, or lower than candidate 220 A by placing the candidate (220C) into position 225D of tier 3.
  • Placement of the candidate 220C into position 225B can be used to indicate that candidates 220 A and 220C are equal.
  • the user may have placed the candidates 220A by dragging and dropping, by first selecting candidate 220A and then selecting the position 225 A for placement, by first selecting the position 225 A for placement and then selecting the candidate 220A, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may place the candidate 220A using a finger or appendage on a touch screen device, a pointing device, a user controller, or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the candidate occupying the position may be moved to the next position in the same tier or into a position in a next tier so that a maximum number of candidates in each tier are not exceeded.
  • new candidates 220E has been added to the candidate display field 210.
  • FIG. 2C illustrates that the voting or ranking area 215 of the UI 200 has further changed based on the placement of candidates 220C and 220D into positions 225B and 220D, respectively.
  • the voting or ranking area 215 has changed to include a new tier 4, in addition to tiers 1, 2, and 3 illustrated in FIGS. 2 A and 2B.
  • Tier 4 includes a single position 225G located below the Tier 3.
  • a new position 225E has been added to Tier 1 and new position 225F has been added to Tier 3.
  • the new position 225E is located next to position 225B, which is now occupied by placed candidate 220C.
  • the new position 225F is located next to position 225D, which is now occupied by placed candidate 220D.
  • a user can rank or position candidates relative to the candidates that have already been placed. For example, a user can rank a candidate (220F for example) higher than candidate 220A by placing the candidate (220F) into position 225C of tier 2, or lower than candidate 220 A by placing the candidate (220F) into position 225F of tier 3.
  • Placement of the candidate 220F into position 225E can be used to indicate that candidate 220 A, candidate 220C, and candidate 220F are equal. Similarly, placement of candidate 220F into candidate 225 can be used to indicate that candidates 220D and candidate 220F are equal.
  • the user may have placed the candidates 220C and 220D by dragging and dropping, by first a selecting candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may place the candidates 220C and 220D using a finger or appendage on a touch screen device, a pointing device, a user controller, or any other mechanism that may be apparent to a person ordinary skill in the art. Again, if the user places a candidate into an already occupied position, the candidate occupying the position may be moved to the next position in the same tier or into a position in a next tier so that a maximum number of candidates in each tier are not exceeded.
  • FIG. 2C after the user has placed the candidates 220C and 220D into the positions 225B and 225D, new candidates 220F and 220G have been added to the candidate display field 210.
  • FIG. 3 illustrates a schematic representation 300 of combining voting from multiple users according to an example implementation of the present application.
  • a plurality of users has each used a different version 305, 310, 315 of a UI to rank a plurality of candidates (A-J) in to four tiers.
  • the UI 100 of FIGS 1 A-D is illustrated, but other UIs could be used without departing from example implementations of the present application.
  • each version is feed through an aggregation algorithm 320 to produce a combined or aggregated UI 325 representative of the voting or ranking of the plurality of users.
  • the algorithm 320 involves first assigning a voting score for each candidate (A- J) based on where each candidate has been positioned in each of the different versions.
  • a numerical value is assigned to each candidate (A-J) based on their positions in each version 305, 310, 315 (i.e. a first numeral value is assigned to candidate A based on its position in version 305, a second numerical value is assigned to candidate A based on its position in version 310, a third numerical value is assigned to candidate A based on its position in version 310, and so on for each candidate (B-J) and each version 305, 310, 315).
  • the assigning of numerical values to each position in the UI is discussed in greater detail in FIG. 4.
  • the numerical values associated with each candidate (A-J) are aggregated to determine an aggregated score for each candidate.
  • the numerical values associated with each candidate (A-J) may be averaged, or otherwise combined using any other mathematical operation that may be apparent to a person ordinary skill in the art.
  • the aggregated or combined UI 325 can be generated for based on the aggregated scores associated with each candidate (A-J).
  • FIG. 4 illustrates a schematic representation 400 of calculating a voting score for each candidate (A-J).
  • a distance factor (DF) representative of a difference in scoring between adjacent tiers is also determined.
  • the distance factor is not limited to this value and may have other values depending on desired implementation. Selection of the distance factor may also be used to control the amount of gradation in the voting results. For example, larger top score values may be used to increase the gradation between different tiers and allow improved recognition of rankings in the aggregated UI.
  • the selected distance factor could also be a linear or non-linear function of the assigned tier number.
  • the distance factor (DF) could be any function that may be apparent to a person of ordinary skill in the art.
  • a score (S) is determined for each tier.
  • the calculated score is assigned as the voting score for each candidate in a tier. For example, candidate A in the top tier is assigned a voting score of 100 based on its placement. Further, both candidates B and C in the second tier are assigned voting scores of 99 based on their placement. Further, all three candidates D, E, and F in the third tier are assigned voting scores of 98 based on their placement. As discussed above all candidates are assigned voting scores based on their placement in different UIs by users and the assigned voting scores for each candidate are aggregated to calculate an aggregated score, which can be used to generate a combined UI as discussed in greater detail below.
  • FIG. 5 illustrates an example voting environment for example
  • Environment 500 includes devices 510-530 and 540-545, and each is communicatively connected to at least one other device via, for example, network 555 (e.g., by wired and/or wireless connections). Some devices may be communicatively connected to one or more storage devices 535 and 550.
  • An example of one or more devices 510-530 and 540-545 may be computing device 1005 described below in FIG. 10.
  • Devices 510-530 and 540-545 may include, but are not limited to, a computer 510 (e.g., a laptop computing device), a mobile device 515 (e.g., smartphone or tablet), a television 520, a device associated with a vehicle 525, a server computer 530, other computing devices 540-545, and storage devices 535 and 550.
  • the one or more devices may also include a dedicated voting machine configured and designed exclusively for voting.
  • Each of the computing devices 510-530 and 540-545 may all be used to vote and view voting results according to example implementations of the present application.
  • computer 510 may display a first UI, such as the UI of FIGS. 1 A-1D or FIG. 2 discussed above, to allow a first user to rank a plurality of candidates. Once the first user ranks the candidates using the first UI, the voting scores may be calculated for all candidates based on the first UI and transmitted to the server computer 530 for storage on the storage device 535. Further, mobile device 515 may display a second UI, such as the UI of FIGS. 1 A-1D or FIG. 2 discussed above, to allow a second first user to rank the plurality of candidates. Again, once the second user ranks the candidates using the second UI, the voting scores may be calculated for all candidates based on the second UI and transmitted to the server computer 530 for storage on the storage device 535.
  • a first UI such as the UI of FIGS. 1 A-1D or FIG. 2 discussed above
  • Voting or ranking may also be done by directly accessing the server computer 530.
  • different users can rank the candidates and individual user's rankings can be aggregated to generate an aggregated UI representative of aggregated voting results by the server computer 530.
  • FIG. 6 illustrates an example flow diagram of a process 600 for facilitating voting according to an example implementation of the present application.
  • the process 600 may be performed by one or more of processors, such as the processors 1010 of the computing device 1005 of FIG. 10 discussed below.
  • the process 600 may be performed in a server device (such as server computer 530 of FIG. 5 discussed above).
  • the process 600 may be performed in a mobile device (such as mobile device 515 of FIG. 5 discussed above) or any other computing device.
  • a first UI is displayed to a first user to allow voting or ranking of a plurality of candidates by placing the individual candidates into positions into a plurality of tiers.
  • the first UI may be UI 100 illustrated in FIGS. 1 A-1D or UI 200 illustrated in FIG 2, or any other UI that may be apparent to a person of ordinary skill in the art.
  • a first placement instruction may be received from the first user to place a first candidate selected from the plurality of candidates into a first position in one of the tiers illustrated in the first UI at 610.
  • the first placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may the provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the first candidate is placed on the first
  • the placing of the first candidate on the first UI may involve directly placing the first candidate into the first position and maintaining the first candidate in the first position until subsequent placement instructions are received.
  • the placing of the first candidate on the first UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to remove unoccupied positions as discussed in greater detail below with respect FIG. 7. The positioning process discussed below with respect to FIG. 9 may also be used in some example implementations.
  • a second placement instruction may be received from the first user to place a second candidate selected from the plurality of candidates into a second position in one of the tiers illustrated in the first UI at 620.
  • the second placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the second candidate is placed on the first UI in a second position in one of the tiers at 625.
  • the placing of the second candidate on the first UI may involve directly placing the second candidate into the second position and maintaining the second candidate in the second position until subsequent placement instructions are received.
  • the placing of the second candidate on the first UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to remove unoccupied positions as discussed in greater detail below with respect FIG. 7. The positioning process discussed below with respect to FIG. 9 may also be used in some example implementations. More placement instructions may be similarly received for other candidates and other candidates may be similarly placed until all candidates have been placed on the first UI.
  • a second UI may be displayed to a second user to allow voting or ranking of a plurality of candidates by placing the individual candidates into positions into a plurality of tiers at 630.
  • the second UI may be UI 100 illustrated in FIGS. 1 A-ID or UI 200 illustrated in FIG 2, or any other UI that may be apparent to a person of ordinary skill in the art.
  • a third placement instruction may be received from the second user to place a first candidate selected from the plurality of candidates into a third position in one of the tiers illustrated in the second UI at 635.
  • the third placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the first candidate is placed on the second UI in a third position in one of the tiers at 640.
  • the placing of the first candidate on the second UI may involve directly placing the first candidate into the third position and maintaining the first candidate in the third position until subsequent placement instructions are received.
  • the placing of the first candidate on the second UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to remove unoccupied positions as discussed in greater detail below with respect FIG. 7. The positioning process discussed below with respect to FIG. 9 may also be used in some example implementations.
  • a fourth placement instruction may be received from the second user to place a second candidate selected from the plurality of candidates into a fourth position in one of the tiers illustrated in the second UI at 645.
  • the fourth placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the second candidate is placed on the second UI in a fourth position in one of the tiers at 650.
  • the second candidate is placed on the second UI in a fourth position in one of the tiers at 650.
  • the placing of the second candidate on the second UI may involve directly placing the second candidate into the fourth position and maintaining the second candidate in the fourth position until subsequent placement instructions are received.
  • the placing of the second candidate on the second UI may include moving other already placed candidates or repositioning the second candidate based on positions of other previously placed candidates to remove unoccupied positions as discussed in greater detail below with respect FIG. 7. The positioning process discussed below with respect to FIG. 9 may also be used in some example
  • More placement instructions may be similarly received for other candidates and other candidates may be similarly placed until all candidates have been placed on the second UI. Further, more UIs may be displayed to allow additional users to vote or rank the candidates.
  • a voting score is calculated for the first candidate at 655.
  • the voting score may be calculated on rolling basis while candidates are still being placed.
  • a voting score is calculated for the second candidate at 660. Voting scores may also be determined for all candidates. The calculation of the voting scores may be done as discussed above with respect to FIGS. 3 and 4.
  • a combined UI is generated and displayed to all users based the calculated scores at 665.
  • the combined UI may have an appearance similar to the UI 100 illustrated in FIGS. 1 A- ID and UI 200 illustrated in FIG. 2, with a plurality of tiers each tier having a fixed maximum number of positions in each tier. For example, the highest tier may have a single position; the second tier may have only two positions, the third tier may have only three positions and so on.
  • the combined UI may be generated by ordering all of the candidates in order based on the calculated scores and placing the highest score candidate in the highest tier. Two or more candidates having the next highest score may be placed in the next tier, based on the maximum number of candidates in the second tier. The next three highest score having candidates may be placed in a third tier and so on until all candidates are placed in all of the positions of all of the tiers.
  • one or more positions may be considered to have higher recognition than other positions (i.e. represent a higher score) in the same tier. For example, the positions in the same tier may descend in score received from left to right or right to left (i.e. the candidate on either the left or the right may have received a higher score than other candidates in the same tier.
  • three candidates may all each have the same voting score and be eligible for a second tier. However, if the second tier is fixed at only two positions, only two candidates can be placed in the second tier. Thus, tie breaking techniques may be used. For example, candidates having a lower sigma or standard deviation may be given preferential positioning. In other words, two candidates that have been consistently ranked in the second tier may be given preference over a candidate that has been ranked 50% a highest tier and 50% in a lowest tier, even though the three candidates have the same average score.
  • tie breaking techniques could also be used. For example, as age of voting results could be factored in to break ties, such that candidates that were initially ranked high but have been more recently been ranked much lower could be given preference over candidates that are more recently being ranked high, even though the candidates have the same average score. Similarly, elapsed time taken by individual users to place a candidate may be used to break a tie. For example, a candidate that was consistently being ranked high quickly could be given preference over a candidate that was placed high only after a lot of other candidates had already been placed (i.e. long elapsed time) even though the candidates have the same average score. Ties could also be broken using any other mechanism that may be apparent to a person of ordinary skill in the art without departing from the scope of the present application. Further, in some example implementations, ties may be broken by an administrator managing or running the voting.
  • FIG. 7 illustrates an example flow diagram of a process 700 for placing candidates according to example implementations of the present application.
  • the process of 700 is only one example implementation of a positioning process usable during the process 600 of FIG. 6 and/or the process 800 of FIG. 8 discussed below. Other positioning processes may be used or be apparent to a person of ordinary skill in the art.
  • the process 700 may be performed by one or more of processors, such as the processors 1010 of the computing device 1005 of FIG. 10 discussed below.
  • the process 700 may be performed in a server device (such as server computer 530 of FIG. 5 discussed above).
  • the process 700 may be performed in a mobile device (such as mobile device 515 of FIG. 5 discussed above) or any other computing device.
  • the process 700 may be performed during one or more of the placement instruction receiving steps (610, 620, 635, 645) and the placing steps (615, 625, 640, 650) of process 600.
  • an instruction may be received from the user to place a candidate selected from the plurality of candidates into a position in one of the tiers illustrated in a UI at 705.
  • the placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the candidate may be placed in an initial position in one of the tiers of the UI based on the received instruction.
  • the one or more of processors i.e. the processors 1010 of the computing device 1005 of FIG. 10 discussed below, may determine whether all positions in upper tiers above the initial position are occupied by prior placed candidates at 715. If all positions in upper tiers above the initial position are occupied by prior placed candidates (YES-715), the candidate is kept in the initial position at 725. Conversely, if less than all positions in upper tiers above the initial position are occupied by prior placed candidates (NO-715), the candidate is moved up to the highest unoccupied position at 720 to fill in any gaps in the tiers.
  • the one or more of processors i.e. the processors
  • the 1010 of the computing device 1005 of FIG. 10 discussed below may determine whether any of the tiers have a number of placed candidates that exceeds the fixed number of positions associated with the tier at 730. If any tier has a number of placed candidates that exceeds the fixed number of positions associated with the tier (YES-730), one placed candidate is moved down to an adjacent lower tier at 735. In some example
  • one or more positions in a tier may be considered to have higher recognition than other positions (i.e. represent a ranking) in the same tier.
  • the positions in the same tier may descend in ranking received from left to right or right to left (i.e. the candidate on either the left or the right may have received a higher score than other candidates in the same tier.
  • the placed candidate moved down may be the candidate in the position associated with the lower ranking.
  • the candidate moved down may be randomly chosen, or may be chose using other techniques that may be apparent to a person of ordinary skill in the art.
  • the process 700 may return to 730 to again determine if whether any of the tiers have a number of placed candidates that exceeds the fixed number of positions associated. Steps 730 and 735 may be repeated until no tier has more placed candidates than the fixed number of positions (NO-730). Once no tier has more placed candidates than the fixed number of positions (NO-730), the process 700 may end and the processor can proceed with the remainder of process 600 of FIG. 6 discussed above.
  • FIG. 8 illustrates an example flow diagram of a process 800 for facilitating voting according to another example implementation of the present application.
  • Some aspects of the process 800 may be similar to the process 600 illustrated in FIG. 6 and discussed above. Thus, similar reference numerals and description may be provided.
  • the process 800 may be performed by one or more of processors, such as the processors 1010 of the computing device 1005 of FIG. 10 discussed below.
  • processors such as the processors 1010 of the computing device 1005 of FIG. 10 discussed below.
  • the process 800 may be performed in a server device (such as server computer 530 of FIG. 5 discussed above). In other example implementations, the process 800 may be performed in a mobile device (such as mobile device 515 of FIG. 5 discussed above) or any other computing device.
  • a server device such as server computer 530 of FIG. 5 discussed above
  • the process 800 may be performed in a mobile device (such as mobile device 515 of FIG. 5 discussed above) or any other computing device.
  • a first UI is displayed, fully populated with all positions filled with candidates, to a first user to allow voting or ranking of a plurality of candidates by moving the individual candidates into positions into a plurality of tiers.
  • the first UI may be UI 100 illustrated in FIGS. 1 A-1D or UI 200 illustrated in FIG 2, or any other UI that may be apparent to a person of ordinary skill in the art.
  • the first UI may be automatically populated with the plurality of candidates randomly.
  • the first UI may be
  • the first UI may also be automatically populated with the candidates in alphabetical or any other order that that may be apparent to a person of ordinary skill in the art.
  • a first placement instruction may be received from the first user to move a first candidate selected from the plurality of candidates into a new first position in one of the tiers illustrated in the first UI at 810.
  • the first placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may the provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the first candidate is moved on the first
  • the moving the first candidate on the first UI may involve directly moving only the first candidate into the new first position and maintaining the first candidate in the first position until subsequent placement instructions are received.
  • the moving the first candidate on the first UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to fill in new unoccupied positions as discussed in greater detail below with respect FIG. 9. The positioning process discussed above with respect to FIG. 7 may also be used in some example implementations.
  • a second placement instruction may be received from the first user to move a second candidate selected from the plurality of candidates into a new second position in one of the tiers illustrated in the first UI at 820.
  • the second placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the second candidate is moved on the first UI to a new second position in one of the tiers at 825.
  • the second candidate is moved on the first UI to a new second position in one of the tiers at 825.
  • the moving the second candidate on the first UI may involve directly moving only the first candidate into the new first position and maintaining the first candidate in the first position until subsequent placement instructions are received.
  • the moving the first candidate on the first UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to fill in new unoccupied positions as discussed in greater detail below with respect FIG. 9. The positioning process discussed above with respect to FIG. 7 may also be used in some example implementations. More placement instructions may be similarly received for other candidates and other candidates may be similarly moved until all candidates have been moved on the first UI as the first User has chosen.
  • a second UI may be displayed to a second user at 830.
  • the second UI is displayed fully populated with all positions filled with candidates to allow the second user to vote or rank the candidates by moving the individual candidates into positions into a plurality of tiers at 830.
  • the second UI may be UI 100 illustrated in FIGS. 1 A-1D or UI 200 illustrated in FIG 2, or any other UI that may be apparent to a person of ordinary skill in the art.
  • the second UI may be automatically populated with the plurality of candidates randomly.
  • the second UI may be automatically populated based on current aggregated results.
  • the second UI may also be automatically populated with the candidates in alphabetical or any other order that that may be apparent to a person of ordinary skill in the art.
  • a third placement instruction may be received from the second user to move a first candidate selected from the plurality of candidates into a new third position in one of the tiers illustrated in the second UI at 835.
  • the third placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the first candidate is moved on the second UI in a new third position in one of the tiers at 840.
  • the first candidate is moved on the second UI in a new third position in one of the tiers at 840.
  • the moving the first candidate on the second UI may involve directly moving the first candidate into the new third position and maintaining the first candidate in the third position until subsequent placement instructions are received.
  • the moving the first candidate on the second UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to fill new unoccupied positions as discussed in greater detail below with respect FIG. 9. The positioning process discussed above with respect to FIG. 7 may also be used in some example implementations.
  • a fourth placement instruction may be received from the second user to place a second candidate selected from the plurality of candidates into a new fourth position in one of the tiers illustrated in the second UI at 845.
  • the fourth placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the second candidate is moved on the second UI to a new fourth position in one of the tiers at 850.
  • the moving the second candidate on the second UI may involve directly moving only the second candidate into the new fourth position and maintaining the second candidate in the fourth position until subsequent placement instructions are received.
  • the moving the second candidate on the second UI may include moving other already placed candidates or repositioning the second candidate based on positions of other previously placed candidates to fill in new unoccupied positions as discussed in greater detail below with respect FIG. 9. The positioning process discussed above with respect to FIG. 7 may also be used in some example
  • More placement instructions may be similarly received for other candidates and other candidates may be similarly moved until all candidates have been moved on the second UI as the second user has chosen. Further, more UIs may be displayed to allow additional users to vote or rank the other candidates.
  • a voting score is calculated for the first candidate at 855.
  • the voting score may be calculated on rolling basis while candidates are still being placed.
  • a voting score is calculated for the second candidate at 860. Voting scores may also be determined for all candidates. The calculation of the voting scores may be done as discussed above with respect to FIGS. 3 and 4.
  • a combined UI is generated and displayed to all users based the calculated scores at 865.
  • the combined UI may have an appearance similar to the UI 100 illustrated in FIGS. 1 A- ID and UI 200 illustrated in FIG. 2, with a plurality of tiers each tier having a fixed maximum number of positions in each tier. For example, the highest tier may have a single position; the second tier may have only two positions, the third tier may have only three positions and so on.
  • the combined UI may be generated by ordering all of the candidates in order based on the calculated scores and placing the highest score candidate in the highest tier. Two or more candidates having the next highest score may be placed in the next tier, based on the maximum number of candidates in the second tier. The next three highest score having candidates may be placed in a third tier and so on until all candidates are placed in all of the positions of all of the tiers.
  • one or more positions may be considered to have higher recognition than other positions (i.e. represent a higher score) in the same tier. For example, the positions in the same tier may descend in score received from left to right or right to left (i.e. the candidate on either the left or the right may have received a higher score than other candidates in the same tier.
  • three candidates may all each have the same voting score and be eligible for a second tier. However, if the second tier is fixed at only two positions, only two candidates can be placed in the second tier. Thus, tie breaking techniques may be used. For example, candidates having a lower sigma or standard deviation may be given preferential positioning. In other words, two candidates that have been consistently ranked in the second tier may be given preference over a candidate that has been ranked 50% a highest tier and 50% in a lowest tier, even though the three candidates have the same average score.
  • tie breaking techniques could also be used. For example, as age of voting results could be factored in to break ties, such that candidates that were initially ranked high but have been more recently been ranked much lower could be given preference over candidates that are more recently being ranked high, even though the candidates have the same average score. Similarly, elapsed time taken by individual users to place a candidate may be used to break a tie. For example, a candidate that was consistently being ranked high quickly could be given preference over a candidate that was placed high only after a lot of other candidates had already been placed (i.e. long elapsed time) even though the candidates have the same average score. Ties could also be broken using any other mechanism that may be apparent to a person of ordinary skill in the art without departing from the scope of the present application. Further, in some example implementations, ties may be broken by an administrator managing or running the voting.
  • FIG. 9 illustrates an example flow diagram of a process 900 for placing candidates according to another example implementation of the present application.
  • the process of 900 is only one example implementation of a positioning process usable during the process 600 of FIG. 6 and/or the process 800 of FIG. 8 discussed below. Other positioning processes may be used or be apparent to a person of ordinary skill in the art.
  • the process 900 may be performed by one or more of processors, such as the processors 1010 of the computing device 1005 of FIG. 10 discussed below.
  • the process 900 may be performed in a server device (such as server computer 530 of FIG. 5 discussed above).
  • the process 900 may be performed in a mobile device (such as mobile device 515 of FIG. 5 discussed above) or any other computing device.
  • the process 900 may be performed during one or more of the placement instruction receiving steps (810, 820, 835, 845) and the placing steps (815, 825, 840, 850) of process 800.
  • an instruction may be received from the user to move a candidate selected from the plurality of candidates into a position in one of the tiers illustrated in a UI at 905.
  • the placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art.
  • the user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
  • the candidate may be moved from an initial position in one of the tiers of the UI to a new position based on the received instruction.
  • the one or more of processors i.e. the processors 1010 of the computing device 1005 of FIG. 10 discussed below, may determine whether the new position is higher than the initial position at 915. If the new position is higher than the initial position, (YES-915), all previously placed candidates between the initial position and the new position are each moved down one position to fill in the vacancy created in the initial position of the moved candidate at 925. Conversely, if the new position is not higher than the initial position (NO-915), all previously placed candidates between the initial position and the new position are each moved up one position to fill in the vacancy created in the initial position of the moved candidate at 920.
  • the one or more of processors i.e. the processors
  • the 1010 of the computing device 1005 of FIG. 10 discussed below may optionally determine whether any of the tiers have a number of placed candidates that exceeds the fixed number of positions associated with the tier at 930. If any tier has a number of placed candidates that exceeds the fixed number of positions associated with the tier (YES-930), one placed candidate is moved down to an adjacent lower tier at 935.
  • one or more positions in a tier may be considered to have higher recognition than other positions (i.e. represent a ranking) in the same tier.
  • the positions in the same tier may descend in ranking received from left to right or right to left (i.e. the candidate on either the left or the right may have received a higher score than other candidates in the same tier.
  • the placed candidate moved down may be the candidate in the position associated with the lower ranking.
  • the candidate moved down may be randomly chosen, or may be chose using other techniques that may be apparent to a person of ordinary skill in the art.
  • the process 900 may return to 930 to again determine if whether any of the tiers have a number of placed candidates that exceeds the fixed number of positions associated. Steps 930 and 935 may be repeated until no tier has more placed candidates than the fixed number of positions (NO-930). Once no tier has more placed candidates than the fixed number of positions (NO-930), the process 900 may end and the processor can proceed with the remainder of process 800 of FIG. 8 discussed above.
  • FIG. 10 illustrates an example computing environment 1000 with an example computer device 1005 suitable for use in some example implementations.
  • Computing device 1005 in computing environment 1000 can include one or more processing units, cores, or processors 1010, memory 1015 (e.g., RAM, ROM, and/or the like), internal storage 1020 (e.g., magnetic, optical, solid state storage, and/or organic), and/or I/O interface 1025, any of which can be coupled on a communication mechanism or bus 1030 for communicating information or embedded in the computing device 1005.
  • memory 1015 e.g., RAM, ROM, and/or the like
  • internal storage 1020 e.g., magnetic, optical, solid state storage, and/or organic
  • I/O interface 1025 any of which can be coupled on a communication mechanism or bus 1030 for communicating information or embedded in the computing device 1005.
  • Computing device 1005 can be communicatively coupled to input/user interface 1035 and output device/interface 1040.
  • Either one or both of input/user interface 1035 and output device/interface 1040 can be a wired or wireless interface and can be detachable.
  • Input/user interface 1035 may include any device, component, sensor, or interface, physical or virtual, which can be used to provide input (e.g., buttons, touchscreen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like).
  • Output device/interface 1040 may include a display, television, monitor, printer, speaker, braille, or the like.
  • input/user interface 1035 and output device/interface 1040 can be embedded with or physically coupled to the computing device 1005.
  • other computing devices may function as or provide the functions of input/user interface 1035 and output device/interface 1040 for a computing device 1005.
  • Examples of computing device 1005 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, server devices, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).
  • highly mobile devices e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like
  • mobile devices e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like
  • devices not designed for mobility e.g., desktop computers, server devices, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like.
  • Computing device 1005 can be communicatively coupled (e.g., via I/O interface 1025) to external storage 1045 and network 1050 for communicating with any number of networked components, devices, and systems, including one or more computing devices of the same or different configuration.
  • Computing device 1005 or any connected computing device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special -purpose machine, or another label.
  • I/O interface 1025 can include, but is not limited to, wired and/or wireless interfaces using any communication or I/O protocols or standards (e.g., Ethernet, 802.1 lx, Universal System Bus, WiMAX, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all the connected components, devices, and network in computing environment 1000.
  • Network 1050 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
  • Computing device 1005 can use and/or communicate using computer- usable or computer-readable media, including transitory media and non-transitory media.
  • Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like.
  • Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
  • Computing device 1005 can be used to implement techniques, methods, applications, processes, or computer-executable instructions in some example computing environments.
  • Computer-executable instructions can be retrieved from transitory media, and stored on and retrieved from non-transitory media.
  • the executable instructions can originate from one or more of any programming, scripting, and machine languages (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, and others).
  • Processor(s) 1010 can execute under any operating system (OS) (not shown), in a native or virtual environment.
  • OS operating system
  • One or more applications can be deployed that include logic unit 1055, application programming interface (API) unit 1060, input unit 1065, output unit 1070, positioning unit 1075, a vote calculating unit 1080, an aggregating unit 1085, and inter-unit communication mechanism 995 for the different units to communicate with each other, with the OS, and with other applications (not shown).
  • the positioning unit 1075, the vote calculating unit 1080, and the aggregating unit 1085 may implement one or more processes shown in FIGS. 6-9.
  • the described units and elements can be varied in design, function, configuration, or implementation and are not limited to the descriptions provided.
  • API unit 1060 when information or an execution instruction is received by API unit 1060, it may be communicated to one or more other units (e.g., logic unit 1055, input unit 1065, output unit 1075, positioning unit 1075, vote calculating unit 1080, and aggregating unit 1085).
  • other units e.g., logic unit 1055, input unit 1065, output unit 1075, positioning unit 1075, vote calculating unit 1080, and aggregating unit 1085.
  • candidate placement instructions are received from users via the input unit 1065
  • positioning unit 1075 may place or move the candidate based on each candidate placement instruction.
  • the vote calculating unit 1080 may calculate a voting score for the candidate based on the placement or movement of the candidate.
  • the aggregating unit 1085 may aggregate the voting scores and generate an aggregated UI showing voting results.
  • the logic unit 1055 may be configured to control the information flow among the units and direct the services provided by API unit 1060, input unit 1065, output unit 1070, positioning unit 1075, vote calculating unit 1080, and aggregating unit 1085 in some example implementations described above.
  • the flow of one or more processes or implementations may be controlled by logic unit 1055 alone or in conjunction with API unit 1060.
  • logic unit 1055 may be configured to control the information flow among the units and direct the services provided by API unit 1060, input unit 1065, output unit 1070, positioning unit 1075, vote calculating unit 1080, and aggregating unit 1085 in some example implementations described above.
  • the flow of one or more processes or implementations may be controlled by logic unit 1055 alone or in conjunction with API unit 1060.
  • FIG. 1055 Although a few example implementations have been shown and described, these example implementations are provided to convey the subject matter described herein to people who are familiar with this field. It should be understood that the subject matter described herein may be implemented in various forms without being limited to the described
  • the present disclosure relates to a user interface for use in electronic voting machines and voting systems, including web-based voting systems using Personal Computers (PCs), Servers, Mainframes, and portable computing devices (e.g., tablets, mobile phones, portable music players, smartwatches, and other portable computing devices that may be apparent to a person of ordinary skill in the art). More particularly, the present disclosure relates to a structure in which voting scores are calculated and adjusted based on placement of candidates in user defined orders.
  • PCs Personal Computers
  • Servers Servers
  • Mainframes and portable computing devices
  • portable computing devices e.g., tablets, mobile phones, portable music players, smartwatches, and other portable computing devices that may be apparent to a person of ordinary skill in the art. More particularly, the present disclosure relates to a structure in which voting scores are calculated and adjusted based on placement of candidates in user defined orders.

Abstract

A method of facilitating voting is provided. The method includes displaying a first user interface having multiple tiers and multiple candidates; placing a first candidate into a first position in one tier based on a received instruction; placing a second candidate in into a second position based on a second received instruction; displaying a second user interface having multiple tiers and multiple candidates; placing the first candidate into a third position based on a third received instruction; placing the second candidate into a fourth position based on a fourth received instruction received from the second user; calculating a voting score for the first candidate based on the first and third positions; calculating a voting score for the second candidate based on the second and fourth positions; and displaying a combined user interface based on the calculated voting scores of the first and second candidates.

Description

METHOD AND SYSTEMS FOR DISPLAYING AND ORDERING USER RANKS
IN VOTING BACKGROUND
Field of the Invention
[0001] The present disclosure relates to voting systems, and more specifically, to systems and methods for displaying and ordering user rankings to facilitate voting.
Related Art
[0002] Generally, people vote on a variety of subjects, such as game most valuable player (MVP) at baseball games, "people's choice" awards at fairs or food and drink festivals (e.g., wine festivals, rib cook-offs, or other competition), employee of the month in an office or company, or any other voting situation that may be apparent to a person of ordinary skill in the art. Related art systems for facilitating voting may display all candidates in a hierarchical list (e.g., a list with all candidates listed vertically, with one candidate listed per vertical level). In these related art systems, a user may move individual candidates up or down within the hierarchical list based on their preferences. However, if there are a large number of candidates, a user may often lose track of candidates or may have difficulty ranking all candidates due to a need to scroll up and down a long list of candidates. In these situations, a user may tend to only place their top candidate or a few top candidates, and ignore the remaining candidates. Such user trends can skew voting results and produces inaccuracies. Additionally, shorting candidates in a hierarchical list may not correspond with a user's preference of allowing multiple candidates to be placed on the same tier (i.e. two candidates on a second place tier).
SUMMARY
[0003] Aspects of the present disclosure include a method of facilitating voting among a group of candidates. The method may include displaying to a first user a first user interface having a first plurality of tiers and a plurality of the candidates for placement in the tiers; placing a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user; placing a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user; displaying to a second user a second user interface having a second plurality of tiers and the plurality of candidates for placement in the tiers; placing the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user; placing the second candidate into a fourth position in one of the second plurality of tiers based on a fourth placement instruction received from the second user; calculating a voting score for the first candidate based on the first position, and the third position; calculating a voting score for the second candidate based on the second position, and the fourth position; and displaying to the first user and the second user a combined user interface having the first candidate placed into one of a third plurality tiers based on the calculated voting score for the first candidate; and the second candidate placed into one of the third plurality tiers based on the calculated voting score for the second candidate.
[0004] Additional aspects of the present disclosure also include a non-transitory computer readable medium having stored therein a program for making a computer execute a method of facilitating voting among a group of candidates. The program includes computer executable instructions for performing the method including: displaying to a first user a first user interface having a first plurality of tiers and a plurality of the candidates for placement in the tiers; placing a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user; placing a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user; displaying to a second user a second user interface including a second plurality of tiers and the plurality of candidates for placement in the tiers; placing the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user; placing the second candidate into a fourth position in one of the second plurality of tiers based on a fourth placement instruction received from the second user; calculating a voting score for the first candidate based on the first position, and the third position; calculating a voting score for the second candidate based on the second position, and the fourth position; and displaying to the first user and the second user a combined user interface including the first candidate placed into one of a third plurality tiers based on the calculated voting score for the first candidate; and the second candidate placed into one of the third plurality tiers based on the calculated voting score for the second candidate.
[0005] Further aspects of the present disclosure include a computing apparatus configured to facilitate voting among a group of candidates. The computing apparatus includes a memory; and a processor. The processor is configured to display to a first user a first user interface including a first plurality of tiers and a plurality of the candidates for placement in the tiers; place a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user; place a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user; display to a second user a second user interface including a second plurality of tiers and the plurality of candidates for placement in the tiers; place the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user; place the second candidate into a fourth position in one of the second plurality of tiers based on a fourth placement instruction received from the second user; calculate a voting score for the first candidate based on the first position, and the third position; calculate a voting score for the second candidate based on the second position, and the fourth position; and display to the first user and the second user a combined user interface including the first candidate placed into one of a third plurality tiers based on the calculated voting score for the first candidate; and the second candidate placed into one of the third plurality tiers based on the calculated voting score for the second candidate.
[0006] Still further aspects of the present disclosure include a computing apparatus configured to facilitate voting among a group of candidates. The computing apparatus includes means for displaying to a first user a first user interface including a first plurality of tiers and a plurality of the candidates for placement in the tiers; means for placing a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user; means for placing a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user; means for displaying to a second user a second user interface including a second plurality of tiers and the plurality of candidates for placement in the tiers; means for placing the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user; means for placing the second candidate into a fourth position in one of the second plurality of tiers based on a fourth placement instruction received from the second user; means for calculating a voting score for the first candidate based on the first position, and the third position; means for calculating a voting score for the second candidate based on the second position, and the fourth position; and means for displaying to the first user and the second user a combined user interface including the first candidate placed into one of a third plurality tiers based on the calculated voting score for the first candidate; and the second candidate placed into one of the third plurality tiers based on the calculated voting score for the second candidate.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] FIGS. 1 A- ID illustrate a user interface according to an example implementation of the present application.
[0008] FIGS. 2A-2C illustrate another user interface according to another example implementation of the present application.
[0009] FIG. 3 illustrates a schematic representation of combining voting from multiple users according to an example implementation of the present application.
[0010] FIG. 4 illustrates a schematic representation of calculating a voting score for each candidate.
[0011] FIG. 5 illustrates an example voting environment for example
implementations of the present application.
[0012] FIG. 6 illustrates an example flow diagram of a process for facilitating voting according to an example implementation of the present application.
[0013] FIG. 7 illustrates an example flow diagram of a process for placing candidates according to an example implementation of the present application.
[0014] FIG. 8 illustrates an example flow diagram of a process for facilitating voting according to another example implementation of the present application.
[0015] FIG. 9 illustrates an example flow diagram of a process for placing candidates according to another example implementation of the present application.
[0016] FIG. 10 illustrates an example computing environment with an example computer device suitable for use in some example implementations.
DETAILED DESCRIPTION
[0017] The following detailed description provides further details of the figures and example implementations of the present application. Reference numerals and descriptions of redundant elements between figures are omitted for clarity. Terms used throughout the description are provided as examples and are not intended to be limiting. For example, the use of the term "automatic" may involve fully automatic or semiautomatic implementations involving user or operator control over certain aspects of the implementation, depending on the desired implementation of one of ordinary skill in the art practicing implementations of the present application.
[0018] FIGS. 1A-1D illustrate a user interface (UI) 100 according to an example implementation of the present application. In all of FIGS. 1 A-ID, the UI 100 includes an information field 105, a candidate display field 110, and a candidate voting or ranking area 115. The information field 105 provides an area for displaying information about the voting or ranking being performed. For example, the information field 105 can include title information about the voting, location information about the voting, or any other information describing situation in which voting is being performed. As illustrated, the title "Nakbe Harvest Queen" is displayed. However, voting is not limited to this specific example, and could be done for restaurants, sporting teams, political offices, musical bands, or any other situation where a plurality of users may be voting to rank a plurality of candidates.
[0019] The candidate display field 110 allows a plurality of candidates 120A-120G to be displayed to a user, for the user to place in the voting or ranking area 115. As candidates 120A-120D are placed, new candidates 120E-120G may replace the placed candidates 120A-120D, as shown in FIG. 3D and discussed in greater detail below. In some example implementations, the candidate display field 110 may allow horizontal or vertical scrolling to allow a user to access new candidates 120E-120G without first placing candidates 120A-120D.
[0020] The displaying of the candidates 120A-120G may be random (e.g., the candidates 120A-120G may appear in a randomly determined order) in some example implementations. In other example implementations, the candidates 120A-120G may be displayed in the candidate display field 110 based on how other users have voted in the past. For example, candidates currently having the most votes may be displayed first, or may be displayed last. As another example, candidates that have been placed or voted on most may be displayed first with our regard to whether the placement or voting was positive or negative votes (e.g., the candidates that have received the highest number of votes, even if the "votes" were for placement of the candidate in lower tiers.) In still another example, candidates may be displayed in an order determined by external factors (such as a user's location, prior voting behavior, user's personal interests, or any other factor that may be apparent). In yet another example, candidates may be displayed in an order specified by an administrator managing the voting. [0021] The candidate voting or ranking area 115 as illustrated may include 4 tiers
(1-4) having a plurality of voting positions 125A-125J for placing the candidates 120A- 120G in order, to allow a user to vote or rank the candidates. In some example
implementations, the candidate voting or ranking area may include more than 4 tiers or less than 4 tiers as may be apparent to a person of ordinary skill in the art. As illustrated, the first tier 1 only has a single position 125A for only one candidate. Further, the second tier 2 has two positions 125B and 125C for only two candidates. The third tier 3 has three positions 125D, 125E, 125F for only three candidates. The fourth tier 4 has four positions 125G-125J for only four candidates. The positions 125A-125J of the four tiers 1-4 may be arranged to form a pyramid shape. The positions 125A-125J and tiers 1-4 may be arranged in other configurations as discussed in greater detail below.
[0022] By arranging the positions in tiers as illustrated, a user may be able to better visualize where they have already placed candidates, and use the prior placement for comparative ranking on a small screen, such as that on a mobile device or laptop, without excessive scrolling. In other words, the tiers may provide a user with easier visualization of how he or she has already voted, to use for comparison for additional voting. Further, tiers may also allow a user to more easily rate candidates in the middle of their
preferences. In other words, a user may be able to quickly identify their favorite and/or least favorite candidate, but may have more difficulty identifying their fourth, fifth, and sixth favorites. By providing tiers, a user may place three candidates into the same tier without having to decide their fourth favorite and their sixth favorite.
[0023] FIG. 1 A illustrates an initial screen of the UI 100 where a user is presented with a an empty candidate voting or ranking area 115 and four of the candidates 120A- 120D in the candidate display field 110 for placement into the empty candidate voting or ranking area 115. Again, in some example implementations, the candidate display field 110 may allow horizontal or vertical scrolling to allow a user to access new candidates 120E-120G without first placing candidates 120A-120D.
[0024] FIG. IB illustrates a user using the UI 100 to place the four candidates
120A-120D into four positions 125A, 125B, 125C, 125H. The user may place the four candidates 120A-120D by dragging and dropping each candidate, by first selecting a candidate and then selecting the position for placement, by first selecting a position for placement and then selecting a candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may place the four candidates 120A-120D using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person of ordinary skill in the art.
[0025] Arrows 130A-130D illustrate the user placing the four candidates 120A-
120D. For example, the user may move the first candidate 120A along arrow 130A to the position 125 A in the first tier 1. The user may also move the second candidate 120B along arrow 130B to a position 125H in the fourth tier 4. Further, the user may move the third candidate 120C along arrow 130C to a position 125B in the second tier 2. Still further, the user may move the fourth candidate 120D along arrow 130D to another position 125C in the second tier 2.
[0026] FIG. 1C illustrates the UI 100 after the user has placed the four candidates
120A-120D into the positions 125A, 125H, 125B, and 125C. As illustrated, new candidates 120E, 120F, and 120G have been added to the candidate display field 110.
[0027] FIG. ID illustrates the UI as the user is placing another candidate 1201 into a position 125B of the candidate voting or ranking area 115. As illustrated, the candidate 1201 is being moved along the arrow 1301 to the position 125B. Again, the user may place the candidate 1201 by dragging and dropping, by first selecting the candidate 1201 and then selecting the position 125B for placement, by first selecting the position 125B for placement and then selecting the candidate 1201, or in any other way that may be apparent to a person of ordinary skill in the art. The user may place the candidate 1201 using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0028] In FIG. ID, position 125B was previously occupied by candidate 120C before candidate 1201 is placed. By placing candidate 1201 into position 125B, candidate 120C is moved to position 125C in the second tier 2. Position 125C had previously been occupied by candidate 120D. When candidate 120C is moved to position 125C, candidate 120D is moved to position 125D in the third tier 3. In other words, if the user places a candidate into an already occupied position, the candidate occupying the position may be moved to the next position in the same tier or into a position in a next tier, so that a maximum number of candidates in each tier are not exceeded.
[0029] FIGS. 2A-2C illustrates another user interface according to another example implementation of the present application. Various aspects of the user interface 200 of FIGS. 2A-2C are similar to the user interface 100 of FIG. 1 and similar reference numerals are used. Like the UI 100, the UI 200 includes an information field 205, a candidate display field 210, and a candidate voting or ranking area 215. Again, the information field 205 provides an area for displaying information about the voting or ranking being performed. For example, the information field 205 can include title information about the voting, location information about the voting, or any other information describing situation in which voting is being done. As illustrated, the title "Nakbe Harvest Queen" is displayed. However, voting could be done for restaurants, sporting teams, political offices, musical bands, or any other situation where a plurality of people may be voting to rank a plurality of candidates.
[0030] In the UI 200, the candidate display field 210 allows a plurality of candidates 220A-120G to be displayed to a user to allow the user to place in the voting or ranking area 215. As candidates 220A-220D are placed, new candidates 220E-220G may replace the placed candidates 220A-120D, as discussed in greater detail below. In some example implementations, the candidate display field 210 may allow horizontal or vertical scrolling to allow a user to access new candidates 220E-220G without first placing candidates 220A-220D.
[0031] The displaying of the candidates 220A-220G may be random (e.g., the candidates 220A-220G may appear in a randomly determined order) in some example implementations. In other example implementations, the displaying of the candidates 220A-220G in the candidate display field 210 may be performed based on how other users have voted in the past (e.g., voting history). For example, candidates currently having the most votes may be displayed first, or may be displayed last at 210. As another example, candidates 220A-220G that have been placed or voted on most may be displayed first with our regard to whether the placement or voting was positive or negative votes (i.e. the candidates that have been voted on the most number of times, even if the "votes" were for placement in lower tiers.) In still another example, 220A-220G in the candidate display field 210 in an order determined by external factors (such as a user's location, prior voting behavior, user's personal interests or any other factor that may be apparent.) In yet another example, 220A-220G in the candidate display field 210 in an order specified by an administrator managing the voting.
[0032] Unlike the UI 100 discussed above with respect to FIGS. 1 A-1D, the voting or ranking area 215 does not include a fixed number of tiers or voting positions initially, but instead adds new tiers and/or new positions as candidates 220A-220G are placed. FIGS. 2A-2C illustrated the transition of the UI 200, as candidates 220A-220G are placed. [0033] In FIG. 2 A, the voting or ranking area 215 of the UI 200 includes only a single tier 1 with a single position 225 A available for receiving a candidate. FIG. 2B illustrates that the voting or ranking area 215 of the UI 200 has changed based on the placement of candidate 220A into position 225 A. As illustrated, the voting or ranking area 215 has changed to include two new tiers 2 and 3, in addition to the original tier 1 illustrated in FIG. 2 A. Tier 2 includes a single position 225C located above the Tier 1, and Tier 3 includes a single position 225D located below the Tier 1. Further, a new position 225B has been added to Tier 1. The new position 225B is located next to position 225A, which is now occupied by placed candidate 220A.
[0034] As new tiers and positions are added to the UI 200 based on the placement of candidates, a user can rank or position candidates relative to the candidates that have already been placed. For example, a user can rank a candidate (220C for example) higher than candidate 220A by placing the candidate (220C) into position 225C of tier 2, or lower than candidate 220 A by placing the candidate (220C) into position 225D of tier 3.
Placement of the candidate 220C into position 225B can be used to indicate that candidates 220 A and 220C are equal.
[0035] The user may have placed the candidates 220A by dragging and dropping, by first selecting candidate 220A and then selecting the position 225 A for placement, by first selecting the position 225 A for placement and then selecting the candidate 220A, or in any other way that may be apparent to a person of ordinary skill in the art. The user may place the candidate 220A using a finger or appendage on a touch screen device, a pointing device, a user controller, or any other mechanism that may be apparent to a person ordinary skill in the art. Again, if the user places a candidate into an already occupied position, the candidate occupying the position may be moved to the next position in the same tier or into a position in a next tier so that a maximum number of candidates in each tier are not exceeded. In FIG. 2B, after the user has placed the candidates 220A into the position 225 A, new candidates 220E has been added to the candidate display field 210.
[0036] FIG. 2C illustrates that the voting or ranking area 215 of the UI 200 has further changed based on the placement of candidates 220C and 220D into positions 225B and 220D, respectively. As illustrated, the voting or ranking area 215 has changed to include a new tier 4, in addition to tiers 1, 2, and 3 illustrated in FIGS. 2 A and 2B. Tier 4 includes a single position 225G located below the Tier 3. Further, a new position 225E has been added to Tier 1 and new position 225F has been added to Tier 3. The new position 225E is located next to position 225B, which is now occupied by placed candidate 220C. The new position 225F is located next to position 225D, which is now occupied by placed candidate 220D.
[0037] As new tiers and positions are added to the UI 200 based on the placement of candidates, a user can rank or position candidates relative to the candidates that have already been placed. For example, a user can rank a candidate (220F for example) higher than candidate 220A by placing the candidate (220F) into position 225C of tier 2, or lower than candidate 220 A by placing the candidate (220F) into position 225F of tier 3.
Placement of the candidate 220F into position 225E can be used to indicate that candidate 220 A, candidate 220C, and candidate 220F are equal. Similarly, placement of candidate 220F into candidate 225 can be used to indicate that candidates 220D and candidate 220F are equal.
[0038] The user may have placed the candidates 220C and 220D by dragging and dropping, by first a selecting candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may place the candidates 220C and 220D using a finger or appendage on a touch screen device, a pointing device, a user controller, or any other mechanism that may be apparent to a person ordinary skill in the art. Again, if the user places a candidate into an already occupied position, the candidate occupying the position may be moved to the next position in the same tier or into a position in a next tier so that a maximum number of candidates in each tier are not exceeded. In FIG. 2C, after the user has placed the candidates 220C and 220D into the positions 225B and 225D, new candidates 220F and 220G have been added to the candidate display field 210.
[0039] FIG. 3 illustrates a schematic representation 300 of combining voting from multiple users according to an example implementation of the present application.
According to an example implementation of the present application, a plurality of users has each used a different version 305, 310, 315 of a UI to rank a plurality of candidates (A-J) in to four tiers. The UI 100 of FIGS 1 A-D is illustrated, but other UIs could be used without departing from example implementations of the present application. Once the different versions 305, 310, 315 of the UI have been generated by users, each version is feed through an aggregation algorithm 320 to produce a combined or aggregated UI 325 representative of the voting or ranking of the plurality of users. [0040] During the aggregation, the algorithm 320 involves first assigning a voting score for each candidate (A- J) based on where each candidate has been positioned in each of the different versions. In other words, a numerical value is assigned to each candidate (A-J) based on their positions in each version 305, 310, 315 (i.e. a first numeral value is assigned to candidate A based on its position in version 305, a second numerical value is assigned to candidate A based on its position in version 310, a third numerical value is assigned to candidate A based on its position in version 310, and so on for each candidate (B-J) and each version 305, 310, 315). The assigning of numerical values to each position in the UI is discussed in greater detail in FIG. 4. Once a numerical value has been assigned to each candidate (A-J) based on each position in each version 305, 310, 315, the numerical values associated with each candidate (A-J) are aggregated to determine an aggregated score for each candidate. In some example embodiments, the numerical values associated with each candidate (A-J) may be averaged, or otherwise combined using any other mathematical operation that may be apparent to a person ordinary skill in the art. The aggregated or combined UI 325 can be generated for based on the aggregated scores associated with each candidate (A-J).
[0041] FIG. 4 illustrates a schematic representation 400 of calculating a voting score for each candidate (A-J). A tier number (N) is assigned to each tier in ascending order. For example, the top tier or highest tier may be assigned tier number 0 (N=0). Each tier below the top tier may be assigned a progressively larger tier number (N) (i.e. tier 2 may be assigned tier number 1(N=1), tier 3 may be assigned tier number 2 (N=2)).
[0042] A top score (TOP) value is also assigned to the highest tier. For example, in FIG. 4, a top score value of 100 (TOP=100) is used. However, the top score is not limited to this value and may have other values depending on desired implementation. Selection of the top score value may be used to control the amount of gradation in the voting results. For example, larger top score values may be used to increase the gradation between different tiers and allow improved recognition of rankings in the aggregated UI.
[0043] A distance factor (DF) representative of a difference in scoring between adjacent tiers is also determined. For example, in FIG. 4 a distance factor of 1 (DF=1) is used. However, the distance factor is not limited to this value and may have other values depending on desired implementation. Selection of the distance factor may also be used to control the amount of gradation in the voting results. For example, larger top score values may be used to increase the gradation between different tiers and allow improved recognition of rankings in the aggregated UI. Further, the selected distance factor could also be a linear or non-linear function of the assigned tier number. For example, the distance factor (DF) could double between adjacent tiers (i.e. DF=2*N). As another example, the distance factor could be based on the LOG of the tier number (i.e. DF=LOG (N)). The distance factor (DF) could be any function that may be apparent to a person of ordinary skill in the art.
[0044] Based on the assigned tier number (N), the assigned top score (TOP), and the determined distance factor (DF), a score (S) is determined for each tier. In some example implementations, the score may be determined for each tier using the equation S=TOP-(DF*N). Using this equation, the score for the top (first) tier is 100 (Sl=100), the score for the next lower (second) tier is 99 (S2=99), and the score for the next lower (third) tier is 98 (S3=98).
[0045] Once a score has been calculated for each tier, the calculated score is assigned as the voting score for each candidate in a tier. For example, candidate A in the top tier is assigned a voting score of 100 based on its placement. Further, both candidates B and C in the second tier are assigned voting scores of 99 based on their placement. Further, all three candidates D, E, and F in the third tier are assigned voting scores of 98 based on their placement. As discussed above all candidates are assigned voting scores based on their placement in different UIs by users and the assigned voting scores for each candidate are aggregated to calculate an aggregated score, which can be used to generate a combined UI as discussed in greater detail below.
[0046] FIG. 5 illustrates an example voting environment for example
implementations of the present application. Environment 500 includes devices 510-530 and 540-545, and each is communicatively connected to at least one other device via, for example, network 555 (e.g., by wired and/or wireless connections). Some devices may be communicatively connected to one or more storage devices 535 and 550.
[0047] An example of one or more devices 510-530 and 540-545 may be computing device 1005 described below in FIG. 10. Devices 510-530 and 540-545 may include, but are not limited to, a computer 510 (e.g., a laptop computing device), a mobile device 515 (e.g., smartphone or tablet), a television 520, a device associated with a vehicle 525, a server computer 530, other computing devices 540-545, and storage devices 535 and 550. The one or more devices may also include a dedicated voting machine configured and designed exclusively for voting. [0048] Each of the computing devices 510-530 and 540-545 may all be used to vote and view voting results according to example implementations of the present application. For example, computer 510 may display a first UI, such as the UI of FIGS. 1 A-1D or FIG. 2 discussed above, to allow a first user to rank a plurality of candidates. Once the first user ranks the candidates using the first UI, the voting scores may be calculated for all candidates based on the first UI and transmitted to the server computer 530 for storage on the storage device 535. Further, mobile device 515 may display a second UI, such as the UI of FIGS. 1 A-1D or FIG. 2 discussed above, to allow a second first user to rank the plurality of candidates. Again, once the second user ranks the candidates using the second UI, the voting scores may be calculated for all candidates based on the second UI and transmitted to the server computer 530 for storage on the storage device 535. Voting or ranking may also be done by directly accessing the server computer 530. Thus, using the various computing devices 510-530 and 540-545 different users can rank the candidates and individual user's rankings can be aggregated to generate an aggregated UI representative of aggregated voting results by the server computer 530.
[0049] FIG. 6 illustrates an example flow diagram of a process 600 for facilitating voting according to an example implementation of the present application. The process 600 may be performed by one or more of processors, such as the processors 1010 of the computing device 1005 of FIG. 10 discussed below. In some example implementations, the process 600 may be performed in a server device (such as server computer 530 of FIG. 5 discussed above). In other example implementations, the process 600 may be performed in a mobile device (such as mobile device 515 of FIG. 5 discussed above) or any other computing device.
[0050] In the process 600 at 605, a first UI is displayed to a first user to allow voting or ranking of a plurality of candidates by placing the individual candidates into positions into a plurality of tiers. The first UI may be UI 100 illustrated in FIGS. 1 A-1D or UI 200 illustrated in FIG 2, or any other UI that may be apparent to a person of ordinary skill in the art.
[0051] Based on the displayed first UI, a first placement instruction may be received from the first user to place a first candidate selected from the plurality of candidates into a first position in one of the tiers illustrated in the first UI at 610. The first placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may the provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0052] Based on the received instruction, the first candidate is placed on the first
UI in a first position in one of the tiers at 615. In some example implementations, the placing of the first candidate on the first UI may involve directly placing the first candidate into the first position and maintaining the first candidate in the first position until subsequent placement instructions are received. In other example implementations, the placing of the first candidate on the first UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to remove unoccupied positions as discussed in greater detail below with respect FIG. 7. The positioning process discussed below with respect to FIG. 9 may also be used in some example implementations.
[0053] After the first candidate has been placed based on the first placement instruction, a second placement instruction may be received from the first user to place a second candidate selected from the plurality of candidates into a second position in one of the tiers illustrated in the first UI at 620. Again, the second placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0054] Based on the received instruction, the second candidate is placed on the first UI in a second position in one of the tiers at 625. In some example implementations, the placing of the second candidate on the first UI may involve directly placing the second candidate into the second position and maintaining the second candidate in the second position until subsequent placement instructions are received. In other example implementations, the placing of the second candidate on the first UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to remove unoccupied positions as discussed in greater detail below with respect FIG. 7. The positioning process discussed below with respect to FIG. 9 may also be used in some example implementations. More placement instructions may be similarly received for other candidates and other candidates may be similarly placed until all candidates have been placed on the first UI.
[0055] Before all candidates have been placed on the first UI, after all candidates have been placed on the UI, or while candidates are still being placed on the first UI, a second UI may be displayed to a second user to allow voting or ranking of a plurality of candidates by placing the individual candidates into positions into a plurality of tiers at 630. Again, the second UI may be UI 100 illustrated in FIGS. 1 A-ID or UI 200 illustrated in FIG 2, or any other UI that may be apparent to a person of ordinary skill in the art.
[0056] Based on the displayed second UI, a third placement instruction may be received from the second user to place a first candidate selected from the plurality of candidates into a third position in one of the tiers illustrated in the second UI at 635. The third placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0057] Based on the received instruction, the first candidate is placed on the second UI in a third position in one of the tiers at 640. In some example implementations, the placing of the first candidate on the second UI may involve directly placing the first candidate into the third position and maintaining the first candidate in the third position until subsequent placement instructions are received. In other example implementations, the placing of the first candidate on the second UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to remove unoccupied positions as discussed in greater detail below with respect FIG. 7. The positioning process discussed below with respect to FIG. 9 may also be used in some example implementations.
[0058] After the first candidate has been placed based on the third placement instruction, a fourth placement instruction may be received from the second user to place a second candidate selected from the plurality of candidates into a fourth position in one of the tiers illustrated in the second UI at 645. Again, the fourth placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0059] Based on the received instruction, the second candidate is placed on the second UI in a fourth position in one of the tiers at 650. In some example
implementations, the placing of the second candidate on the second UI may involve directly placing the second candidate into the fourth position and maintaining the second candidate in the fourth position until subsequent placement instructions are received. In other example implementations, the placing of the second candidate on the second UI may include moving other already placed candidates or repositioning the second candidate based on positions of other previously placed candidates to remove unoccupied positions as discussed in greater detail below with respect FIG. 7. The positioning process discussed below with respect to FIG. 9 may also be used in some example
implementations. More placement instructions may be similarly received for other candidates and other candidates may be similarly placed until all candidates have been placed on the second UI. Further, more UIs may be displayed to allow additional users to vote or rank the candidates.
[0060] In some embodiments, after all candidates have been placed on the first UI and the second UI (and any other UIs) a voting score is calculated for the first candidate at 655. In other example implementations, the voting score may be calculated on rolling basis while candidates are still being placed. Similarly, after all candidates have been placed on the first UI and the second UI (and any other UIs), or while candidates are still being placed, a voting score is calculated for the second candidate at 660. Voting scores may also be determined for all candidates. The calculation of the voting scores may be done as discussed above with respect to FIGS. 3 and 4.
[0061] Once the voting scores have been determined, a combined UI is generated and displayed to all users based the calculated scores at 665. The combined UI may have an appearance similar to the UI 100 illustrated in FIGS. 1 A- ID and UI 200 illustrated in FIG. 2, with a plurality of tiers each tier having a fixed maximum number of positions in each tier. For example, the highest tier may have a single position; the second tier may have only two positions, the third tier may have only three positions and so on.
[0062] The combined UI may be generated by ordering all of the candidates in order based on the calculated scores and placing the highest score candidate in the highest tier. Two or more candidates having the next highest score may be placed in the next tier, based on the maximum number of candidates in the second tier. The next three highest score having candidates may be placed in a third tier and so on until all candidates are placed in all of the positions of all of the tiers. In some example implementations, one or more positions may be considered to have higher recognition than other positions (i.e. represent a higher score) in the same tier. For example, the positions in the same tier may descend in score received from left to right or right to left (i.e. the candidate on either the left or the right may have received a higher score than other candidates in the same tier.
[0063] Further, due to the fixed number of positions in each tier, ties may occur.
For example, three candidates may all each have the same voting score and be eligible for a second tier. However, if the second tier is fixed at only two positions, only two candidates can be placed in the second tier. Thus, tie breaking techniques may be used. For example, candidates having a lower sigma or standard deviation may be given preferential positioning. In other words, two candidates that have been consistently ranked in the second tier may be given preference over a candidate that has been ranked 50% a highest tier and 50% in a lowest tier, even though the three candidates have the same average score.
[0064] Other tie breaking techniques could also be used. For example, as age of voting results could be factored in to break ties, such that candidates that were initially ranked high but have been more recently been ranked much lower could be given preference over candidates that are more recently being ranked high, even though the candidates have the same average score. Similarly, elapsed time taken by individual users to place a candidate may be used to break a tie. For example, a candidate that was consistently being ranked high quickly could be given preference over a candidate that was placed high only after a lot of other candidates had already been placed (i.e. long elapsed time) even though the candidates have the same average score. Ties could also be broken using any other mechanism that may be apparent to a person of ordinary skill in the art without departing from the scope of the present application. Further, in some example implementations, ties may be broken by an administrator managing or running the voting.
[0065] Once the combined UI is generated and displayed at 665, the process 600 may end.
[0066] FIG. 7 illustrates an example flow diagram of a process 700 for placing candidates according to example implementations of the present application. The process of 700 is only one example implementation of a positioning process usable during the process 600 of FIG. 6 and/or the process 800 of FIG. 8 discussed below. Other positioning processes may be used or be apparent to a person of ordinary skill in the art. The process 700 may be performed by one or more of processors, such as the processors 1010 of the computing device 1005 of FIG. 10 discussed below. In some example implementations, the process 700 may be performed in a server device (such as server computer 530 of FIG. 5 discussed above). In other example implementations, the process 700 may be performed in a mobile device (such as mobile device 515 of FIG. 5 discussed above) or any other computing device. Further the process 700 may be performed during one or more of the placement instruction receiving steps (610, 620, 635, 645) and the placing steps (615, 625, 640, 650) of process 600.
[0067] In the process 700, an instruction may be received from the user to place a candidate selected from the plurality of candidates into a position in one of the tiers illustrated in a UI at 705. The placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the position for placement, by first selecting the position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0068] At 710, the candidate may be placed in an initial position in one of the tiers of the UI based on the received instruction. In some example implementations, after the candidate has been placed, the one or more of processors, i.e. the processors 1010 of the computing device 1005 of FIG. 10 discussed below, may determine whether all positions in upper tiers above the initial position are occupied by prior placed candidates at 715. If all positions in upper tiers above the initial position are occupied by prior placed candidates (YES-715), the candidate is kept in the initial position at 725. Conversely, if less than all positions in upper tiers above the initial position are occupied by prior placed candidates (NO-715), the candidate is moved up to the highest unoccupied position at 720 to fill in any gaps in the tiers.
[0069] After either 720 or 725, the one or more of processors, i.e. the processors
1010 of the computing device 1005 of FIG. 10 discussed below, may determine whether any of the tiers have a number of placed candidates that exceeds the fixed number of positions associated with the tier at 730. If any tier has a number of placed candidates that exceeds the fixed number of positions associated with the tier (YES-730), one placed candidate is moved down to an adjacent lower tier at 735. In some example
implementations, one or more positions in a tier may be considered to have higher recognition than other positions (i.e. represent a ranking) in the same tier. For example, the positions in the same tier may descend in ranking received from left to right or right to left (i.e. the candidate on either the left or the right may have received a higher score than other candidates in the same tier. In these example implementations, the placed candidate moved down may be the candidate in the position associated with the lower ranking. In other example implementations, the candidate moved down may be randomly chosen, or may be chose using other techniques that may be apparent to a person of ordinary skill in the art.
[0070] After, one of the placed candidates is moved down to an adjacent lower tier, the process 700 may return to 730 to again determine if whether any of the tiers have a number of placed candidates that exceeds the fixed number of positions associated. Steps 730 and 735 may be repeated until no tier has more placed candidates than the fixed number of positions (NO-730). Once no tier has more placed candidates than the fixed number of positions (NO-730), the process 700 may end and the processor can proceed with the remainder of process 600 of FIG. 6 discussed above.
[0071] FIG. 8 illustrates an example flow diagram of a process 800 for facilitating voting according to another example implementation of the present application. Some aspects of the process 800 may be similar to the process 600 illustrated in FIG. 6 and discussed above. Thus, similar reference numerals and description may be provided. The process 800 may be performed by one or more of processors, such as the processors 1010 of the computing device 1005 of FIG. 10 discussed below. In some example
implementations, the process 800 may be performed in a server device (such as server computer 530 of FIG. 5 discussed above). In other example implementations, the process 800 may be performed in a mobile device (such as mobile device 515 of FIG. 5 discussed above) or any other computing device.
[0072] In the process 800 at 805, a first UI is displayed, fully populated with all positions filled with candidates, to a first user to allow voting or ranking of a plurality of candidates by moving the individual candidates into positions into a plurality of tiers. The first UI may be UI 100 illustrated in FIGS. 1 A-1D or UI 200 illustrated in FIG 2, or any other UI that may be apparent to a person of ordinary skill in the art. In some example implementations, the first UI may be automatically populated with the plurality of candidates randomly. In other example implementations, the first UI may be
automatically populated based on current aggregated results. The first UI may also be automatically populated with the candidates in alphabetical or any other order that that may be apparent to a person of ordinary skill in the art.
[0073] Based on the displayed first UI, a first placement instruction may be received from the first user to move a first candidate selected from the plurality of candidates into a new first position in one of the tiers illustrated in the first UI at 810. The first placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may the provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0074] Based on the received instruction, the first candidate is moved on the first
UI to a new first position in one of the tiers at 815. In some example implementations, the moving the first candidate on the first UI may involve directly moving only the first candidate into the new first position and maintaining the first candidate in the first position until subsequent placement instructions are received. In other example implementations, the moving the first candidate on the first UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to fill in new unoccupied positions as discussed in greater detail below with respect FIG. 9. The positioning process discussed above with respect to FIG. 7 may also be used in some example implementations. [0075] After the first candidate has been moved based on the first placement instruction, a second placement instruction may be received from the first user to move a second candidate selected from the plurality of candidates into a new second position in one of the tiers illustrated in the first UI at 820. Again, the second placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0076] Based on the received instruction, the second candidate is moved on the first UI to a new second position in one of the tiers at 825. In some example
implementations, the moving the second candidate on the first UI may involve directly moving only the first candidate into the new first position and maintaining the first candidate in the first position until subsequent placement instructions are received. In other example implementations, the moving the first candidate on the first UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to fill in new unoccupied positions as discussed in greater detail below with respect FIG. 9. The positioning process discussed above with respect to FIG. 7 may also be used in some example implementations. More placement instructions may be similarly received for other candidates and other candidates may be similarly moved until all candidates have been moved on the first UI as the first User has chosen.
[0077] Before all candidates have been moved on the first UI, after all candidates have been moved on the first UI, or while candidates are still being moved on the first UI, a second UI may be displayed to a second user at 830. Again, the second UI is displayed fully populated with all positions filled with candidates to allow the second user to vote or rank the candidates by moving the individual candidates into positions into a plurality of tiers at 830. Again, the second UI may be UI 100 illustrated in FIGS. 1 A-1D or UI 200 illustrated in FIG 2, or any other UI that may be apparent to a person of ordinary skill in the art. In some example implementations, the second UI may be automatically populated with the plurality of candidates randomly. In other example implementations, the second UI may be automatically populated based on current aggregated results. The second UI may also be automatically populated with the candidates in alphabetical or any other order that that may be apparent to a person of ordinary skill in the art.
[0078] Based on the displayed second UI, a third placement instruction may be received from the second user to move a first candidate selected from the plurality of candidates into a new third position in one of the tiers illustrated in the second UI at 835. The third placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0079] Based on the received instruction, the first candidate is moved on the second UI in a new third position in one of the tiers at 840. In some example
implementations, the moving the first candidate on the second UI may involve directly moving the first candidate into the new third position and maintaining the first candidate in the third position until subsequent placement instructions are received. In other example implementations, the moving the first candidate on the second UI may include moving other already placed candidates or repositioning the first candidate based on positions of other previously placed candidates to fill new unoccupied positions as discussed in greater detail below with respect FIG. 9. The positioning process discussed above with respect to FIG. 7 may also be used in some example implementations.
[0080] After the first candidate has been moved based on the third placement instruction, a fourth placement instruction may be received from the second user to place a second candidate selected from the plurality of candidates into a new fourth position in one of the tiers illustrated in the second UI at 845. Again, the fourth placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art. [0081] Based on the received instruction, the second candidate is moved on the second UI to a new fourth position in one of the tiers at 850. In some example
implementations, the moving the second candidate on the second UI may involve directly moving only the second candidate into the new fourth position and maintaining the second candidate in the fourth position until subsequent placement instructions are received. In other example implementations, the moving the second candidate on the second UI may include moving other already placed candidates or repositioning the second candidate based on positions of other previously placed candidates to fill in new unoccupied positions as discussed in greater detail below with respect FIG. 9. The positioning process discussed above with respect to FIG. 7 may also be used in some example
implementations. More placement instructions may be similarly received for other candidates and other candidates may be similarly moved until all candidates have been moved on the second UI as the second user has chosen. Further, more UIs may be displayed to allow additional users to vote or rank the other candidates.
[0082] In some embodiments, after all candidates have been placed on the first UI and the second UI (and any other UIs) a voting score is calculated for the first candidate at 855. In other example implementations, the voting score may be calculated on rolling basis while candidates are still being placed. Similarly, after all candidates have been moved on the first UI and the second UI (and any other UIs), or while candidates are still being placed, a voting score is calculated for the second candidate at 860. Voting scores may also be determined for all candidates. The calculation of the voting scores may be done as discussed above with respect to FIGS. 3 and 4.
[0083] Once the voting scores have been determined, a combined UI is generated and displayed to all users based the calculated scores at 865. The combined UI may have an appearance similar to the UI 100 illustrated in FIGS. 1 A- ID and UI 200 illustrated in FIG. 2, with a plurality of tiers each tier having a fixed maximum number of positions in each tier. For example, the highest tier may have a single position; the second tier may have only two positions, the third tier may have only three positions and so on.
[0084] The combined UI may be generated by ordering all of the candidates in order based on the calculated scores and placing the highest score candidate in the highest tier. Two or more candidates having the next highest score may be placed in the next tier, based on the maximum number of candidates in the second tier. The next three highest score having candidates may be placed in a third tier and so on until all candidates are placed in all of the positions of all of the tiers. In some example implementations, one or more positions may be considered to have higher recognition than other positions (i.e. represent a higher score) in the same tier. For example, the positions in the same tier may descend in score received from left to right or right to left (i.e. the candidate on either the left or the right may have received a higher score than other candidates in the same tier.
[0085] Further, due to the fixed number of positions in each tier, ties may occur.
For example, three candidates may all each have the same voting score and be eligible for a second tier. However, if the second tier is fixed at only two positions, only two candidates can be placed in the second tier. Thus, tie breaking techniques may be used. For example, candidates having a lower sigma or standard deviation may be given preferential positioning. In other words, two candidates that have been consistently ranked in the second tier may be given preference over a candidate that has been ranked 50% a highest tier and 50% in a lowest tier, even though the three candidates have the same average score.
[0086] Other tie breaking techniques could also be used. For example, as age of voting results could be factored in to break ties, such that candidates that were initially ranked high but have been more recently been ranked much lower could be given preference over candidates that are more recently being ranked high, even though the candidates have the same average score. Similarly, elapsed time taken by individual users to place a candidate may be used to break a tie. For example, a candidate that was consistently being ranked high quickly could be given preference over a candidate that was placed high only after a lot of other candidates had already been placed (i.e. long elapsed time) even though the candidates have the same average score. Ties could also be broken using any other mechanism that may be apparent to a person of ordinary skill in the art without departing from the scope of the present application. Further, in some example implementations, ties may be broken by an administrator managing or running the voting.
[0087] Once the combined UI is generated and displayed at 865, the process 800 may end.
[0088] FIG. 9 illustrates an example flow diagram of a process 900 for placing candidates according to another example implementation of the present application. The process of 900 is only one example implementation of a positioning process usable during the process 600 of FIG. 6 and/or the process 800 of FIG. 8 discussed below. Other positioning processes may be used or be apparent to a person of ordinary skill in the art. The process 900 may be performed by one or more of processors, such as the processors 1010 of the computing device 1005 of FIG. 10 discussed below. In some example implementations, the process 900 may be performed in a server device (such as server computer 530 of FIG. 5 discussed above). In other example implementations, the process 900 may be performed in a mobile device (such as mobile device 515 of FIG. 5 discussed above) or any other computing device. Further, the process 900 may be performed during one or more of the placement instruction receiving steps (810, 820, 835, 845) and the placing steps (815, 825, 840, 850) of process 800.
[0089] In the process 900, an instruction may be received from the user to move a candidate selected from the plurality of candidates into a position in one of the tiers illustrated in a UI at 905. The placement instruction may be received by the user dragging and dropping the candidate, by first selecting the candidate and then selecting the new position for placement, by first selecting the new position for placement and then selecting the candidate, or in any other way that may be apparent to a person of ordinary skill in the art. The user may provide the instruction using a finger or appendage on a touch screen device, a pointing device, a user controller or any other mechanism that may be apparent to a person ordinary skill in the art.
[0090] At 810, the candidate may be moved from an initial position in one of the tiers of the UI to a new position based on the received instruction. In some example implementations, after the candidate has been placed, the one or more of processors, i.e. the processors 1010 of the computing device 1005 of FIG. 10 discussed below, may determine whether the new position is higher than the initial position at 915. If the new position is higher than the initial position, (YES-915), all previously placed candidates between the initial position and the new position are each moved down one position to fill in the vacancy created in the initial position of the moved candidate at 925. Conversely, if the new position is not higher than the initial position (NO-915), all previously placed candidates between the initial position and the new position are each moved up one position to fill in the vacancy created in the initial position of the moved candidate at 920.
[0091] After either 920 or 925, the one or more of processors, i.e. the processors
1010 of the computing device 1005 of FIG. 10 discussed below, may optionally determine whether any of the tiers have a number of placed candidates that exceeds the fixed number of positions associated with the tier at 930. If any tier has a number of placed candidates that exceeds the fixed number of positions associated with the tier (YES-930), one placed candidate is moved down to an adjacent lower tier at 935.
[0092] In some example implementations, one or more positions in a tier may be considered to have higher recognition than other positions (i.e. represent a ranking) in the same tier. For example, the positions in the same tier may descend in ranking received from left to right or right to left (i.e. the candidate on either the left or the right may have received a higher score than other candidates in the same tier. In these example implementations, the placed candidate moved down may be the candidate in the position associated with the lower ranking. In other example implementations, the candidate moved down may be randomly chosen, or may be chose using other techniques that may be apparent to a person of ordinary skill in the art.
[0093] After, one of the placed candidates is moved down to an adjacent lower tier, the process 900 may return to 930 to again determine if whether any of the tiers have a number of placed candidates that exceeds the fixed number of positions associated. Steps 930 and 935 may be repeated until no tier has more placed candidates than the fixed number of positions (NO-930). Once no tier has more placed candidates than the fixed number of positions (NO-930), the process 900 may end and the processor can proceed with the remainder of process 800 of FIG. 8 discussed above.
[0094] Example Computing Environment
[0095] FIG. 10 illustrates an example computing environment 1000 with an example computer device 1005 suitable for use in some example implementations.
Computing device 1005 in computing environment 1000 can include one or more processing units, cores, or processors 1010, memory 1015 (e.g., RAM, ROM, and/or the like), internal storage 1020 (e.g., magnetic, optical, solid state storage, and/or organic), and/or I/O interface 1025, any of which can be coupled on a communication mechanism or bus 1030 for communicating information or embedded in the computing device 1005.
[0096] Computing device 1005 can be communicatively coupled to input/user interface 1035 and output device/interface 1040. Either one or both of input/user interface 1035 and output device/interface 1040 can be a wired or wireless interface and can be detachable. Input/user interface 1035 may include any device, component, sensor, or interface, physical or virtual, which can be used to provide input (e.g., buttons, touchscreen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like). Output device/interface 1040 may include a display, television, monitor, printer, speaker, braille, or the like. In some example implementations, input/user interface 1035 and output device/interface 1040 can be embedded with or physically coupled to the computing device 1005. In other example implementations, other computing devices may function as or provide the functions of input/user interface 1035 and output device/interface 1040 for a computing device 1005.
[0097] Examples of computing device 1005 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, server devices, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).
[0098] Computing device 1005 can be communicatively coupled (e.g., via I/O interface 1025) to external storage 1045 and network 1050 for communicating with any number of networked components, devices, and systems, including one or more computing devices of the same or different configuration. Computing device 1005 or any connected computing device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special -purpose machine, or another label.
[0099] I/O interface 1025 can include, but is not limited to, wired and/or wireless interfaces using any communication or I/O protocols or standards (e.g., Ethernet, 802.1 lx, Universal System Bus, WiMAX, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all the connected components, devices, and network in computing environment 1000. Network 1050 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
[00100] Computing device 1005 can use and/or communicate using computer- usable or computer-readable media, including transitory media and non-transitory media. Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory. [00101] Computing device 1005 can be used to implement techniques, methods, applications, processes, or computer-executable instructions in some example computing environments. Computer-executable instructions can be retrieved from transitory media, and stored on and retrieved from non-transitory media. The executable instructions can originate from one or more of any programming, scripting, and machine languages (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, and others).
[00102] Processor(s) 1010 can execute under any operating system (OS) (not shown), in a native or virtual environment. One or more applications can be deployed that include logic unit 1055, application programming interface (API) unit 1060, input unit 1065, output unit 1070, positioning unit 1075, a vote calculating unit 1080, an aggregating unit 1085, and inter-unit communication mechanism 995 for the different units to communicate with each other, with the OS, and with other applications (not shown). For example, the positioning unit 1075, the vote calculating unit 1080, and the aggregating unit 1085 may implement one or more processes shown in FIGS. 6-9. The described units and elements can be varied in design, function, configuration, or implementation and are not limited to the descriptions provided.
[00103] In some example implementations, when information or an execution instruction is received by API unit 1060, it may be communicated to one or more other units (e.g., logic unit 1055, input unit 1065, output unit 1075, positioning unit 1075, vote calculating unit 1080, and aggregating unit 1085). For example, when candidate placement instructions are received from users via the input unit 1065, positioning unit 1075 may place or move the candidate based on each candidate placement instruction. Additionally, when the positioning unit 1075 may place or move the candidate, the vote calculating unit 1080 may calculate a voting score for the candidate based on the placement or movement of the candidate. Once voting scores are calculated for a plurality of candidates, the aggregating unit 1085 may aggregate the voting scores and generate an aggregated UI showing voting results.
[00104] In some instances, the logic unit 1055 may be configured to control the information flow among the units and direct the services provided by API unit 1060, input unit 1065, output unit 1070, positioning unit 1075, vote calculating unit 1080, and aggregating unit 1085 in some example implementations described above. For example, the flow of one or more processes or implementations may be controlled by logic unit 1055 alone or in conjunction with API unit 1060. [00105] Although a few example implementations have been shown and described, these example implementations are provided to convey the subject matter described herein to people who are familiar with this field. It should be understood that the subject matter described herein may be implemented in various forms without being limited to the described example implementations. The subject matter described herein can be practiced without those specifically defined or described matters or with other or different elements or matters not described. It will be appreciated by those familiar with this field that changes may be made in these example implementations without departing from the subject matter described herein as defined in the appended claims and their equivalents.
[00106] Industrial Applicability
[00107] The present disclosure relates to a user interface for use in electronic voting machines and voting systems, including web-based voting systems using Personal Computers (PCs), Servers, Mainframes, and portable computing devices (e.g., tablets, mobile phones, portable music players, smartwatches, and other portable computing devices that may be apparent to a person of ordinary skill in the art). More particularly, the present disclosure relates to a structure in which voting scores are calculated and adjusted based on placement of candidates in user defined orders.

Claims

WE CLAIM:
1. A method of facilitating voting among a group of candidates, the method comprising:
displaying to a first user a first user interface comprising:
a first plurality of tiers, and
a plurality of the candidates for placement in the tiers;
placing a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user; placing a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user;
displaying to a second user a second user interface comprising:
a second plurality of tiers, and
the plurality of candidates for placement in the tiers;
placing the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user;
placing the second candidate into a fourth position in one of the second plurality of tiers based on a fourth placement instruction received from the second user;
calculating a voting score for the first candidate based on the first position, and the third position;
calculating a voting score for the second candidate based on the second position, and the fourth position; and
displaying to the first user and the second user a combined user interface comprising:
the first candidate placed into one of a third plurality of tiers based on the calculated voting score for the first candidate; and
the second candidate placed into one of the third plurality of tiers based on the calculated voting score for the second candidate.
2. The method of claim 1, wherein at least one of the first plurality of tiers, the second plurality of tiers, and the third plurality of tiers comprises
a first tier having a position for only a single candidate; and
a second tier having at least a pair of positions for each of at least two candidates.
3. The method of claim 2, wherein the position of the first tier and the at least of a pair of positions of the second tier are arranged in a pyramidal shape.
4. The method of claim 2, wherein the placing the first candidate of the plurality of candidates into the first position based on the first placement instruction received from the first user comprises:
placing the first candidate into an initial position based on the first placement instruction, the third position being in one of the pair of positions of the second tier;
moving the first candidate from the initial position to the first position, the first position being the position in the first tier, if the first position is not occupied by any candidate.
5. The method of claim 1, wherein the displaying to a first user a first user interface comprises automatically placing all of the plurality of candidates into the plurality of tiers;
wherein the placing the first candidate of the plurality of candidates into the first position based on the first placement instruction received from the first user comprises: moving the first candidate from an original position to the first position based on the first placement instruction; and
moving one or more candidates from the plurality of candidates positioned between the original position of the first candidate and the first position toward the original position, such that any positions between the original position and the first position are occupied by one of the plurality of candidates.
6. The method of claim 1, wherein each of tiers in at least one of the first plurality of tiers and the second plurality of tiers comprises an associated maximum number of candidates in each tier; and
further comprising:
moving one or more candidates from one tier to another tier based on at least one of:
the placing the first candidate into the first position causes the number of candidates in a tier associated with the first position to exceed the associated maximum number of candidates; the placing a second candidate into the second position causes the number of candidates in a tier associated with the second position to exceed the associated maximum number of candidates.
7. The method of claim 1, wherein at least one of the placing the second candidate of the plurality of candidates into the second position in one of the first plurality of tiers and the placing the second candidate into the fourth position in one of the second plurality of tiers comprises:
moving the first candidate from one tier to another tier based on at least one of: the second placement instruction comprising an instruction to place the second candidate in a higher tier relative to the first candidate received; and
the fourth placement instruction comprising an instruction to place the second candidate in a higher tier relative to the first candidate received.
8. The method of claim 1, wherein the first plurality of tiers, and the second plurality of tiers each comprise a first tier, a second tier below the first tier, and a third tier below the second tier;
wherein the method further comprises:
assigning ascending tier numbers (N) to each of the first tier, the second tier and the third tier, respectively
assigning a top score (TOP) to the first tier;
determining a distance factor (DF) representative of a difference in score between adjacent tiers;
wherein the calculating the voting score for the first candidate based on the first position, and the third position comprises:
calculating a score (SI) for the tier (Tl) associated with the first position using the equation Sl=TOP-(DF*N of Tl);
calculating a score (S3) for the tier (T3) associated with the third position using the equation S3=TOP-(DF*N of T3); and
calculating a voting score for the first candidate based on the calculated score (SI) and the calculated score (S3);
calculating the voting score for the second candidate based on the first position, second position, third position, and fourth position:
calculating a score (S2) for the tier (Tl) associated with the second position using the equation Sl=TOP-(DF*N of Tl); calculating a score (S4) for the tier (T3) associated with the fourth position using the equation S3=TOP-(DF*N of T3); and
calculating a voting score for the second candidate based on the calculated score (S2) and score (S4).
9. A non-transitory computer readable medium having stored therein a program for making a computer execute a method of facilitating voting among a group of candidates, said program including computer executable instructions for performing the method comprising:
displaying to a first user a first user interface comprising:
a first plurality of tiers and
a plurality of the candidates for placement in the tiers;
placing a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user; placing a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user;
displaying to a second user a second user interface comprising:
a second plurality of tiers and
the plurality of candidates for placement in the tiers;
placing the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user;
placing the second candidate into a fourth position in one of the second plurality of tiers based on a fourth placement instruction received from the second user;
calculating a voting score for the first candidate based on the first position, and the third position;
calculating a voting score for the second candidate based on the second position, and the fourth position; and
displaying to the first user and the second user a combined user interface comprising:
the first candidate placed into one of a third plurality tiers based on the calculated voting score for the first candidate; and
the second candidate placed into one of the third plurality tiers based on the calculated voting score for the second candidate.
10. The non-transitory computer readable medium of claim 9, wherein at least one of the first plurality of tiers, the second plurality of tiers, and the third plurality of tiers comprises
a first tier having a position for only a single candidate; and
a second tier having at least a pair of positions for each of at least two candidates.
11. The non-transitory computer readable medium of claim 10, wherein the position of the first tier and the at least of a pair of positions of the second tier are arranged in a pyramidal shape.
12. The non-transitory computer readable medium of claim 10, wherein the placing the first candidate of the plurality of candidates into the first position based on the first placement instruction received from the first user comprises:
placing the first candidate into an initial position based on the first placement instruction, the third position being in one of the pair of positions of the second tier;
moving the first candidate from the initial position to the first position, the first position being the position in the first tier, if the first position is not occupied by any candidate.
13. The non-transitory computer readable medium of claim 9, wherein the displaying to a first user a first user interface comprises automatically placing all of the plurality of candidates into the plurality of tiers;
wherein the placing the first candidate of the plurality of candidates into the first position based on the first placement instruction received from the first user comprises: moving the first candidate from an original position to the first position based on the first placement instruction; and
moving one or more candidates from the plurality of candidates positioned between the original position of the first candidate and the first position toward the original position, such that any positions between the original position and the first position are occupied by one of the plurality of candidates.
14. The non-transitory computer readable medium of claim 9, wherein each of tiers in at least one of the first plurality of tiers and the second plurality of tiers comprises an associated maximum number of candidates in each tier; and
further comprising: moving one or more candidates from one tier to another tier based on at least one of:
the placing the first candidate into the first position causes the number of candidates in a tier associated with the first position to exceed the associated maximum number of candidates;
the placing a second candidate into the second position causes the number of candidates in a tier associated with the second position to exceed the associated maximum number of candidates.
15. The non-transitory computer readable medium of claim 9, wherein at least one of the placing the second candidate of the plurality of candidates into the second position in one of the first plurality of tiers and the placing the second candidate into the fourth position in one of the second plurality of tiers comprises:
moving the first candidate from one tier to another tier based on at least one of: the second placement instruction comprising an instruction to place the second candidate in a higher tier relative to the first candidate received; and
the fourth placement instruction comprising an instruction to place the second candidate in a higher tier relative to the first candidate received.
16. The non-transitory computer readable medium of claim 9, wherein the first plurality of tiers, and the second plurality of tiers each comprise a first tier, a second tier below the first tier, and a third tier below the second tier;
wherein the method further comprises:
assigning ascending tier numbers (N) to each of the first tier, the second tier and the third tier, respectively
assigning a top score (TOP) to the first tier;
determining a distance factor (DF) representative of a difference in score between adjacent tiers;
wherein the calculating the voting score for the first candidate based on the first position, and the third position comprises:
calculating a score (SI) for the tier (Tl) associated with the first position using the equation Sl=TOP-(DF*N of Tl);
calculating a score (S3) for the tier (T3) associated with the third position using the equation S3=TOP-(DF*N of T3); and calculating a voting score for the first candidate based on the calculated score (SI) and the calculated score (S3);
calculating the voting score for the second candidate based on the first position, second position, third position, and fourth position:
calculating a score (S2) for the tier (Tl) associated with the second position using the equation Sl=TOP-(DF*N of Tl);
calculating a score (S4) for the tier (T3) associated with the fourth position using the equation S3=TOP-(DF*N of T3); and
calculating a voting score for the second candidate based on the calculated score (S2) and score (S4).
17. A computing apparatus configured to facilitate voting among a group of candidates, the computing apparatus comprising:
a memory; and
a processor configured to:
display to a first user a first user interface comprising:
a first plurality of tiers and
a plurality of the candidates for placement in the tiers;
place a first candidate of the plurality of candidates into a first position in one of the first plurality of tiers based on a first placement instruction received from the first user;
place a second candidate of the plurality of candidates into a second position in one of the first plurality of tiers based on a second placement instruction received from the first user;
display to a second user a second user interface comprising:
a second plurality of tiers and
the plurality of candidates for placement in the tiers;
place the first candidate into a third position in one of the second plurality of tiers based on a third placement instruction received from the second user;
place the second candidate into a fourth position in one of the second plurality of tiers based on a fourth placement instruction received from the second user;
calculate a voting score for the first candidate based on the first position, and the third position; calculate a voting score for the second candidate based on the second position, and the fourth position; and
display to the first user and the second user a combined user interface comprising:
the first candidate placed into one of a third plurality tiers based on the calculated voting score for the first candidate; and
the second candidate placed into one of the third plurality tiers based on the calculated voting score for the second candidate.
18. The computing apparatus of claim 17, wherein the processor is configured to display to a first user a first user interface by automatically placing all of the plurality of candidates into the plurality of tiers;
wherein the processor is configured to place the first candidate of the plurality of candidates into the first position by:
moving the first candidate from an original position to the first position based on the first placement instruction; and
moving one or more candidates from the plurality of candidates positioned between the original position of the first candidate and the first position toward the original position, such that any positions between the original position and the first position are occupied by one of the plurality of candidates.
19. The computing apparatus of claim 17, wherein each of tiers in at least one of the first plurality of tiers and the second plurality of tiers comprises an associated maximum number of candidates in each tier; and
wherein the processor is configured to:
move one or more candidates from one tier to another tier based on at least one of:
placing the first candidate into the first position causes the number of candidates in a tier associated with the first position to exceed the associated maximum number of candidates; and
placing the second candidate into the second position causes the number of candidates in a tier associated with the second position to exceed the associated maximum number of candidates.
20. The computing apparatus of claim 17, wherein the first plurality of tiers, and the second plurality of tiers each comprise a first tier, a second tier below the first tier, and a third tier below the second tier;
wherein the processor is configured to:
assign ascending tier numbers (N) to each of the first tier, the second tier and the third tier, respectively
assign a top score (TOP) to the first tier;
determine a distance factor (DF) representative of a difference in score between adjacent tiers;
wherein the processor is configured to calculate the voting score for the first candidate based on the first position, and the third position by:
calculating a score (SI) for the tier (Tl) associated with the first position using the equation Sl=TOP-(DF*N of Tl);
calculating a score (S3) for the tier (T3) associated with the third position using the equation S3=TOP-(DF*N of T3); and
calculating a voting score for the first candidate based on the calculated score (SI) and the calculated score (S3); and
calculate the voting score for the second candidate based on the first position, second position, third position, and fourth position by:
calculating a score (S2) for the tier (Tl) associated with the second position using the equation Sl=TOP-(DF*N of Tl);
calculating a score (S4) for the tier (T3) associated with the fourth position using the equation S3=TOP-(DF*N of T3); and
calculating a voting score for the second candidate based on the calculated score (S2) and score (S4).
PCT/US2016/064386 2015-12-01 2016-12-01 Method and systems for displaying and ordering user ranks in voting WO2017096018A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562261718P 2015-12-01 2015-12-01
US62/261,718 2015-12-01

Publications (1)

Publication Number Publication Date
WO2017096018A1 true WO2017096018A1 (en) 2017-06-08

Family

ID=58797801

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/064386 WO2017096018A1 (en) 2015-12-01 2016-12-01 Method and systems for displaying and ordering user ranks in voting

Country Status (1)

Country Link
WO (1) WO2017096018A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080288494A1 (en) * 2007-05-07 2008-11-20 Listspinner Inc. System Enabling Social Networking Through User-Generated Lists
US20120096014A1 (en) * 2010-10-14 2012-04-19 6464076 Canada Inc. O/A Distility ("Distility") Method of visualizing the collective opinion of a group
US20130144711A1 (en) * 2011-06-06 2013-06-06 Nfluence Media, Inc. System and method for delivering ads to personas based on determined user characteristics
KR20130085711A (en) * 2012-01-20 2013-07-30 엘지전자 주식회사 Mobile terminal and method for controlling the same
US20140280215A1 (en) * 2013-03-15 2014-09-18 Zachary LIMACHER System and method for two-tiered questionnaire analysis

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080288494A1 (en) * 2007-05-07 2008-11-20 Listspinner Inc. System Enabling Social Networking Through User-Generated Lists
US20120096014A1 (en) * 2010-10-14 2012-04-19 6464076 Canada Inc. O/A Distility ("Distility") Method of visualizing the collective opinion of a group
US20130144711A1 (en) * 2011-06-06 2013-06-06 Nfluence Media, Inc. System and method for delivering ads to personas based on determined user characteristics
KR20130085711A (en) * 2012-01-20 2013-07-30 엘지전자 주식회사 Mobile terminal and method for controlling the same
US20140280215A1 (en) * 2013-03-15 2014-09-18 Zachary LIMACHER System and method for two-tiered questionnaire analysis

Similar Documents

Publication Publication Date Title
US10261982B2 (en) Asynchronous execution of animation tasks for a GUI
US11477498B2 (en) Methods, systems, and media for presenting media content items belonging to a media content group
KR101911034B1 (en) Organizing graphical representations on computing devices
US8438171B2 (en) Media content voting, ranking, and playing system
CN103930849B (en) The apparatus and method for being sorted for EPG and being rearranged automatically
US20150339006A1 (en) Asynchronous Preparation of Displayable Sections of a Graphical User Interface
US9569083B2 (en) Predictive directional content queue
AU2015276993B2 (en) Methods, systems, and media for searching for video content
US20150046878A1 (en) Information processing apparatus and information processing method
JP2014044268A (en) Information processing device, information processing method, and program
WO2016042103A1 (en) Methods and apparatus for facilitating online search for up-to-date available sports betting opportunities
AU2015271081B2 (en) Selecting and ordering groups of titles
JP6280093B2 (en) Ranking list display method in game system and system for executing the method
US10013437B2 (en) Information processing apparatus and method for searching of content based on meta information
US20220118367A1 (en) Ranking list display method in game system, and system for executing the method
CN108780377B (en) Method and electronic device for object management and visualization and storage medium
US11188359B2 (en) Electronic device and screen capturing method thereof
US11361024B2 (en) Association mapping game
US20160110432A1 (en) Recording medium storing search result display program, information processing device, and search result displaying method
EP3805952A1 (en) Method for dynamically displaying digital content, graphical user interface and system thereof
JP6367446B2 (en) Information processing apparatus, information processing method, and program
WO2017096018A1 (en) Method and systems for displaying and ordering user ranks in voting
JP2015212856A (en) Information processing device and program
JP2016062223A (en) Information processing device and program
CN104065984B (en) Show equipment, remote controler and its control method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16871484

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16871484

Country of ref document: EP

Kind code of ref document: A1