Nesbit v0.7.1
Started: 2003-04-01 Updated: 2005-10-13
Progress: 75%
Language: C++
OS:
License: GPL
Nesbit is an open source, cross-platform, peer-to-peer (p2p) LAN messenger with clients for both Linux and Windows. It does not require the use of a central server or a connection to the internet.
Brief Technical Overview
Each client broadcasts his online status and receives (UDP) broadcasts from other clients on the network. A buddy list is assembled from these received broadcasts. Selecting a user from the list opens a TCP connection between the clients for transferring text messages.
News
Oct 2005
I've taken the source code down (from the Files section) because the last time I ran Nesbit on my test machine it segfaulted: memory errors. Haven't had time to investigate and fix it. If you want to see the code anyway: here. (Forgive me for using zip and not tgz)
Is there really a need for this sort of thing?
Of course. If you're out of range of an internet connection (using wireless), or if your LAN's internet gateway goes down, you'd still be able to communicate with your peers using Nesbit. And eventually you'll be able to transfer files. (Ha!)
Additional Technical Details
This project aims to be cross-platform, specifically for Linux and Windows. I also have vague intentions of making it work on WindowsCE (again).
The number of users that can be reached using Nesbit is largely due to the structure of your network. Many routers won't transfer UDP packets across different subnets, so users on one subnet probably won't be able to see those on another. However, if you're network is small, and you're all behind the same router/switch/hub you should be in business.
Backstory
The original inspiration for it came when my fellow employees and I were gifted with Dell Axim X5s with wireless cards (aren't we special). This was before wireless networks were so pervasive so we had no connection to the internet. But of course, we still wanted to transfer files and infrared just doesn't cut it. Thus, I wanted to make a messenger that could do file transfers.
Nesbit's Evolution
Windows CE only
- First major release
- Ability to send text messages
- Second major release
- Could send text messages AND short audio snippets (thus it was an ad-hoc wireless walkie-talkie)
**Cross-platform (code rewrite, messages formatted with XML)**
- 0.7.1
- Ability to transfer text messages between Linux and Windows (no more Windows CE)
Technologies Used
The current version -- please excuse the buzzword -- uses XML formatted messages thanks to TinyXml (a collection of code files that can simply be compiled with a project's existing source files. Elinates the need to install yet another library, yielding an easier install).
Roadmap
0.7.1
- AdHoc Mode
- Text messaging
- Simple User Interfaces for: Linux, Windows
Upcoming 0.7.2 Release
- Linux nCurses interface
- Bug fixes for Windows interface
- Code modifications that make way for file transfer capability
Future
- File transfers
- Message encryption
- Emoticons?
- Skinned/pretty Windows versions?
- User Interface for WindowsCE