Gamer Footprint Update

25. February 2015 11:32 by Cameron in Gamer Footprint  //  Tags: , , , ,   //   Comments

It's been a little while since I've updated everyone about Gamer Footprint. Development is picking up with me spending more time each week. I've been primarily working on the backend since the last update, but I have added some functionality to the fronted too.

Users can now register/login using their Google, Microsoft, Facebook, or Twitter account through OAuth2!

Xbox and PSN account linking is now functional and you can see your Xbox Live and PSN presence if you have linked your accounts. Currently, the profile page polls the server every 20 seconds to see if there is a change in presence information. However, I'm looking at making this more like a push notification service from the server through SignalR. The trick will be setting up individual user presence push notifications as it will rely on polling on the server and only pushing to the client when there is a change. I attempted this a little while back, but I couldn't get the connection management quite right to cancel running tasks. I will attempt the push notifications at some point, but it's not a high priority at the moment.

I'm reworking my data persistence and scanning algorithms to update a user's played games on PSN, Xbox and other platforms. Once that is complete, there will be a sort of timeline feature that incorporates all actions that a user wants displayed. Tracking of games played and achievements/trophies won't require a login, but if you want to share your online status with your Gamer Footprint friends and the community, due to privacy settings on each network, you'll need to link your accounts with Gamer Footprint. As of right now, there is no way to view games that you are actively online playing on PSN if you are not a friend of someone. This shouldn't be a big deal though. Rest assured, your information is safe and no passwords for Xbox or PSN accounts are ever stored on our server.

I will be posting more updates in the coming weeks so stay tuned!

ODBC vs RESTful API

31. August 2012 00:55 by Cameron in C++, Qt  //  Tags: , , , , , , , , , ,   //   Comments

In the process of writing the IGA desktop application, I've been faced with several design decisions. One of the most challenging decisions I had to make was how I should most effectively interact with a database backend. To help with this decision, I weighed out the pros and cons of using ODBC and a RESTful web API. Each of these methods are very good for certain purposes.

ODBC

Pros

  • Cross platform support through C/C++ libraries
  • Secure using username and password (connection encrypted)

Cons

  • Some ISPs/Schools block port 1433 (used with SQL Server) or other database ports (MySQL, Postgre, etc)
  • Slow response time in some instances (running multiple queries can take a fair amount of time)

RESTful API

Pros

  • Fast response time
  • Abstracts data backend - i.e. allows for an easy switch of database servers or switch of web server languages
  • Easily allows for multiple desktop and mobile frontends by adhering the web API interface (ODBC isn't usually standard in mobile platforms)

Cons

  • Requires tighter security
  • All requests must be encrypted using SSL or  plain text is sent to the server
  • Requires some sort of authentication either by API key or other method to prevent arbitrary access to server

Ultimately, I decided to go with using a RESTful web API for maintaining separation of the database architecture from the IGA desktop application. This will allow me to change the database backend without breaking the application as long as I keep the API interface the same. Another huge factor in choosing a RESTful web API is that my school blocks port 1433 on its campus wireless networks. I want college students to be able to use the IGA desktop application while on campus so this was a necessary choice. Overall, both provide advantages and disadvantages and neither one is "better" than the other. I hope this helps people with the decision between ODBC and a RESTful API.

Month List

Tag cloud