Sunday, January 09, 2005
Our research groups at UW and UM have just entered into a collaborative research agreement with NICT (Japan's National Institute for Information and Communications Technology). The Croquet Committee is very pleased to have NICT recognize the potential of this new technology and to have them support important work in the development of Croquet. So, we are now off and running to achieve the following general objectives: 1) Adding user interface elements to Croquet for creating and retrieving annotations; 2) Adding support for importing and handling the placement of models and objects into Croquet environments; and 3) Developing user interfaces for allowing 3D content to be easily accessed from a digital repository or database and placed into a Croquet scene.
Developing this type of functionality for Croquet will go a long way in making it useful as a tool for education and training. The work is currently divided up into the following tasks which are scheduled to be completed this year:
1) Development of user interfaces for easy scene annotation in Croquet
• Researching and developing user interface conventions for adding notes to objects or locations within the 3D space (notes would be in the form of text, however, the technology will be developed in a way that supports video and audio annotations). Since all notes are themselves user-created objects within a scene, all notes may be added as annotations to existing authors' notes as well.
• Researching and developing tools to detect, view, and hide multiple authors' annotations. For example: a user should be able to view only the annotations that were made by a particular user or specified group of users.
• Researching and developing tools to define a path or course through a scene and identify selected annotations so that a tour of a scene and its annotations may be defined by one user and then followed by another user or groups of users.
• Researching and developing caching strategies to pre-fetch annotations and content when moving into a new region of a scene. For example: based on the user's position or level of authorization in the scene, the client would be able to dynamically fetch annotations that are not visible to other users lacking a similar position or level of authorization.
2) Development of graphical user interfaces for easily handling 3D objects
• Researching and developing the ability to import large and complex 3D models into a Croquet scene.
• Researching and developing a graphical user interface for rotating, moving, and magnifying objects in a Croquet scene.
• Researching and developing a graphical user interface for measuring, comparing, slicing, and moving objects between scenes (worlds).
3) Development of test content and capability of storing that content in a repository via the Croquet client
• Translation of existing open source/freely available sample content into appropriate format for implementation in Croquet spaces
• Creation of new (original) content for testing purposes
• Populating the digital repository (worldbase server) with new and translated content for testing purposes
4) Integration of annotations into a shared repository
• Developing a means by which users can be authenticated before allowing them to author content that can be promoted to the digital repository.
• Storing the author's annotations to a shared distributed repository
• Developing searching tools to locate author's contributions to the repository and to tag annotations with attributes/keywords so that the annotation repository can be searched on a number of attributes.
5) Making interaction with annotations an effective way of finding new information/viewpoints in a Croquet delivered environment
• Developing a means of automatically categorizing/cataloging annotations
• Developing a means of visualizing the difference/similarity among annotations
• Developing a way by which authors of annotations become notified when other users comment on, or further annotate, objects that the original authors have created.
In doing what's listed above, we'll obviously have to tackle some sticky technical problems. It should be fun and interesting. We hope that this work will also stimulate much thinking, problem solving, and code refinement across the larger development community.