(#371) Proposed Aim for the Speak Freely NG

Speak Freely Forum <[email protected]>
Newsgroups gmane.comp.audio.speak-freely.general
Message-ID <[email protected]>
Message posted to the Speak Freely Forum
  by Anshuman Ag.... on Mon, 11 Aug 2003 02:51:42 +0200 (MEST).
  http://www.fourmilab.ch/wb/speak-freely.pl?rev=371

Hi all,
Here is what I am personally looking towards achieving from this project. I
believe that the internet users should be empowered to be able to operate in a
peer to peer fashion for internet tele/video phony. Speak-Freely is an
application which does the tele part very well at the moment and crosses the
unix-window bridge fairly well. I reject the commercial solutions which either
are not cross platform enough or use a server -client approach.
On these lines based on my last post ...since a complete rewrite of the code
base is needed, based on that here is the proposal:-
- Speak Freely should be as it right now a complete tool for end to end point
to point user communication developed with the GUI in mind ( not just an addon
which never appears complete ) - wxWindows toolkit for instance
- Modular and reusability of other code libraries..I have seen some good yet
lacking RTP/Speech compression code bases..we should use those libraries (
enhance them with speak freely code ) and incorporate them as needed.
By making it modular enough we can plug in video, interoperability with SIP
etc.
- well designed and documented API so that the backend can be tapped into by
other produts (IM client etc. etc. )
- Aim at merging the myriad projects for internet telephony out
there...picking up the good ( code and developers from all )
- Base it on a solid design and architecture as scalable as we can think of
today ( Pipeline , object oriented scalable code in C++ for instance )

This is my take on the project...I realize everybody has different
expectations..personally I'd like this project to be a common goal so that we
are all are working at different pieces of it instead of replicating work
towards different ones.

Cheers
Anshuman

Anshuman Aggarwal] I believe the most critical part of the application will be
the initial design/structure/architecture...Once the RTP handling, connection
managing, authentication/encryption framework is in place.
An overlying Kernel class could co-ordinate the use of resources
> > - Based on a cross platform GUI/utilities library: wxWindows (Open
>source,
> > available on all platforms, provides native GUI+TCP/IP). Adv.:
> > Immediate
>GUI
> > for all unix platforms.
>
>I don't have any personal experience with wxWindows, but I've heard
>good things about it. But I think the most important thing is to
>create a kernel and API, completely independent of the user interface,
>which does all of the real work (connection management, CODEC
>interface, encryption [if that's left in--see below]) which GUI
>packages call. The kernel could be supplied with a minimialist
>command-prompt user interface that would allows anybody to get it
>running on a new platform easily, then build whatever GUI they wished
>(Macintosh, Tcl/TK, Gnome, etc.).

[Anshuman Aggarwal] Here is an initial concept
Connection Authentication Encryption Compression I/O Class heirarchy:-
- Kernel contains ref. To multiple Link objects..each Link object has multiple
connection, authentication,encryption object ref. The compression ref. can be
further
> > - OO Design in C++. Adv: Easy scalability to new codecs (just derive
>classes )
>
>Yes. Each CODEC should be an object one patches into the pipeline
>which transforms audio in canonical form (which we might take the
>opportunity to extend to 44.1 kHz linear PCM stereo for future growth
>potential--the transform to and from mu-law mono is just a table lookup
>and costs nothing) to the encoded form. All should have identical
>methods, so it would be easy to add new ones.
>
> > + Video Conf. as and when SF grows.
>
>A new Speak Freely should, in my opinion, adopt RTP as its native
>protocol. The existing Speak Freely protocol would be accepted and
>sent to any connection which used it, but when talking new version to
>new version, RTP should be the default. The advantage of RTP is that
>it *already* has RFC-specified formats for most of the video CODECs, so
>we'd simply be complying with a standard, not breaking new ground.
>
> > - Develop on existing code base for C code for compression etc.
>(Suitably
> > modified when needed) encapsulated inside the C++ classes (which can
> > be upgraded with time)
>
>Yes. I'd keep the C CODECs and wrap them with the pipeline components
>as mentioned above. As for encryption, basically Speak Freely doesn't
>have any business doing encryption at all. We'd be much better off
>either building with SSLEAY or relying on IPsec opportunistic
>encryption such as FreeS/Wan. Unfortunately, to remain compatible with
>the existing Speak Freely, some of the existing eccentric encryption
>modes will need to remain. These, again, can be pipeline components
>plugged in as required.
>
> > - Large following of SF (as seen on the mailing list) can offer help
> > to migrate code for sections and non developers for quickly ironing
> > out
>bugs ( Go
> > Auriemma! ).
>
>Don't be over-optimistic about this. Over 12 years of Speak Freely,
>the total number of people who have submitted 100 lines or more of
>usable code is less than five. I'm not being cynical, just providing a
>data point. When Speak Freely downloads exploded in 1996-1997 and the
>program got lots of coverage in the press (NASA even broadcast the air
>to ground audio feed with Speak Freely for a couple of shuttle
>missions), I thought it was a just a matter of time before dozens of
>developers volunteered to pitch in with the many tasks that needed
>doing. Didn't happen.
>
>------------- ------------
>John Walker | What did the mystic say
>[email protected] | to the hot-dog vendor?
> | Make me one with everything.
> | -- Laurence Kushner
>
>


                      * * *

To unsubscribe from this mailing list, send E-mail containing
the word "unsubscribe" in the message body (*not* as the
Subject) to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.