Skip to content

The Bag of Tricks

Web development is a multi-faceted skill. That is to say that there are a lot of pieces that can be combined together to create a web site and underlying functionality. Though there is a “best practice” when it comes to many things on a web page, there are usually at least a few different ways to accomplish the ultimate goal.

This is perplexing to someone who likes concrete definitions and absolute requirements (me) when trying to work out a problem. At times, it is confusing when Googling for an approach since it leads to many choices and no clear decision on which choice is superior to the others.

What is it that makes a web developer skillful? Ultimately skill comes with practice and the most skillful are willing to take an open minded approach. The skilled don’t necessarily have a vast knowledge, but instead they take the correct approach when seeking out an answer and them adopting appropriate techniques to provide the solution.

Being innovative when it comes to web sites usually begins by imitating an existing example and then changing it to something new or combining with components of another example. It is rarely a process where something is crafted from scratch.

How does this all relate to “The Bag of Tricks”? I remember this term from a tennis coach who used to describe tennis skills as a “bag of tricks”. You are always trying to add to your bag of tricks. This bag is your set of tools that you carry with you to solve the problems that you may face. The more you add to the bag, the better you will be prepared to come up with a solution in the future.

Each skill set may have its own bag of tricks. In my case, my “HTML5 Video Game Programming” bag is just about empty. In fact, I think many web developers have just about nothing in this bag yet. This particular form of programming is in its infancy. I have been tentatively looking at many programming examples to begin to form a picture of how best to program a video game in HTML5 and have seen diverse solutions.

It is unwieldy to look at the code behind of these projects and fully deconstruct to learn every aspect of the code. That would hardly be a good way to add to the bag of tricks.

I need to focus on the individual components of a game and write practice projects build my B.O.T. (that is easier to write and say ;-D ) So basically, we have sound, icons, movement, logic of how pieces interact, game levels. Other things too I supposed, but… how can you make any game until you can learn how to do some on screen drawing and movement. That seems fundamental. A good place to start would be to make on screen animations and then try to see how a library of functions could be built to quickly create sets of these animations.

Impact HTML5 Game Engine

This is a tool to assist in building 2D games in the web browser.

http://impactjs.com/

The featured game the author of the tool made to showcase the potential is “Biolab Disaster”:

http://playbiolab.com/

The tool is too expensive to buy ($99) without further research into other HTML5 projects (unless I can persuade its author to cut me a deal!) I am intrigued by the example and videos of game making on the site. Ultimately this might be just the kind of tool I need to build a polished game, but there are other things I must do first.

HTML5, CSS3 and the problem of IE9

As a web developer I am interested in the pending browser improvements related to HTML 5 and CSS 3. I am eager to use new coding methods and leave old ways behind. With new standards comes a wealth of new functionality for web browsers. I have been keenly watching browsing trends and the gradual adoption of HTML 5 / CSS 3 standards in new versions of FF, Chrome and Safari.

IE has been conspicuously absent in the adoption of these new standards. Microsoft released the first beta version of IE 9 in September, 2010 with the official release anticipated for spring, 2011. Many have been hopeful that this release would finally bring Internet Explorer up to speed with other browsers in regard to adoption of HTML 5 / CSS 3. Even if those hopes are realized, there is a big gotcha:

Microsoft has said repeatedly that Internet Explorer 9 will only be supported by Windows Vista and Window 7 operating systems. This leaves all Windows XP users (which account for better than 60% of all web traffic) stuck with Internet Explorer 8. That’s a major roadblock for web development as a whole.

As a web developer, I am forced to design for “the lowest common denominator”. Whatever I set up in a web site must work reasonably well in the oldest version of the worst browser on the oldest operating system at the smallest screen resolution. (That is exaggerating – but you get the picture.)

Most of the web development community has wished that IE 6 would have long since perished and yet the nearly 10 year old browser annoyingly persists still accounting for an astonishing 16% of web traffic. That is more than all web browsing traffic from Google Chrome and Apple Safari combined.

It seems like there is a natural solution to this problem of legacy Windows XP users – they should switch to a modern web standards compliant browser such as FF, Chrome or Safari. But this simply will not happen. A huge percentage of browser traffic will come from Windows XP / IE 8 users for many years to come. IE 8 seems to be the IE 6 problem all over again. (Why cruel world!?)

From a developer stand point, this means double work. Any HTML 5 or CSS 3 feature that I want to use must be coded a second time in a different way to be handled by the increasingly inept and irrelevant IE 8 browser. Not exactly what a developer likes to see.

What is the point of the World Wide Web Consortium’s standards if the major players Microsoft, Mozilla, Google and Apple can’t get on the same page? Microsoft’s explanation for leaving XP behind simply does not hold water. In short, they say they can’t make IE 9 work effectively on Windows XP. Really? FF, Chrome and Safari are now using HTML 5 + CSS 3 standards with no mention of dropping support for Windows XP.

The net result is that from a web development standpoint, we remain stuck with ever aging standards of this version of HTML and CSS. Perhaps Microsoft will rethink their decision and provide a revised version of IE 8 that accommodates for HTML 5 / CSS 3 standards down the road. After all, this is going to become more of a glaring problem in the coming years when HTML 5 / CSS 3 become main stream. In the meantime, this is one wet blanket that I wish would go away.

References:

Browser usage stats: http://marketshare.hitslink.com/

Browser support of HTML 5 + CSS 3: http://www.findmebyip.com/litmus#target-selector