a0522786ac62514f3105f394d693eae22d619c21
[SaveMySugar/savemysugar-website.git] / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
5 <head>
6   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
7   <meta name="keywords" content="SMS, SaveMySugar, morse code, phone ring, modem" />
8   <meta name="copyright" content="Copyright 2015 Antonio Ospite, some rights reserved" />
9   <meta name="description" content="SaveMySugar, Exchange messages using phone rings" />
10   <meta name="author" content="Antonio Ospite" />
11   <meta name="language" content="en" />
12   <meta name="robots" content="noindex, nofollow" />
13
14   <title>SMS: Save My Sugar</title>
15   <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
16   <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
17   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
18 </head>
19
20 <body>
21   <div id="header" class="block">
22     <a id="logo" href="/" title="Save My Sugar"><img src="images/logo.png" alt="Save My Suger logo" /></a>
23
24     <h1><a href="/">Save My Sugar</a></h1>
25
26     <p>So you've always thought <acronym title="Short Message Service">SMS</acronym> meant <a title="Wikipedia: SMS" href="http://en.wikipedia.org/wiki/SMS">Short Message Service</a>, haven't you?<br />
27     From now on it means <strong>Save My Sugar</strong>!</p>
28   </div>
29
30   <div id="main-content">
31     <div id="what" class="block">
32       <h2>What</h2>
33
34       <p><strong>SaveMySugar</strong> is an experiment about sending short messages using the <strong>phone ring</strong> as a <a href="http://en.wikipedia.org/wiki/Covert_channel" title="Wikipedia: Covert Channel">covert channel</a>.</p>
35
36       <p>Another classic example of using a covert channel is <a href="http://en.wikipedia.org/wiki/Port_knocking" title="Wikipedia: Port Knocking">Port knocking</a>.</p>
37
38       <p><strong>SaveMySugar</strong> uses the distance between phone calls to represent <a href="http://en.wikipedia.org/wiki/Morse_code" title="Wikipedia: Morse code">Morse code</a> symbols.</p>
39
40       <p>The idea of using phone rings to send information is not new, it was already used by the very cool <a href="http://freshmeat.net/projects/xringd/" title="Freshmeat: Xringd">xringd</a> project by Angelo Haritsis.</p>
41
42       <p>Someone else also proposed it on <a href="http://www.halfbakery.com/idea/Sending_20SMS_20for_20FREE_20using_20MORSE" title="Half Bakery - Sending SMS for FREE using MORSE">Half Bakery</a>.</p>
43
44       <p>However there seems to be no implementation of the technique for exchanging text messages, and that's what <strong>SaveMySugar</strong> is about.</p>
45
46       <p>The name <strong>SaveMySugar</strong> was born as a take on the price of the old conventional Texting service which is quite high, see <a href="http://web.archive.org/web/20121030162247/http://gthing.net/the-true-price-of-sms-messages/" title="Wayback Machine: The True Price of SMS Messages">The True Price of SMS Messages</a>, and it is also a reference to the distress signal <em>Save Our Soul</em> (SOS) used in Morse communications.</p>
47     </div>
48
49     <div id="why" class="block">
50       <h2>Why</h2>
51
52       <p>There are several reasons why you may want to try <strong>SaveMySugar</strong>:</p>
53
54       <ul>
55         <li>Just because you can, and it is fun.</li>
56
57         <li>It is a possible way to send a short message for free.</li>
58
59         <li>It's beautifully slow.</li>
60       </ul>
61
62       <h3>Why not</h3>
63
64       <p><strong>SaveMySugar</strong> has some limitations:</p>
65
66       <ul>
67         <li>It's awfully slow.</li>
68
69         <li>Phone rings keep the line busy.</li>
70
71         <li>On mobile phones a ring uses a lot of battery, and battery is a precious resource.</li>
72
73         <li>On mobile phones a lot of fake calls will pollute you calls log.</li>
74
75         <li>On mobile phones a malicious recipient can make you pay at every ring!</li>
76
77         <li>If everyone used it, it might end up like <a href="https://youtu.be/doAnB5_eDnw?t=10m11s" title="YouTube: The Lawnmower Man - Ending">this</a>.</li>
78       </ul>
79
80       <p>However it is still fun nonetheless.</p>
81     </div>
82
83     <div id="where" class="block">
84       <h2>Where</h2>
85
86       <p>You can find a prototype implementation written in python called <a href="http://git.ao2.it/SaveMySugar/python3-savemysugar.git/" title="git.ao2.it - python3-savemysugar">python3-savemysugar</a>.</p>
87
88       <p>There is also a prototype Android app <a href="files/SaveMySugar-0.1-debug.apk" title="SaveMySugar-0.1-debug.apk">SaveMySugar-0.1-debug.apk</a>, its source code is in the <a href="http://git.ao2.it/SaveMySugar/android-savemysugar.git/" title="git.ao2.it - android-savemysugar">android-savemysugar</a> repository.</p>
89
90       <p>Contact <a href="http://ao2.it/contact" title="Antonio Ospite: contact">Antonio&nbsp;Ospite</a> if you want to discuss about porting <strong>SaveMySugar</strong> to other platforms.</p>
91     </div>
92
93     <div id="who" class="block">
94       <h2>Who</h2>
95
96       <p>From an idea by Corrado&nbsp;Rubera.<br />
97       <strong>SaveMySugar</strong> was realized by <a href="http://ao2.it" title="Antonio Ospite">Antonio&nbsp;Ospite</a>.</p>
98     </div>
99
100     <div id="how" class="block">
101       <h2>How</h2>
102
103       <p>This is how a message is transmitted with <strong>SaveMySugar</strong>:</p>
104
105       <ol>
106         <li>The characters in the message are encoded in Morse signals.</li>
107
108         <li>Every symbol of each signal is mapped to a time interval.</li>
109
110         <li>Phone calls are distanced in time according to the intervals from above.</li>
111       </ol>
112
113       <p>On the receiving side the symmetric operations are performed when phone rings are detected.</p>
114
115       <p>This is basically a <em>Pulse-Distance Modulation</em> (PDM), this scheme has been chosen because it's easy to detect when a phone starts ringing, but it's not always easy to detect for how log it rings, or how many rings there are in a single call.</p>
116
117       <p>See an example of the exchange of the message <code>CODEX</code>:<br />
118       <a href="images/savemysugar_plot_codex.png" title="SaveMySugar exchanging the message 'CODEX'"><img src="images/savemysugar_plot_codex.png" alt="SaveMySugar exchanging the message 'CODEX'" /></a></p>
119
120       <p>See an example of the exchange of the message <code>Save My Sugar</code>:<br />
121       <a href="images/savemysugar_plot_savemysugar.png" title="SaveMySugar exchanging the message 'SaveMySugar'"><img src="images/savemysugar_plot_savemysugar.png" alt="SaveMySugar exchanging the message 'Save My Sugar'" /></a></p>
122
123       <p>Morse code has been chosen because it is well known and serves very well the purpose of showing the technique.</p>
124
125       <p>In order for the exchange of the message to work symbols must be differentiated, so they must have different distances.</p>
126
127       <p>However the time between when the transmitter places a call and when the receiver gets the correspondent ring is not constant, so this “noise” must be taken into account by the receiver. This noise can have a quite high variability but can be usually upper and lower bounded, so a reasonably robust communication is still possible. Basically the noise is used to characterize the symbol distances.</p>
128
129       <p>See an example of best-case and worst-case symbol distances:<br />
130       <a href="images/symbols_distances.png" title="SaveMySugar symbols distances"><img src="images/symbols_distances.png" alt="SaveMySugar symbols distances" /></a></p>
131
132     </div>
133   </div>
134
135   <div id="footer" class="block">
136       <p style="margin: 0pt; font-size: small; line-height: 1.2em;"><a title="Creative Commons: Attribution Share Alike" href="http://creativecommons.org/licenses/by-nc-sa/2.5/it/"><img src="images/CC_by-nc-sa_2.5_it_88x31.png" style="border-width: 0pt; float: left; margin-right: 0.5em;" alt="Creative Commons License" /></a> Unless where stated otherwise,<br /> this work is published under a <a title="Creative Commons: Attribution Share Alike" href="http://creativecommons.org/licenses/by-nc-sa/2.5/it/">Creative Commons License</a>.</p>
137   </div>
138 </body>
139 </html>