VOS development (specifically the next generation s5) is officially back 
on track.  I am now able to devote at least half of my working hours to 
VOS.

My time so far has been spent primarily on infrastructure issues.  I'm 
using the SCons ("Software Construction") tool to develop a 
cross-platform build system.  A lot of things that in s4 are done with 
shell scripts and Unix commands can be done much more portably with the 
Python standard library.  The most useful feature for new developers 
will be automated downloading and compiling of dependencies, allowing 
one to start from scratch with only a few standard tools (Python, C++ 
compiler, make/nmake/vcbuild/xcodebuild as appropriate) and build VOS 
and all its dependencies with a single command.

Most importantly, this means that there is only one set of files 
describing the build, so there is no need to synchronize changes across 
makefiles, vcproj files, xcodeproj files and so forth.  However, since 
Visual Studio and XCode support "makefile projects" (which are easily 
configured to run SCons), you will still be able to use the IDE for 
development and debugging.

In order to ensure cross-platform compatability I will be testing and 
developing constantly on several platforms.  With the hardware sitting 
on my desk right now, I will be able to directly support Debian Linux 
(amd64), Windows XP (x86) and OS X 10.4 (x86).

On Windows XP I am using Visual C++ Express, which is a free-beer 
download from Microsoft.  Compiling on Windows requires only Visual 
Studio 8.0 and Python 2.4 -- no Unix tools required.  I haven't played 
around much with Cygwin and Mingw yet, but adding support should be 
relatively easy.

I intend to eventually implement a "staged" check-in system, where 
changes are run against a unit/regression test suite before being merged 
into the "official" branch.  That won't catch all issues (particularly 
those affecting specific OSs, since the branch will be hosted on 
interreality.org, which is amd64 Linux), but should still provide a 
firewall against dumb mistakes and help ensure that the public 
development branch is relatively stable.

It's been my experience with software development that the time invested 
in the software engineering process is paid back many times in time 
saved later, as many problems are caught before they are disruptive or 
can be avoided entirely.  I'm planning for the hopefully not-too-distant 
future when we have several developers hacking on VOS and need to avoid 
stepping on each other's toes.

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to