Quote Puzzles Web Site - Desired Features List


Site Home Page

    Tagline - funny, inspiring, educational word puzzles anyone can enjoy.
    Links to different puzzle areas.
    Specific puzzles to consider:

    From the above list, I'm most interested in puzzles that can be computer generated from a list of quotes, or generated with a minimum of human intervention.
      

QuoteFalls Puzzle Area


Daily Puzzle
    A new puzzle appears every day at midnight (Pacific Time).   The system does this without administrator intervention.
    Site host needs the capability of running cron jobs so that puzzle can be changed automatically.
    Once a puzzle has appeared as puzzle of the day, it gets archived.

Casual puzzles
    Anyone can play without becoming a member.
    Last 30 quote of the day puzzles are available.
    Hints: Reveal letter, word, puzzle. Show a mark in the square, e.g., a colored corner.
    Have a "teaser" when they finish the puzzle, e.g., "Would you like to see where you ranked?  Become a member for free to play against other members."
    Show a warning that the puzzle will be lost if they leave the page. Example:  puzzability.com Say What? puzzle.
    Have a "solving tips" page (like a "guestbook"?) with user suggestions for puzzle solving strategies.
    Do we need to periodically change the HTML source for the puzzle to defeat screen scrapers?

Competitive puzzles
    Have a "Submit" button that allows them to submit their time/score on the puzzle to the rankings.  Don't make submission automatic, because perhaps someone gets interrupted during the game and gets a bad time, they don't want to submit it because it would lower their overall score.   But their record still shows that they attempted that puzzle, so they can't play it again for a score.  And in a sense they are penalized because they can't count it as a "puzzle completed" for their composite score.
    Scoring - Time solved is more important than accuracy.   Example scoring rubric at crosswordtournament.com FAQ.
    Composite score: formula uses time to complete puzzle, accuracy, and number of puzzles solved to determine highest rankings for the month.  (c.f., BestCrosswords.com).

Monthly top scorers
    List top ten composite scorers for previous month on site welcome page.
    Provide a "more..." link to see the complete rankings. (e.g. Bestcrosswords.com)

Interactive Solver
    See an example by a competitor.
    User interacts with computer to solve the puzzle.
    Display puzzle elements:  letter pool of scrambled letters and grid of letter squares and black squares.
    Quote author (and contributor if community puzzle) displayed when puzzle appears.
    A cursor (colored square) works analogously to a text cursor in a standard editor.
    Player enters letters by typing them on the keyboard or by dragging and dropping them with a mouse.
    When typed in, an animation shows the letter falling from the letter pool into the current square.  Be sure the letter shows in white when falling through a black square.  (Same for dragging a letter).
    If an invalid letter is typed (i.e., one that doesn't appear in the same column in the letter pool), don't advance the cursor and change the color of the square background.  Have an audio feedback.
    Have a timer display showing elapsed time in minutes and seconds.
    Log player move sequence, that is, keystrokes and time (for every keystroke).
    Log player IP from which each game is played.
    Log date/time solved.
    Replay player move sequence upon win (animated).
    Be able to go to "next" and "previous" puzzles.  randomly, by same contributor, same category, same author, same difficulty, etc.
    Win animations:  fireworks, cheerleader brigade, change all grid black squares to green, rainbow animation of grid colors, replay user key sequence.
    Puzzle size adjusts depending on puzzle width.
    Be able to go to a puzzle by date (or number).
    Solver "help" explains rules and controls.  Universal Crosswords has a good example. Display in a popup window?  
    Competition version -    Begins with a hidden board and a "start" button; clicking "start" reveals the playing area. Once a player has started, record it as an attempt, so they can't look at puzzle and then later come back and do it after they have solved it away from the computer.
    Ranking is based on elapsed time first, then accuracy (numbers of letters typed incorrectly or invalid).
    Log all solved times for all puzzles for later analysis.  Utimately see if a predicted solving time formula can be extrapolated from puzzle characteristics.
    Timer maxes out at some administrator defined duration, e.g. one hour. 
    Be sure timer works when clock wraps around midnight, end of month, etc.

Puzzle Builder
    Member enters a quotation, the author,  suggests a category.
    System creates the puzzle (e.g., layout and scrambled letters).
    User may adjust layout:  taller, shorter, wider, narrower. 
    User may adjust quote text , e.g., omitting punctuation.
    User may obtain a printed version of puzzles they create.  Allow adjusting appearance, e.g., font size, line thickness, background, borders, captions, instructions.
    User submits puzzle to site editors for approval.
    Use images on puzzle corners to manipulate dimension. 
    Track all user actions for subsequent usability evaluation.
    Save all user created quotations, whether it was submitted to the community database or not.
    Tips page on how to create a good quote, and site guidelines for appropriate language, content, etc. 

    System checks if submitted quote is a duplicate of one already in the database, using a "fuzzy matching" algorithm. 
    Perhaps inform user:
    If it's an EXACT match, inform the user that their submission is rejected because that quote already exists in the database.
    If it's a FUZZY match, inform the user that their submission is being reviewed by the site editors and MAY be rejected. 
    Depending on speed at which we can return this info, perhaps don't do it in real time but send an email. Or just skip it and let the editors inform the user at approval time.

Approval Page

All submitted quotes require approval by the site editor.  
An approval page shows recently submitted quotes and allows the editor to accept, modify, or reject each submission.
Each submission appears along with supplementary information to assist the editor in evaluating it:
The database records the editor name of the person who approved the puzzle.
Acceptance or Reject message emailed to members about the status of their puzzle.
Since multiple editors could be working simultaneously, avoid giving the same submission to two editors at once.

Browse community puzzles
    Be able to see most recent member submissions.
    Be able to select a random puzzle.
    Browse by author
    Browse by category
    Browse by contributor (e.g., could see all puzzles I contributed)
    Browse by editor (perhaps this is a hidden feature).
    Browse has a toggle to hide puzzles I've already solved.
    Browse has a hidden toggle (for admins) to hide puzzles that I editted.
    Sort by difficulty
    Sort by popularity ranking.
     
Each puzzle entry includes
average rating by other players who have solved the puzzle.  Rate how entertaining the quote is (not puzzle difficulty).
the number of people who have rated the puzzle
Difficulty level: (0 - 10).  Formula to be determined.
author (maybe a phrase, so could be a movie title).
category (e.g., politics, sports, wisdom, romance).
audio clip availability (yes/no).
Icons indicating user history with this puzzle:  attempted, solved, contributed, you hold top spot. (E.g. KrosswordKings.com)

Categories
    Movie quotes - hide movie name until game is over?   Some famous quotes are so closely associated with the movie, that knowing the movie would give away the quote, e.g. "The Terminatior" and "I'll be back."  Do we need an indicator in the database that flags special types of quotes, e.g., movie quotes,  quotes containing numbers,  or other quotes that need special treatment?

Player Statistics
    Show who has contributed most puzzles, solved most puzzles, fastest average solving time, spent the most time logged in to the site, highest average popularity rating, etc.


Printable Versions
    HTML version (available to members). 
    HTML version - consider using CSS to make table cell borders darker.
    PDF version (available to subscribers).
    other formats?


User Settings/Preferences
    Technical question:  how do preferences from an applet get saved for the user?  How do they get retrieved?  How to communicate between the applet and preferences settings.
    Time zone,  date format.
    Interactive solver appearance settings:  font, size, background color for grid and pool, font color for grid and pool, and for selected letters, etc.  Color for cursor.  Letter drop animation speed/toggle. Choice of win animations. 
    Possibly an option could be a "handwritten" style font for playing area letters.  Option to show an animation of letter being drawn.
    Interactive solver controls:  keyboard mappings, mouse mappings.
    Keyboard mappings for keys:  space, backspace, delete, cursor left&right&up& down, Ctrl-H, and vi-style Ctrl keys (i,j,k,l), Home, End.
    Keyboard mappings for actions:  advance cursor, backspace, delete, cursor movement, start of line, end of line.
    Control over audio, e.g., mute feedback on invalid letter.
    Preferences could be set inside the applet, but would applet know if the user is a member?
    Preferences could be set in the DHTML page, but then how could they be reloaded into the applet?  Would this require restarting the applet?  Or takes effect on next puzzle?

Desktop version of interactive solver
    Can be played offline.
    Download puzzle packs (require payment) for more puzzles.  Need details here.
    Consider if it's feasible to play this game on a PDA or portable gameboy-style machine.

Rating the puzzle
When a community puzzle is solved, the player is given a chance to rate the puzzle. E.g., "This puzzle was rated 3 stars by 17 people.  Tell us your rating."

Audio quotes
    For subscribers
    Offer a free sample
    Famous speeches, e.g. Kennedy's "not what your country can do for you ..."
    Historical speeches, e.g., Gettysburg address.
    Movie quotes.
    For quotes where an actual audio clip doesn't exist, a professional voice actor/impersonator could recite it (especially, for famous contemporary authors, e.g, Groucho Marx, Richard Nixon, etc.)
    Another alternative is simply to use text-to-speech synthesis and have a computerized voice recite it.
   
Cooperative Solving.
    Online, real-time cooperative puzzle solving with other players. (for subscribers)
    See an example in the NY Times crosswords.

Puzzle Race
    Online, real-time competitive puzzle solving against other players.

Artificial Intelligent Solver
    User enters a quotefall puzzle from an external source (tedious).
    Computer employs simply AI to attempt to solve the puzzle and displays solution.

User Authentication
    Users may play Casual POTD without logging in.  Be sure they can play even if they have cookies blocked in their browser.
    Registration requires username (screenname) and e-mail address.  Optional, real firstname, lastname.
    Registration has an email confirmation step.
    Don't forget COPPA when applicable.
    Pages that require membership show an invitation page that explains what you can do if you join.
    The system records all logins, including IP address, to check for cheaters who login under one username to determine the competition puzzle solution, then login under a different username to play quickly and get a high score.  (Note, the system doesn't do any checking. The system simply gathers data for subsequent analysis by system admins, perhaps with the aid of database mining tools).
    Members can be "blocked" by administrator if suspected of cheating, which mans their scores won't appear in the Hall of Fame.

Why do we need user e-mail when they join for free?
    so we can confirm they are a real person and not a scam-machine by requiring they respond to an email confirmation message when they register.
    so we can confirm or reject their puzzle submissions.
    so we can send a reminder email if they forget their password.
    so we can notify them if they win a prize.

Report Errors Form
An error reporting form allows site users to report mistakes in quotations, attributions, puzzle errors, etc.

Copy Protection Issues
    Protect the solver and puzzle builder code from being copied.
    Don't expose the puzzle solution in HTML code (as is done at this site.)
    Don't allow robots to play.
    Deter hacking into archives, e.g., don't have any obvious code or id that maps to the puzzle that can be entered in an URL or a modified HTML page (as you can do with BestCrosswords.com).



Administrator Utilities

    Quote Site web crawler
       A site crawler than can crawl a quotation site such as http://creativewit.com/ and create a text file of quotes, authors, and categories (not puzzles).

    Automated (or batch) puzzle creator.
       Accepts a file of strings (quotes) and authors (e.g., perhaps from the web crawler utility), automatically creates a puzzle and saves to a text file for review by editors.  Perhaps user specifiable criteria for minimum / maximum length, etc.

    Automated cheater checker.
       Displays a list of potential cheaters according to some criteria to be determined based on login.
       Check for cheaters by looking for very fast solutions (i.e., check the keystroke sequences and times).

    Difficulty analysis
       Compare different formulas to see how well they predict average solving time.

    Database maintenance
       Be able to correct errors in the database, recalculate rankings with a new difficulty formula, etc.
       The site should still be available, but perhaps only a "sample" puzzle is available.

    Site Traffic Analysis
       We want to be able to monitor how people navigate the site, how much time they spend using the different features, etc. 

For Consideration
    If a player has already solved a puzzle, on a subsequent visit allow them to see solution without playing puzzle?