Response much? 1562 calls per minute to CRTC for do-not-call list on first day.

At that rate, they would have run through every single Canadian in 320 hours.

I’m glad that the CRTC has taken this step. It’s been in works for a long time. It’s not perfect as many have pointed out, but it’s a great start.

For those outside of Canada, the CRTC is the Canadian Radio-television and Telecommunications Commission. They are the Canadian version of the American FCC. Basically they manage the airwaves, give out licenses to broadcast, that type of thing.

If you are Canadian and haven’t added yourself to the Federal Do-Not-Call list yet, you can do so by visiting this website. Please note that because of the torrent of traffic visiting the site, it may be unavailable for a while.

I was able to get one telephone number into the system then it sent me to an error page.

Good luck!

Totally Loving Blippr

I found out about a really awesome site this week. It’s called Blippr. It’s basically Twitter but for game, music, movie, and book reviews. You have 160 characters to let the world what you think. It’s really addictive.

After creating a profile, you can link to your Facebook and Twitter accounts so any blips you write will be displayed there. This is great to help build some incoming links and keeps your Twitter fresh, which then pushes your profile page up in the search rankings. For a while there my Blippr profile was showing at the top of search results while searching “Rocky1138” on Google.

If you end up joining, add me as a friend and we’ll see how we stack up against each other in game, music, book, and movie reviews.

Google’s Chrome EULA Fixed (thank heavens!)

Whew, that was a close one! I was worried that everything I’d ever created while using the Google Chrome browser was open for Google to use anywhere they or their partners wanted!

I mean, I love Google. But not that much :)

Regardless, here is the updated section 11 from their EULA:

“11.1 You retain copyright and any other rights you already hold in Content which you submit, post or display on or through, the Services.”

That’s it. Yay! The changes in this updated EULA are retroactive, so everyone can rest easy.

Read about the original End-User License Agreement here.

Ways to Make Google Chrome Even Better

If you’re on top of technology news, you’ve no doubt heard of Google Chrome. Recently released by Google to the happiness of geeks and internet surfers everywhere, this browser has the attributes of a real winner. Chrome is fast, intuitive, efficient, and unintrusive. I love it.

That being said, there are a number of things that could be done to improve the product and user experience, especially for Web Developers. These are in no particular order.

#1. “Open image in new tab” is not as good as the “View Image” function in Firefox.

About 5 to 10 times a day I right-click on an image and select “View Image” in Firefox. It’s a handy feature that seems to have been superseded by the “Open image in new tab” function in Chrome. If this functionality is to become the mainstay then I request that when you open an image in a new tab that the focus shifts to that new tab automatically. That way I can just close it when I’m done.

#2. (and for some this is a deal-breaker) The EULA.

Update: As of 09-04-2008 this has been remedied.

Who in their right mind wrote this thing? Because I used Google Chrome to write this very blog post does that now mean that this post can be used by Google or any of its corporate friends anywhere they want? Rubbish!

From the End User License Agreement:

“11.1 You retain copyright and any other rights you already hold in Content which you submit, post or display on or through, the Services. By submitting, posting or displaying the content you give Google a perpetual, irrevocable, worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute any Content which you submit, post or display on or through, the Services. This license is for the sole purpose of enabling Google to display, distribute and promote the Services and may be revoked for certain Services as defined in the Additional Terms of those Services.

11.2 You agree that this license includes a right for Google to make such Content available to other companies, organizations or individuals with whom Google has relationships for the provision of syndicated services, and to use such Content in connection with the provision of those services.

11.3 You understand that Google, in performing the required technical steps to provide the Services to our users, may (a) transmit or distribute your Content over various public networks and in various media; and (b) make such changes to your Content as are necessary to conform and adapt that Content to the technical requirements of connecting networks, devices, services or media. You agree that this license shall permit Google to take these actions.”

How do you all feel about that?

For those that are interested, the full EULA is available here: http://www.google.com/chrome/eula.html

#3. What’s my Pagerank?

After installing SearchStatus in Firefox I’ve become addicted to knowing what my Pagerank is for each page on my site. It’s really, really handy. Since this product is directly from Google, I figured it would include an option to show you the PageRank of every site you visit. But it doesn’t.

#4. Inspect Element on Hover

If you right-click anywhere on a webpage you are able to inspect the element located under your cursor. This is handy and works well, but after using Firebug and the Web Developer Extension for Firefox, I’ve become accustomed to this information being available dynamically on whatever element I hover my mouse over. As you hover your mouse over any element on a page with these extensions enabled, the information updates in real-time. It’d be nice to see that as well in this browser.

These are just first impressions, I’m interested in hearing how the rest of you feel about this shiny new browser from Google. Are there any features that you wish were included?

Games I Would Remake

In light of the recent release of the Quest for Glory 2 Remake , I wanted to do an “If I had a ton of money… I would make/remake these games” post. These are games that mean something to me — they have either touched my life in some way or I always thought they were overlooked by the gaming masses. Sometimes because of a glaring design flaw, sometimes because the technology just wasn’t there. Regardless, here’s the list (and it’s by no means final).

#1. Shenmue 1 thru 3 in one giant game.

Shenmue epitomized the Sega Dreamcast. Years ahead of its time, yet somehow not quite technically capable of doing what it set out to achieve. This epic game featured neat novelties such as being able to pick up and examine pretty much anything — even completely useless matchboxes. An intriguing story marred by awkward yet unintentionally funny dialog, this game is a good candidate for a new as yet unavailable virtual reality technology.  Imagine playing this game with full, modern graphics and a 3D headset!

#2. Syndicate

For a long time when I was in public school this was my favorite game for the Atari Jaguar. I loved the idea, the music, and the game-play.  I played Syndicate Wars and it was awesome, as well. I’d really like to see a sequel made with today’s graphics.

#3. Bonk’s Adventure

If game developers nowadays took almost any old-school platform game and converted it to 2.5D, it’d be a much more fun world for all of us. Bonk’s Adventure, in my opinion, would be near the top of the list of games to re-do in glorious 2.5D. In all honesty, I could see a remake of this game appearing on the Wii for today’s kids to play. Good stuff.

#4. Road Rash – 3DO/Saturn/PSX version

This game was hella fun in its day. It still is.  Where are games like this today?

#5. Transport Tycoon Deluxe / Locomotion

I know, I know. Locomotion is relatively new and it’s the spiritual successor to Transport Tycoon. But, what I’m envisioning is a huge graphical upgrade to the series along with networked play via the internet. Imagine a persistent MMO universe version of this game where players are continuing to build while you’re offline. A humongous world-size playfield: 30,000km with thousands of cities and villages. Perhaps that’s something for the creators of games like Second Life to think about. Instead of taking Transport Tycoon Deluxe and making it part of a persistent world, why don’t they make transportation a user-driven economy in large-scale persistent-world online social games? It’s more fun than chatting!

The Optimistic Programmer

Recently in the world of programming blogs there has been a string of articles by disenfranchised developers bemoaning their current work environment in a sarcastic and ultimately unproductive manner. I understand and appreciate sarcasm and tongue-in-cheek humor but what I have seen lately goes above and beyond simple satire to a new level of pessimism that in the end is more about self-serving venting than anything enjoyable to read or to learn from.

At first I shrugged off the first article, which was a negative play on a post I made last week, thinking that perhaps the writer had a bad day and was simply going a bit over-the-top. But then another post by a different author came up on DZone in the same light. And then another.

I then started to wonder why there was this growing trend into negative venting blog posts, where their only function is to belittle other peoples’ efforts and cause as much controversy as possible surrounding that subject.

When I started this blog I made a choice: I wanted to prepare and post articles that people could read and learn from or to be more realistic, to offer them alternative channels of thought so that they can continue their research until they find the solution they require.  I have made a personal choice to be an optimistic programmer, meaning I understand that while there will be times that I am incorrect or times where my example code was not the most efficient it is more important to accept that and learn to grown from it, moving onwards and upwards, than it is to be negative and post with the only intentions being to vent and complain without offering any sort of solution or assistance.

There have always been trolls on the internet. There always will be. The best thing I believe we can do as bloggers is to call it what it is and try to be above it by taking the good points of a negative experience and growing from it, not brooding over it.

UPDATE: Since posting this I have received E-Mails concering the troll label I have applied to these posts. Specifically to the first and last links. While I still disagree with the method of complaining or venting with no solutions presented, I have mistakenly grouped what the authors wanted to be humorous posts in with the negativity I was seeing at the outset. Perhaps troll was a bit harsh. I apologize :)

What Makes a Videogame Fun?

There are several important things that I feel are absolutely required when creating a fun videogame. Fun means so many things to so many people, but for the purpose of this article fun will be defined as a high level of enjoyment obtained by the player as a result of playing the game.

A lot of people look for things like graphics when playing a game. Some people could care less. For some it’s the music, for others, the story. I believe there are several factors that contribute to the fun level of a game and that the fun level is controlled both by how important those factors are to the player and how much of that factor is available in the game itself.

Let’s walk through the eight factors I believe contribute to a fun game. These factors are just that — factors. Think of them as a health bar. Depending on the game, the bar may be full for certain factors or completely empty for others. Rest assured, however, that having a full bar in each of these eight points will increase the liklihood your game will be fun.

The eight “fun” factors:

  1. Graphical Relativity
  2. Ease of controls
  3. Music
  4. Multiplayer capability
  5. Story & characters
  6. Replayability
  7. Nostalgia
  8. Innovation & Novelty

Let’s walk through each of them in detail.

#1. Graphical Relativity

You may notice that on this list I have omitted “graphical quality” and instead written Graphical Relativity. This is because over time I have noticed that the games that are the most fun to the most people are the ones that have graphics that match the game’s premise perfectly rather than overall graphic quality. This is blasphemy to the people with the latest and greatest PC or console hardware, but I believe it to be the truth.

As examples, I cite World of Warcraft, Team Fortress 2, and Tetris. All three of these games have graphics that are not state of the art but all are insanely fun. And popular. They all have staying power as well. For each of these games, the graphics are not the selling point nor are they a point of contention in the gaming industry at large. In these cases, the graphics fit. And that’s the point. It’s not the latest and greatest graphics that matter, it’s if the graphics fit the game.

Try to think of other games that are fun that fit this as well. Games like Crazy Taxi or Street Fighter 2. Can you think of any games where this isn’t the case? If so, are you sure that it was the graphical quality that made the game fun?

#2. Ease of Controls

The Sims was more fun than The Sims 2. On paper, The Sims 2 was a better and deeper game. Why is it that I could stay up all night playing The Sims but couldn’t spend more than an hour playing The Sims 2? Simple — the controls.

The controls for The Sims were intuitive and worked flawlessly. The controls for The Sims 2 were horrendous. That’s not the fault of the game itself, though, or its designers. The reason The Sims 2’s controls were poor was the move to 3D is in itself very difficult for game developers. How does one control a 3D camera without an extensive control scheme? Without some new form of hardware, doing this intuitively with a mouse may be impossible.

#3. Music

This factor is not one that many people think of when describing a videogame. Sure there are examples you’re probably thinking of right now. Zelda, Mario, Final Fantasy… But, isn’t that the point? Why are all of the best and most fun games the ones with the best music?

Something to chew on.

#4. Multiplayer Capability

The ability to play against other players (when done correctly) will (depending on gametype) immediately increase the fun level of your game. Some games even require it. Consider the following example: Super Mario Kart for the SNES. Super Mario Kart without the ability to play against friends would be a completely different (and ultimtely boring) game.

Most gametypes benefit from multiplayer capability, but for others it is almost better to be without it. For example, Morrowind as a multiplayer game would not be Morrowind. For better or for worse, the Morrowind we know and love would not exist in multiplayer. Considering that it’s my favorite game, that would suck and I wouldn’t change a thing. I would be open to a completely separate multiplayer Elder Scrolls game, however.)

#5. Story & Characters

The story and characters used in the game, no matter the gametype, lend to its fun value. As in multiplayer capability, some games require deeper characters than others. But, who says a football game can’t have character development?

Put simply: The more relevant your characters are to your gametype, the more likely your game is to be fun.

For example: Duke Nukem. As a platformer (and later as a 3D game), Duke Nukem is what made the Duke Nukem game series. A Duke Nukem game without Duke is Crystal Caves. Exactly.

#6. Replayability

I believe the desire to replay a game comes from two factors: The desire to enjoy important emotional impacts the game had the first time around and the opportunity for having the gameplay change from the first time you played.

To exemplify the first desire, Final Fantasy VII comes to mind. The game is inherently linear in design. You start in Midgar and end in.. well. I don’t want to spoil it. But, players will replay this game years later to enjoy the deep emotional impact they had while traversing the story the first time, not because they may be able to change the plot.

As for the second desire: This is common in competition-based games. I again call upon Team Fortress 2. Even if you played 1,000 games of pl_goldrush, it’s unlikely that you will have the same things happen twice. This sort of unpredictability is key to increasing the game’s replayability factor.

#7. Nostalgia

This factor is similar to replayability in that you are replaying a game because it brings back memories of what it was like the first time (or another memorable time when you were playing). There are two ways you can take advantage of nostalgia when developing a game.

If your game is new: Pay homage to similar games that inspired you to create your game. If you are making an adventure game, put some references to Quest for Glory or King’s Quest in there. People will associate your game with games they have enjoyed in the past and by reference will enjoy your game because of it.

If your game is a sequel: Take the best parts of the original game and make them shine. Don’t “improve” them as that invariably changes them. By changing the things that made your original game great, you run the risk of alienating people who are playing your sequel because they loved those things. What you want to do is accentuate those selling points.

Compare stealing equipment and items in Morrowind to Oblivion. Oblivion undoubtedly has a deeper and more realistic stealing mechanism when dealing with items and people in the game. However, there are several key things that were changed that makes stealing a waste of time, thereby ruining something that made Morrowind great. Namely, the fact that you cannot place items somewhere and return to them later unless you buy a specific house and the fact that no one has anything good to steal unless you’re at the highest character level, by which point you are done the game.

#8. Innovation & Novelty

Innovation is grouped with novelty since in the gaming world they are the same thing. When Nintendo goes to make the Wii 2, how many people will be excited that they use a remote control with a motion sensor?

However, the first time around this sort of thing can open doors and bring fresh people in. Being able to play games like Doom and Duke3D over local networks in schools and at home was a novelty (though it had of course been done before, it really was the first time I had experienced it myself). Think of when Pong was first introduced. They single-handedly created the arcade industry.

So, what have we learned?

Clearly having a healthy balance of all of these fun factors helps to make a videogame fun. It’s important to not rely on having a large amount in one of the items then neglecting the rest, as that game will be remembered as not being fun but having feature X. The goal is to focus on fun. Fun sells. Fun builds franchises. Fun builds memories.

Thoughts?

Great Music to Program To

Here’s a list of the top places I get my music, which I develop to:

1. Nectarine Demoscene Radio (http://www.nectarine.fr)

If you’ve ever watched a cracktro, and intro, or a demo, you know exactly what this is all about: the Demoscene!

2. Rainwave.cc Videogame Music Radio (http://www.rainwave.cc)

There are quite a few video game stations around the net but none offer the quality of music that Rainwave does. Each user can vote for songs as well as create an account that tracks all kinds of neat things. Definitely a hidden gem of the internet.

3. Modarchive – The internet’s largest collection of music modules (http://modarchive.org)

Many of you may not be familiar with the file formats that this website provides. WinAMP will play all of them, though. Give it a try. Music modules are similar to MIDI music in that they contain the electronic “sheet music” of the music inside them, but they also go a step further and include samples of each of the instruments used in the music. This was very helpful at a time when home computers could not handle large compressed audio (such as MP3) and MIDI quality was poor.

4. Demoscene.tv – streaming video of demos (http://www.demoscene.tv)

Though it seems a bit of a waste to stream video but only listen to the audio, this site really shines if you have a second monitor that you blast this site’s streams on fullscreen. Great graphics, fast streams. Perfect for programming.

5. Kohina – Old School game and demo music (http://www.kohina.org)

Kohina is a good station that plays tracks not found or often played on other stations. For this, it’s not a regular on my speakers. But, it is nice to sometimes leave the beaten path and explore some new sounds.

6. Digitally Imported – di.fm (http://www.di.fm)

Digitally imported is one of the largest streaming radio sites on the internet today. They have a ton of different stations ranging from Trance (my favorite) to things like Ambient and Chillout (also good). Plus, they offer high-quality streams for only $4.95 / month.

I’m always on the lookout for more internet radio stations or demo/videogame music sites. Does anyone have any not listed here? Please tell me!

The 5 Best Things About Being A Developer

I was at work today and had a few of these happen. Because of that, I was inspired to write this post. These things happen to programmers young and old, novice or expert. Here’s the list.

1. Writing code that works the first time

Oh sure. All of us write flawless code, right? There’s just something that feels great about writing a sizeable portion of code and then having it do exactly what you wanted straight away. Especially if you’re newer with a certain language. Confidence++.

2. Finishing a Project

Starting a project is exciting. Finishing is ethereal. My typical work method is based on doing all of the hard work first, thereby eliminating any unintended delays before launch. Unfortunately this means that the last 10% of any project is the most tedious and dreary as it’s filled with things like pixel-hunting or resizing images. Once the last few lines of code are written and tested, life is bliss.

3. Optimization / Refactoring / Reducing # of Lines of Code

Few things in development are as good as the feeling you get when you took that 4x nested for-loop with its switches and if blocks and converted it into a simple, 5-line function. It’s why I get up in the morning. OK maybe not that exciting, but still.

Optimization may not be the best description for this, but in a way it is a sort of optimization of how efficiently your code works.

4. Seeing Marketing For a Product You Worked On

I smile every time I visit my parents as there is a very large billboard advertising a site that I had a part in developing. I know that nowhere on the sign it says my name and that no one even knows I worked on it, but inside I feel good that someone, somewhere is finding something I helped to create useful.

Another example of this would be seeing people play a videogame you created or hearing your song on the radio (if you were a musician).

And, finally:

5. Learning Something New and Useful

I try to make it a point that every day I learn something new and useful to make my work better, faster, and more efficient. I say “new and useful” since new isn’t always better than old. Especially with computers and software.

Whether it’s some new Linux commands (split and cat for me a few weeks ago) or a big jump like using source control, making yourself and your team better at what you do is what it’s all about.

Firefox 3 First Impressions

I downloaded Firefox 3 today. Just like a gazillion other people. It’s launch day and Mozilla wants to enter the record-books for number of downloads for a software product in one day. Supposedly there is no previous record so basically once the first download finished they were the winners :) Anyway, it was good to drum up some interest in alternative browsers!

The first thing I noticed was how responsive everything was. I’m a web developer — I get used to how long it takes for menus to load and things to happen after I click. I started using Firefox 3 and I have to say they have really raised the bar for browser speed. It used to be that only Opera was this fast. Great work!

Secondly, the “Awesome Bar“: I love it. Looks great, works great. It’s similar to Google Desktop’s search field in that you just type a few keywords of what you’re looking for and it’ll show you any sites that you’ve been to that match those keywords. Handy. We are definitely moving away from people actually knowing the domain your business is at. We know we’ve reached the turning point when browsers stop including an address bar entirely or when businesses owners don’t even know their own domain names :)

Finally, a new feature has been added on my Bookmark Toolbar that contains the top 10 most visited websites. This could be good or bad depending on your browsing habits ;). For me it’s really handy. Gmail is in there, Dzone, Digg, Synnema. Awesome.

I have to say I’m really impressed. The difference between Firefox 1 and 2 really didn’t hit me much but the difference between 2 and 3 is monumental. You really have to use it yourself to feel the difference in speed.

If you’re reading this post on June 17th, 2008, then head over to Firefox.com and help raise the number of downloads today by 1!

Top 5 Firefox Extensions for Web Developers

You might be a web developer. You might need to know what HTML element is under your cursor at any given time. You might need to know the hexadecimal value of a pixel is under your cursor at any time. You might have a mile-long CSS file inherited from multiple projects and wonder: “Which styles still apply and which are no longer used?”

Fear not my fellow web developers, web designers, programmers, whateverrers! These 5 Firefox Extensions will help you chop the time spent on any web development task so you can get back to reading blogs during the day. Or work. You choose.

Without further ado, here they are:

 

#1 – Web Developer Extension

I don’t think I’ve ever used a web browser-based tool as much as I have this one. It’s saved me so much time and helped me solve so many problems over the past year. It does practically everything. With tools like “Resize Window” which lets you resize your window to a certain pixel width and height and “View Generated Source” which lets you see the source code used in the website AFTER Javascript runs — Instead of showing function(var 1, var 2) it will actually show the variables that went into that function e.g., function(“john”, “rockefeller”). Cool huh?

Cool features:

  1. A ruler you can use to measure the size of tables, divs, or anything else on your page.
  2. Disable stylesheets to see what your site looks like without any styles whatsoever.
  3. Display alt tags, image file sizes, image paths, and more.
  4. “Outline Block Elements” will automatically outline divs, paragraphs, spans, and other elements on your site. Very handy.
  5. “Outline Current Element” will display the element id and name for any element underneath your cursor. Unbelievably handy.

Sample Screenshots:

Outline elementsMisc functions

 

#2 – ColorZilla

I’m sure we’ve all seen a cool color on a page, whether it’s an image or cell background, and said “Oh man I love that color. I could eat it. I wonder what the hex value is so I can use it on my site. Or in case I get hungry.” Well, you could always take a screenshot, load up The Gimp, use the Color Picker tool to determine the hex color value, but who needs to do that when you’ve got ColorZilla installed?

ColorZilla will display the hex color and RGB value of any color under your cursor. Very, very handy.

 

#3 –SearchStatus

This handy little extension will show you the Google PageRank of whatever site you are on as well as the less-important-but-for-some-reason-still-used Alexa Ranking.

PageRank Plugin

 

#4 – Dust-Me Selectors

This handy little Firefox Extension will tell you which CSS styles are not found on your pages. It works per domain, so surf all of the pages of your site and a comprehensive collection of unused styles will be shown which you can then promptly delete from your stylesheet, thereby increasing the performance of your site.

Very very, cool.

 

#5 – Firebug

No Web Developer’s tool-belt would be complete without the illustrious Firebug. The list of features here is incredibly long, but so is the list of Web Developers who have saved hours of work using it. Their own website explains it better than I would but you’ve got to ask yourself one question: What kind of web developer are you if you aren’t already using this??

I hope you’ve enjoyed this list and found some of the links useful. If you’ve got something to say about these tools or even have a list of handy tools you use that might think others would find useful, please post a comment with a few links. Thanks!

I’m an uncle!

Hi all :)

I just thought I’d break the professionalism for a post to let you all know that I’m a happy new uncle! My brother and his wife, Carlotta, had their first baby; a boy. His name is Titan Rockefeller. We’re going back home to see him today!

I’m so excited! Congrats Russ and Carlotta!

Welcome to my blog!

John Rockefeller
John Rockefeller at Synn Studios Inc.

Hi everyone,

First, let me welcome you all to my blog where I will be writing about web development experiences, technology, and social media as I continue along this path in my career. I work as a web developer in the beautiful city of Guelph, Ontario, Canada as a full-time employee but on the side I am part owner of an indie movie studio known as Synn Studios Inc. as well as a maintainer and developer of my own personal technological projects (software or hardware).

Hopefully, if we have similar interests, you will find the posts on this blog to be of use to you either in your own experience or in upcoming projects. If you’re into developing websites, working on servers, making movies, 3D modeling, level design, or game development, there will be something here for you.

I have started two projects on my own: The now defunct NetBoardz Free Forum Hosting, and Jack of All Links – A social search engine (which eats up a lot of my time ;)).

I am available through Facebook, Twitter, or LinkedIn, if you need to contact me.