Thursday, April 15, 2010

Concept

'lifeAchiev' aims to provide users with a heightened sense of environmental awareness.

The goal is to encourage users to:
  • Explore and search the environment that surrounds them.
  • To step outside the daily routine or to break away from their usual day to day habits.
  • To discover a world which they would not have originally had thought to visit.

Users will be motivated to feel a sense of achievement through completion of certain objectives, goals, progressive milestones or to commit certain 'Feats of Strength'.

Users will be awarded with points for their achievements completed in the form of 'lifePoints' that will be tallied and scored against friends and other users. Other awards include the potential to be awarded with coupons, prizes or merchandise.

lifeAchiev not only provides a platform for users to reap achievements and rewards but also creates a virtual social network between users and their friends. Users have the ability to create additional ‘friends only’ objectives giving the opportunity for completion of objectives, earning achievements through social adventure adding additional engagement to the system.


Inspiration

Xbox 360
Microsoft Xbox360 introduced “Achievement System” to the console gaming world. Each game played has a total of 1000 possible achievement points to collect.

It no longer became just a matter of completing a game from start to finish it allowed more objectives than just getting to the end of the game.
Gamers explore the game to new depths, search the world for secrets and behave and play the game in out of the ordinary ways.

eg. A game called Battlefield Bad company 2 awards players with a "Dentist Achievement" which is 15 'gamerpoints' or 'Gs' if a player uses an engineering repair tool (usually used to repair vehicles in a multiplayer match) to get a headshot kill.


In the above screenshot a player is rewarded 5G for racing a lap without hitting a wall or barrier.



An online alias called a 'Gamertag' with customisable avatars is displayed with achieved 'Gamerscores' to show off and compare to friends online.


Success and sales generated by this caused Sony to implement a similar "Trophy System” to their Playstation 3. Console games that were released on both consoles would see more purchases on the Xbox360 due to players feeling they were getting more for their money, having extra achievements to obtain.


World of Warcraft
An online virtual world and massively multiplayer online roleplaying game called 'World of Warcraft' decided to add another layer in the form of achievements to their virtual world to keep subscribers playing and engaged.

This helped make the game more than just collecting gear and reaching a maximum level cap. Players would get bored waiting around for new content to be created and added to the game, but now with the newly added achievement system, they could explore, complete tasks and objectives and score points.



Currently 1054 achievements to complete split into different categories such as exploration, player vs. player, feats of strength, questing and professions etc. Scores can be compared competitively amongst other players.


A player is awarded 25 points for exploring the "Outland" continent in the game world.



Similar to Microsoft's system of comparing high scores but players can also be rewarded with in-game items such as this rideable black bear mount.


This is an example how achievements cause players to play the game in out of the ordinary ways. Players are awarded a 'feat of strength' type achievement of 10 points for launching themselves off a cliff and managing to survive a drop of more than 65 yards.

Foursquare


Four square is an application used on mobile phones that tracks users GPS locations. Users login wherever they are and actively post where they currently are located and what type of building or place they are visiting.

Motivation comes from allowing users make friends aware of locations in their environment giving them a new way to express themselves, show friends how active you are, compare lifestyles and movements through environments and find your friends locations.



Businesses can reward users with “coupon awards” in the form of badges. This reward promotes users to visit locations continuously.

Technology


Locations will be tracked using GPS technology on mobile phones. Each user of the application will be required to own a mobile device.

This enables the measurement of various things such as:
  • Location and coordinates.
  • Altitudes.
  • Movement speeds.
  • Direction.
  • Date and time.

Internet connectivity enables data transfer and networking through 3G and WiFi protocols.

Mobile processing - used for software coding and creation of mobile based java applications.

MySQL databases will handle User ID’s and stat tracking with a seperate database handling achievement parameters.

PHP scripting created to track and collect user data, track friend's lists, track and calculate achievements completed and compare scores with other users.

Implementation

GPS location tracking is used to analyse users movements and behaviours through their environments. This will be tracked by their mobile phones.
Achievements can be created that are based and created upon location coordinates, altitudes, or date and time.


Co-ordinates of landmarks or specific locations can easily be obtained from google maps.

Lists of achievements can then created and pre-defined in the form of objectives, milestones or “feats of strength” for users to go out and achieve.
Upon meeting an achievement criteria, points are awarded to the user for achieving the objective.

Friends also playing lifeAchiev can be added to a social friends list.

The tallying of scores in the form of ‘lifePoints’ will be collected in an online database, tracked by individual users and compared against friends and other users of the application.

It is in our nature to be competitive, to strive for highest scores possible. It is what made the simple games back in the day so much fun.

The exploration and behavioural achievements become a social adventure amongst communities and friends in a real world setting.

Complex types of achievements add additional layers that are more than simply reaching a location. These include:

• MultiAchievments: seen as a grand award for completing smaller achievements and given as a bonus for completing a group of related objectives. An example of this would be for a restaurant business to give small achievements for visiting different locations of their food chains, maybe receiving ten points at each location, and then giving a multiAchievment reward of a hundred points and maybe a redeemable voucher should they collect five business locations.

• LimitedAcheivements handle achievements that are accessible to a total number of users that may achieve an objective. This enables a limit to be placed on how many users can obtain this ensuring that some really special achievements are rewarded to perhaps only one user or making it a ‘first come-first serve’ type of award.

• GroupAchievements require a certain number of users and their friends to be present as a group with the requirements specified to obtain this achievement. The number of users can vary per achievement. This promotes social involvement and interaction to obtain rewards which specify that perhaps ten friends need to be present at a party, function or a particular restaurant.

• FriendAchievements can be generated when a user creates an achievement to their friends list creating social objectives amongst their personal friendship rings listing and accessible only to the players associated to the creator.



Examples

The lifeAchiev system explained thus far provides users with an application that tracks environmental tracking data and rewards users through points, coupons or prizes (if commercially sponsored). This is achievable on both an individual level or through user developed social network circles, creating customised social achievements or completing group achievements. The limit of what achievements could be potentially created is endless. A few examples of potential achievements are as follows.

Travel Achievements

Achievements unlocked for visiting famous landmarks and tourism objectives.



Score 5 points just for reaching and observing the Eiffel Tower.

Bonus 10 points for going up each level of the tower.


Bonus 50 points for reaching the very top of the tower!!



Score 5 points for visiting Opera house.

  1. Score 10 points for attending a live show.

Bonus 100 points for being there as the clock ticks over to midnight on a special date such as new years eve in celebration of the fireworks!


200 points might be awarded for visiting the seven wonders of the world!!

Sporting Achievements
Achievements categorized into sport and exercise objectives.





Points may be awarded for attending sport events and stadiums.

10 points awarded each time you visit a stadium.

50 points awarded for going to South Africa and watching a FIFA World Cup match.

Exercising achievements may be awarded for running laps around a field or visiting a gym or for running a distance total of 20km.


Example of “Feats of Strength” awarded for movement speed.

5 points for walking (5km/hour).

10 points for sprinting (10km/hour).


200 points for running 100 meters in 9.76 seconds!! (current world record ;) )

Commercial Achievements, Business and Rewards
Certain achievements may be sponsored by businesses for visiting various places around the city.


Restaurants, for example, may provide a coupon to a user for visiting five different chains.


Coupons may simply be displayed via a users mobile phone, unlocked and downloaded only when achievement is acquired.
Entering a coupon number into a sponsors website will give details on what the rewards is.

Interface and Interactons

Users create an account by entering a unique username or password. By checking the “new user??” box the user registers to apply for a new lifeAchiev account. Unchecking the box log’s the user into the application to start assessing their GPS data to potentially complete achievements.

















Once the user has logged in, the application displays the lifeAlias of the user and their lifeScore so far. The application provides a simple interface of buttons to access the lifeAchiev scoreboards, friends and achievement listings.
The application periodically retrieves GPS data from the mobile device and submits it to online PHP scripts for calculations.










Upon meeting the criteria of an achievement, a user is awarded points and notified that a particular achievement has been unlocked. If the achievement has a prize reward with it, an optional ‘Prize awarded’ message is displayed with a redeemable code. This could be used to redeem on a promoters website to score discount coupons or prizes as additional incentives for completing objectives. Also, on the bottom left and right of the screen the interface gives the user their lifeRank (place ranking against every player of the game) and their friendRank (place ranked against just the users friends). The score display is intended to motivate users to strive for better and bigger scores, not only to be the best out of all lifeAchievers but especially to be best amongst their own social friend circles.

Clicking the scoreboard button on the main screen displays all the users scores, ranking them from first to last based on the current tallied lifeScores.



















Clicking the ‘Friends’ button displays a users friend list. The application will order friends based on lifeScores and in itself acts as a personal social network score table.


















Clicking the “add friend” from the friends screen button enables users to add more lifeAlias ID’s if they wish to add more.



















Clicking a friends lifeAlias displays friends last update details. This displays their friends last known activity, the last lifeAchiev'ment completed and the points they were awarded. It also displays the total score obtained so far.















Clicking the achievements button on the main screen gives the list of achievements available to the user. The first screen asks the user to choose a type of achievement they wish to view.
















Once a user selects a type of achievement to view, a list of achievements that fall under the selected category are displayed. If a user selects the ‘Friend’ achievement type, only achievements created by that users friends will be displayed, and only accessible to the valid user to whom the created achievement apply to. An asterix is displayed before the achievement to highlight which achievements a user has already completed.







Clicking on an achievement provides further details on how to complete the achievement. An achievement may also display that an achievement may be limited to a number of users to obtain. The above example has eighty achievers so far out of a possible one hundred displaying "Limited! 80/100 users awarded". Once this limit is hit the achievements are no longer obtainable and will display “Unavailable”. Additionally, if an achievement is unlocked and has a prize reward associated with it, the redeemable coupon will be re-displayed in the description notes for the user to access at a later, more convenient, time.

Creating Friend Achievements


As mentioned previously, users can log onto the liveAchiev website (http://bit.ly/byqF7e) to create achievements for them to share to users on their friends lists. A user simply needs to use their current lifeAchiev login and password to access their account. A name for the achievement can be created as well as GPS coordinates such as latitude, longitude, elevation, direction and speed parameters. The achievement can be limited to a number of friends and can be made as a group achievement, requiring more than one friend to attend the location and achieve the points. Friends achievements created can only score a maximum of 10 points per achievement. This stops achievement spamming to easily rise up the scoreboards but also rewards those who continuously make the effort to gain achievements amongst friends this way.



Once an achievement is created, only the friends associated with the user can view the achievement and description provided to them.



Technical Challenges

A lot of challenges came from coding in both mobile processing and in PHP.
Although I had some experience from previous semesters, working with mobile processing, handling graphical components and sending data through mobile 3G networks was very new to me.


PHP scripting was brand new and learning how to code and script to transfer data from the mobile application to the MySQL database was challenging. Luckily PHP is a forgiving language and with the help of the university teachings and excellent reference manuals online, saving and retrieving database data, and comparing real time data from the mobile phone for calculation was tricky but achievable.
User handling was tricky to ensure users didn't choose the same lifeAlias when registering or accidently not typing in a valid field for registration.

Achievement checking was tough as there are many parameters that could be measured to meet a condition of an achievement and each had to be assessed for each individual achievement to determine if it was achieved or not.
This includes:
  • checking latitude
  • longitude
  • speed
  • direction
  • date
  • time
  • whether your applicable to obtain the friend achievement (being a friend of the creator)
  • having the right number of friends in a group.
  • whether the limited number of users has already obtained the achievement and if its still achievable.
Some achievements required stats based on other achievements and some require groups of friends to be together. Each ads a complex layer of data handling to ensure all criteria was validated 100%.

Getting sound notifications was also challenging. For some unknown reason the sounds could be coded on a Nokia N80 and played fine. The application had to be tested and moved to a N95 as the N80 didn't have integrated GPS and relied on an old Bluetooth GPS device to obtain data. When moving the code to the N95, the sound capabilities were lost and updating the Nokia mobile firmware made no difference. All sound types were tested including .midi, .mp3, .wav and at different quality recordings. Testing the code on other phone types either made the application not run or crash when the sound file was prompted to play.

Challenges arose from obtaining accurate GPS data. Longitude and Latitude data is obtained with roughly 30 to 50 meter accuracy from a mobile device given the surroundings or weather conditions.
The same could be said for elevation which could at times give inaccuracies up to 20 to 50 meters difference above sea level.

To accommodate, PHP scripting calculates a deviation of error allowing for longitudes and latitudes to have a +/-0.001 error variance.
Elevation has a +- 20meter variance and any values within are considered valid conditions to score an achievement.

As GPS devices on mobile phones develop further, the accuracy of the lifeAchiev application will continue to improve.









Future Work

The lifeAchiev system outlined has most of the ground work and foundation in place for a useable mobile interface that provides users with the incentives to explore the environment surrounding them and breaking the usual daily grind.
Users are rewarded with completion of these objectives and by linking socially with friends to compare scores and ability to add social friend achievements brings an endless supply of objectives with continuous motivation to seek, strive and complete amongst each users personal social networks.
Future development would need better sensitivity of GPS data to get accurate real world statistics. Speed, directional data, or duration of a users stay in one area could be easily added to add even more layers and creativity to the type of achievements that could be made.
With more time and programming knowledge, sleeker graphical user interfaces could be created to make the application more user friendly and appealing, along with colourful animated menus. The application could also be developed with the ability for notifications to be sent to users on a friend’s completion of achievements, or status changes in lifeScore ranks to keep the game of exploration more exciting, alerting other uses on players taking over the lead.
Virtual credits may also be implemented and purchasable in some way, used to customize user's avatars looks, or to make certain achievements easier to obtain by reducing their difficulty. Linking the system to Facebook or other social networks could also add another layer of keeping in touch with the social activity of friends whereabouts and achievements completed, whilst also acting as subtle advertising to those not involved yet to jump into lifeAchiev to begin exploring also.

Concept Presentation

Please view the presentation slides here:
LifeAchieve Concept Presentation - by Demetris Farmakalidis

Prototype Slides

Please view my prototype slides here:

Video


Download higher quality video here

Biography

Name: Demetris Farmakalidis, Honors in Molecular Biotechnology, University of Sydney.
I am currently enrolled in Masters in Interaction Design and Electronic Arts, University of Sydney until end of 2010.

I have a passion for pushing technology to new limits, learning what technologies are capable of and how to change the way people interact with them. Having a biotechonology background means I would prefer to create technology with scientific purpose, to ease peoples way of life or to help cure current problems at hand, but combining new technologies to create new interactions is generally where I am most in my element, no matter what domain they are created for.

Email: dfar7151@uni.sydney.edu.au

Subject coordinators:
Dr. Andy Dong - adon3656@usyd.edu.au
and
Dr. Xiangyu Wang - xiangyu.wang@sydney.edu.au