May 30, 2005

Morse Texter

After reading this and this and this I decided to knock up this dodgy prototypeamazing application for S60 v2.x phones (but not v1.x or v3.x -- check your version here). Tap in some Morse code, and then send it as an SMS. Keys are:

1, 4, 7, or * - Dot

2, 5, 8, or 0 - Space

3, 6, 9, or # - Dash

Left arrow - Dot

OK key - Space

Right arrow - Dash

C key - Delete last dot, dash or letter

Call/green key - Send as SMS

For a gap between letters, press space once. For a gap between words, press space a second time.

Comments

Software screenshots look interesting, although I have yet to download as away on Holiday on Isle of Wight and cannot download yet. I am glad I inspired someone and will give you someone feedback when I have used. I will also add a link to my freeware list.

My Nokia 3620 doesn't want to install it - it gives me an error message saying "Application may not be compatible with phone. Quit installation?". If I say no, it says "Unable to install. Series60ProductID needed." Any ideas?

Love it. Been wanting one of these seen I read about the 92-year-old beating the 13-year-old. Now, can we have an app to 'read' sms by vibrating please? Then I can read and write them without looking ;-)

Love what you've done here. Not sure what your qualifications are regarding Morse - you may be far senior to myself, but, for what it's worth I'm licensed to transmit 15WPM in Morse as a UK Radio Amateur (I also run a Gadget and Technology Blog www.jasonbradbury.com). Your app rocks - but I can see ways in which you could improve it and make it a more realistic representation of actual Morse. Really, it needs to be something more akin to a ring tone creator - except with just one tone. If you could hold down a key for a continuous tone (dash) release it, then just touch the key for a quick stab (dot) and have the software recognise that as ... well 'A' as it happens - now that would be a fine bit of kit.

I've actually got a handheld device, about the size of a matchbox - that does exactly what I've described. You can, for example, place it in front of a speaker through which Morse if being played, and it will decode the dots and dahs in real time. It's awesome fun to tune into the Russians or French chatting together in Morse and see it coming up in plain English on the device's tiny display.

I'll have to hunt it out and post an image on my blog. Anyway, nice work and good to see Radio related content making itself heard through the cutting edge technological prism that is Series 60. :)

Roland, Krisjohn, I've only tested on a 7610 so far., but I think I know what's up. I'll take a look some time.

Jason, I have absolutely no qualifications in Morse! That Morse Reader looks cool. But I totally agree with you, it should only need one button input and use the duration of presses to figure out dots, dashes, letter and word gaps. And play a tone. In fact, they're the first & second todos! I've an idea how to do this, and may do it, but as I don't do Morse, don't get too excited. Though If I do, I'll drop you a line.

(If anyone else wants to, this NewLC article explains roughly what to do. In InactivityDetected() you implement what your application needs to do when there has been inactivity, i.e. letter or word gap. In ActivityDetected() you implement what your application needs to do when activity is resumed after the inactivity period, i.e. dot or dash. http://www.newlc.com/article.php3?id_article=275 )

Using two keys is a good plan, for dit and dah, as that's what a keyer does and it's faster than a single one. I agree, though, that the inter-letter and inter-word spacing should be done by timing. Anybody got a Hiptop or J2ME version of this? (I started one a while back but it dropped off the list.)

Miguel, well spotted about the zed! I've fixed that. Anyone notice any other typos and let me know. I've also done the closing bracket thing as suggested, almost as you suggested (but put it as a member variable so Symbian is happy). Thanks!

Roland, Krisjohn, my guess is that the app must be using something not supported on your 3620 and N-Gage (they're both Series 60 v1.2 phones). Sorry! I've left it so it can still install on older phones, but I won't be surprised if it doesn't work on the 7650, 3650, and such like.

I think the "separate key" approach to dit and dah closely matches the method used on the original transatlantic cables. Rather than spend time waiting for a dah (twice as long as a dit) the operator would use a left-right keyer. Each dit or dah was the same length, but the change was indicated by the "direction" of the signal. Sort of an early PSK system :-)

HAH! I just read the Russel Beattie link you put in your post about this program as an influence and noticed that he linked to the Wikipedia article on Morse code... interestingly enough he wrote his article and linked to the wikipedia article just a few hours after I had surreptitiously inserted a paragraph in the Morse article with regards to SMS, including the killer: "Morse code has consistently won the contests, leading to speculation that cellphone manufacturers may eventually build a Morse code interface into cellphones" even though I didn't have any evidence that anyone else was speculating on it except myself. I put it there anyways in the hopes that people WOULD INDEED start speculating and then perhaps someone like yourself would become inspired and actually do what you did!

HAH! Now if only we could hear Mr. Beattie's and Jason's comments to see if they read that part of the wikipedia article that I wrote and if it inspired them to write about it in their blogs. I can see from Beattie's blog that he posted his article AFTER I wrote my blurb in the Morse code article, but I can't tell with Jason.. it was the same day though that I posted my blurb.

I also put a similar blurb under SMS for good measure. Glad to see that my devious plans are paying off!

Or of course, and much more likely, it could just be a coincedence. But I LOVE LOVE LOVE the idea of Morse on cellphones, and am especially hopeful of a Morse revival. Thanks to you it has now become a reality and you've got EVERYONE talking about it and I am confident that we'll see it happen. Thank you!

1,
- keys in the left column are dits (left arrow, 1, 4, 7, *),
- keys in the central column are space (OK, 2, 5, 8, 0), and
- keys in the right column are dahs (right arrow, 3, 6, 9, #).
If anyone preferred the old way, or prefers this one, let me know and maybe I'll do a setting to swap.

2, I've actually done both of these:
- a menu option to show a guide to Morse code
- a preview on the right that shows what the current dits & dahs would be

Not done 3, would be good though (to make the dits/dahs bigger, bolder, centred)

Some other stuff.

* Added a proper UID from Symbian, instead of a dev one. This just means that you should uninstall the old one (if you have it already), otherwise you'll get both old and new ones.

* As it doesn't work on 7650 (S60 v0.9), 3620 or N-Gage (v1.x), I've made it only to install on S60 v2.0 or newer phones. Sorry, dunno why it doesn't work on those older phones. If anyone knows (or even better, fixes it!), let me know.

* Added a confirmation on the exit, so you don't quit by mistake and lose your text.

What it needs now is sound. When you press the input/space button to add the letter would be nice if it played sound (with an option to mute of course). (If needed I could possibly sort out morse letters and number in midi format).

with a little modification you could make your user interface work like a real automatic telegraphy keyer paddle, also known as the iambic keyer. This type of key is widely used in the amateur world.

The principle of a iambic paddle is simple: You have two buttons. One produces a string of "ditditditdit"s and the other produces a string of "dahdahdahdah"s. If you press both keys simultaneously it produces a "dahditdahditdahdit...". This continues until you let go. Not pressing any button introduces a pause in the string of symbols. With this keyer you can produce any morse code simply by alternating the key you press.

For right handed use the index finger is used for producing "dah"s and the thumb is used for dits. Left handed operators reverse the order.

What you would need is to add a "clock" to your software so that the user does not need to insert the pauses by pressing any button, but can insert thme by NOT pressing any button.

To identify start and end of message to the software you can use standard morse code abbreviations: KA or -.-.- for start of message and AR or .-.-. for end or message. By adding proper sound to the keyer the input mechanism could be used without even looking at the display, as one does with a real morse key.

Timo, great ideas. Jason Bradbury suggested a similar thing above. Thanks for the links. If anyone wants to give it a shot, leave a comment for the latest source.

Shafik, unfortunately it won't work in a Nokia 9210i, only on Series 60 phones (see http://www.s60.com/devices ). The 9210i is a Series 80 phone. If someone wants to take the code and port it over to Series 80 they are welcome to, it shouldn't be too hard. Leave a comment you want the latest source.

That would be a software that would translate phonebook names or caller ids to audible morse code. SO you would be able to know who is calling without looking at it. Hope someone has done it and someone else can tell me where to find it. hihihi

there are packages like www.mobilespeak.com
and www.nuance.com/talks/ that do what you want partly.
only thing they need to add to the software already there is a morse-code output function.
(would directly get rid of the sometimes terrible speech too :) )

Felipe,
All you need to do is upload morse as ringtones then allocate the appropriate ringtone to the phonebook id to get morse caller id?
Naturally the unrecognised default ringtone would have to be QRZ ;-)
73's
PY1NB de MM3JRK CL

* Show · instead of .
* Show Morse in title pane
* Show preview in navipane
* 'Clear all' re-shows instructions
* Swap 'Morse code guide' and 'Sound on' in Options menu
* Only launch html help file if found
* Dim 'Morse code guide' if html not found

So far I haven't even got a mobile phone, as none of them do exactly what I want. With this application they will, but those Nokia Series60 phones are rather expensive and I don't need the rest of their features. Can this application be ported to run on cheaper phones? If so, what would the minimum requirements be?

It's a fairly simple application, and in theory could be ported to run on some cheaper phones, it all depends what phones and whether the makers of that phone allow you to write software for them, and whether they let you access the messaging part of the phone.

You need to do a bit more than signing the SIS file, but it shouldn't be too tricky to port to S60 3rd Edition. I've thought about doing it, but I don't have a 3.0 phone so I'm not planning on doing so.

If anyone wants to port it, drop me a line and I'll email or upload the latest source. Once ported, I'll be happy to stick the new SIS file here as well.

I installed this program on a Nokia 3660 but when I run it I just get given a "System Error!" message. I'm not too technological with phones but I'd like to play with this program so any help would be great thanks.

Alas, the Nokia 3660 is a v1.2 phone so it won't work on that. The following are other S60 v1.x phones that are unsupported: Nokia 7650, 3600, 3620, 3650, 3660, N-Gage and N-Gage QD, Samsung SGH-D700, Sendo X and X2, and Siemens SX1.

i'd like to see a morse-to-SMS program that could run under Windows Mobile on my Moto Q.

BUT even more, i'd like to see a PC application that would enable an amateur radio (ham) transcever to become essentially a remote robot gateway for receiving commands over-the-air in CW Morse on HF, or MCW tone on VHF FM, and to then connect via Internet to email accounts, read and key out received short text messages. also to allow Morse input to send SMS or email.

this would allow a very simple Morse station, portable in the field, to access WAN digital messaging via a naturally propagated wireless method.

there is already a a program called WinLink that does radio-email, but it requires a PC on both ends.