Abstract
Today’s internet and wireless networks have been improved and it has been possible to use various sensors like GPS and Accelerometer in mobile devices. Also considering other improvements of mobile devices, these devices have being changed from toys into tools. Mobile navigation services are those of the applications that help users in navigation process through determination their current location. Being of users in different contexts influences the way of presenting services, since different contexts need different navigation. In this paper, pedestrian navigation services have been classified into five categories: Location Finding, Optimal Path Finding, Orientation, Positioning and Way-finding. Regarding analyses and surveys, all current navigation services can be one of these categories. Also by specifying of effective contexts in pedestrian navigation we considered four abstract classes: Mobile, Mobile Infrastructure, Movement and Motivation. Each of these classes has its own subclasses. The subclasses have their own attributes and methods that in action demonstrate effective contexts and some procedures of usingthem in pedestrian navigation systems. Considering some of usable and sensible contexts, we implemented a context-aware outdoor pedestrian navigation system. Our empirical implementation and its surveys corroborate the theoretical model for the context-aware map presentation in a pedestrian navigation system.
Introduction
Map is a communicative language for navigation purposes in mobile applications. Among these applications, mobile navigation services are important and frequently used applications in mobile devices such as cell phones and PDAs [8]. The technical components of mobile navigation systems consist of a processing and visualization unit (PDA or cell phone), a positioning unit (GPS as external device or internal card) and map data (as visual or textual descriptions). If the navigation system works “off-board”, an online connection for the data request to the service provider must be required (e.g. via cell phone) [8]. Because of way-finding behavior nature of pedestrians, emerging mobile pedestrian navigation services need to fulfill more complex requirements than car navigation tools to be accepted [1]. Since pedestrians are vulnerable than other road users, they often seek other route qualities other than short distances, such as safety, convenience or attractiveness [4]. In comparison with car drivers, pedestrians have more freedom in movement, so they require different information [2]. The impacts of tools on people’s performance vary with their spatial abilities [6]. Also the presence of users in different contexts influences way of presenting service, as different contexts needs different navigation. Human-centered design, or put it more precisely, user-centered design, has been a topic for years with the aim of creating usable design solutions that allow users to do the things they want to, not the things they have to [13,15]. This is exactly what a mobile user desires to experience with map-based mobile services. The context in which a user is performing his tasks has a strong connection with his information needs and controls the content as well as the visualization mode of the information [20].
In this paper, user contexts in pedestrian navigation systems are presented by proposing a categorical view for pedestrian navigation services, pedestrian contexts and a model for implementing context-aware pedestrian navigation systems. In Section 2, context-aware computing will be discussed and a classification of contexts will be reported. Section 3 demonstrates our proposed category for pedestrian navigation services and pedestrian contexts. Section 4 indicates proposed model for implementing context-aware pedestrian navigation systems. Our empirical implementation for context-aware pedestrian navigation system will be discussed in Section 5 and finally, conclusions are drawn in Section 6.
Context-aware computing
Contexts can be considered as situations or states of the user who needs information. According to Dey and Abowed [3], context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is relevant to the interaction between a user and an application, including the user and application themselves. A context-aware computing system is a system composed of various hardware and software that are aware of context and they can automatically adapt and respond to such context. Context awareness enables the system to take action automatically, by reducing the burden of excessive user involvement and providing proactive intelligent assistance [10]. In one classification, context has been categorized into four contexts [12]:
Computing contexts are such as available processors, network connectivity, communication costs and network bandwidth, nearby resources such as printers, displays, workstations, and wireless devices.
User contexts are such as the user’s identity, user’s profile, location, movements, nearby people, social situation, gesture, facial expression, emotional state, focus of attention.
Physical contexts are such as lighting, sound, temperature, humidity, velocity, direction /bearing, altitude, smell, taste, weight, pressure, volume, distances.
Time contexts are such as the time of the day, week, month, season and year.
Then another context named context history such as user’s previews locations, needs and so on added to above categories [7].
As aforementioned examples in the context classification, there are definitely other types of information in addition to location which can be used to provide context [5]. Being aware of user’s contexts, we can design context-aware and user-centered systems. Examples of context-aware navigation systems are context-aware tour guide [11], context-aware recommendation in mobile tourism application compass [17], automatic map scaling in car navigation system by using context-aware computing [16] and so on.
Pedestrian navigation services
There are so many services for pedestrian navigation. Reviews and investigations about these services directed us to a new classification (Fig. 1). Some of these services have not been implemented yet. But considering this classification, we can add any new service in the proposed classification too. In other words, this classification is universal general classification. The innovation of this type of classification can be used as a general scheme for designing a perfect system. If a classification becomes general by proposing new services and putting them into one of these classes, they inherit upper class attributes and methods automatically and their functions and relations with other services will be predefined. Details of this classification are demonstrated:

Proposed classification for the pedestrian navigation services.
These types of services consist of finding user’s favorite locations such as restaurants, museums, parks, fuel stations and friends. From these types of services, we can mention Google Map and Bing Map that enable us to find these locations on the map.
Also some services can be designed by using contexts such as user’s current position, interests, daily schedule, to show him/her favorite marketplaces and locations. For example Hippie/HIPS project [18].
Optimal path finding
It is one of the services in field of navigation. Determining optimal path for pedestrians in comparison with other navigations such as car navigations is difficult; considering their spatiotemporal behavior, pedestrians have a lot of choices to get to their destination. Pedestrian’s spatiotemporal behavior is determined by a great variety of largely known effective factors. To succeed, mobile navigation services for pedestrians must consider the complexity of human way-finding and route choosing behavior [1]. To design an optimal path with regard to the user choices, it can consist of: the shortest path, the fastest path, the secure path, the given distance path, the simple path, the scenery path, the low slope path and the low noise path. To design the shortest path, distance between two points (current location and destination) is optimized and a path with the least distance is selected. The shortest path is very common in pedestrian navigation now. In the fastest path, other contexts such as traffic jams are considered, too. In some cases, pedestrian’s path is used for other purposes such as skating or cycling and is not a secure path for pedestrians, so we can design the secure path considering these constraints. The path with given distance has a constant length, for example a path with 1000 meters long. Recent researches show that most people prefer less complex routes to those routes that are shorter in distance but contain a greater number of decision points [14] (Fig. 2). In The Simple Path, users prefer to minimize the complexity of a route to get to their destination. In the scenery path, natural sceneries and path attractions are considered and optimal path with regarding to these contexts is selected. In the low slope path, slope is minimized and is especially suitable for elderly people. Finally in low noise path, noises on the path considered and a path with low noise selected.

Human’s chosen path (left path) and alternative path (right path) [4].
This service determines the direction of user toward north of geographic, magnetic or map by using an arrow or a number. To help a user to select the right direction at decision points, we can show the user’s direction with a symbol such as compasses in mobile applications.
Positioning
Context classification for pedestrian navigation systems
Context classification for pedestrian navigation systems
Positioning can be classified in two general categories: coordinate based and conceptual based positioning. The former calculates the user’s current position and plots on the map or displays with geo coordinates. For example, GPS Calculators are free applications in windows phone7 operating system. The latter displays the user’s position conceptually or logically and it can be classified in two subsets: lattice based and graph based subsets. In lattice based subset, a tree relation among position elements is created and it consists of containment relation in polygons. (E.g. the user is currently in Iran (country) – Tehran (city) district no. 2 and Vanak square.) As we see, there is a containment relation between different areas. In graph based subset, user’s position can be displayed on a network of connected nodes.
Way-finding services help the users to find their paths and make a right decision, for example by using landmarks (unique and particular buildings, statues, post signs and etc.) pedestrians can find their paths. As example of this type of servicers we can mention landmark based pedestrian navigation system [2].
Contexts in pedestrian navigation system
First step in designing a context-aware system is the identification and classification of effective contexts in that system. Few researches have been done in domain of pedestrian navigation, some of them have not specified all contexts, for instance, Hampe and Elias [8] have mentioned effective contexts for designing mobile navigation systems, also Wienter et al. [14] classified effective contexts for map based mobile system. In these classifications, several contexts such as position and speed were excluded. Sheleiby et al. [16] reported a general and comprehensive classification of car navigation contexts. There are some conditions that differentiate pedestrian navigation from other navigations systems. For example services that can be designed for pedestrians are much more than the drivers. Also pedestrians have a lot of time to interact with map and choose the appropriate path.
Considering aforementioned factors, we can use Sheleiby et al. [16] general classification of context for car navigation, but we change its subclasses, attributes and methods to set it for pedestrian navigation systems. So we offer a new classification of context to specialize pedestrian navigation systems. The contexts are classified in 4 general categories mobile, movement, movement environment and motivation (Table 1). The aforementioned contexts have impact on map contents and visualization and so on. Because there are not appropriate sensors to get all of contexts todays, so in the implemented application, we have considered only a few contexts that can be measured practically.
Proposed architecture for implementing of context-aware pedestrian navigation systems

Proposed architecture for implementation of context-aware pedestrian navigation systems.
Regarding to aforementioned contexts and perusing pedestrian navigation systems, we offer an architecture for developing of context-aware pedestrian navigation systems (Fig. 3). In this architecture, context information is gathered from various sensors. First, these raw data converted to high level information. For example received positioning data from GPS receiver are needed to be transformed to be used in coordinate system. In addition to information gathered from sensors, other information such as system settings, user’s preferences are needed to be pre-processed like sensor’s data. Then this high level of information analyzed and checked with predefined rules in order to update information. For instance, if the difference of two sequence position is higher than a threshold, updating of information such as map’s center and direction, landmarks will be done. In the next step, the system decides which parameters are needed to be sent to remote server(s) to receive map, landmarks, way points and other information. It is done by using rules and context databases. The server(s) are connected to a geo-database and send appropriate information to the client by using designed mechanism within. Finally, the system by considering various representation techniques and (updated) contexts displays received information.
This system is a dynamic one, so it detects changes in contexts continuously. If these changes are over than a threshold, information updating will began and influences the presentation. It’s done by sending new parameters to the server(s) or by setting states of information presentation such as map rotation and animation speed.
One of the advantages of digital maps in comparison with the paper ones is their multi-scale property. Users can zoom in/out to recognize their environment in digital maps very well. In this paper, a method with automated zooming is implemented. In this method, mobile device rotation angle and its speed are used as contexts. So the system by using these contexts will zoom in/out automatically. This proposed scaling technique depends on rotation speed of the mobile device. So users do not need to touch on mobile device to zoom in/out actions. This automation can be represented with Eq. (1):
In this equation
Other parameters that we set it to be context-aware or automatic is the map’s panning tool. In this method, when the device is put in a perpendicular state by rotating it in different orientation, map is panned. This can be defined by Eq. (2):

Mobile device in two states a) face forward (or perpendicular) b) face up (or horizontal).
In this equation
By using these proposed context-aware operations, users do not need to touch on the screen for scaling or panning the map because they can be done automatically.
Some information like user’s position and his/her optimal path are more important than others for navigation purposes. By focusing on this information, the user’s mental processing of map is focused to the area of relevant information. The map shows the remaining parts of the depicted environment but they are recognized as less relevant information. Animation is one of the methods that can be used to emphasis on this important information. Researchers have shown that animation can improve users’ performance and satisfaction in spatial information learning, especially for individuals with a low spatial abilities [20]. We can control animation speed based on user’s speed of movement as a context Eq. (3):
In this equation
Maps on the mobile devices are north up as default and users by knowing geographic north can interact with the maps. Users in some cases need to rotate the map to better understand and interact with their environment. By automating this task, we will reduce user’s interaction with the mobile device. It will be possible by calculating user’s direction of movement as a context.
Implementation
Regarding to previous sections and considering applicable and sensible contexts, we have designed and implemented a context-aware outdoor pedestrian navigation system. Our chosen contexts consisted of: user’s position, velocity and direction of movement and rotation angle of the mobile device. Using these contexts the system sets direction of map, animation’s speed, and map panning and scaling automatically.

Start point (a) and destination (b) of user.
Tehran one of the biggest and crowded cities in the world and the capital city of Iran is taken as the study area in this research. The new roads which have been added and expanded in recent years made the transportation networks of Tehran city more and more complex. We selected a district in Tehran that shows a pedestrian position and K.N.Toosi University of Technology as his/her destination (Figs 5a, b). A context-aware outdoor pedestrian navigation application was implemented using Microsoft.NET compact framework 4.5. The application was deployed on Windows Phone 8.1 operating system in a smart phone device (Nokia Lumia 930) with a screen size 5 inch, CPU 2.2 GHz and RAM 2 GB.

Service types (a) optimal path from type of shortest path (b).
In this implementation is supposed a pedestrian want to K.N.Toosi University of Technology as his/her destination by using optimal path finding service in the type of the shortest path (Fig. 6). System calculates the shortest path between start and end points and plots it on the map (Fig. 7a). In the next step system continuously focuses on user’s position and the optimal path by using animation techniques such as changing the line width or line type (Fig. 7b). One important aspects of the implemented animation is that it is context-aware. As user’s speed goes up, animation is done with higher speed and vice versa.
Map in this system is rotated automatically, in the other words, it moves up (Fig. 8).
Rotation of the map depends on movement threshold that is calculated from GPS data. In this system movement threshold is selected 5 meters; it means that the user’s position is updated per 5 meters. Then after the change in position, the map is rotated. Parameters

Designing optimal path and emphasizing on it a) design optimal path b) animating path.
When the mobile device is put in the perpendicular state or face forward, users can pan map automatically by rotating the mobile device around y axis or x axis and parameter

Presentation Move up mode of map in different orientations.

Automatic scaling a) map presentation in a first scale (when device is horizontal) b) map presentation in second scale (when device is straight.
As you can see our implemented system follows the proposed architecture shown in Fig. 3. First, system gathers context information from enabled GPS, accelerometer sensors in the device and other user entered information by selecting options such as move up, animating, auto scaling and panning in setting page. Some of this information such as positioning data preprocessed for further use. This data can be stored in isolated storage place (as context database) in mobile device and can be accessed whenever needed. In the next step reasoning engine connects to the open street map webserver to download world map and shows it. Also reasoning engine is connected to the rules data base. Defined rules about zooming, panning, animating and move up equations are stored there. The rule database has been consisted of if-then rules as below for example:
And so on.
Experiences of several users in use of the system
Experiences of several users in use of the system

Automatic panning of map in different orientations a) pan to left b) pan to right.
Four males and three females participated in the experiment (with the age range of 22–45 years old and different jobs). They were asked these questions: what is your view about using digital maps in navigation? How do you see our application (without context-aware options)? And how do you see our context-aware application? The test showed their satisfaction, and some of them were surprised by automatic options (Table 2). But it has some drawbacks; it uses so battery, as battery life is reduced about 2 times more because of enabled sensors on mobile device. With improvements in battery usage in the future it may be improved. It also just find shortest path.
Conclusion
Context-aware computing is an important computing task that helps users by giving them appropriate services through sensing their contexts. In this paper by examining context-aware computing in outdoor pedestrian navigation systems, we proposed a model for classification pedestrian navigation services, pedestrian navigation contexts and architecture for developing context-aware outdoor pedestrian navigation systems. Advantages of these classifications are in general planning and designing perfect system. Hereby, if new services (or contexts) are offered, we can put them in one of these classes, so they inherit attributes and methods automatically from predefined classes and their functions and relations with other services (or contexts) is predefined. Using the proposed architecture and some practical and sensible contexts such as the user’s position and speed, mobile device speed and rotation angle, which led us to design and implement a context-aware system. The implementation results confirm the practicality of the proposed model. This system was tested by different people. They were asked some questions about application either by considering context-awareness of the system or without context-awareness. The results showed their satisfaction of the context-aware outdoor pedestrian navigation system. One can focus on others services to implement a complete navigation system. In the future extensions of this work we aim to improve the pedestrian navigation systems by sensing more contexts. Also other studies can be focused on the analysis level of context-aware pedestrian navigation system by considering more web servers to implement a complete system.
