Quick Programming Guide
This is a very brief guide to programming using ICON from Team Hassenplug.  ICON is software that will allow users to program their NXT.  All the software is contained on the NXT, and it creates files that are executed directly from the NXT.  Once software is installed, a computer is not required to create or run programs on the NXT.
Download ICON files
The ICON firmware can be downloaded using any standard method, including the "Download Firmware" feature in NXT-G.  The firmware includes the required files:
The ICON firmware also includes several sample programs that can be edited & run.  These files are titled "ICONProgramXX.txt" where the XX is a number that represents the slot the program uses for ICON. 
Running ICON
Once ICON and all required files are loaded on the NXT, simply run the ICON.rxe like any other program.  The top of the screen will show the name of the current program.  On the bottom of the screen will be "BV:" followed by the current battery voltage.
Use the light gray Left & Right arrows to select the program you wish to use, and the orange [enter] button to activate that program.
Menu Functions
Once the program is selected, the second line will display the available program functions, which again can be selected using the left & right arrows, and the enter button. 
This function will execute the program steps in the active program.
This function will allow the user to select a program step, and then edit that step.
Insert Before
The user will select a program step, then ICON will insert a new step before the selected step.  In this case, ICON will go directly into "RECORD" mode, where it can record motor movements, and create program steps to replicate those movements.  ICON will record and save the current settings each time Enter is pressed, and create a new step.  To exit the Insert mode, press the dark gray Cancel button.
Delete Step
This function will allow the user to select a program step, and that step will be deleted from the program.  ** warning, there are no prompts once the step is selected.
New Program
This will create a new program, in the active program slot.  If there is not a program in that slot, the screen will show "Create Prog:XX", when selecting the program and this will be the default function.  If there IS a program, it will be deleted.
Set as Default
Sets the active program as the "default" and the function as "Quick Run" (see below) so the next time ICON is run, the current program will be the default (appears first), and the Quick Run function will be selected.
Send to Conn 1
This function is not yet available, but should allow programs to be sent from one NXT to another.
Backup Program
Make a copy of the active program (copy to 100+ 'the program slot')
Restore Backup
Get backup of active program from the above slot.
Allows users to rename the active program, using the arrows to select the character, and Enter to move to the next character.
Quick Run
When in Quick Run mode, the program will automatically run when selected (user will not have to select the "Run" function after selecting the program).
To exit Quick Run mode, the user can hold down the Enter button for 2 seconds, when selecting a program, or move to "program slot 0".

Creating a Program
To create a new program, select the program slot and then select "New Program".
Editing a Program
To edit a program, select the program slot and then select "Edit".