Gamehole! Phase 1 Post Mortem

Introduction

Usually, project leaders look back and evalute the failures and successes of their project, so that they can learn from their mistakes. For as much time I put into the project in July, I also want to look back and inspect parts of my development cycle I can do better.

I’m doing this project for free and in my own spare time. It is justified as I move forward as it is a research project and as a test to see if I’m ready to start accepting paid clients. For the latter, I’ve came to the conclusion that I am not, but I’m almost to that point. I’ll see what a year brings as I continue other projects and research furthering my knowledge and skill.

What Went Right

Lets see… thinking… thinking… I have nothing.

I suppose the two important pieces is that I took a month to refactor a perfectly stable site into one that takes twice as long and only added two ‘major’ features: comments, authentication (which isn’t major), and rating for phase 1.

Oh yeah, I also spiced up the main page to include a list and two random games for each category as well as a random section for all of the possible games. Using the title atribute I was able to display how many plays each game has had during the week.

Tweaks to the left navigation include:

  1. a CSS scrollable section for all of the games
  2. Most games lists games for that week and could be changed easily for a month or two weeks.
  3. Rating is the same, except the backend uses a different table for calculating the averages using ‘complex’ SQL.

I was also able to set up a development section, which I will use for future development so I don’t break the ‘live’ site.

What Went Wrong

  1. Researching

Having to take time out for researching for the JavaScript and XMLHttpRequest controls wasn’t really a waste, but did take away from development of the core features. The more I research the less I’ll have to do later on, so it is really an invest that needed to be made. I just wish it was either years ago or after this project.

  1. Damn JavaScript

The experience and knowledge I’ve gained during last month will be burned in my brain for some time. I’m hating JavaScript less, but sometimes it can be an ass. My past experience with JavaScript never went past simple mouseover and image changes, which not surprisingly, I did very quickly and with no problem. I also was able to walk around browser differences easier than any solution based on not testing for the individual browser but for browser support for the object or function.

  1. Complex SQL Joining Got Me Down

Really, the previous site used basic SQL and performed far quickly than what I have. I’m at an lost, since it seems to be based on the load of the server and not on the SQL. I will eventually have to do caching or Cron Jobs for the complex SQL, but this phase didn’t give me much time to give it any consideration. The pages do need to load a lot faster and I’ll will be looking into further optimizing the SQL or into caching.

  1. Yeah, Maybe Next Version (or Milestone)

A lot of companies do it, but I never thought it would creep in to my carefree and apathetic ways. There are a few features that were left out, I had hoped that I would finish the JavaScript transitions to show the most played for the day (which I set to two days to keep from it updating the stats to quickly) for the first phase.

Admin Panel Upload and Manage games were also scheduled, but I’ve failed to find motivation for. To be honest, I’ve never had any motivation for administrative pages. I have more fun with stuff that doesn’t include a lot of forms, validation, and processing. Which is ironically what CGI was all about, so hmm, no one is laughing.

Excuses

I’m doing it now…

Yeah! As I watch television, stream movie previews, and play both online and offline PC games. Seriously, I’ve set aside the ‘fun’ and life aspects to get to complete as many features as possible.

I’m doing Research

What is wrong with people that don’t really see this as working on a project? I mean, I can do almost anything in PHP given enough time, but I don’t have every possible technique, function name, class name and usage stored in my brain. Spending 3 hours on various informative sites gives me a better understanding of how to form a solution and if no solution exists online, then I know enough to try to pull one out of my ass.

JavaScript is the best one and the one that I hate, so damn much. Not the language itself, JavaScript is awesome. It is the browsers support, the users ability to disable it, and the different problems that come that no one tells you about. I just got intimate with JavaScript memory leaks and how to fix them not four days ago.

Yeah, I’m NOT going to do that

Problem: Feature X is completely possible, but would take two or more weeks to fully implement and another week or two for testing.

Solution: It’s not even going to be started. Sorry, but that task is better left to paid team of developers.

It is also useful to ‘forget’ about features that were supposed to be implemented and seriously hope the other person didn’t write it down.

Blogging About Coding Means You’re Not Coding

I would be more worried if the developers are more into blogging than coding because then you’ll probably won’t see a finished product. Kidding aside, I do spend an hour each day reading up on the current news and blogosphere. Not that it takes away much, but I should spend 8 hours, but I usually end up spending only 4 to 6 hours. A few hours is better than nothing I suppose, but development moves at a snail pace when I do.

Possibly Related Posts:


1 Comments.