3D-Temporal Navigation on the Web: How to Explore a Virtual City along Multiple Historical perspectives
Can you imagine how a contemporary city was many centuries ago, say, in the Renaissance, or in the Baroque period? Did you ever desire to explore it not only as it is now, but also as it was in the past, in the meantime getting historical, social, architectural explanations of what you are seeing while you proceed in your exploration?
The web site "Milan along the centuries", under development at Politecnico di Milano, allows users to try this experience in a virtual world on the WWW. Our system integrates a number of 3D virtual reconstructions of the urban structures of a city (e.g., streets, squares, buildings, parks, etc.), each one representing Milan in a different period of time. Users can not only navigate each virtual space, e.g., "walking" along a street or getting into a building of the virtual town in a given period. At any point, users can experiment a kind of "Zemeckis’ Back to the Future" (Zemeckis 1985) effect: moving back or forth in the time, they find themselves in the same place but in a different century, which they can virtually explore. This original form of interaction with virtual worlds, which we call 3D temporal navigation, exploits two dimensions of virtuality: the virtual space, reconstructed via 3D graphics, and the virtual time, achieved by the possibility of switching among different temporal frameworks.
In "Milan along the centuries", 3D temporal navigation is smoothly integrated with 2D temporal navigation. At any point of space and time (i.e., in any spatial context in any time period), users can jump into a "traditional" 2D information space - a conventional web site - and explore, by means of standard web navigation, textual or multimedia web pages concerning what they are currently exploring. In the 2D space, users can visit information related to different town areas, switch the time context, or contextually return to the 3D representation.
The idea of the overall approach is depicted in figure 1. The three axes of the diagram refer to the possible navigation dimensions: in the 3D space, in the 2D space, and along the time (T). For each time period, e.g. ‘500, ‘200, etc., there are 3D reconstructions of the town, related to 2D descriptions (a set of inter-linked HTML pages of a conventional web site).
To implement 3D and 2D temporal navigation in "Milan along the centuries", we have defined a general software architecture, which can be used to implement temporal navigation for any urban context, once 2D and 3D contents are provided in the appropriate format.
The rest of this paper will first discuss more precisely the user interaction paradigms for 3D and 2D temporal navigation, using examples from "Milan along the centuries" web site. Then we will outline the general software architecture underlying the system and mention the line of our future work.
2. User interaction in 3D Temporal Navigation
In conventional web navigation, user exploration of a web site usually starts from an entry point (e.g., the "home page") or from a page selected by some search mechanism, and proceeds by selecting the available links connecting to the various pages of the site. In 3D or 2D temporal navigation, user have a number of additional choices, corresponding to the three navigational dimensions: along the 2D space, along the 3D space, and along the time.
In principle, one may start by selecting a starting point in each of these three dimensions. Still, in "Milano along the centuries" the first choice offered to the user is temporal, i.e., he or she must first select the time period of interest, and then choose the town zone. Since Milan has radically evolved and expanded along the centuries, the notion of "town zone" depends on the time period, have different granularity depending on the time, and therefore the sets of space representations of Milan in different time periods are not totally "isomorphic" (i.e., not all the possible combinations "town area-time period" make sense). In the thirteen century, for example, only the central area existed (around the Duomo square), and the town zones available in that period are sub-zones of the central area. On the contrary, contemporary Milan includes many other areas among which users can make their first selection.
Once users have made their temporal choice, they are presented with a 2-dimensional city map (we have tried to use historical maps of Milan for each time period, as shown in figure 2). From here, users can either identify a starting point for navigation, or select a sub-area when available.
By default, the virtual exploration of a selected place starts in the 3D world, but the switch to the 2D world may be invoked at any time. In this section, we discuss 3D navigation, while 2D navigation is introduced in the following section.
There are two paradigms ("modes") of virtual navigation in the 3D environment, named "walk" and "fly". The "walk" mode mimics the conventional way humans explore a real town – by walking along the streets. During a "walk", the town is progressively disclosed to the user eyes along a bottom-up perspective. As exploration proceeds, monuments and buildings are progressively shown, and an increasing level of detail as the user moves closer (with the cursor) towards the corresponding objects in the virtual environment. Users can penetrate (some) buildings and explore them inside, or proceed along the street.
The "fly" mode mimics the way we perceive a town from an aircraft and provides an aerial, top-down perspective of the town: users are allowed to fly over the town and to view streets and buildings from the sky. The system supports a smooth transition from "fly" to "walk" mode (and viceversa): by moving the cursor, users can fly horizontally and vertically, progressively focusing their view of a place up to street level, or progressively taking-off and enlarging their view.
Two space representations are active during navigation (in both modes): the virtual 3D environment currently explored by the user, and the space context, i.e., the 2D map from which navigation has started. Both representations dynamically evolve as navigation proceeds. The 2D map highlights the changing position of the user in the area, and the 3D world changes as discussed above. Users can maintain both contexts simultaneously visible on the screen ("dual context view"), as shown in figure 3, or zoom the 3D view up to the full screen size ("zoom view"), as shown in figure 4 and figure 5 (both figures refer to "walk" mode).
Figure 5: 3D exploration of historical palace - zoom view – walk mode (seventeenth century)
During navigation, also the temporal context remains active, as indicated by the time bar on the bottom of the screen. At any point in space, users can select a different time period and experiment the "Zemeckis’ Back to the Future" effect: if the representation of the current space context is available for the chosen period, they are "projected" into a 3D virtual world in which the town is re-constructed as it (presumably) was in that time, and they can continue navigation from the same space position. If no urban structure existed for the current place in the selected period, users find themselves in the middle of "nowhere" - a green land with nothing around. They can try to "return to town" by either navigating the desert 3D space in some direction, or by accessing the (historical) map of the town which corresponds to the current period, selecting a new entry point in space.
3. User interaction in 2D Temporal Navigation
From a town map, or at any point during 3D navigation, user can access information related to what they are currently exploring. The 2D world is a conventional web site which presents multimedia content related to monuments, buildings, streets, squares of Milan – not only existing now, but also in the past. It also include information about the history of a place and its architectural aspects, about the historical and social context in which it was built, about anecdotal events, curiosities, and relevant personages related to it. An example of 2D web page in "Milan along the centuries" is shown in figure 6.
In the 2D information space, content is organized along two dimensions: time and space. Each urban object is presented in an historical perspective and has multiple contents associated to it, to describe it as it is now and as it was in different time periods. Similarly to what happens in the 3D space, the temporal context is always active during 2D navigation, to allow users change the temporal perspective of an object description. The navigation in the space dimension is achieved by providing links from an object to the objects that are (or were) physically close to it. At any point, users can switch to the 3D world, and find themselves embedded in a virtual reconstruction of the place in which the object they are visiting is (or were) located.
4. The software architecture
The software architecture that implements 3D and 2D temporal navigation in "Milan along the centuries" is depicted in figure 7. It provides a general, flexible implementation framework, which allows developers to reuse the modules developed for our specific case study and to easily adapt them in order to implement temporal navigation in any urban context, once the representations of 2D and 3D objects are provided in an appropriate format.
The core idea of our technical approach is that both the 2D and 3D environments are generated dynamically as user navigation proceeds. The main modules of the architecture are:
The user interface is the channel through which users interact with the 2D and the 3D worlds. Its purpose is to display 2D objects (web pages) and 3D representations of the current spatial context, to intercept user requests (link selection, movements in the 3D space, change of temporal context), and to pass them to the appropriate engine. The 2D interface that visualizes 2D pages and accepts user-generated events is based on a standard Web Browser. To visualize the 3D VRML objects and to intercept user movements in the 3D space, the user interface uses Cosmo Player or World Viewer (both work well).
Based on the user requests sent by the user interface, the generation engines retrieve the appropriate contents from the data bases, and aggregate them to generate the 2D or 3D representation that are then displayed by the 2D and 3D viewers. The communication layer among the user interface and the engines, and between the two engines, has been implemented with CORBA, and, in particular, the events generated and sent by the 2D world to the 3D world are managed by the EAI (External Authoring interface) (Lewandowski, 1998).
The 2D Web pages are dynamically generated by the ASP engine (Active Server Pages Site, 1999), which imports information elements from the 2D database (selected according to the current user position in the 2D space, the current temporal context, and the current link selection), and aggregates them according to the structural relationships stored in the 2D data base. The 2D data base stores all the information needed to build the web pages: 2D content elements - maps, texts, images, sounds and videos, and the structural relationships among different source elements that define which elements must be aggregated together in the different pages. The database also provides developers with a user friendly interface to allow them to insert, modify, or cancel information elements and as well as the structural relationships them.
The 3D engine creates the 3D VRML representations of the city as user exploration proceeds. It calculates the user position, identify the 3D objects - streets, palaces, churches, fountains, etc. – that must be visualized in the current context, and defines how they must be placed in the 3D world, generating the portion of the city which is relevant for the current user perspective, either in "walk" or "fly" mode, in the current temporal context. To identify how the reconstructions of urban elements must be placed in the 3D space, the VRML engine exploits a set of spatial relations among 3D objects, which define the dependencies between the different space contexts and different objects within each context. The 3D database stores the basic 3D VRML objects and their space relationships, and also provides developers with a user friendly interface to allow them to insert, modify, or cancel objects as well as their spatial relationships.
The objects in the 3D data base are typed according to their urban role: Buildings (e.g., houses, palaces, villas, industrial building,…), Church (churches, abbeys, cathedrals,…) and Miscellaneous, which collects all other urban elements, such as trees, fountains, streets, walls, and similar.
The objects are also organized in two categories, depending on their role in the generation process: Special Objects and Support Objects.
Special Objects are the urban elements which has a particular historical or architectural relevance, and therefore characterize each particular portion of the city in a given period. Special Objects are active, in the sense that they can users can perform a number of operations on them. Special Objects can be zoomed- in/zoomed-out, or explored inside (when this operation makes sense). They also include anchors to reach the Web pages in the 2D world which describes the details of each object.
Support Objects are used to fill the virtual space around Special Objects, i.e., of creating the urban context for them. Support Objects are "generic", anonymous urban elements, such as generic houses, trees, grasses, streets, and similar; they have no special relevance from a cultural perspective but, like the generic building blocks of a Lego, they are needed to complete the virtual reconstruction of a space context. As such, Support Objects are often repeated in the visualization of a space environment. Furthermore, Support Objects are static, i.e., users cannot interact with them, and the designer cannot modify them.
5. Conclusions and Future Work
This paper has discussed the concept of multiple space temporal navigation, i.e., virtual exploration in a 3-dimension or 2-dimension information space that explicitly takes into account the notion of history and time, and allows user to modify the temporal context of what they are seeing, as well as the space dimension in which they are navigating. We have also proposed a general software architecture that allows developer to build, in a modular way, 3D and 2D information spaces integrated with temporal navigation.
The main application domain we acknowledge for temporal navigation is in the virtual reconstruction of historical towns, since the proposed approach discloses the possibility, for the user, of experimenting the virtual exploration of a urban context along multiple historical perspectives. In particular, we are applying the proposed approach to a web application that concerns Milan along the centuries, where we provide multiple reconstructions of the town in different periods which can be navigated in a conventional 2D world as well as in a virtual, dynamically created 3D space.
Still, temporal navigation can be applied to any cultural domain in which the content has a strong historical, or, and, more generically, temporal dimension. Even the objects presented in a virtual museum, for example, can be presented in along multiple temporal and space perspectives: as they appear now in the museum, and in the space and temporal contexts in which they has been originally conceived (e.g., a church, a private house) or used during their time life.
Our future work will proceed in two main directions. On the one hand, we are completing the "Milan along the centuries" application, to include a larger set of urban contexts (so far, limited to the central area) and to enrich the set of 2D information associated to them. On the other hand, we are working to extent the interactivity of the system, by supporting a cooperative way ( Billinghurst, 1994) of 2D and 3D temporal navigation. In the current approach, user interacts with the system individually, as a lonely activity on the net, since no mechanisms is provided to visit a 2D-3D temporal navigation environment together with other users. We are investigating the possibility of applying the WebTalk technology for cooperative access of the web (Barbieri, 1999) to temporal navigation, in order to allow multiple users to simultaneously access a 2D-3D information space and to navigate in group, rather than individually, along multiple space and temporal perspectives.
This work has been partially supported by the CNR project "Virtual Museum of Italian Computer Science History". A special thanks goes to Luigi Zanderigli for their support to the system architecture implementation.
Active Server Pages Site (1999), www.aspsite.com
Active Worlds Web Site (1999), http://www.activeworlds.com
Barbieri, T. Paolini, P. (1999). WebTalk: a cooperative environment to access the web. In EUROGRAPHICS’99, Milano.
Billinghurst, M. Baldis, S. Miller, E. Weghorst, S. (1997). Shared Space: Collaborative Information Spaces. In HCI International. http://www.hitl.washington.edu/publications/p-96-5//p-96-5.rtf
Kalawsky, R.S. (1993). The Science of Virtual Reality and Virtual Environments. Addison-Wesley. Wokingham.
Lewandowski S. M. (1998). Frameworks for Component-Based Client/Server computing. ACM Computing Surveys (Vol.30, No.1, 3-27).
National Museum of Science and Technology "Leonardo da Vinci", Virtual Leonardo Web Site (1999), http://www.museoscienza.org/leonardovirtuale
Paolini, P. Barbieri, T. et al. (1999). Visiting a museum together. In Museums and the Web99. New Orleans.
Roehl, B. et al. (1997). Late Night VRML 2.0 with Java Ziff. Davis Press. Emeryville
Zyda, M. Singhal, S. (1999). Networked Virtual Environments. ACM Press. New York.
Zemeckis, Robert "Back to the future", movie, USA 1985
WebTalk Web Site (1999), http://webtalk.elet.polimi.it