In this paper I present a client application of a system, which is a result of several people’s work, and not exclusively uses the signal strength of IEEE 802.11 Access Points to determine the position, but also utilizes sensors like magnetometer –which is known as digital compass or accelerometer which is present in today's smartphones to improve accuracy. During my work I was not focusing on the way of determining position, but to implement a client using Compact Framework 3.5 on Windows Mobile platform which is capable of using the services of the system. Because the system will be used in practice and the users will interact with it through the client application, I not only made an attempt to make it bug-free and stable but I also tried to create an application with easy-to-use, intuitive user interface, which could be used with fingers, the appearance of which is eye-appealing.
I begin with the review of technologies and approaches that can be used to determine the position taking into consideration whether the given technology requires presence of additional hardware, what accuracy can be reached with it and whether it provides data transmission capabilities. After that I delineate the platforms which are used on current smartphones in special regard to the presence and possibilities of the APIs which could be used to interact with the wireless network adapter. Thereafter I describe the expectations from the system, followed by the guide of the implementation of the client.
The client besides the positioning function offers facilities to survey the area, which is required by the positioning algorithm. Furthermore, it can be used to search for other users or points of interest, along with navigation to predefined or freely selected locations. During the navigation it provides the user with graphical and audio instructions, where the latter is using dictionary to achieve its goal. The accelerometer and magnetometer sensors are also used to enhance user experience, for example the application changes the orientation of the screen according to the devices state and it rotates the map by information from the digital compass. The application appearance can be customized with skins and the user interface's language also changeable.
The client in order to realize those functions communicates with the server using SOAP messages which are sending over HTTP. This approach makes it possible to implement its functionality on other platforms without the need of modifying the server.