One of the big obstacles in designing a game in HTML5 is that the popular gamepad hardware isn't available. Nobody wants to play a game with keyboard buttons, so the arrival of the Gamepad API brings us a lot closer to console-style gaming in the browser. Browser support ... At the time of writing, the only browsers that support the Gamepad API are Chrome and Firefox — the latest version of each working unprefixed. However, the more we use this API, the more browser manufacturers will support it, and as...
Stick around code nerds long enough, and we'll start talking about text editors. Eventually, one might (or, if you're discussing this on the Internet, one certainly will) bring up Vim. Ah, Vim: the text editor that many command-line users love. Here's what happened to me: I was looking into new software with which to write my articles and synchronize them to Evernote. Through a convoluted series of events which I shall not describe here, I ended up spending a couple of hours learning to use Vim. I'm...
The more demanding our web apps become, the more power we draw from devices. On desktop, where we can be sure that the device is plugged into the mains, that's not a problem, but on a mobile device we need to know what the battery is doing and respond accordingly. Browser support ... At the time of writing the Battery API is only supported by Firefox (mobile and desktop). However, it doesn't require a vendor prefix to be supported. The reason I mention desktop is because this API can also be used with any laptop...
Whether you're new to jQuery or have been using it for a while, the chances are you might not be making full use of the selector syntax. Rather than simply listing the possible selectors, in this tutorial we will work through a practical example in which we create an interactive page component, introducing the basics if you're a beginner. After that we will run through some of the other selector options you can choose from. Create a page ... Create a new HTML5 page: <!DOCTYPE html> <html> <head>...
If you have done many animations using pure CSS you have probably noticed a small flicker that happens when an element is animated, you may even have used a hack to stop that from happening. Happily hacks are no longer needed, we a have a new CSS property to help us deal with heavy animations and transitions. Why does the flicker happen? ... When you execute an animation, the animation is performed using the browser's software rendering engine which is usually much slower than your computers GPU (Graphics...
CSS3 is evolving in such a way that we can translate pretty much everything we create in Photoshop into CSS code. However one thing we haven't had so far is a text stroke. We can add shadows to text, but until now there was no viable solution for text stroke. Now we have a webkit solution that introduces us to text stroke using only CSS. Browser support ... This property is still experimental and not safe in all browsers but you can also set some defaults that will only act up when the user is using a browser that...
Working in groups can be tough. No, scratch that; it is tough. Group work is all about balancing personalities and trying to get the most from your partners. It's a great test of life — learning how to work with people, especially to create great things. Those who work in a team that genuinely meshes well are enormously lucky. Unfortunately, some of us don't get to live that life. One of the hardest things about working with a team is getting together to meet face to face. Aside from balancing personalities,...
Animating and transversing SVG files with Javascript is actually not such an easy task and plugins like Snap.svg make our lives much easier when it comes to animating our SVG files. This library is one that aims to help Web Developers easily bring advanced SVG features to the Web, with it we can load, animate and even create SVG graphics right in the browser. The creator of this plugin is also the creator or Raphael, also an SVG plugin. The main difference between these two resources is that Snap aims...