"hello world"
article in Personal projects-and-research

v3droom


v3droom will be an open source collaboration and visualization framework. It provides softphone capabilities as well as IVR. It consists of source code, documentation, applications, scripts, and installers for multiple OSs. which provide the needed components.
I will be exposing functionality from many open source libraries, like: python, Ogre3d, freeswitch, libapr, OpenCV, ARToolkit, and more.

I will be developing apis within python which provide extreme extensibility. Change runtime behavior with a simple python script. Go python!

At this time, my company TecDev is providing all support and funding for development of v3droom programming and packaging.
If you find v3droom useful. Please consider supporting the project in some way.
All code contributions, feature requests, questions & comments, etc. are greatly appreciated. Thank you for your support.

This project explores the development of a multi-modal(voice,dtmf,keyboard,mouse) human computer interface (HCI) to allow for increased usability within traditional telephony applications.

Providing an interactive visual interface over top of traditional telephony applications allows for increased accessability. This system would allow users to nagivate interactive voice response(IVR) systems with ease because they are able to travel in a non-linear fashion. Instead of having to listen to available options one at a time, the user can interact with a visual represention of the IVR.

The addition of visual elements within a telephony system provides capabilities which would not have been previously available to a traditional telephony application.

The hardware and network level services for such a system have been around for quite some time. However, there isn't currently a platform independent way of interacting with people in 3d space while using the computer(keyboard, mouse, etc.) and telephone(speech+dtmf).

Today touchtone phones are ubiquitous and many models include high resolution touch sensitive screens. Phone interaction should not simply be a audiable experience. Future communication systems will provide an imersive platform which incorporate both the visual and audible senses.  The syncronization of visual display elements to process workflow will allow for better understanding of the system as a whole.

Phone clients describe the contents of the each virtually simulated world and provide a mechanism to query and manipulate objects within the world.

Computer Initial world will expose a simple graphical model which can be rotated by each of the computer/phone players. Each player can be connected via the phone and/or computer.

Process Flow

1. User triggers action on cell.
2. Cell sends command to PC.
3. PC updates the VSM -> viewable
4. PC sends acknowledgement to cell.

What will become of virtual telephony world?
Ultimately this program is just something to help me demonstrate to myself that I can do something by connecting peices together.  I see this system is more of a scientific nature.  When I look at it, I immediately see math.  I would dream of a system like this for physical modeling and mathematics in general.  I look at it much like a stream processor.  I can write visualizations of any kind of data in realtime or near-realtime.  That means a lot.

 

visual stream processors.

Download
The prototype for this system is developed on the windows platform but additional platform support will be added later.  To get going, download and follow the on screen instructions during the installation.

The current version is: v1.0.0.2
Release Date: April 06, 2007
Latest windows release



This page describes some of the research that I've been doing while trying to decide on how to implement this project.  You would not believe how much time I've spent reading various articles relating to different 3d toolkits, network apis, telephony platforms, etc.  There are many things to think about when trying to develop network games...adding a telephony component makes it all the more complex.

Network server management is based on the RakNet::DistributedNetworkObjectManager

Here are some web references for material I read from:
Building Multiplayer Capability into Your Game in One Hour

This project will make use of the following libraries and software packages:
RakNet - cross platform C++ network library designed to allow programmers to add response time-critical network capabilities to their applications
Irrlicht Engine - high performance realtime 3D engine written in cross-platform C++, using D3D, OpenGL and its own software renderer.
Webserver Apache - webserver
PHP - scripting language
VXML - VoiceXML, the Voice Extensible Markup Language

Building the server

  

Further network research
Trying to syncronize state across multiple clients is not a simple task.  There are many choices to be made in terms of network protocals, implmentation language, class design, etc.  In a sense what I'm looking for is grid computing network services.  I'd like to be able to develop a data model and have it syncronize across all the nodes in the network.  I would like to explore other libraries to allow for realtime distributed simulations. Specifically I would like to research publish/subscribe network object syncronization.
The ADAPTIVE Communication Environment
Multi-Simulation Interface
Multi User Server Client Linkage Environment v3.30
Siena (Scalable Internet Event Notification Architecture)


So the idea keeps coming to me that we shouldn't even require an OpenGL platform. We should be able to do this using open standards like HTML and CSS. CSS provides ways of positioning items in 2d with a z-index. Shouldn't people be able to access the world in 2d too?

Dynamic 3D with CSS and the DOM
A Study of Regular Polygons using CSS
Accessible JavaScript: Beyond the Mouse
24 ways to impress your friends :Showing Good Form
How and Why AJAX, Not Java, Became the Favored Technology for RIAs


VRML and X3D
VRML has been around for a long time now.  I remember playing with it when I was in high school.  It is a "simple" markup language to describe 3d worlds.

X3D is a newer open XML standard for 3D content delivery. It is the next revision of VRML. X3D files can be displayed with a X3D plugin, program, or toolkit. Most of the X3D plugins also display VRML files.  VRML and X3D are both ISO standards.

The biggest problem with VRML and X3D has always been the lack of suitable cross platform runtime.  I love the idea of a unified web were one can write markup for 3d worlds which would work on everyone's machine.... but this dream has not been realized....and I'm starting to doubt that it ever will.

I've done some research using a few of the X3D plugins available today (Jan-2007) and I'm pretty disappointed.  I can't find a single X3D runtime that works well on windows, mac, and linux.  I've found it hard to find even a good plugin for any of the platforms.

I'd really like to see the development of a nice cross platform plugin that works in all the web browsers and could be scripted using Ajax.  Dream dream dream.
What is X3D?
OpenVRML - a free cross-platform runtime for VRML and X3D.
IBM 4: VRML+VoiceXML
VRML (Virtual Reality Modeling Language) and X3D
3-D Web environments: Virtual Reality Modeling Language (VRML) & X3D
CUIML: A Language for Generating Multimodal Human-Computer Interfaces
Visual XML Authoring, Publishing and Viewing Structured Information
google: vrml and vxml
VRML testing suite
http://www.ajax3d.org/ - Ajax and X3D-based open technologies


VoiceXML
  for what that's worth. VoiceXML provides a means for speech recognition and speech synthesis to voice-enable your web site.
Making Great Mapping Mashups Using Adobe Flex

Using molecule viewers?!
The outlook to me for VRML and X3D platforms is sad.... due to no single cross platform X3D solution....with good object model and data streams of course.

However, there has been some development in the bio related visualization tools. I'm doing to investigate more later...
Jmol

Second Life
Second life is an interesting odity to pop up in the tech. world that I wouldn't have believed.  Second Life actually promotes a virtual world in which virtual content and space are worth real money.  This really blow my mind and I'm very interested to see how it turns out.

Second life could also provide a great platform for multi-modal communication....however, things are still a little young...and I'm really not sure of the future at this point.

Business and Education

Developers: Resource Matrix
Using the Linden Script Language
IBM Launches Developers' Resources In Second Life
Canvas (HTML element)
Canvascape - "3D Walker"
uBrowser
Building virtual worlds (CMU's Alice)
Panda3d

Interesting research on pervasive games...
Frog Race is a master thesis project

Using game engines for ground level seems to be a pretty good idea.  I could be able to voice control quake.  Quake is open source and the data files to run the application are available if you've bought the game.  It would quickly get a base of users as there are many game players interested in computerized automation and modeling.

Looks like I'm not the only one to have this idea.  The questions is when will it happen...and what does it mean when people communicate, navigate, and understand 3d.

Building a  3D Portal Engine

Crystal Space 3D 

COLLADA
VMGL


The First Step Into Game Development
Pyro - Python Remote Objects

I'm thinking about interfacing to a MUD for content and activities for people to do.

HawkNL (Hawk Network Library)
ZIG Game Engine
LCD shutter glasses - Wikipedia, the free encyclopedia
eDimensional 3D Glasses and Innovative PC Gaming Accessories
Created: 2007-06-01 16:52:46 Modified: 2007-10-06 08:14:22
/root sections/
>peach custard pie
>linux
>windows
>programming
>random tech
>science
>research


moon and stars



My brain

Visible Dave Project


0, 1, 1, 2, 3, 5, 8, 13, 21, 34,...
xn = xn-1 + xn-2