|
|||||||||
New Contact Information |
I am now an Assistant Professor in the
College of Computing at
Georgia Tech, where I am also affiliated
with the Graphics, Visualization and
Usability Center. I am director of the Augmented Environments Lab, which focuses on Augmented Reality research. I have an official
GVU web page, in addition to my
personal web page.
This web page will not be updated after January, 1999.
You can reach me at:
Graphics, Visualization & Usability Center College of Computing Georgia Institute of Technology Atlanta, GA, 30332-0280 phone: (404) 894-5224 E-mail: blair@cc.gatech.edu |
||||||||
Personal Information |
Everything you wanted to know about me, and more!
|
||||||||
AR-Cam, Live! |
We are testing an "AR-Cam" (Augmented Reality Camera) in our lab.
The AR-Cam
is a live, interactive video camera that is showing a simple
Augmented Reality application that you can control over the net.
Eventually, this application be made more fully interactive.
Check back occasionally. It will be live only sporadically, for the time being. |
||||||||
UIST '98 |
I'm the Demonstration Program Chair for the UIST'98 conference. | ||||||||
IWAR '98 |
I'm on the Program Committee for the First International Workshop on Augmented Reality. It is scheduled right before, and colocated with, UIST '98 (Oct.31, 1998, San Francisco, CA (USA)). (If the above link does not work, try this one) | ||||||||
Doctoral Research |
My research is done within the context of the Computer Graphics Lab Research in Augmented Realty. | ||||||||
Thesis Proposal Abstract (1996) |
Title: Building and Interacting with Distributed, Multi-User Augmented Reality Systems |
||||||||
Augmented reality is a form of virtual reality that uses
see-through displays to enhance the world with computer-generated
material. When combined with more traditional palm, tablet and wall
sized displays, a powerful augmented computing environment
emerges in which two and three dimensional information can be
presented to a user simultaneously on a combination of displays. This
makes possible a wider variety of interaction techniques and ways of
organizing information.
We will build a testbed for fast prototyping of distributed virtual environment systems that supports multiple simultaneous users interacting in environments with many heterogenous displays and input devices. The testbed, called COTERIE (Columbia Object-oriented Testbed for Exploratory Research in Interactive Envrionments), is designed around a multi-threaded, modular, object-oriented programming model and supports distributed communications via both client-server and fully replicated distributed objects. There are two fundamental principles underlying the design of COTERIE: explicit connections between processes are to be avoided and applications are to be built as groups of cooperating threads so a single programming model can be used for both single and multi-process programs. Both interpreted and compiled languages are simultaneously available to the application programmer. An important component of COTERIE is a high-level, distributed graphics library. By making the library objects directly distributable, programmers operate on the scene graphs directly, allowing complex distributed graphical applications to be created in a straightforward manner. The simple techniques used for window management in two dimensional graphical user interfaces, that rely on the user to manual arrange windows, will not extend well into this environment. More powerful, automated environment management techniques are required. We will investigate one approach to solving this problem, using a combination of expert system and constraint-based techniques. Finaly, we will build several applications using COTERIE and environment management techniques to both demonstrate their utility and point the way towards future research. |
|||||||||
Talks |
Here are the slides from a short,
informal talk I gave during our PhD student Informal Talks series
this summer. Here are the slides from a the talk I gave at UIST'96. |
||||||||
|
COTERIE applications are written in an interpretted language called Repo,
my own version of Obliq. Like Obliq, Repo is a
lexically-scoped untyped interpreted language that supports
distributed object-oriented computation. A Repo computation may
involve multiple threads of control within an address space,
multiple address spaces on a machine, heterogeneous machines over
a local network, and multiple networks over the Internet. Repo
objects have state and may be local to a site or replicated
across multiple sites. Repo computations can roam over the
network, while maintaining network connections.
Repo was developed as a result of our experiences using Obliq for distributed, interactive, graphical applications. An important characteristic of such applications is the need for parts of the shared state to be relicated across all sites, and for that replicated state to remain consistent. Unfortunately, all object state in Obliq is local to a single site. While it is possible to implement replicated data structures in Obliq, doing so is tedious, error-prone and inefficient. The distributed computation mechanism is based on Modula-3 Network Objects and Modula-3 Shared Objects. |
||||||||
I'm using Modula-3 for my research right now, because I believe it's
the best language that I have available on all the architectures I
need to use. Some of the features that make Modula-3 appealing also
appear in Java, but not all of them (and, conversely, there are
features in Java that do not appear in Modula-3). For more
information, take a look at the online documentation.
There are two interesting pages, the Modula-3 Home Page and Modula-3 Web Resource Page. They include the language definition, pointers to implementations, a FAQ and other useful information. |
|||||||||
OBSOLETE |
The 3D Hardware accelerator FAQ Part 1 and Part 2(Last updated: Tue Mar 19 19:23:27 EST 1996)This is the FAQ I was maintaining of 3D accelerators for PCs. My particular interest was in finding PCI-based cards that can drive stereo, see-through head-mounted displays. The FAQ was slanted in that direction. |
||||||||
UPDATE |
I'm toying with the idea of creating a new system for maintaining this FAQ. If it is up, you can go here to have a look and give me feedback. | ||||||||
Grab Bag |
My Netscape bookmarks
Some benchmarks of disk performance for machines I use. Subways and buses that I use occasionally. The subway stop at Columbia is the 1/9. The bus to LaGuardia from our are is the M60. The bus that passes on Amsterdam right in front of my buildings is the M11. The buses that pass on Broadway right in front of Columbia are the M4 and the M104. |
||||||||
Please mail comments to <bm AT cs.columbia.edu>