Update: Download - WCode for Windows x86 & x64
I have always wondered - why do we all still have to go through the same troubles when exchanging numbers especially over phone by speech. Isn't there a better way.
- How often mistakes are made when sending IDs like mobile numbers and email addresses
- In absence of a pen, having to remember even a 10 digit number can become a difficult task
- If there is no internet or pen-drive - how to send a small digital file?
- What if correct delivery is a matter of life and death?
WCode is the answer.
What is WCode?
An encoding schema to convert digital data into literal words. It is similar to bar-codes and QR-codes but different in that it is human readable.
What does it do?
Converts data like Numbers, Email addresses or URLs and even small digital files into a bunch of words.
How is it useful?
When asked for your telephone no. wouldn't it be nice if you had to say only four words instead of the usual ten. For example:
"Cat Apple Mango Tomato" against "Nine Eight Zero One Two Three Four Five Six Seven".
Also the chances of making mistakes are reduced since only carefully handpicked words that are simple and unambiguous and have distinct pronunciation are used.
Additionally check-summed WCode can be used to ensure correct delivery.
Where can it be used?
Where ever a human being is in-between a short digital communication across two non-connected computer systems. For example:
You need to tell your friend your bank account number. Even a single mistake can be disatrous. If you cannot SMS or email - and you must use traditional methods like writing or voice, WCode may be the best option.
Digital data over traditional media like Print and Voice
- Telephone Number
- FAX Number
- Email Address
- Geographic Coordinate
- Software Registration Keys
- One Time Password (OTP)e.g. 2-Step verification keys
- Substitute codese.g. Alpha-Numeric content of Barcodes & QR Codes
- Encoded Identifierse.g. YouTube Video IDs & Shortened URL IDs
- Small File and Raw Data
- Formatted data (only the value fields)e.g. a medical report
– can be communicated as few words conveniently on:billboards, magazines, business cards, voice calls and announcements.
Memorizable Clipboard across non connected systemsSystems across which Copy-Paste is unavailable, WCode can be used to conveniently transfer data.e.g. FF B2 7D 76 34 54 <> Mango America Coffee Milk
Random PasswordComputer generated – high entropy, random passwords can be encoded into WCodes which are easy to remember.
Complex TextComplex names and technical terms like computer commands can be communicated with simple WCodes.
Foreign Language TextForeign Language text, even those written in a different script, can be encoded into WCodes.
Native Language CodesNative language words can be used to encode into WCode.
Thus accessible to non-English speaking populace.
Logographical WCodesLogographs can be used against words of a WCode.
Hash verificationShort pieces of digital data like file hash can be verified quickly.
Also, a logographical representation of the hash can be used which will make the visual comparison much easier.
Verified CommunicationWith a checksum embedded in a WCode the received data can be verified.
Resilient CommunicationCritical communication can be made resilient to errors by incorporating Data Correction techniques.
The resultant WCode will be longer but data can be recovered in spite of 'some' errors in communication.
Secure CommunicationCan be used to establish encrypted communication protected by scrambled or custom dictionary or by extremely secure asymmetric key algorithms.
Is it a replacement to Bar-codes and QR codes?
No, at-least not always.
It is meant to be used where human beings are in the middle of a 'short' digital transmission.
Advantage over BarCodes?Bar-codes cannot be read by humans and when the need arises: the alternative numeric or alphanumeric code, if present, has to be input manually which is tedious and error-prone.
How is it different from NATO Spelling Alphabet: 'Alfa' 'Bravo' 'Charlie' ...?Spelling Alphabet codes encode only a single character (digits included). They do not require a machine to be decoded.
Whereas a single WCode - Word encodes the binary bits that represent the message. Thus a single Word will represent more than one character.
Output length is longer than input message?The length is to be compared in terms of number of elements.
e.g. if 9801234567 - is converted to - Cat Apple Mango Tomato
this equates to: 10 against 4.
Also proper Encoding format is to be selected for the Conversion.
e.g. 9801234567 is a Decimal Number and not a String.
The Number of WCode - Words is much lesser than the number of characters in the original message.
This makes it more efficient than Spelling Alphabets like 'Alpha' 'Bravo' 'Charlie'.
Additionally it can also contain a checksum which will ensure correct delivery.
This may increase the length by one more word.
What is done, so far?
- C++ Software Development Kit (SDK)
- Working Prototype (Windows Application)
- Introduction Video
- Mobile application: Android, iOS, Windows 8
- Custom Data Structure
- Encryption & Password