Crypto Contents

Many external links may be obsolete -- if you have updates, please send. Removed some .sit.hqx files due space limitations; there may be problems with .pkg files (esp. for Mac OS X); safest to use .zip archives.

Recent Changes

What is Crypto?

How to Use Crypto?

Introduction

  1. Enter code: transcribe or create a puzzle, drag&drop text, copy from other applications; Crypto displays code letter frequencies.
  2. add, replace or erase letters, Undo earlier guesses, clear all answer letters (Clear Answer), or delete answer and puzzle (Delete)
  3. Crypto substitutes your guess for that coded letter elsewhere in the puzzle, and updates the answer letters used; if already used, it is undone and beeps. Basically, Crypto reduces tedious filling in and erasing of guesses (along with mistakes and omissions), so you can devote more time to solving the puzzle and having fun.
  4. You're finished when the puzzle makes sense; if you get stuck, ? reveals a single character (if an answer is available)

Scenario: built-in Example

  1. start Crypto
  2. select Example (under info menu)
  3. after a brief pause, text appears, then in code

Scenario: enter paper puzzle into Crypto

  1. find puzzles in newspapers, magazines
  2. start Crypto (or select Delete if not all of the spaces are displayed)
  3. write puzzle in answer area
  4. after checking that it's correct, select Move to Code
  5. select Save Code to Notes for later use or beaming (optional)

Scenario: enter paper puzzle into Notes/Newtworks

  1. open Notes [Newtworks]
  2. use keyboard to enter puzzle
  3. select Crypto command on Notes action [Newtworks:Tools] menu
  4. Crypto opens with the puzzle

Scenario: puzzles in Newton book

  1. install crypex01.pkg [crypex02.pkg]
  2. tap on book icon
  3. Crypto opens with the puzzle

Scenario: puzzles from web

  1. start your Newton web browser, e.g., Newt's Cape
  2. find a puzzle on a web site, e.g., Daily Cryptogram
  3. copy the text; drag to clipboard, Notes, Newtworks, Crypto
  4. drop into Notes [Newtworks]; cleanup source, add title (optional)
  5. select Crypto command on Notes action [Newtworks:Tools] menu
  6. Crypto opens with the puzzle

Scenario: create and save your own

  1. start Crypto
  2. friend enters a quotation in answer area
  3. select Encode
  4. select Move to Code
  5. select Save Code to Notes
  6. solve puzzle; or friend Beams puzzle from Notes

Scenario: add puzzles to soup via Sloup

  1. transfer crypex03.slp with Sloup
  2. start Crypto
  3. select Crypto Soup...
  4. select a puzzle from menu

User Interface Summary

Other Applications

Notes:Crypto
launch Crypto with current Notes (aka Notepad) entry: title and puzzle text. Crypto automatically adjusts line breaks to fit the current screen size/orientation. Although Crypto automatically makes a puzzle UPPERCASE, you can fix a Notes selection yourself by an upward vertical line gesture.
Newtworks:Tools:Crypto
launch Crypto with current Newtworks entry: title and puzzle text. Newtworks is available only on Newton OS 2.1 devices, i.e., MP2K and eMate.
Crypto Documents/Books
there are two HTML document formats I am experimenting with:
link format, e.g., crypex01.htm, .pkg
tap on puzzle link to start Crypto with the puzzle; tap answer link to see answer (if any) in the document/book. example
form format, e.g., crypex02.htm, .pkg
tap on Crypto button to start Crypto with the puzzle (and answer); if answer provided, use ? in Crypto; or tap answer button in book. example

The Newton books were created from these HTML sources by Newt's Cape

Sloup files
You can add/replace puzzle format entries contained in a tab delimited text file, e.g., crypex03.slp, using Sloup. In Crypto, select a puzzle with the Crypto Soup command.
any application containing text
highlight and double-tap-drag text to clipboard; for example, from a web browser such as Newt's Cape then drop onto Crypto icon in Extras; or open Crypto and then drop onto answer or code part of a line.
directly from another application
another application can use Crypto's API to initialize a puzzle

Crypto: Overview

Letters Used/"Keyboard"
top of screen.
top line: currently allowable letters
A-Z
for solving a code, or MP120/MP130 portrait screen (try landscape)
A-Z and ?
if a puzzle has an answer
A-Z and punctuation
for entering a puzzle
in addition to handwriting, you can tap here to enter letters -- be sure to check your pen calibration (in System Prefs) since characters are closely spaced; a character (if not already used) appears in current (last tapped) answer cell. More characters may appear in landscape orientation and larger screens. If Crypto puzzles are popular in other countries, let me know what other characters need to be included (this could probably be based on the "current locale").
second line: title/substitutions
upon startup, this displays CRYPTO; for a new puzzle, its source and title (if any; the title is displayed only temporarily and not editable/saved; rather than sacrifice puzzle area, a future title might be displayed/edited via a popup view); while solving a puzzle, used code letters appear below corresponding answer letters
Answer Area
the answer area is where you can write letters (in large "handwriting" font)
Code Area
the code area displays code letters (in a smaller font) below each answer line
Code Frequencies
bottom of screen. displays occurrences of most frequent code letters. -- this can be helpful if puzzle frequencies approximate larger text samples, e.g., ETAOIN SHRDLU in English. More characters and frequencies appear in landscape orientation/larger screens.
"i" (info), action (envelope) buttons/menus
located at lower left and lower right, respectively

Crypto: "i" button/menu

About
displays brief About and (old) Registration information
Help
displays this document as a Newton book, if installed (or some simple help text); external links require a web browser such as Newt's Cape
Example
briefly displays the answer: "WELCOME TO CRYPTO. THIS WILL APPEAR IN CODE FOR YOU TO SOLVE. HAVE FUN!", then encodes it and moves it to code area

Crypto: gestures/characters

drag and drop
drag-and-drop clipboard text into answer (if it's plain text) or below line into code area.
add/replace individual letter
you should be constrained to characters shown at top of screen. Crypto updates the puzzle and Letters Used; if letter is already used, it is undone and beeps. if a letter or punctuation (often C, U, W, I, .) is not recognized properly, you may need to rewrite more carefully, or you can select it from the top A-Z line.
Undo
in Newton menu. Undo previous letter substitution (Undo of other commands may be added in the future)
erase individual letter
use scrub gesture, tap a letter and select Clear from popup menu, or use Undo
erase letters
use scrub gesture across letters
?
if you get stuck and an answer is available, you can write or tap ? to fill in the current cell with the correct answer letter (if used elsewhere incorrectly, it disappears there). Crypto does not currently keep score based on time, number of guesses, hints or puzzle difficulty.

Crypto: action button/menu

Clear Answer
clear (erase) entire answer, but keep code (see Delete)
Encode
generate a random code, and encode (and saves) answer text. If randomization produces an offensive letter sequence, just Encode again.
Move to Code
move coded text to code area, clear answer area
Crypto Soup...
if there are entries in the Crypto:TKnollSys soup (typically transferred via Sloup), a popup menu of puzzle titles appears.
Save Code to Notes
save code text to Notes. title, organize, Beam, Email from there.
Delete
Delete current answer and code, display all blank spaces (usually for creating new codes)
Open Notes
Open Notes application on top; start a code with Crypto command
Open Newtworks
Open Newtworks application on top; start a code with Tools:Crypto command
Open NewtsCape
Open NewtsCape application on top; a shortcut if you'd rather not close Crypto and/or Newt's Cape is already open

Where do I download Crypto?

For downloading directly via http: to Newton with Newt's Cape or other web browser. Note: when installed, the packages are stored compressed, so take less space than shown. In order to use the books, be sure to have Newt's Cape or Newt's Cape Lite installed.

Puzzle Formats

Crypto forces the answer and code to be all uppercase letters, with some punctuation allowed: .,-'?!:; It eliminates extra spaces (but not answer placeholders like ????? from some web sites -- you need to remove those).

Crypto generally scans a puzzle and breaks it (at spaces and hyphens) into "lines" for the current screen size and orientation. If there is a word that is too long, Crypto uses (and you can use) a ~ to indicate a soft break.

The puzzle should be shorter than ~150 characters on MP2K/eMate, since Crypto does not currently support scrolling. If is too long, it will end with ... to indicate missing letters.

Ideally, there would be a standard file format/MIME type for Cryptograms, as there is for Crossword puzzles (if someone knows of one, please let me know). You can always just access a chunk of puzzle text via Notes or clipboard -- but other formats can provide ways to hide/use answer information.

Puzzle "Link" Format

You can create a collection of puzzles (and answers) as an HTML document using crypex01.htm as a template. earlier example

Newton book (.pkg)
assuming you have Newt's Cape Lite or regular installed, tap the puzzle link to start Crypto with that puzzle text
Newt's Cape (.htm)
assuming you have Newt's Cape installed and preference NewtonScript:Compile, tap the puzzle link to start Crypto with that puzzle text
other browsers (.htm)
copy the puzzle text; tap the answer link to jump later in document to see answer (if any).

Implementation: the puzzle is contained in link text. The link is implemented locally in Newt's Cape to call Crypto. It might be possible to "hide" the answer text by concatenating the answer to the puzzle (after a delimiter), and display it in a much smaller font though this still seems too readable in most browsers.

Answer to the earlier "link example":

DUU CBADLSYO SH GLM BLESISEME DLE
All humanity is one undivided and
SLESISHSPUM RDASUO. - NDLECS
indivisible family. - Gandhi

Back to second example

Puzzle "Form" Format

You can also create a collection of puzzles (and answers) as an HTML document using crypex02.htm as a template. earlier example

Newton book (.pkg)
tap Crypto button to start Crypto with that puzzle text (and answer, if any); tap Answer button to see the answer popup in the book, or ? for a hint in Crypto.
Newt's Cape (.htm)
assuming you have Newt's Cape installed and NewtonScript:Compile option on, tap Crypto or Answer button (as for book)
other browsers
copy the puzzle text; View Document Source to see hidden answer text

Implementation: each puzzle is contained in a TEXTAREA input field; the answer (if any) is contained in a HIDDEN field. The Crypto button sends the puzzle text (and answer) to Crypto; the Answer button displays the answer temporarily in a popup view. These are local client-side actions written in NewtonScript.

Sloup Format

You can create a collection of puzzles (and answers) as a tab-delimited text file using crypex03.slp as a template, that can be added to the Crypto:TKnollSys soup by Sloup. File description:

Crypto:TKnollSys![{structure: 'slot, path: 'title, type: 'string}]
first line defines the soup name used by Crypto, and an index for title
{title: "string", code: "string", answer: "string"}
second line defines the data field order and types (as a NewtonScript frame)
REPLACE!title
an optional line. if not present, Sloup just adds all items to the soup. REPLACE!title treats the title field as a unique name.
data "line" contains tab-delimited fields
title
title of the puzzle
code
puzzle code (optional; if empty, a puzzle is generated from the answer)
answer
answer text (optional)
the data can occur in a single line with a tab between title and code, and tab between code and answer. Blank lines are ignored. To make the line more manageable/readable, you can include a line continuation character \, usually after title and code.
BYE!
indicates end of data entries (and connection)

Crypto API

If you would like to call Crypto (appSymbol: |Crypto:TKnollSys|) directly from your application, you could use the :newCode API (Application Program Interface), with the following parameters:

title (nil or string)
puzzle title. currently, this appears temporarily in the Letters Used area.
text (nil or string)
generally, this would be nil (in combination with other parameters); currently, if this is a string, you should set code and answer to nil.
code (nil or string)
generally, this would be a coded string; however, if an answer is provided, and this is nil, Crypto automatically encodes the answer.
answer (nil or string)
Crypto uses string to provide hints via ? and to generate code if none is provided

GetRoot().|Crypto:TKnollSys|:newCode(...) opens Crypto, and initializes title, text and code. Some examples:

:newCode("test1", nil, "XYZ QRT! ZWW...", nil)
set code with no answer
:newCode("test2", nil, nil, "THIS IS THE ANSWER")
save answer for ?, generate a puzzle code
:newCode("test3", "HERE IS SOME TEXT", nil, nil)
set the editable text area. user could edit it, Encode it, Move to Code.