Where do I get the source code?
Right here.

What do I need to compile?
I've done everything I can to make compiling as easy as possible. Please refer to BUILD.txt for detailed instructions, but in general all you should need is Microsoft Visual Studio C++ 2005 Express Beta. It's a free download from Microsoft (for now), and doesn't come burdened with MFC or ATL. Other than that, iGlance is built atop 'libpig', which is an encapsulation layer atop all the many libraries used by iGlance.

What is 'libpig'?
In order to simplify the eventual porting of iGlance to other platforms, I've created a platform encapsulation layer that hides all the messy details of interfacing with Win32 and other libraries. I've also merged all the libraries and headers into a single zip -- included in the archive -- that can be extracted and used to compile iGlance immediately, without searching all over the internet to find the precise versions all the dependent libraries.

Can I use 'libpig' in my own application?
Yes, yes, and yes you can. That's the whole point.

What license is the source code released under?
iGlance is licensed under the Open Vendor Public License (OVPL), and libpig under the Open Vendor Library Public License (OVLPL). More details on each can be found at http://www.openvendor.org. The OVPL and OVLPL are currently undergoing OSI approval.

Why aren't you using license X?
In short, the OVPL is like the GPL, with an exception made for the "initial developer" (in this case, me) to relicense the original code, plus contributions, under new terms. In effect this is the same as Sleepycat does with MySQL or the Apache Foundation with the Apache HTTP Server. But the whereas they require lots of paperwork to harvest contributor agreements, the OVPL accomplishes essentially the same thing automatically.

What libraries are you using?
At last count: DirectShow, DirectSound, FreeImage, JWSMTP, LibPNG, LibJPG, Intel Performance Primitives, openSSL, Win32 (duh), Boost Spirit (if you don't know and love this library, you should), Xerces, Theora, Speex. and Ogg.

How can I contribute patches?
For now it's easiest to email me direct and I'll walk you through the process.

Where do I report bugs?
Either email me direct or post to the mailing list, whichever you prefer. If you've found a security vulnerability, it'd be polite to give me 24 hours advance notice before posting to the list.

How does iGlance work?
That... is a big question. In short, I have a UDP-based NAT-to-NAT networking layer inspired by SIP for connection management and using RTP for media. The GUI is a totally custom layer built using layered windows, which means I draw every pixel custom. Voice and video use Speex and Theora, respectively. File transfer and screen sharing use TCP-like congestion control (inspired by DCCP) over custom RTP profiles. Topologically, I have a dedicated server in Texas that does STUN- and TURN-like operations, authentication, upgrades, and so forth.

Can I call other SIP phones with iGlance?
No, not yet, but that's the eventual goal. I'm waiting for ICE to settle down a bit before taking that plunge. If you're interested in doing this with me, I'd love to hear from you.

Can I call or receive calls from regular telephones?
Again, not yet, but that's also an eventual goal. If you're interested in doing this with me, I'd love to hear from you.

Where can I learn more?
Join the mailing list and read through the archives to see if anyone else has answered the question you have. If not, feel free to post it to the list. Or, if you prefer, email me direct and I'll answer whatever questions you have.
Copyright © 2005 David Barrett