SonicHANDY for Windows
documentation


Introduction
Features
Using the program
     Installation / Deinstallation
     First-time execution and configuration
     Main menu
          Inbox / Outbox
          Send message
          Phonebook
          Program Setup
     Command line switches and arguments
Technical topics
     About unicode encoding
     About SonicHANDY (SHY) encodings
     Saving messages into files
     Saving Phonebook
     Working With Mouse
Related Stuff
     SonicHANDY homepage
     Contact
     Credits
     Legal notice



Introduction

     SonicHANDY is a utility for use with your mobile phone, intended to help you in performing tasks like writing, reading and deleting messages, as well as providing some extra tasks. It has some cool features and properties which you might find useful. First of all, program is brand independent. It will work fine with your Siemens, Ericsson, Nokia, Motorola, or whichever mobile phone you might own. Another thing about this program is that it is small and compact, and very easy to use. You enter, read a message, reply, send a message, and exit and you do that for about a few seconds.

     This program was originally written as a DOS application, but as the time passed by it became necessary for some changes to take part; implying porting the program to Windows operating system. As it was possible to run original DOS application under Windows, when running under command prompt window in Windows NT (incl. XP) the program was unresponsive due to slow refresh rate of the command prompt window area, and was consuming way too much processor time, due to command prompt emulation by Windows NT. So the program was ported to Windows, as it is one of todays most frequently used operating system. Although SonicHANDY is no less Windows application than any other application, yet still there is one difference, and that is the use of a console window. Although I think that this is not impacting SonicHANDYs' performance and ease of use (au contrair), it is mainly because visual appearance and application menus that makes it worthwhile for this program to be updated to work with windows and menus. When this is going to happen (or even is it going to), remains for future to decide.


Features

Some of the features of this program:
  • it is not necessary to install the program to use it, you can copy executable with cfg file to any location you desire (USB stick for example), and it will work
  • program can work with virtually any mobile phone around, because it conforms to GSM standard in communicating devices
  • it can also work with mobile phone connected to computer in any fashion, including BlueTooth, IrDA, USB, or standard COM port connection
  • program is ready for international use, because it uses Unicode character set in every aspect of it's work

Using the program

     Installation / Deinstallation

     To install the program, run the setup executable and follow the on-screen instructions. Deinstallation is done through Control Panel's Add/Remove Programs icon.

     First-time execution and configuration

     Executing SonicHANDY for a first time is somewhat specific; program can't find configuration file (because there probably isn't any) so it guides itself by default settings. That means it will try to communicate the device through the standard COM1 port by default, at the default speed of 19200 bps. If it fails, program will display error message, and enter the setup menu after you press a key. Go to the program setup section for a list of options and explanations.

     After setting things up, escape the setup menu. Depending of options changed, SonicHANDY will initialize itself again. If it displays you message like 'Device not connected!', check your mobile phone connection: mobile phone must be connected properly in order for SonicHANDY to operate. If the phone is connected, be sure you set communication port parameters right. Be aware that not all mobile phones will work on every COM port speed setting. Consult your mobile phone manual, or try different speed settings to determine which one is right for your mobile phone. Use the following sequence for speed setting (the only ones that are valid): 115200 (fastest), 57600, 38400, 19200, 14400, 9600, 4800, 2400, 1200 (slowest). For majority of today's mobiles the fastest setting will work fine, but if it doesn't work on yours, try lowering down speed setting. 9600 bps will be some bottom limit, I haven't heard of mobile phone which operates at lower rate than 9600 bps.

     SonicHANDY has been tested and prooved capable of being used with any type of communication link to your mobile device. This includes communication thru serial (COM) port, USB port, IrDA port, and Bluetooth. Of course, there must be some assistance in the operating system, for this other links to be treated as serial port communication. In Windows, this is done automatically and transparently for user. You just need to instruct SonicHANDY to use the very same port, or enable automatic port number and port speed detection. Note: due to some kind of restriction or bug in Windows, if your device is installed to a COM port greater than COM9 (for example COM10 or COM19), there is a chance SonicHANDY will not be able to communicate with device.

     Main menu

     Upon starting the program, it will display some information like mobile phone manufacturer and model name/number. Beneath, main menu options are displayed, like: Inbox, Outbox, Send Message, Phonebook and Program Setup. You can switch between menu options by using arrow keys or numbers, and Enter key to select an option.

     Inbox / Outbox

     When you select Inbox or Outbox option for the first time, program will load messages from mobile phone. This can be lengthy process, depending on number of messages, and speed of connection and mobile phone itself. After loading messages into computer memory, there's no need for loading messages anymore, except if you press the refresh button on purpose. This speeds up the program, as from then on messages are kept in computer memory, until you exit the program.

     If you have received new message(s), use the 'refresh new' function to read them, because it will load only new unread messages from your mobile phone and add them to Inbox, without re-loading all the messages previously loaded. This function can be a real time-saver sometimes. Advice is not to use the 'refresh all' function as there's no need for it once you entered Inbox, except if you were deleting or altering the messages on mobile phone in the meantime. If you've received a new message, it's faster to use the 'refresh new' function.

     In Inbox/Outbox messages are listed by their date, time, and number. Use the arrow keys to move up or down the list. Beneath the list there is a preview window, which displays current message up to available space. If you want to read entire message, use the View command (press the V key).

     Unred/unsent messages will have exclamation mark (!), and marked messages will have asterisk (*) on their left side. Sometimes, it may happen that some messages contain characters that can't be correctly displayed on the screen, due to restrictions of the currently used screen codepage. Such messages will have question mark (?) on their left side, and characters that can't be correctly displayed will be replaced with a question mark. Messages you save to a file will have letter 's' on their left side, to remind you that they were saved, and so prevent message doubling in files.

     Send message

     Use this option to send a message. You will find yourself in the editor window where you can type the message text. On the bottom line on the right of the screen there's a counter which tells you how many characters more can you type in the current short message and beside there's an indicator showing how many single short messages will be sent to send your whole message, and a maximum available number of usable short messages (depends on configuration setting). Maximum number of characters your message can hold is maximum number of short messages multiplied by a maximum character count per short message.

     Press ALT+S (simultaneously) when you finished writing a message. You are prompted to enter a number of the destination where your message is to be delivered. You can either enter number manually, or you can select it from the phonebook. If you press the Enter key when phone number field is empty, phonebook window will popup and you can select desired number by selecting it in the phonebook and pressing the Enter key. After phone number is entered, you can finish typing the message, and/or press ALT+S to immidiately send a message.

     Sometimes, when trying to send standard SMS messages, it may happen that some characters you typed can't be translated to standard GSM alphabet. In that case, you will be prompted whether you want message to be sent anyway, or to return editing the message. If you choose to send such a message, all characters which don't have their match in standard GSM alphabet, will be replaced by a question sign (?).

     Phonebook

     When you select this option for the first time (or when there's no file with saved phonebooks about that shortly after), program loads currently selected phonebook from your mobile phone. As this can be rather lengthy process (depending on number of entries, speed of connection and mobile phone itself), there's no need to do the loading very often. Once loaded, phonebook will remain in the computer memory. Before you exit the program, loaded phonebook(s) are saved to the file. Next time you start the program, phonebook(s) will be loaded from file rather than from mobile phone. Imagine the increase in speed. Unfortunately, when you add or delete numbers from the phonebook on your mobile phone, you have to use the 'refresh' function and load the whole phonebook from your mobile phone again, in order to update phonebook used by the program.

     When you use the 'save phonebook' function, phonebook entries will be saved in the text format file SonicHANDY_phonebook.txt with unicode encoding.

     You can write a message to a person selected in phonebook by pressing the ENTER key. You can also send the same message to more than one recipient, by first marking desired persons and then pressing SHIFT+ENTER simultaneously. Number of SMS messages sent in that case will be equal to a number of recipients chosen (if you send only one short message), and equal to that number multiplyed with number of short messages within the long one (if you are sending a long one).

     Program Setup

     By entering this menu, you are in position to alter the program settings. Here are the options you'll find on this menu:

Work Offline

     With this option you instruct SonicHANDY to enter so-called offline mode. That means SonicHANDY shall not try to communicate with the device until this option is disabled, or until program is re-executed. Enabling this option gives you possibility to work with the program even with no device present. This is the default mode when opening SonicHANDY message files.

Device Port

     Name of communication port you want to use. This is the same name Windows uses to address this port. For example: COM1, COM2, COM3, etc.
     Default is 'COM1'.

Device Port Speed

     Speed of COM port in bits per second (default is 115200). Amount of time you'll spend waiting for program to load data from mobile phone is highly dependent to port speed. The higher the value, the faster the communication will be and vice versa. If you can't make program run properly, and you are sure that communication port setting is correct, try altering this setting to some other proper value. First start with higher values (115200, 57600) and if that doesn't work, try lowering the values (38400, 28800, 19200...).
     Default is 115200.

Auto Detect Device Port

     By enabling this option you don't have to worry about COM port on which your device is installed, as the program will try to detect it automatically. Program searches from COM1 to COM255 to find a mobile device, and stops searching when first device is found. Note: enabling this option together with Auto Detect Device Port Speed option may considerably prolong the start-up time of the program.
     Default is 'On'.

Auto Detect Device Port Speed

     By enabling this option you don't have to worry about COM port speed needed for your device to work properly, as the program will try to detect it automatically. Program starts with greatest speed and goes slower if it doesn't get any feedback from the device. Note: enabling this option together with Auto Detect Device Port option may considerably prolong the start-up time of the program.
     Default is 'Off'.

Message Mode

     Indicates default type for sending messages. Types are: Standard SMS, Unicode SMS, Flash SMS, SHY 4-bit, SHY 5-bit A1, SHY 5-bit A2, SHY 5-bit B1, and SHY 5-bit B2. Standard SMS is sent using standard GSM alphabet, which means you are bounded to use only 127 predefined characters, but message can be up to 160 characters long. Unicode and Flash SMS are sent using unicode alphabet. With unicode you can type virtually any character you can think of and be sure that recipient will see it properly, but messages cannot contain more that 70 characters, as unicode characters take up twice as much space. Standard, Unicode and SHY messages are normal types of messages, that is, after being received a key must be pressed to read them. Flash message is supposed to be immidiately displayed on the screen upon reception. For more info on SHY encodings, go to About SonicHANDY (SHY) encodings section.
     Default is 'Standard SMS'.

Prompt For Message Mode

     If you enable this option, program will ask for message type every time a message is being written. If this option is disabled, program will just use default type indicated by previous option.
     Default is 'On'.

Auto Determine SHY Encoding

     If this option is enabled and you're writing a message in one of the SHY encodings, program will automatically determine the most appropriate SHY encoding as the characters are being typed. Determination is made so that there should not be any undefined characters in the message, and on a length of the message in particular encoding. When in message editor, you can alter this setting by pressing ALT-A key combination. If enabled, an 'A' will show up in the status bar near the name of the encoding.
     Default is 'On'.

Save Sent Messages

     Number indicating how shall SonicHANDY treat sent messages. None sent messages are discarded by default, Every sent messages are saved by default, Prompt prompt for action every time message is sent. See also 'Sent Messages Directory' option.
     Default is 'Prompt'.

Max Messages In Long SMS

     Number from 1 to 99, showing how many short (252, 201, 160 or 70 characters long) SMS messages are allowed to be sent as one large message. Maximum number of characters in a large message is then given by number of short messages in one large multiplyed by maximum length of short message (252, 201, 160 or 70 characters).
     Default is 5.

Concatenate Long Message SMSes

     Choose whether a long message will be sent as a series of concatenated SMS messages, or as a series of individual SMS messages. Concatenated SMS messages will appear on a receiver's display as a one whole (long) message, instead of being displayed as individual pieces of original long message. When writing a concatenated long message, maximal number of characters per SMS will be slightly smaller compared to the maximal number of characters in an individual SMS message, because concatenated SMSes contain an information header which builds their functionality.
     Default is 'On'.

Inbox/Outbox Items Sort Mode

     Messages in inbox and outbox will appear sorted ascending or descending, depending on this option.
     Default is 'Descending'.

Sent Messages Directory

     Directory where SonicHANDY will save messages you send with it. See also 'Save Sent Messages' option. Default is 'data', which will create and use directory named data inside the folder where SonicHANDY was installed. You can also use absolute path (with drive letter) for this option. Be sure to first migrate all of the files inside this directory if you decide to change it (or if you decide to remove the program, format the disk, etc.), as you will probably loose all of the saved messages otherwise.
     Default is 'data'.

Received Messages Directory

     Directory where SonicHANDY will save received messages when you use the save button inside the program. Default is 'data', which will create and use directory named data inside the folder where SonicHANDY was installed. You can also use absolute path (with drive letter) for this option. Be sure to first migrate all of the files inside this directory if you decide to change it (or if you decide to remove the program, format the disk, etc.), as you will probably loose all of the saved messages otherwise.
     Default is 'data'.

Save In/Out Msgs Together

     If this option is disabled, inbox messages you save and outbox messages you save with messages you send through the program, will be saved in separate files. Inbox messages file will have '.shy-inbox' extension, and outbox and sent messages file will have '.shy-outbox' extension. If you enable this option, all mentioned messages will be saved in the same file, with '.shy-archive' extension. If you are going to enable this option, first make sure that your sent messages directory and received messages directory are the same, as otherwise this option doesn't make much sense.
     Default is 'Off'.

Disable Mouse Input

     Select 'Yes' if you want SonicHANDY to ignore mouse input. That means program will respond only to keyboard keystrokes, until you disable this option.
     Default is 'Off'.

Esc Key Mode

     Choose whether pressing ESC key within main menu will Minimize or Exit the program.
     Default is 'Minimize'.

Cable Compatibility Mode

     Certain serial data cables won't respond to a normal Communication Start request, because it is too short. Enabling this option will prolong Communication Start request, so electronics in such cables will have time to start-up.
     Default is 'On'.

Open Inbox on Startup

     If you enable this option, Inbox is loaded and displayed when you launch the program.
     Default is 'Off'.

Apply/Retry these settings

     Program will re-initialize it's connection with the device based on the settings given on this page. That means the program will try to establish a new connection with the device, or it will just go to the main menu if you have enabled the Work Offline feature.

Exit program

     Instant exit from the program. Useful if you can't get to the Quit item in the main menu, because you can't get SonicHANDY to run properly. Settings will be saved.

Command line switches and arguments

     SonicHANDY takes numerous command line arguments. There is a switch for every option described in program setup section, plus some extra commands and directives. In alphabetical order:

<file> Read messages from file <file>. Program automatically enters offline mode.
-ap Enable Auto Detect Device Port feature
-aps Enable Auto Detect Device Port Speed feature
-bsm a/d Set the box sorting mode to Ascending or Descending
-catoff Disables sending of a long message as a series of concatenated SMSes; individual SMSes are sent instead
-ccm Enables Cable Compatibility Mode feature
-dadse Disable Auto Determination of SHY Encoding
-dmi Disable mouse input
-escex ESC key should exit the program; by default, it only minimizes the program
-facf Disables both configuration file reading on program startup, and configuration file writing upon program exit
-frcf Disables configuration file reading on program startup
-fwcf Disables configuration file writing upon program exit
-mm s/u/f/4bit/5bit_a1/5bit_a2/5bit_b1/5bit_b2 Set the default SMS message mode program will use when sending a message: s-standard, u-unicode, f-flash, 4bit-SHY 4-bit encoding, 5bit_a1-SHY 5-bit A1 encoding, 5bit_a2-SHY 5-bit A2 encoding, 5bit_b1-SHY 5-bit B1 encoding, 5bit_b2-SHY 5-bit B2 encoding
-msl <n> Set maximum number of short messages in long one, between 1 and 99
-npm Do not prompt for message mode when writing and sending a message
-ome Enables offline mode
-p <port> Set the port program will try to communicate through to <port>
-ps <n> Set the port speed to <n>
-qme Enables quiet mode, that is, program will not issue any question or wait for your response when in command line mode
-rmd <path> Set the received messages directory path to <path>
send <number> <message> Sends message <message> to the recipient <number>
-smd <path> Set the sent messages directory path to <path>
-smt Saves in/out messages together in the file
-ssm n/e/p Save sent (outgoing) messages: n-none, e-every, p-prompt
-ver Outputs version number


     If command line switches -frcf and -facf are not used, configuration file will be read if present; all the other command line switches and parameters alter the settings given in that configuration file. Otherwise, all the other command line switches and parameters alter the programs default settings, as configuration file will not be read in that case. Configuration file will also be read if no switch is specified. Also, configuration file will be written upon program exit in every case, except if switch -fwcf is specified.

     Arguments <file>, <port>, <path>, <number>, and <message> are strings enclosed by a quotation marks " ". Quotation marks must be used when string contains one or more whitespace character, as otherwise program will break the string into separate arguments by whitespace characters. However, if there are no whitespace characters in the string, quotation marks can be omitted.


Technical topics

     About unicode encoding

     Since ASCII character set is very limited, and messages would be converted to the desired code page prior to save, there is a possibility that some characters will be lost during the conversion. Unicode character set includes almost every character currently in use in the world, so using unicode ensures you that no character will be lost during conversion and saving of messages, or other textual data. For this reason, SonicHANDY utilizes unicode character set in almost every aspect of its work.

     About SonicHANDY (SHY) encodings

     As an effort to squeeze more characters within a single SMS message, SonicHANDY encodings were introduced. There are five SHY encodings: one 4-bit encoding, and four 5-bit encodings. One 4-bit encoded SMS can contain up to 252 characters, and 5-bit encoded SMS can contain up to 201 characters. 4-bit encoding is intended mainly for exchanging numerical information, and supports digits as well as some special characters like parenthesis, brackets, etc. There are 32 possible characters for 4-bit encoding: 16 of them occupy one 4-bit character spot, and other half (probably not used so much) occupy two 4-bit character spots (one spot is required for escape character). Two 5-bit A encodings contain similar character sets; 64 characters total, half of them occupying one, and half of them occupying two character spots. Depending on message type, for example if it contains more letters or more numbers, maybe you can squeeze more characters in it by altering the 5-bit encoding. Above applies to SHY 5-bit B encodings also.
Note: When writing message in SHY encoding, the only characters that are possible to use with that encoding are printed on the bottom line of status bar. First half (leftmost characters) will occupy one character spot, and the other half will take two character spots.

IMPORTANT! SMS messages written with SHY encodings can ONLY be read with SonicHANDY. They can not be read by a mobile device. Do not send this type of SMS messages to a person not owning SonicHANDY program, as she will be unable to read it unless she installs SonicHANDY.

     Saving messages into files

     When saving a message, file name into which message will be saved is generated automatically on a date basis. For example, if a date is 2006-09-21, generated file name to which message is going to be saved will be '200609' + extension. For Inbox messages, date is taken from within a message itself (time stamp), and for Outbox or sent messages current date is taken. Extension is '.shy-inbox' for Inbox messages and '.shy-outbox' for Outbox or sent messages, if messages are to be saved separately; extension is '.shy-archive' if Inbox and Outbox messages are to be saved in the same file (see Save In/Out Msgs Separately option in program setup section).

     After a filename is generated, file is opened, or created if it doesn't exists. Directory into which this file is to be placed is determined by the Sent Messages Directory and Received Messages Directory options from the program setup menu. For Inbox messages, Received Messages Directory path is used, and Sent Messages Directory path is used when saving Outbox or sent messages.

     If paths given by Sent Messages Directory or Received Messages Directory are not absolute (no drive letter is given), it is assumed they are relative to the application directory (directory from which program was executed).

     If directories given by Sent Messages Directory or Received Messages Directory paths do not exist, they are created automatically upon program start, even if they will not be used.

     Messages are always saved into files in ascending order (chronologically), by a time stamp (for Inbox messages) or a current time (for Outbox or sent messages).

     Saving Phonebook

When a phonebook is saved from within a program, it is saved into a text file with unicode encoding. The file is called 'SonicHANDY_phonebook.txt' and it is placed in application directory (directory from which program was executed). If a file with the same name already exists in that directory, it will be overwritten. One number and respective name are written to one line of a given text file in the following way: first a number is written enclosed by quotation marks " "; it is followed by a comma and a space; finally a name is written, enclosed by quotation marks and followed by a new line character. Items within the file are sorted in alphabetical order by name.

     Working With Mouse

If mouse input is enabled (see 'Disable Mouse Input' option in program setup section), and application window has keyboard focus, you can use your pointing device (mouse) to control SonicHANDY. Menu item selection will advance automatically when you point mouse cursor over it. Clicking left mouse button acts like pressing ENTER key, and clicking right mouse button acts like pressing ESC key.


Related Stuff

     SonicHANDY homepage

http://sublimis.sytes.net/SonicHANDY

     Contact

Authors' homepage: http://sublimis.sytes.net
Send your comments to sublimis@gmail.com

     Credits

Thanks to all the people who provided me with their mobile devices for testing purposes!

     Legal notice

SonicHANDY for Windows is (c) 2002.-2006. Sublimis

By downloading and executing this program you accept the full responsibility for any mishap program might cause. Author of this program shall not be responsible for crash, error, data loss or any other damage caused directly or indirectly by use of this program.

This program is free for private use and copy by any means of todays data exchange, as long as no fee is charged for it, and contents of archive as well as archive itself are held unmodified.



This document is (C) 2004.-2006. by Sublimis