Abstract
Second Life™ is a multi-user virtual world which provides a three dimensional space shared by a number of avatars. They interact with their environment and one another through instant messaging as well as voice communications. The Inter-life project is developing a private island on Second Life to provide an educational research space aimed at finding ways to aid young people in developing social skills and navigating difficult transitions in their lives [1].
On this private island, the number of avatars in world at any given time may be small. This could make going in-world uninviting and thus overall interest reduces.
The objective of this project was to change this by allowing a user to see who was in-world using a mobile phone application. This project aimed at developing a mobile phone application which would display a map of the Inter-life Island and indicate the current location of users online. The mobile platform of choice was an HTC 7 Trophy Windows Phone device running a Release Candidate version of Microsoft’s Windows Phone 7.5 operating system code named “Mango”.
Methodology involved determining the requirements of the application, analysing the components needed, designing the system, implementation of software code and testing the application to eliminate errors.
The most significant achievements in this project included, creating a log-in user interface, the map interface and features for showing the information of avatars online as well as plotting their location on the Inter-life Island map. A basic version of Twitter was also developed (Twittledoo) and incorporated within the main Inter-life application for sending messages.
Attestation
I understand the nature of plagiarism, and I am aware of the University’s policy on this
I certify that this dissertation reports original work by me during my University project except for the following:
The Code for the Twitter Client was helped developed by Dennis Delimarsky
Signature (you must sign and date this page) Date
Acknowledgements
This project would not have materialized without the help and guidance of a few people.
Sincere gratitude goes to Cliff Simpkins (Senior Product Manager; Windows Phone Developer Experience) who gave me the green light to use the freshly released Windows Phone Mango Beta for this work. In his words and I quote “You're good to use this to develop apps for a school project, and present about it and whatever”
I would like to thank Dr Mario Kolberg for being of tremendous help during this period for giving me various insights as to how the Inter-life server works. Much appreciation also goes to Professor Magill and Dr Karla Parussel who gave me a detailed description of the Inter-life server architecture. Many thanks go to Dennis Delimarsky for helping out with the twitter code used within the Inter-life Windows Phone application. Much appreciation goes to Marco Giuliani for helping out with sections of the code in my work. Thanks to Pablo Almunia for supplying me with C# books and reference materials.
Finally, loads of appreciation goes to all the staff at the Institute of Computing Science and Mathematics as well as course mates who made this entire academic year at the University of Stirling a part of my life I will always cherish.
Second Life on a Mobile Phone 1
Abstract 2
Acknowledgements 4
Table of Contents 5
List of Figures 6
1Introduction 7
Background and Context 7
Scope and Objectives 8
Achievements 9
Overview of Dissertation 9
2State-of-The-Art 11
Second Life™ 11
The Inter-Life Project 11
Second Life Apps 11
Developing Applications for Windows 13
The .NET Framework 13
Programming in C-Sharp (C#) 14
Relationship between C-Sharp and the .Net Framework 15
Versions of Windows Phone – Brief Overview 15
Microsoft’s answer to Windows Mobile OS – Windows Phone 16
Market Share Projections 16
Networking and Web Services for Windows Phone 16
Using Sockets on Windows Phone 16
Character Encoding for Windows Phone 18
3Early Stages of Development 19
Requirement Phase 19
Use Case Diagrams for the System 19
Use Case for Component 1: Login and Avatar Details 19
Use Case for Component 2: Communication Support 20
Class Diagrams for the System 21
Class Diagram for Component 1 21
Class Diagram for Component 2: Communication Support 23
Designing the User Interfaces of the System 26
4Implementation Phase 28
Visual Studio Express for Windows Phone IDE 28
Writing XAML 29
Code Behind 29
Walkthrough of Apps Key Functionalities 30
SocketClient Class 31
SignInPage Class 31
MapPage Class 31
String Manipulation: Highly Essential 32
AvatarStuff Class 34
Plotting Avatar Location 36
Twittledoo – in-built Twitter Client for Inter-Life App Messaging 38
Registering an application name with Twitter - Twittledoo 38
AuthConstants Class 39
UserTwitterStuff Class 39
UrlConstants Class 40
OAuthClient Class 40
Twittledoo and Authentication Process 41
Testing 45
Testing for Suitable Encoding 45
Sending data using Unicode (little-endian) 45
Receiving data using Unicode (little-endian) 45
Receiving data using Unicode (big-endian) 46
Testing Range of Values for Plotting Avatar Locations 46
Multi-user Testing 46
Software Maintenance 47
User Feedback 48
5Conclusion 49
Summary 49
Evaluation 49
What worked 49
What did not work so well 50
Future Work 50
Region Expansion 50
Traveling Across Regions 50
Real Time Chatting Experience 51
Empty Strings from Inter-life server 51
Automatic Updates 51
Log out Button 51
Miscellaneous Bits 51
Pushing mobile hardware to its limits 51
Limited Knowledge of Programming in C# 52
References 53
Appendix 1 55