Sunday, February 24, 2019

(2-24) Finishing the IRB

This week, I finalized the IRB form. I plan on submitting it this week. Developing the survey turned out to be harder than I expected because we have to ask many quantitative questions that would help identify trends. I initially missed a lot of these possible questions, such as their preferred platform to play games. Additionally, the phrasing of certain questions, such as questions involving game attitude, mattered ("video games" and "computer games" have different meanings that would affect the result of the surveys).

Additionally, I have spent some time working on the user experience of the application. Rather than simply having a blank screen with text, as I originally had so I could focus on functionality, I now have nice login and signup screens.

Next week, I plan on submitting the IRB, finalizing the look and feel of my application, ensuring my app looks nice on mobile, and continuing to implement the ERIC API.

Saturday, February 16, 2019

(2-16) Surveys

This week, I finalized the survey questions required for the IRB application. There will be 2 surveys for students to take - one before, and one after.

The pre survey will contain questions involving game attitude. I believe this data will help find correlations involving system effectiveness to students who enjoy video games vs. students who do not.

The post survey will involve questions from the System Usability Scale, and the Technology Acceptance Model. These questions will aid in assessing the overall effectiveness of my system.

This week, I also tried to further the implementation of the Eric API. However, I ran into an issue involving the step in which the students grant my app privileges. When a student tries to log into the game server using their login credentials, it replies with "wrong username or password". This is most likely an issue with the data i'm sending to the game server's entry point, and the developer and I are currently working towards a solution.

My plan for this upcoming week is to submit the IRB and solve the ERIC API issue.

Wednesday, February 6, 2019

(2-6) Additional Help and the IRB

This week, I began filling out an IRB application. IRB stands for Institutional Review Board, and they're responsible for protecting human research subjects. Since the user study tied to this project involves humans, we fall under this category.

To apply, I have to fill out a few forms, and complete a course that will provide me with the necessary training required to preform a clean study.

Additionally, I have to learn how to make effective surveys to be given to participants before and after the test. I've been tasked to study the “System Usability Scale”, and the “Technology Acceptance Module” - two trainings that will help me accomplish this goal.

I also had to learn how to protect the anonymity of my participants. The difficulty arose when my advisor and I had to find a way to link a survey ID to a student - that way we can compare the data from one student before the test, and after. We came to the conclusion I personally would never have anything to do with the handling of this ID - my advisor will. All I will need to deal with is the accounts created by the user on my platform, and linking that account to a TCG account. We decided to worry about dynamically pulling student grade data later, for the teacher can manually issue rewards through the game server.


In terms of the ERIC API, I reached out to my advisor for help, for I came to the conclusion I lacked the knowledge required to understand the API (remote database management, encryption, etc.). After a few meetings, I feel I have enough footing to effectively begin implementing the API. All of the setup is completed, and all I have to do now is add users, and learn to pull the data for a particular user that I need.

Wednesday, January 30, 2019

(1-30) Further Work with the Eric API

This week was a pretty slow week. I managed to successfully migrate everything over to my web server, however, it has been a struggle getting the Eric API to work.

I believe most of it is due to the fact the API was developed to be used with Moodle, therefore, I have to manually edit the values of some PHP files to match what is required to use my database.

We were able to add the required Eric API databases on my web server, as well as authenticating my server with the TCG server. As far as I know, I should be good to go when it comes to linking a student's Canvas account and their TCG account. However, now I must figure out which PHP scripts to call in order to do this, and pull their cardbooks to display on the site. This will likely require just as much, if not more, communication between Eric and I to figure out, since I will likely have to edit more files.

So far I have been learning how to communicate and work with another developer. All my assignments in school this far have been done individually, so I had no experience even reading someone else's code. I now feel more prepared with the group works I will be assigned to this semester.

Monday, January 21, 2019

(1-21) Using the ERIC API

After talking with my advisor, we came to the conclusion there would be no way to continue with the project without implementing the api. The only way to authenticate users and pull data (such as cardbooks) is through methods included in the ERIC API.

So, currently, I'm discussing how to use this API with the developer of this API. So far, I was able to implement the PHP scripts that create the necessary databases and tables.

Right now, it turns out the developer has to manually add some info into the game server to add my application and give access. Therefore, I have to migrate everything to my webserver. This should be easy since it's all managed by git.

Monday, January 14, 2019

(1-14) More PHP

This week, I mainly focused on trying to implement the ERIC API, and further developing the site.

I learned to make a completely dynamic web page using php. I could have a php script running, and based on the results of certain functions, change the layout of my site. For example, if the student logs in, and I detect the student's role is 'student', I could append '<div id=student>student stuff</div>' rather than a teachers '<div id=teacher></div>' to a $content variable, then simply echo that variable at the end of the script.

After hours and hours of trying to get the ERIC API to work, I felt it would be more time-effective if I kept the login process I already implemented, and manually issue cards and rewards to students through the use of a TA.

I'm going to talk to my advisor about this, and my next blog post will contain the decision we come up with.

Sunday, January 6, 2019

(1-6) MySQL

This week, I continued to speak to the developer of the ERIC API. However, due to the different time zones, the conversation is occurring slowly. Therefore, I have not been able to make much progress with the API.

Instead, I spent the week finalizing the database layout, and learned how to interface with the database with PHP. The database contains 7 tables.

Students (contains name, canvas uuid, and the game server uuid.
This table has a many-to-many relationship with a table called achievements, which contains name, description, and imgpath. This new table is called earned_achievements. Students also has a many-to-many relationship with a table called rewardcriteria, which contains numerous criteria for various rewards. The new table is called earned_rewards. Lastly, there are 2 more tables containing data involving sharing achievements to social media.

With php, I used mysqli to read and alter database data.

Additionally, I inquired with the man in charge of NMT's canvas account about the possibility of obtaining a developer account. However, he declined and said it would create a security vulnerability with the school's canvas account. Without a Canvas account, I wont be able to do two things.

1) I wont be able to develop an LTI plugin. This plugin would be able to be easily included in any class page, and make editing and displaying data much easier due to all student/class data readily available, rather than having to have a standalone site make API calls.

2) I won't be able to simply have students log in, authorize my app, and simply use their client id and secret.

The only workaround I can think of would be the following. I will have a student sign up for my site. They would create a username and password, then be redirected to their settings page, in which the would manually generate a token I can use to obtain data. By using and storing this token, I believe I should be able to do what we need to do. However, I do not think this will be a valid long-term development option. Therefore, it will be an ongoing goal to obtain a development license.

My goals for the following week will be the following.
1) Continue trying to implement the ERIC API.
2) Further develop the layout of the site.
3) Further finalize the database due to the aforementioned roadblock.