July 3, 2005 7:49 PM
It's been a long time since the last post. Too long. The lack of posts
is not due to lack of things to post about, but rather due to the lack
of time. One of the things that have consumed (and is still consuming)
a lot of my time is a Linux/Windows project that I and Jijith are
working on. If you haven't already guessed, it's called FrndNet.
The name does sound all too familiar, doesn't it? Google for Friendnet and you'd probably end up with an explanation like the one in this article. I shortened it to FrndNet because there were plenty of websites out there named Friendnet.
Project FrndNet
FrndNet is an application that lets you build a sort of a private peer-to-peer network1 which lets you swap files and chat with people whom you choose. It runs on Linux/Windows using the GTK+ library to provide a GUI.
Note that unlike other F2F applications, FrndNet makes no attempt at providing anonymity. Not yet, anyway.
FrndNet lets you build a contact list so that you can keep track of your friends. All contacts are grouped into well... groups. Each group in itself is an exclusive network. All members of a group can browse/search/download2 each other's shared files and chat with each other. You can also browse/search the complete group for files.
There are two more major things that we want to add to this project and are still working on:
- Group Chat.
- Textual Whiteboard.
Let me clarify the second point a bit further. Consider that being an ultra geek, you need to show several people the contents of a text file. And then consider that you need to show the changes you make to that file to these people3. FrndNet (once the proposed feature has been implemented) will allow you to do just that. Probably with pretty syntax highlighting thanks to GtkSourceView.
Here's a screenshot (using the H2O-Saphire GTK+ theme) though the look of the application is bound to change:
I was always fascinated with the working of Napster and Gnutella clients. After coming up with this idea, google pointed out that several others have already come up with such a concept. There are applications out there that already do this and much more like the awesome W.A.S.T.E created by Justin Frenkel, the author of Winamp. As Jijith rightly pointed out, not going ahead with the project simply because it has already been thought of means very few projects that you can do. Besides, we wanted to get the hang of socket and multi-threaded application programming for Linux and Windows.
We'll be putting it up for download soon. Now, I'd rather not get distracted with publishing since there is much more work ahead.
[1] More like a friend-to-friend (F2F) network.
[2] Obviously, the downloads are resumable.
[3] I've come across such a scenario (though I don't classify as an
ultra geek) several times especially while developing FrndNet.