Click here to Skip to main content
Click here to Skip to main content

Semaphon™ number-to-text converter and sweepstakes engine

, 30 Sep 2014 CPOL
Rate this:
Please Sign up or sign in to vote.
App implements bi-directional semantic phone number-to-text converter, extended with novel Lottery+Quiz engine

Please note

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.

Announcement

Application software Semaphon™ SP-200 for Windows has been released (see the demo screenshot following). Speech-enhanced Multi-Modal UI implements borderless application window and 6 user-selectable background themes, including multiple translucent effects. Application can run completely autonomously (without Internet connectivity) on any hardware platform equipped with Windows OS. It supports traditional PC mouse and touch-screen operations. Multilingual dictionary is comprised of 20,000 words in English, Spanish and Russian (following models planned for release in the Y2015 will add German, French and Italian).

FREE Trial edition is available for download at ShopDigit.com

Semaphon "Number-to-Text" semantic converter, demo screenshot show 'Dark' background theme

Semaphon "Number-to-Text" semantic converter, demo screenshot with Translucent background

Overview of the Contest Entry

This application was an entry into Intel® App Innovation Contest 2013

Contest Credentials

  • Target Platform: All-In-One (AIO) 

  • Category: Entertainment

Application Semaphon™ has a modular architecture, comprised of 3 core components:

The modules listed above complements each other; they could be integrated in a single app (as proposed), or used as separate stand-alone Windows apps.  Detailed description, sample code snippets and implementation know-hows/best practices are thoroughly discussed in the following sections.

  • Bi-directional phone 'number-to-text' and 'text-to-number' semantically-sound conversion, corresponding to the standard phone keypad encoding schema (for example, the word AMERICA corresponds to phone number 263-7422); this module has been already partially implemented in existing CoolPhone™ iCP-707 application.
  • Novel "semantic phone" sweepstake engine built on the innovative idea of using "semantic" phone numbers as a sweepstake entry that allows picking the winner based on randomly selected word containing up to 7 letters, matching the owner's phone number; this module is currently under development. Multiple variations of the sweepstake rules/strategies, and further extension with a trivia quiz module are discussed in greater details in the following sections. 
  • Trivia quiz to be added at the end of sweepstake draw to pro-rate the value of the prize (multiply or reduce) based on the accuracy of winner's answers to the quiz. The quiz engine and corresponding unique content has been developed as online HTML5 application.
  • Intended uses for the Application 

    Feature/Edition matrix and potential use cases are listed below in Table 1 and Table 2:

    Table 1: Individual Users Features/Editions matrix for most common use cases
    Edition Features Dictionary Digits Speech
    Lite Basic phone number-to-text conversion, no dictionary N/A <=7 TTS
    Standard Phone number-to-text conversion with optional filtering on internal dictionary 10,000 words <=7 TTS
    Pro Phone number-to-text conversion with optional filtering on internal dictionary 20,000 words <=7 ASR/TTS
    Ultimate Phone number-to-text conversion with optional filtering on internal dictionary  50,000 words <=7 ASR/TTS
    International Includes selected local dictionaries containing words that can be typed using standard English Alphabet 3,000 words <=7 TTS
     
    Table 2: Potential use-cases of proposed app
    User Use case Edition
    Individual To customize the phone book by finding interesting word-letter combination, e.g. the phone# 452-6687 corresponding to the word 'GLAMOUR' Any
    Biz General To find descriptive word-letter combinations for their contact phones, e.g. the phone# 327-4466 corresponding to the word 'FASHION' Any
    Telecom To offer user customized phone number corresponding to words of choice Ultimate
    Lottery Novel type of Sweepstakes/Lottery based on randomly selected 7-letter word corresponding to "semantically sound" winning phone numbers either nationwide, or in specified area codes  (e.g. 212, 646 or 718 in the New York City) Ultimate
 
  • Application Development approach

    Application Development approach: Proposed application should utilize the novel UI features of AIO and capability of Windows OS platform, in particular, .NET/WPF framework and speech technology (TTS/ASR). Development strategy is based on the cornerstone principle of separation of programmatic concerns, namely: all layout and aesthetic enhancement to be achieved via WPF/XAML, data content to be stored operated on embedded SQL CE and its corresponding data access libraries included in .NET, and algorithmic part to be implemented via managed code.

  • Language and Framework

    Application code base will be developed using C# language and core .NET framework libraries. In addition to this, Microsoft SQL Server Compact edition (SQL CE) will be used with corresponding data access libraries.

About Author

Dr. Alexander Bell is a Microsoft technology veteran with development experience span from DOS to Win 8. He actively participates in digital life of online development communities (published 21 article and 36 tips on Codeproject). In the meantime, Dr. Bell is personally credited for the completion of 10+ of enterprise level FLCD projects. Beyond his professional duties, Alexander is deeply devoted to digital photo, classical music and art [6-10]. His deep insight into New York City life and extensive knowledge of this unique City culture helped him to create the popular NY City trivia quiz published  on NY Examiner [11-19]. These quiz modules are planned for use in proposed application for added edutainment (i.e. synergetic amalgam of entertainment and education). 

Round 1, Key Contest Ideas

Innovation and User Experience

Proposed application will be built upon several innovative ideas:

  • Unique proprietary Semaphon™ "semantic" phone number-to-text conversion engine
  • Novel highly-aesthetic borderless WPF windows solution with unique proprietary re-sizing features
  • Single-window solution providing intuitive navigation between functional areas  and "split-screen" areas
  • Novel efficient MMUI utilizing multi-touch capabilities of AIO and speech enhancement (ASR/TTS)
  • Unique proprietary search algorithm implemented as a parallel functions
  • Proprietary SQL CE data access library extension
  • Unique proprietary quiz engine  
  • Unique proprietary NY trivia quiz content
  • Unique proprietary English and Russian dictionary Database comprised of up to 7-letter words 
  • Unique proprietary Semaphon™ ("semantic phone numbers") sweepstake engine

Usage of key technical enabling vectors

  • Screen resolution of AIO allows high data density and efficient "split-screen" operations w/multiple functional areas 
  • UX improvement utilizing multi-touch features enabled in of AIO in conjunction with borderless WPF windows
  • MMUI speech enhancements (ASR/TTS) utilizing AIO multimedia capabilities and .NET  speech libraries
  • Big-screen AIO (Lenovo Horizon 27") well suited for proposed sweepstakes demonstrated in public places, or as televised show
  • Multi-core CPU powered AIO to boost the performance of TPL-based conversion algorithms
  • Voice commands can greatly extend the MMUI capability and add more entertainment to the app
  • Multiple external HID devices complementing AIO for better UX and entertaining factors

Viability and Significance of proposed Application for the Entertainment Category 

  • Proposed app will allow individual users to customize their phone books by finding semantically-sound and easy-to-memorize words corresponding to the numerical phone#. Organizing the phone book records with such "semantic" phone numbers is rather entertaining practical experience 
  • Telecom businesses can use proposed app to offer "semantic' phone numbers to the business/individual customers
  • Entertainment industry could greatly benefit from proposed novel "semantic" phone numbers Lottery/Sweepstakes (like tentatively called Lotto-212, or Lotto-646 for NY Manhattan, or Lotto-718 for other NY City areas)

Idea description and implementation details of proposed application  

Detailed description of Submission Ideas on conceptual and implementation levels and corresponding programmatic tasks/challenges/solutions is provided in the following sections. Multiple screenshots included in the body of the article illuminate the core concept of UI implementation and usage. Selected coding techniques, know-hows and other best practices will be posted as the project progressing.

Background

A bit of theory and FYI 

Regular phone keypads in addition to numbers, also contain letters corresponding to the digits, except for 0 and 1, which don't match any letters (see Fig.1). Thus, any digital combination in phone numbers has multiple alpha-numeric or just alphabetical matches, which in some cases containing meaningful words or even phrases, which is much easy to memorize than a sequence of seemingly-random digits. Thus, for example, phone number: 263-7422 corresponds to the word "AMERICA" (see Fig. 2). Following are samples of the "semantic" phone number-to-text conversion:

  • 776-5328 | PROJECT
  • 266-8378 | CONTEST
  • 946-3697 | WINDOWS  
  • 782-2377 | SUCCESS
  • 786-6371 | RUNNER-1 
  • 788-3469 | STUDIO-9
  • 194-6637 |  1-WINNER 

It's relevant to mention, that text-to-number conversion (just for certainty called "direct" conversion) represents a 'one-to-one' relationship, while the number-to-text (i.e. inverse) conversion corresponds to 'one-to-many' type of relationship. In other word, any phone number can be associated with variety of alphanumeric combinations, thus making the "inverse" number-to-text conversion and finding a "semantically-sound" set a much more difficult programmatic challenge.

Current version of CoolPhone™ iCP-707 implements Databases corresponding to English dictionary with more than 50,000 entries (words containing up to 7 letters) and rather sophisticated search engine utilizing Microsoft TPL multi-threading/parallel functions and Intel's CPU multi-core capabilities (typical for modern high-end AIO). Application also implements the unique proprietary localization technique for Russian- language based on graphic similarity of certain en/ru characters (this technique could be extended for any other languages upon existence of said similarity).

Existing CoolPhone™ application and planned extension

Existing app CoolPhone™ iCP-707 implements MMUI speech-enhancement innovative borderless WPF windows with unique proprietary move/re-size features (notice the window control box in a upper-right corner) and speech-enhanced GUI (aka MMUI), providing instructional voice messages to the Users via TTS (see the control box with typical "Playback", "Stop" buttons in Fig.1-Fig.3). Planned new version (CoolPhone™ 8)  should implement extended voice-command set, e.g. switching between layout palette, numeric entry, etc depends on the availability/quality of the microphone input). 

Fig.1: CoolPhone™ iCP-707 sample screenshot shows all unfiltered text matches corresponding to phone number 263-7422

Fig.2: CoolPhone™ iCP-707 sample screenshot shows filtered on internal dictionary matches corresponding to phone number 263-7422 starting with with "AMERICA" on the top

Fig.3: CoolPhone™ iCP-707 sample screenshot corresponding to the same phone number 263-7422 showing different ('LIGHT') theme 

Existing app can process the numbers with up to 7 digits; the entry can contain less that 7 digits; for example, the 6-digit number 946369 matches the word "WINDOW". Both existing and planned app app can run in a standalone mode completely autonomously without any need for Internet connection, thus properly addressing the privacy concerns.

Built-in Dictionaries 

All editions come with built-in English Dictionary used to filtering and finding "semantically sound" letter combinations pertinent to numerical phone number. International edition also includes unique proprietary Russian dictionary comprised of up to 7-letter words which can be written with Latin typefaces (e.g., letter "C", or "T" are included in both Cyrillic/Latin alphabets; phonetic differences are not not important in the context of this type of filtering).  So far, the built in English Dictionary contains word entries with the following distribution:

  • 7-letter words: 24K
  • 6-letter words: 16K
  • 5-letter words: 8.5K
  • 4-letter words: 3.7K
  • 3-letter words: 0.6K 
Novel Semaphon™ sweepstakes on 'semantic' phone numbers 

The idea of the sweepstake based on semantically-sound phone numbers produced by Semaphon™ engine is rather intuitive and straightforward. It could be conducted nation-wide or per specific area code. For the sake of clarity let's assume that the sweepstake is conducted in NYC, thus the area codes will correspond to 212, or 646 or 718 (also 347 could be added).  The phone owners with this specific area codes are automatically enrolled/eligible to this type of novel "NYC Lottery). The sweepstake authorities can periodically conduct the draw by randomly selecting the word entry from the "pool" corresponding to the application dictionary. To ensure the trustfulness, official rules may require two steps of "randomization"; firstly, a single word will be randomly selected by N different appointed trustees (for e.g., 10 Educational Institutions in NYC), and final word selection will be made from that 10 entries using some highly visible/traceable tools, potentially televised. The winner of the particular Lottery draw will receive some promotional stuff from the sponsoring business entities, foundations, etc. There might be many types of Sweepstake on "semantically-sound" phone number with different scenario/rules and odds of winning, like the ones partially listed below:

"7-of-7 Semaphon™ Lottery"  

Starting with the most straightforward "7-of-7" Lottery type: the winner should be selected by having the phone number with exact match to that random word (for example, if the word is "ANDROID" the the winning phone numbers are 263-7643 in each of the listed above area codes). The odds of winning in a single draw on 7-letter word is about 1/10m.

"6/7-of-7 Semaphon™ Lottery"

This variation in addition to 7-of-7 "Grand Prize" may include smaller prices corresponding to 6-of-7 letters (another draw of random 6-letter word) with odds much higher than in the first one (for example, if the randomly selected word is "STUDIO" then all winning phone numbers will include the ones either starting, or ending with digital combination "788346" (potentially 20 winners). The same idea could be further extrapolated to establish various sweepstakes on 'CoolPhone' numbers. 

Passive vs Active participation 

In a "passive" scenario any User with a phone, either corresponding to local area code, or nationwide (depends on the specific rules) is eligible for the sweepstakes. After the draw completion, winning number will be called offering the prize or some promotional stuff.

To the contrary, the "active" participation requires the User to register for particular sweepstake, potentially with some initial money contribution (note: the latter might be considered a "gambling" and could be prohibited in certain areas). The draw will identify the winner from the pool of a registered Users.

Adding more edutainment to sweepstake: NY trivia quiz

Sweepstakes described above can implement a second round, adding more entertainment in conjunction with some educational aspects, namely: trivia quiz. For conceptual clarity, assuming that a sweepstake is conducted in the New York City (corresponding to area codes: 212, 646 and 718), then the "CoolPhone" number winner(s) selected at the first round will be promoted to the second round, that requires to answer the NY trivia quiz. Such quiz can be comprised of several trivia Questions, and the final prize will depend on the contestant(s) success in answering these question. The rule could be set as either "all or nothing", or a bit more relaxed, prorated w/correct answer percentage.  Instead of penalizing for incorrect answer, it could work the other way, rewarding the winner for each correct answer, like a prize "double" option, etc.

Quiz samples

The author is well known to online community for his NY trivia quiz modules traced back to 2009. Currently there are more than 100 quiz modules, which include text, graphic and reference data presented in the inspirational, "edutaining" manner. Sample quiz modules are shown below (see Fig. 4-6)

Fig.4: NY City sample trivia quiz module ('Top of the Rock' at Rockefeller Plaza)

Fig.5: NY City sample trivia quiz module (MoMA)

Fig.6: NY City sample trivia quiz module (MoMA)

Input Devices (HID)

Novel MMUI utilizing various types of HID will help making the sweepstakes more entertaining. For example, the draw process might be implemented no just as a simple random generator, but having some human interaction. That may include "multi-mice" input (yeah, that's right: you can connect multiple mice to the PC and they will work fine in "perfect harmony". This feature itself could lead to the development of various multi-user PG games based on idea of competing mouse movement/actions).

Split-screen and Multi-mice input

In this scenario, several Performers have to enter some arbitrary numbers using split-screen mode and multiple mice input (one per each Performers ). For example, three Performers can run three random generators in their own screen areas to produce a set of random numbers. System will calculate the aggregate value based on this set, for example a median value that will be used as an index to pick the 7-letter words from application dictionary. . The winner will be selected based on the rules specified in previous sub-chapter.  This idea could be further extended to any type of multiple HID devices, adhering to the modern MMUI concept, for example: wireless PC presenter hardware (like Logitech Wireless Presenters R400/R600, but most recommended are the ones that does not include laser pointers because of potential hazard), or even wireless microphone to enter the voice command (app will include ASR extension)

Potential transmission channels/audiences

Proposed application can serve as a technical platform for televised sweepstakes, either translated through traditional TV channels, or using interactive WebTV channels (RIA based on Internet community generated content and ). In both cases, in order to make the show more entertaining it will be highly desirable to run this application on sophisticated hardware platform with big touch-screen (such as AIO Lenovo Horizon 27") and various HID devices. 

Using the code

This section will be continuously updated as project progressing.

Listing 1. Jagged array corresponding to Phone keypad text-to-number encoding schema

        // Jagged array corresponding to phone keypad alpha-numerics
        internal static readonly char[][] CharsetStd = 
        {
            new char[] {'0'},
            new char[] {'1'},
            new char[] {'A','B','C'},
            new char[] {'D','E','F'},
            new char[] {'G','H','I'},
            new char[] {'J','K','L'},
            new char[] {'M','N','O'},
            new char[] {'P','Q','R','S'},
            new char[] {'T','U','V'},
            new char[] {'W','X','Y','Z'}
        };

Please note that the first index of the jagged array shown above corresponds to the phone keypad digit.

Points of Interest

Proposed app implements variety of data operations performed via standard SQL/T-SQL combined with unique highly-optimized parallel (multi-thread via TPL) algorithms, utilizing the substantial computational power of the target AIO platform, powered by multi-core CPU by Intel. It includes multiple innovative solutions introduced by the author to various developer communities and already partially discussed, plus a set of unique solutions and know-hows implemented for the first time in proposed app. Partial list of the said innovations follow: 

  • Unique proprietary search algorithm implemented as a parallel functions
  • Unique proprietary English dictionary Database comprised of up to 7-letter words
  • Unique proprietary Russian dictionary Database comprised of up to 7-letter words 
  • Unique borderless WPF Window design/layout and re-sizing solution
  • Proprietary SQL CE data access library extension
  • Unique proprietary quiz engine
  • Unique proprietary NY trivia quiz content
  • Unique proprietary Semaphon™ sweepstake engine 
International extension

Proposed app implements unique proprietary Russian dictionary Database of up to 7-letter words that can be displayed with Latin character set, therefore, can be entered by using a standard phone keypad, for example: the word 'CTEHA' that can be typed with all latin letters (it means a 'Wall' in Russian) due to some graphical similarities in latin/cyrillic character sets.

History

  • 2002 Multiple Voice-controled and speech enhanced engineering and office applications developed and published by the author [3...5]  
  • Feb 2013: CoolPhone iCP-707 production pilot has been developed by author [1]
  • Aug 2013: Article submitted to the Intel® App Innovation Contest 2013 (AIO/Entertainment)

References 

  1. CoolPhone iCP-707: phone numbers-to-text converter app
  2. Alexander Bell, Voice feedback enhances engineering calculator (EDN, 2002, 7)
  3. Alexander Bell, Add voice command to virtual instrumentation (EDN, 2002, 5)
  4. Alexander Bell, Excel at Audio-Visual UI Development (Access-VB-SQL Advisor, 2002, 11)
  5. Alexander Bell, Build a Validation Object with Voice Feedback (Access-VB-SQL Advisor, 2002, 12)
  6. Museum Mile in New York City
  7. Alexander Bell, Greco-Roman sculptures at the Met Museum NYC
  8. Alexander Bell, American Neoclassical sculptures at the Met Museum NYC 
  9. European Sculptures at NY Metropolitan Museum of Art
  10. Rockefeller Center NYC, amalgamated art and technology
  11. New York City trivia quiz, part 40
  12. New York City trivia quiz 39
  13. New York City quiz, part 38
  14. New York City quiz, part 37 
  15. New York City quiz part 35
  16. New York City quiz, part 34
  17. How well do you know New York City: pop-quiz 26
  18. How well do you know New York City: pop-quiz 22
  19. How well do you know New York City: pop-quiz 18

Acronyms and Abbreviations 

  • AIO All-In-One
  • ASR Automatic Speech Recognition
  • BI Business Intelligence
  • HID Human Interface Device
  • GUI Graphical User Interface
  • MMUI Multi-Modal User Interface (multi-touch, speech-enhanced)
  • MoMA Museum of Modern Art (NYC)
  • RIA Rich Internet Application
  • SQL CE SQL Compact Edition
  • TPL Task Parallel Library
  • TTS Text-to-Speech
  • UI User Interface
  • UX User eXperience
  • WPF Windows Presentation Foundation
  • XAML Extensible Application Markup Language

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

DrABELL
President Infosoft International Inc
United States United States
Dr. A. Bell has 20+ years of Software and Electrical Engineering experience: Win/Web veteran published 300+ articles and authored 37 inventions, currently focused on: Windows 7/8, HTML5, CSS3, jQuery, .NET, ASP.NET, WPF, C#, SQL, 'Big Data', AI, Speech Technology and Mobile apps. He participated in App Innovation Contest (AIC 2102/2013) with several winning submissions. Sample pubs follow:
  1. Edumatter M12: School Math Calculators and Equation Solvers (contest winner)
  2. Engineering Calculator VOLTA-2013 (contest winner)
  3. HTML5 Best Practices: Table formatting via CSS3
  4. Engineering Calculator VOLTA-814D
  5. SQL generates large data sequence
  6. Aggregate Product function extends SQL
  7. Watch Your Mouse!
  8. Top-100 Digital Cameras
  9. WebTV Project: Embedded YouTube Player (Goog #1 YouTube API for ASP.NET)
Dr. Bell is personally credited for 10+ Enterprise level projects w/total code base exceeding 250k lines.
Follow on   Twitter

Comments and Discussions

 
GeneralMy vote of 5 PinmemberRaja Sekhar S13-Aug-13 23:04 
GeneralRe: My vote of 5 PinprofessionalDrABELL14-Aug-13 2:33 
GeneralMy vote of 5 PinmemberCornelius Henning12-Aug-13 15:53 
GeneralRe: My vote of 5 PinprofessionalDrABELL12-Aug-13 16:06 
GeneralRe: My vote of 5 PinstaffKevin Priddle16-Aug-13 17:28 
GeneralRe: My vote of 5 PinprofessionalDrABELL16-Aug-13 17:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.1411023.1 | Last Updated 30 Sep 2014
Article Copyright 2013 by DrABELL
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid