Hugh, thanks for your criticism and suggestions, but I have already
made Legs, and it's quite stable. It's my personal dream networking
tool. DRb is an interesting tool, but not a simple one, and from what
I can tell, not an especially interoperable one (for instance, with
other programming environments, like flash, java, php... where my Legs
uses a very simple protocol that can easily be implemented in other
languages, and in some cases implementations already exist for the
json-rpc 1.0 protocol.
The idea was to make something I wish I'd had when I was starting out,
inspired by _why's great efforts. I think I've done a pretty good job.
Interoperability, simple reasonably well documented protocol, the
freedom to create either client/server or peer to peer sort of
interactions very organically. It took me two days of fun to build it,
and now I get to play with my dream networking library. I'm quite
happy with it indeed!
It's lacking documentation at the moment beyond the readme and
examples, and needs more testing. This chat app is a great test and
has uncovered some issues for me that could be better, and i've found
a bunch of sore spots in shoes while I'm at it. :)
I wish everyone would build their dream library. The one thing they
wish they had access to when they started coding. Legs will always be
small and simple, but maybe one day i'll add a p2p extension to it
with all the basics of a modern p2p network included, and host an IP
Lookup web service so that clients can quickly join an internet-wide
network by looking up a few recent IP's they could connect to. Thats
something else I really think kids should have access to. Their very
own free open platform and language independent peer to peer network
that they can build networked apps on top of like chat systems, games,
robotic battle simulators, or really whatever they want! I'm sure kids
have some great idea's they could make real if only the tools were
easy enough, but they need to be serious worthwhile tools that can
build things beyond prototype quality without sacrificing their
simplicity and educational value to newbies.
All in all, I've learned a bunch of stuff in the process, and
hopefully some beginner coders will learn some stuff from using it too!