5 comments on “Optimization – Part Two

  1. Hey Kevin,
    First of all, thanks for posting some comments on my blog. I really appreciate it.
    I also find it very interesting about what you are going to gamify. It seems quite difficult to accomplish.
    I’m not sure though how your application is going to be experienced as a game. You say that earning points cannot be the focal point of using your application. But why will students want to use your app then? What is going to be fun? It seems every game element in your game will be linked to points. Isn’t this just going to be another stackoverflow forum, specifically for performance programming?
    Another thing that isn’t clear to me: what is the difference between challenges and someone posting a solution and someone else commenting with a better solution? Why would people challenge each other, and why can’t anyone else join in on a challenge? Or did I get it wrong?
    How are people going to compete when they are tackling a challenge on a different platform, with a different programming language. Can they challenge each other?
    I hope these questions are some food for discussion. We both might find a couple of interesting points.

  2. Hi,

    It was my pleasure to post on your blog.
    As for your questions, I’ll try to answer them in a structured manner:

    1. Application be experienced as a game.
    1a. It is a misconception of gamification to have your application be experienced as a game. The application must still be experienced as what it is supposed to be, some activity or otherwise unengaging experience. Gamification just makes that experience more engaging and fun, thereby promoting its use and perhaps improving the results anyone using the application get (this is context-bound). The game elements only aid in engagement, nothing more, so they must be the right mix between present and transparent. If they are too omnipresent (and thus the focal point) then they take over the activity and people will use it for the sole sake of those elements, neglecting the actual reason for their presence, to enhance the original activity. If they are too transparent, they will be ineffectual as they are so vague that no one will really notice their presence or care about them.

    2. Why would students use it, what is going to be fun?
    2a. Because the game elements, such as points, are not the focal point doesn’t mean they won’t do their job. As I stipulated in this and other blog posts, they cannot overtake the activity, so their presence is merely there to enhance the activity. The fun aspects ARE the game elements, but that doesn’t mean they have to be central. The application is still meant to be about performance, not about gathering points. Otherwise, it could become far too akin to a serious game. Why students will want to use the application is explained throughout the blog posts. the inclusion of these game elements speaks to basic desires and encouraging elements of, in this case, the students. Competitive people will be urged on by the challenges, others will be encouraged by their level of expertise.

    3. Isn’t this just going to be another stackoverflow forum, specifically for performance programming?
    3a. In a simple way: no. Stackoverflow is question/answer. People get rewarded points and reputation for asking well-formulated, documented and researched questions. While you can use it just to dump some code and ask: “how can I make it better?” Most people use it for programs that don’t work or don’t do what is expected of them. My application, on the other hand, is meant for working solutions and, as I stated in the post, the programming algorithms is solely an example, anything can be plugged into the application as long as it is related to performance and optimization in some way. While you can ask for help in comments, the application is not meant for this and people are better off using stackoverflow if they’re having problems with getting the algorithm to work.

    4. what is the difference between challenges and someone posting a solution and someone else commenting with a better solution? Why would people challenge each other, and why can’t anyone else join in on a challenge? Or did I get it wrong?
    4a. One can just add a comment saying: “I dare you to make this 1 millisecond faster!”. But challenges will offer a structured way of doing this. Those challenges can be saved and reissued to others, or multiple people can be challenged at the same time. A person can also maintain a list of any challenges they have accepted and the system can use this list to keep track of related posts and see if the number of positive score has been reached to judge the challenge as being successfully overcome. As for why people would challenge, I explain this in greater detail in the blog posts but it is simply related to competition. Just like how a Programming contest is as much good practice as it is good fun, so to can challenges be.

    5. How are people going to compete when they are tackling a challenge on a different platform, with a different programming language. Can they challenge each other?
    5a. This is something I actually forgot to include in my discussion of the structure and necessary information of a post. In the case of a programming performance solution, users will naturally be urged (not forced, but a good solution requires this information) to include information on the language and platform they used to implement their solution, adding context to their post. However, I stress again that this is only for programming subjects, while the application can be used for others as well.

    I hope that clarifies a few things, if not, feel free to comment again.

  3. You say that a user will have to input his email address for ‘validation and the like’. Couldn’t there be other ways to validate a user, and is it really necessary? For me, it is always a big threshold to enter my email address. I like to keep it private.

    • Hello Robin,

      That is a concern I had not thought about yet, however the solution can be quite simple. The e-mail address could be removed after the authentication e-mail has been sent, meaning the application no longer has this e-mail address. Users can optionally leave the address where it is so notifications can be sent. The only problem that leaves is, what to do if someone has forgotten their password and set the e-mail address to null?
      I believe in the long run, the pervailing method is still the better one, an e-mail address supplied and the application trusted.

      • Sorry for the late reply. I forgot to check the checkbox to notify me when you answered.

        Removing the email address isn’t interesting in my opinion, normally when a user doesn’t wants to register because of this issue, he certainly isn’t going to trust the app to remove his email address.

        But you are right, it’s probably out of scope. I was just thinking of something like OAuth with a Facebook or Twitter account.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s