Sunday, December 17, 2006

Halo Movie

At the risk of becoming a one-trick pony before finishing up my first official month of blogging - here's another Halo related post.

Recently, there has been a few minor news items concerning the making of a movie based on the Halo games. Apparently, some good preliminary work was being done, but then there were some disagreements amongst the studios and producers, etc. so the project was put "on hold".

Since it is probably inevitable that a movie will get made at some time, I am wondering if, with the recent releases of some great Halo trailers, Halo isn't a great fit for an entirely CGI movie? It's been 5 years since the last big-budget CGI movie: Final Fantasy. And while that movie is largely considered a flop due to it's poor showing at the box office, I believe that the problems were related to 2 primary things that a Halo movie could avoid:

  1. Weak and confusing plot.
  2. Too many "human" characters.

The first point is pretty self-explanatory (I hope), but the second point may deserve some further explanation. You see, I remember when the Final Fantasy movie came out there was a lot of talk about how realistic the characters would look (I seem to recall something about the animators modeling all of the female, main character's hair strands individually, in order to make it move more naturally). While the results were amazing, I still think that were not good enough to not distract the viewer during the movie. Additionally, it seemed like the quality of the character modeling varied with the level of importance of the characters - i.e. the main character looked more "real" and natural than some of the less important human characters.

With the Halo movie however, this would be far less of an issue. Part of the Halo mystique is the fact that the main character (the Master Chief) doesn't ever remove his helmet - and therefore we never see him. I am no CGI artist but I am pretty sure that the amount of effort required to create a character who is basically covered from head to toe in some fancy armoured jumpsuit is a lot less than the work to model human facial expressions and individual hair movements.

Also, since the Halo world is occupied by a large variety of alien species, you know that there is going to need to be a large amount of CGI work done for the movie anyway, so doesn't it make things a lot easier - especially for visual continuity - for the entire movie to be rendered inside a computer-generated environment?

On the good side, at least the news for Halo isn't related at all to Uwe Boll being the director ;)

Sunday, December 10, 2006

Stunning Halo Trailers

I am a sucker for both movie and video-game previews. I think that it's the sheer intensity that the creators manage to cram into such a short clip. Inevitably, the full version of the move/game can not realistically live up to my expectations, mostly because you can't keep up that same level of intensity for more than a couple of minutes.

Even with all that being said, I am still drooling over the latest Halo 3 trailer. (Make sure to download and watch the hi-def version).

Whoa!

Bonus - Another cool video from the Halo universe is the trailer for an upcoming real-time strategy game called Halo Wars.

Self-Improvement

Scott Adams, the creator of Dilbert, has a great personal blog where he writes about all sorts of things that enter into his mind. I got a real kick out of his recent tips on "Acting Smarter Than You Are".

It's funny because it's true.

Tuesday, December 5, 2006

Trying Windows Live Writer with Blogger

It didn't take long for me to get annoyed with the web-based authoring provided by Blogger (more on that in a future post). I looked around a bit for a simple desktop blogging application. Many of the more polished looking apps that can work with Blogger are not free, so my choice was limited. It's not that I am (overly) cheap, it's just that I am not a professional blogger so it doesn't really make sense for me to pay money to write my posts.

Since my primary home computer is a Windows PC (please no religious flame wars over that), I decided to give Windows Live Writer a try. The installation was quick and painless: I just needed to enter my blog URL and login information along the way. If you see this post, then I guess things went smoothly.

Monday, December 4, 2006

No Zune in Canada?

I was thinking about getting my wife a new MP3 player for Christmas (she doesn't read my blog so the secret is safe). I had been reading lots of interesting stuff about the new Zune from Microsoft as a reasonable alternative to an iPod. So I went to the usual Canadian online sources Future Shop and Best Buy. The result: nothing. I thought that was kind of weird, so I did a quick search on Google and found out that the Zune isn't available in Canada. Apparently it has something to do with the availability of the companion online music store for Canadian customers.

Oh well, I guess that my Christmas shopping got a little bit easier.

Tuesday, November 28, 2006

API Lessons

A co-worker came by my desk at work today to ask a question about a software component that I had been involved in designing and implementing. The more that we talked, the more his questions turned into complaining about the component design... primarily it's API. Now this kind of bothered me at the time, but the more I thought about it the more I came to realize that he was right - and I think that I know why.

While I haven't been directly involved in maintaining that particular component, I can still remember the project quite well. It was a relatively small project to design an infrastructure utility that could be re-used by various larger applications. There was no user interface (graphical or command-line) - just a bunch of Java classes that were bundled as a jar file for other development teams to use when they needed this certain functionality. I think that part of the problem was that without that standard user interface, we ended forgetting that our product still had a customer: other developers within the organization.

While there are lots of important things to remember when designing and building software, there are a couple of items that I think deserve extra emphasis when writing a component with a programming API - and writing them down now will help me remember them next time:

Don't wait until the internal design is complete before designing your API.
You will end up with an API that is far too tightly coupled to your internal design (can anyone say Leaky Abstraction?). Looking back now, I realize that during all of those weeks of design and development, we never once had a discussion on *how* the "customer" was going to use our beautifully designed piece of software. Of course we all knew that there would need to be an API for our component (we weren't completely clueless). It was shown as a nice thin layer on our architecture diagrams. But no one actually designed that API until the implementation was partially complete. I use the term "design" quite loosely here, because I honestly don't know how the API came to be, it just kind of appeared in our source code repository somewhere along the way.

USE your API before it's final release.
Write a sample application, or some extended functional tests - whatever. If you use it before you release it, then there is still time for change those pieces that looked good on paper, but don't really work in the real world. I am ashamed to admit that to this day, I have still never written any code (other than some isolated unit tests) that actually used the component that I helped to build. As far as I'm concerned, that's the equivalent of writing a web site in a text editor and never actually loading it into the browser and clicking your way through!

So, whether you are writing a more traditional application with a user interface, or a more technical component like a programming library - don't forget about your customer.

Oh yeah - it wouldn't hurt to read up a bit on API design before starting, like these slides (pdf) from Joshua Bloch.

Sunday, November 26, 2006

Active Vancouver Weather

The Vancouver area has been getting some wild weather recently. There were some heavy rains a week or so ago that resulted in a boil water advisory that has lasted over a week for some people. Now on the heels of that excitement comes a major snow storm!

I went for a walk in the evening and snapped a couple of pictures. I wanted to capture the natural look so I turned off the flash and slowed down the shutter speed on my little point-and-click camera. The results were very bad... this picture is the only one that is even moderately acceptable:

From Snow - Novemb...

Us Vancouverites are typically pretty inept at dealing with snow - especially when it comes to driving which should make for an interesting drive into the office tomorrow.

Update: The boil water advisory has finally been lifted. And I didn't have to battle the morning commute in the snow because I am working from home today.

Wednesday, November 22, 2006

Blogger (Beta) and FeedBurner

So since I have a blog now, I thought that it would be a good idea to register the blog feed with FeedBurner. It's a pretty simple process - and the good folks over at FeedBurner even have some Blogger-specific instructions. Unfortunately, the instructions aren't as simple as they can be when it comes to the part entitled "Promoting your FeedBurner feed on your Blogger site" - which I only figured out after wrangling with Blogger's HTML template for a while.

You see, the instructions from FeedBurner tell you to "edit your blog's HTML template directly" in order to provide an easy way for people to subscribe to your feed. Unfortunately, this is a bit misleading. Maybe that is the way that you had to do it with previous versions of Blogger, but now you can just use the Page Elements feature instead:
  1. go to your blog's Template tab
  2. select the "Page Elements" section
  3. select the "Add a page element" link (I created one in the blog sidebar),
  4. give the section a Title, then paste the FeedBurner HTML snippet directly into the Content section.
  5. Done!
That's progress.

Tuesday, November 21, 2006

Hopefully Late *is* Better than Never.

I have been reading and participating in blogs for a few years now, but seemed to never bring myself to actually start one of my own... so here I am, late to the party.

I guess a short introduction would be worthwhile. My name is Jeff Smith and I am a software developer in the Greater Vancouver area of British Columbia, Canada. I expect the content of this blog to run the gamut of topics including hockey, software, technology and miscellaneous personal ramblings.

I apologize in advance since the quality of the posting is going to be pretty erratic until I start to get the hang of it, so bear with me (notice how I am writing this as if someone is actually reading, I never really considered myself to be such an optimist!).

Now that the proverbial ice is broken, let's get going. It feels good to finally join the conversation.