Now that talklock is starting to come together, I am filling in the tracker with tasks. If you are interested in learning javame (mobile java), or are interested in helping provide a free software voice encryption solution for cell phones, check it out! Pick a task and take a look at the source code. Thanks and Happy Spring!
New release! Spring is here. Added readlines() routine and now fetch buddy list from server, and create a List displayable from buddy list. Next step is to use the putthread() code (already written) to record and send audio. 2nd milestone will be adding automagic audio fetching using getthread() which has already been written. Happy Spring :)
talkLock is voice encryption software for your cell phone. talkLock includes a server component so that you own all points of encryption and decryption of your communications.
Well, I've done some hacking since the last release in October. But the code is very in-between right now. If you install it it won't do much. It's more work toward putting all of the pieces together. A power outage took down my home server yesterday, and so I decided that it was a good time to put up a snapshot, rather than risk losing the last few months of hacking. Share and enjoy :)
Well, I have to admit I haven't spent a lot of time on talkLock lately. But it's always on the back burner. Part of the reason is that I have once again run into a design issue. I had written the code to retrieve a user's "buddy list" from the server, and hand that off to be put into a List displayable for the user interface. This was not smart, as the asynchronicity broke things. So I will probably break this section of the code (the "talk" command option) into a separate Runnable clase like getthread and putthread. As soon as I make some decent headway I will put out another release, but I don't think enough has happened since the last one to justify it yet. Stay warm!
So everyone who wrote that mobile Java phones are too slow to do full-duplex encrypted voice over the data network were right, kind of. I know that the hardware can do it with existing phones today. But not using the mobile Java API. There is not enough low-level control to make it work.
So I am going to a half-duplex push-to-talk design. It is mostly working in the marmot sources and builds. BTW, there are two new source files, so now you need talkLock.java, getThread.java, and putThread.java. Still looking to get to 1.0 in the next month or two. February will mark one year of effort on this project. I would love to have something ready to call 1.0 by that point. Enjoy and happy new year :)
Though I do not read or write Chinese, I wanted to try to make the talkLock FAQ available in that language. The result is more entertaining than informative when I checked it using Babelfish, but Google was able to translate it well enough for now. Enjoy and happy holidays!
You can almost talk with talkLock now! I finally came up with a design where the midlet code mostly just handles l^Huser interaction, and worker threads do all of the audio processing and network connectivity. "test recording" records and POSTs, "get audio" GETs and plays, and you can stop either one by choosing "BIG RED BUTTON".
I avoided using synchronized, wait, or notify by implementing a Runnable. Check the blog or release changelog for more info.... read more
Check out my blog at http://talklock.blogspot.com for details. Before this change, you could write your credentials and server hostname to permanent storage, but not retrieve it. The code on http://marmot.dudeabides.net/talkLock/ now retrieves as well. Tested on Blackberry and MPowerPlayer emulator.
record/POST/GET/playback works now. This is a big deal! talk.php handles base64 decoding and patches up encoded audio data. Blackberry cannot play Qualcomm-based recordings and vice-versa. This gives us all of the basic functionality we need. Next step is to put it all together and do HTTPS. Added "get audio", "Zap Gremlins", and "Big Red Button" options.
POST, GET, and playback work on Blackberry. LG CU500 recording, playback, POST, and GET work, but not playback. talk.php base64 decodes audio, and fixes an issue where plus signs in the ASCII-encoded audio get replaced by spaces. This may be an Apache or PHP issue.
My web server that hosts my build scratch area, marmot.dudeabides.net, blew a NIC. I did triage and it's back up, but dns might take a while to get straightened up. For now you can find current builds and sources at http://75.118.142.144/talkLock/
Builds and sources on http://marmot.dudeabides.net/talkLock/ no longer suffer from 0 byte POSTs of audio. There is also a new "get audio" feature to fetch your audio from the server. However, you have to base64 decode your audio data first manually on the server at the moment. The audio does not survive this process, it is being munged during http transfer. More to come.
There is now an FAQ for talkLock at http://talklock.sourceforge.net.
pre_alpha-005 is officially GPL'd with copyright clause and gpl.txt file. Added base64 encoding from Stephen Ostermiller. If you use 'record test', you can record and hear some short audio. Then 'testing whatever' will POST the base64 encoded data to marmot.dudeabides.net. This was a tough step, check out http://talkLock.blogspot.com for the story. Only tested on Blackberry Pearl. Thanks to ord@marmot for staring at tcpdumps.
Added base64 "ascii armor" encoding, now the audio data can safely pass over http. Sniffing on the server, I can see the http post. However my server side code is not recognizing and responding to the post yet. talkLock.java.newest is the current source for the client, and there is a build as well, at http://marmot.dudeabides.net/talkLock. The server side code is talk.php. Right now the server is hardcoded to marmot. If you have cgi or php experience, now would be a great time to jump in! Grab the sources and take a whack at it!... read more
The new builds on http://marmot.dudeabides.net/talkLock/ now contain a copyright and GPL clause, so the project is officially GPL'd :) Also there is some initial network code and I'm setting up marmot to do php/mysql. Initially the network code will just be a simple web form that can accept audio chunks in a POST and return chunks of audio to a GET. Once I initially get that working I'll put out a new src and bin tarball release.... read more
Audio recording and playback now works on Blackberry Pearl (wav) and LG CU500 (amr). Please test on your device! Share and enjoy.
I have been beating on rms, the "Record Store". Not having much success with it currently, but there is code there. The interface is getting more like 1.0 will probably be, now that I'm not fighting the event-driven model any more :)
Haven't gotten things in shape to send a release, I really want the next one to either have networking, record store, or cool new gui stuff working. However please check out http://marmot.dudeabides.net/talkLock/ for the bleeding edge builds and sources.
Recording and playback of audio work on my Blackberry. Moved audio processing into a separate thread. Share and enjoy :)
The new releases are in tarballs from now on. The src tarball has the .java file and the logo image, the bin tarball has the .jad and .jar. Yes, that's right, talkLock has a spiffy icon on my blackberry now :) See the release notes for details. Share and enjoy.
Uploaded the code in current state. DISCLAIMER: This code has been known to make you reboot your LG phone. It may knock up your sister and break all of your cigarettes down by the filter, and even crush all of your potato chips.
Read the release notes for details.
This is GPL so download and start breaking stuff in new and interesting ways.
Right now I just have the source file and the jar and descriptor file. If folks want to start patching I will start the cvs tree.... read more
talkLock has been submitted for approval. On approval I will provide the existing source code for this project. Currently only the audio recording and playback portions are working in an experimental state. The networking portion has not been started. There is very basic display handling, a simple menu. It is being tested on a Blackberry.
You can read about my work on this at talkLock.blogspot.com.
If you are interested there are usually some development source at http://marmot.dudeabides.net/talkLock