I recently published version 2.0 of The Krewe Windows Phone app. The app is meant to facilitate social interactions at conferences, primarily TechEd North America.
Version 1 of the app, published for last year, was primarily meant as a consumption app. We provided a list of events, a view of a Twitter feed, and the ability to view where other users are located. The location view used a "checkin" mechanism, similar to FourSquare, where people could check into a location. The location would then display the number of currently people checked into the location.
As with any app, version 1 had a few issues. However, the app was functional and, overall, well received. Most of the issue were addressed with a version 1.1 and 1.2 maintenance release.
Slightly before 1.2 was published in mid-April, I came up with the idea to gamify the app. The entire essence of The Krewe is networking and community. I wanted to find a way to embrace and encourage these principles. To this end, I wanted to give people the opportunity to easily swap information.
Currently, the app targets Windows Phone 8(.1). With this current requirement, I knew that almost every device would have NFC capabilities. If our members are connecting, why don't we allow them to REALLY connect?
This gave me the idea to allow users the option to create a personal profile. This profile included a display name, email address, and generic job role. There was also some optional fields for a Twitter handle and a personal message.
Once you have created your profile, you can use NFC to swap your profile with other members. Once you have their profile, I add the date, time, and location you connected. Any time you view their profile, you can see the last place they checked in. This can help you connect with people at a later time.
Now that we have this interactive behavior, I wanted to add some fun to the process. This is where the achievements come into play. The achievements come in 5 basic categories. This first category is "other." This category has no relation to connections. As such, I will stop talking about them.
The easiest set of achievements to acquire are the connection count achievements. As you connect with people, I check the length of your list of connections. As you reach certain thresholds, you will unlock the achievement.
The next set of achievements to acquire are tied to locations and events. Anytime you are at a location or event, you need to check in to the venue. If you are checked into the venue and make a connection, the achievement will unlock. For locations, you just have to be checked into the location. For events, you have to be checked into the location during the event.
If you already have the app, you have not yet seen any of the location achievements. I will create these on Saturday when I get to Houston. These are tied to areas in the convention center. Since I don't know the layout of these locations, such as the Hand-On Lab or TLG, I can't create the achievement.
The final set of achievements are tied to specific people. All you have to do is find the person and connect with them. However, if an achievement is tied to a person, there is generally an ulterior motive. For example, connecting with me will get you an achievement. When you do this, I will ask for feedback on the app.
Some of you may be wondering how I will add these achievements. All the achievements are in the Azure database. The list of achievements are synced at app startup. As such, I can add or modify any achievements on the server.
There are a few quirks that I should mention. Unlocking achievements only happen when you make a connection. The app will request an unlock when it detects you may qualify. The final decision goes to the server. If some piece of information is missing from the server, such as if you did not have a data connection when you made a previous connection, the server would see the correct count. I'm trying to find a balance between the amount of data sent and keeping things up to date. There may be a maintenance release between now and Tech Ed to ensure you get everything.
Finally, you may be asking why you should bother? We are working hard without sponsors to get some special swag for people. I do not have the full details on this, at this time. All I know is that we want to reward the people that embrace networking and community.
If you have any questions about the app that I have not addressed here, feel free to drop me a line. I created the app to help people get the most out of events. The app is going to grow over time. We are going to help facilitate more events. We are (eventually) going to expand to other devices.
Over the next couple of months, I am going to be making changes to the app and API to facilitate these changes. As I do this, I am going to keep updates posted here on the blog. One of the first major updates will be completely to the API. As I mentioned before, the original app was created for consumption. As the app became more interactive, the previous API design showed it's flaws.
After the API is fixed, I need to update the UI for the app. The pivot control used for the original app was great for the 3 views that were used. As the app expanded, It now is cumbersome to use the pivot control. This is for both me, as a developer, and as a user. I, too, as a user, feel your pain over the number of swipes it takes to get to some of the information.
Finally, the great port to other devices will begin. This part both excites and frightens me. I know the Windows Phone SDK well. However, I have never owned an iPhone. I haven't owned an Android device since Android 2.3.
This project started as a way for me to help the community. I have worked word, on my free time, to provide an app that is completely free for people. My company, T&W Operations, Inc., has graciously allowed me to host the cloud services on our Azure account. I am determined to keep the app free of advertisements and clutter. However, things like licenses to Xamarin and publisher accounts to App Stores cost money. Please be patient with some of the great ideas that will cost me money. I promise I will get to all of these ideas as the means become necessary.
Again, I hope everyone enjoys the updated app. I look forward to meeting all of you next week in Houston.